aptitud: Significado de llaves, es decir, package1 {b} package2 {a} package3 {u}

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

He notado {b}, {a} y {u} hasta ahora. El primero parece aparecer cuando ejecuto aptitude install e intenta reinstalar los packages que eliminé (p. Ej., Mediante 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, hay otros y qué implicaciones tienen para otras operaciones? ¿Esa información adicional está disponible para dpkg o apt ?

Estos no están documentados. Supongo que a es para una installation automática, una para una actualización (automática) b para packages instalados para arreglar packages rotos.

Esto significa que debfoster está eliminando packages que no debería, tenga en count que el website 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 sistema apt . Puede confirmar esto haciendo la aptitude search '~b' después de usar debfoster (enumerará los packages rotos).

Tenga en count que apt ahora admite un indicador automático para packages de dependencia y tiene apt-get autoremove . Con aptitude también puedes hacer aptitude remove '~g' .

Actualizar

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

 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. 

Parece que se supone que b es para un package roto. Aunque, en su caso, parece ser un error que se muestra si no hay nada roto. No puedo volver a crear el problema, pero aptitude intenta reinstalar los packages que eliminé con apt-get solo sin llaves.

También tenga en count que aptitude keep-all es probablemente más seguro que eliminar /var/lib/aptitude/pkgstates

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

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

Lamentablemente, no explica {b} .