Se pueden seleccionar paquetes de prueba en un gentoo stable
sistema agregando una línea con la siguiente sintaxis a la lista de palabras clave:
cat /etc/portage/package.keywords
=dev-python/ipython-0.13.2 ~amd64
# and many lines later
=dev-python/ipython-0.14.1 ~amd64
# and many lines later
>=dev-python/ipython-0.13.4 ~amd64
Este archivo crecerá en el tiempo y, tarde o temprano, uno no puede recordar qué líneas son obsoletas.
¿Cómo puedo ordenar la lista con un script de vez en cuando?
Se debe eliminar una línea,
- si la versión de prueba ya está estabilizada
- > = se usó para el mismo paquete
- = se usó para el mismo paquete con un número de versión más pequeño
package-management
configuration
gentoo
disk-cleanup
maintenance
Jonas Stein
fuente
fuente
Respuestas:
Ahora hay un paquete oficial para esta tarea llamado app-portage / portpeek .
Puede
-f
se agrega (corregir) como parámetro.fuente
Escribí un pequeño script de Python que se encarga de este problema. La lógica analiza cada línea del archivo
package.accept_keywords
y solo actúa en las líneas que comienzan con=
o<=
. Estas líneas tienen una versión enlazada máxima para que podamos verificar si ya son necesarias. Las líneas sin un calificador o a>=
se dejan como están, ya que no podemos saber si son obsoletas.Las líneas que nos interesan se analizan y se verifica la versión instalada del paquete. Si la versión instalada es más nueva que la versión con palabras clave, o ya no está instalada, la palabra clave se considera obsoleta. Si el paquete instalado es la misma versión que la versión con palabras clave, entonces el paquete instalado se verifica para ver si todavía tiene palabras clave. Si se ha estabilizado, la línea queda obsoleta, de lo contrario se conserva.
Esto imprimirá el nuevo archivo de palabras clave para estandarizar. Nota : no redirija la salida nuevamente
/etc/portage/package.accept_keywords
o tropezará con el archivo y perderá todo.Esto contribuirá en gran medida a limpiar su archivo de palabras clave y, para sus otras preocupaciones, ordenar el archivo y luego examinarlo en busca de varias líneas para el mismo paquete ayudará a resolver la mayor parte de lo que queda.
fuente
Sabes que puedes convertir el paquete. * Archivos en directorios, ¿verdad?
Luego, puede organizar sus átomos en varios archivos, por ejemplo, en mi sistema obtuve lo siguiente (bueno, en realidad no, no estoy en mi computadora portátil ahora. Pero entiende la idea):
etc.
Encontré esto realmente útil para ayudarme a tener los archivos actualizados.
fuente
Agregando a la respuesta de Ikraav:
Después de usar
eix -tT
, elimine los operadores de comparación y el número de versión del paquete. Su archivo también se puede escribir como:Esto garantizará que siempre obtenga las versiones de prueba
dev-python/ipython
ypackage-cat/package
fuente
~amd64
en mi pregunta puede ser engañoso. Los números de versión deben permanecer intactos. No quiero obtener siempre la última versión, pero encuentro líneas redundantes.Aquí hay un pequeño script que filtra las entradas de los archivos /etc/portage/package.* que ya no están instalados. Además, elimina todas las líneas de comentarios directamente encima de la entrada eliminada. (por ejemplo, según lo generado por autounmask). Si los comentarios están separados por una línea en blanco, solo eliminará los comentarios inferiores. El script no elimina entradas duplicadas.
Tenga en cuenta que es necesario instalar portage-utils y el gancho postsync /etc/portage/postsync.d/q-reinitialize debe estar activado para que este script funcione.
fuente
A partir de ahora, el
app-portage/eix
paquete ofrece una herramienta útil llamadaeix-test-obsolete
. Una breve descripción deeix-test-obsolete -h
:Ofrece una visión general bastante buena de todas las entradas redundantes en los
/etc/portage/package.*
archivos. Lo único que me falta personalmente es una información sobre el archivo exacto y la línea que define la máscara / uso / aceptar / lo que sea redundante. Sin embargo,grep -nr
ayuda en ese caso.fuente
Comenzar con
eix -tT
. Instalarapp-portage/eix
para conseguir eso.fuente