aptitude: Significado de colchetes, isto é, package1 {b} package2 {a} package3 {u}

14

Ao usar o aptitude , a lista de pacotes alterados às vezes possui um único caractere entre colchetes por trás de alguns nomes de pacotes. A página de manual possui dois exemplos, mas não os explica (versão 0.6.10-1).

Eu notei {b}, {a} e {u} até agora. O primeiro parece aparecer durante a execução aptitude installe tenta reinstalar os pacotes que excluí (por exemplo, via debfoster, como posso desabilitá-lo?), Os dois últimos parecem ter algo a ver com a resolução automática de dependências.

O que esses personagens significam, existem outros e quais implicações eles têm para outras operações? Essas informações extras estão disponíveis para dpkgou apt?

cinza finito
fonte

Respostas:

8

Estes não estão documentados. Meu palpite é que aé para uma instalação automática, ué para uma atualização (automática?) E bé para pacotes instalados para corrigir pacotes quebrados.

Isso significa debfosterremover os pacotes que não deveriam, observe que o site diz:

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

Possivelmente isso desenvolveu bugs ao longo dos anos devido a alterações no aptsistema. Você pode confirmar isso aptitude search '~b'depois de usar debfoster(ele listará pacotes quebrados).

Observe que aptagora suporta um sinalizador automático para pacotes e dependências de dependência apt-get autoremove. Com o aptitude você também pode fazer aptitude remove '~g'.

Atualizar

Brincando com o aptitude, acontece que, se eu pressionar ?ao receber o Do you want to continue? [Y/n/?]prompt, recebo a seguinte mensagem:

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.

Então parece que bé para um pacote quebrado. Embora, no seu caso, pareça um erro, ele será exibido se não houver nada quebrado. Não consigo recriar o problema, mas aptitudetento reinstalar os pacotes que removo apt-getsem usar nada entre chaves.

Observe também que aptitude keep-allprovavelmente é mais seguro do que remover/var/lib/aptitude/pkgstates

Graeme
fonte
ps auxfmostra que debfoster apenas chama apt-get --purge remove pkg1 pkg2 etc., search '~ b' retorna nada, e os próximos aptitude installreinstala PGK1 pkg2 etc.
graygreen finita
1
@finitegraygreen, acho que não é para pacotes quebrados! Você pode tentar usar aptitude whypara encontrar o que está acontecendo ou apenas a --show-whyopção.
Graeme
@finitegraygreen, qual foi a conclusão aqui? bAfinal, foi quebrado ou aptitude whyapareceu algum outro motivo? Tenho certeza de que vai encontrar isso de novo em algum momento, seria bom saber ...
Graeme
Bem, a conclusão é "Estes não estão documentados". E parei a interferência entre o apt-get e o aptitude forçando a amnésia no último através da exclusão /var/lib/aptitude/pkgstates. Caso contrário, eu ainda obteria apt-get remove pkg; aptitude why pkg"Não foi possível encontrar um motivo para instalar"; aptitude installdepois instala o pkg.
graygreen finita
@finitegraygreen, acontece que existe uma descrição do que esses significam. Veja a resposta atualizada.
Graeme
1

Esta postagem do autor do aptitude explica {a}e {u}:

  • {a} significa que o pacote será instalado adicionalmente além do que você solicitou.
  • {u} significa que o pacote não está sendo usado pelo sistema e será removido.

Infelizmente isso não explica {b}.

Ecogeek
fonte