aptitud: significado de las llaves, es decir, paquete1 {b} paquete2 {a} paquete3 {u}

14

Cuando se usa aptitude , la lista de paquetes modificados a veces tiene un solo carácter entre llaves detrás de algunos nombres de paquetes. La página de manual tiene dos ejemplos, pero no los explica (versión 0.6.10-1).

He notado {b}, {a} y {u} hasta ahora. El primero parece aparecer cuando se ejecuta aptitude installe intenta reinstalar los paquetes que eliminé (por ejemplo, a través de debfoster, ¿cómo puedo desactivarlo?), Los dos últimos parecen tener algo que ver con la resolución de dependencia automática.

¿Qué significan estos personajes, si hay otros y qué implicaciones tienen para otras operaciones? ¿Esa información adicional está disponible para dpkgo apt?

gris grisáceo finito
fuente

Respuestas:

8

Estos no están documentados. Supongo que aes para una instalación automática, ues para una actualización (¿automática?) Y bes para paquetes instalados para reparar paquetes rotos.

Esto significaría que debfosterestá eliminando paquetes que no debería, tenga en cuenta que el sitio web dice:

As of 2006-01-01, debfoster is officially deprecated.

Posiblemente esto ha desarrollado errores a lo largo de los años debido a cambios en el aptsistema. Puede confirmar esto haciendo aptitude search '~b'después de usar debfoster(enumerará paquetes rotos).

Tenga en cuenta que aptahora admite una marca automática para paquetes de dependencia y tiene apt-get autoremove. Con aptitud también puedes hacer aptitude remove '~g'.

Actualizar

Jugando con aptitude, resulta que si presiono ?cuando recibo el Do you want to continue? [Y/n/?]mensaje, recibo el siguiente mensaje:

In the list of actions to be performed, some packages will be followed by one or
more characters enclosed in braces; for instance: "aptitude{u}".  These
characters provide extra information about the package's state, and can include
any combination of the following:

  'a': the package was automatically installed or removed.
  'b': some of the package's dependencies are violated by the proposed changes.
  'p': the package will be purged in addition to being removed.
  'u': the package is being removed because it is unused.

Entonces parece que bse supone que es para un paquete roto. Aunque, en su caso, parece ser un error que se muestra si no hay nada roto. No puedo recrear el problema, pero aptitudeintento reinstalar los paquetes que elimino apt-getsin nada entre llaves.

También tenga en cuenta que aptitude keep-allprobablemente sea más seguro que eliminar/var/lib/aptitude/pkgstates

Graeme
fuente
ps auxfmuestra que debfoster sólo llama apt-get --purge remove pkg1 pkg2 etc., la búsqueda '~ b' vuelve nada, y los próximos aptitude installreinstala PGK1 PKG2 etc.
graygreen finita
1
@finitegraygreen, ¡supongo que no es para paquetes rotos! Puede intentar usar aptitude whypara encontrar lo que está sucediendo o simplemente la --show-whyopción.
Graeme
@finitegraygreen, ¿cuál fue la conclusión aquí? ¿Estaba broto después de todo o aptitude whyapareció alguna otra razón? Estoy seguro de que volveré a encontrar esto en algún momento, sería bueno saber ...
Graeme
Bueno, la conclusión es "Estos no están documentados". Y detuve la interferencia entre apt-get y aptitude forzando amnesia en este último mediante la eliminación /var/lib/aptitude/pkgstates. De lo contrario, aún obtendría apt-get remove pkg; aptitude why pkg"No se puede encontrar una razón para instalar"; aptitude installluego instala el paquete
finit graygreen
@finitegraygreen, resulta que hay una descripción de lo que significan. Ver la respuesta actualizada.
Graeme
1

Esta publicación del autor de aptitud explica {a}y {u}:

  • {a} significa que el paquete se instalará además de lo que solicitó.
  • {u} significa que el paquete no está siendo utilizado por el sistema y será eliminado.

Lamentablemente no explica {b}.

Ecogeek
fuente