attitudine: significato delle parentesi graffe, ovvero pacchetto1 {b} pacchetto2 {a} pacchetto3 {u}


14

Quando si utilizza aptitude , l'elenco dei pacchetti modificati a volte ha un solo carattere tra parentesi graffe dietro alcuni nomi di pacchetti. La man-page ne ha due esempi ma non li spiega (versione 0.6.10-1).

Finora ho notato {b}, {a} e {u}. Il primo sembra comparire durante l'esecuzione aptitude installe tenta di reinstallare i pacchetti che ho eliminato (ad esempio tramite debfoster, come posso disabilitarlo?), Gli ultimi due sembrano avere qualcosa a che fare con la risoluzione automatica delle dipendenze.

Cosa significano questi personaggi, ce ne sono altri e quali implicazioni hanno per le altre operazioni? Sono disponibili ulteriori informazioni su dpkgo apt?

Risposte:


8

Questi non sono documentati. La mia ipotesi è che asia per un'installazione automatica, usia per un aggiornamento (automatico?) Ed bè per i pacchetti installati per riparare i pacchetti rotti.

Ciò significherebbe debfosterrimuovere i pacchetti che non dovrebbe, si noti che il sito Web dice:

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

Forse questo ha sviluppato bug nel corso degli anni a causa di cambiamenti nel aptsistema. Puoi confermarlo facendo aptitude search '~b'dopo aver usato debfoster(elencherà i pacchetti rotti).

Si noti che aptora supporta un flag automatico per i pacchetti di dipendenza e ha apt-get autoremove. Con aptitude puoi anche fare aptitude remove '~g'.

Aggiornare

Giocando con aptitude, si scopre che se premo ?quando ricevo il messaggio Do you want to continue? [Y/n/?], ricevo il seguente messaggio:

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.

Quindi sembra che bdovrebbe essere per un pacchetto rotto. Anche se, nel tuo caso, sembra essere un bug che viene visualizzato se non c'è nulla di rotto. Non riesco a ricreare il problema, ma aptitudeprovo a reinstallare i pacchetti che rimuovo apt-getsolo senza parentesi graffe.

Si noti inoltre che aptitude keep-allprobabilmente è più sicuro della rimozione/var/lib/aptitude/pkgstates


ps auxfmostra che debfoster chiama apt-get --purge remove pkg1 pkg2 etc., cerca '~ b' non restituisce nulla e il prossimo aptitude installreinstalla pgk1 pkg2 ecc.
graygreen finito

1
@finitegraygreen, immagino che non sia per i pacchetti rotti allora! Puoi provare a usare aptitude whyper trovare cosa sta succedendo o solo l' --show-whyopzione.
Graeme,

@finitegraygreen, qual è stata la conclusione qui? bDopo tutto è stato rotto o è aptitude whyemersa qualche altra ragione? Sono sicuro che lo incontrerò di nuovo ad un certo punto, sarebbe bello sapere ...
Graeme,

Bene, la conclusione è "Questi non sono documentati". E ho fermato l'interferenza tra apt-get e aptitude forzando l'amnesia su quest'ultimo tramite l'eliminazione /var/lib/aptitude/pkgstates. Altrimenti continuerei a ricevere apt-get remove pkg; aptitude why pkg"Impossibile trovare un motivo per l'installazione"; aptitude installquindi installa pkg.
grigio finito verde

@finitegraygreen, risulta che c'è una descrizione di cosa significano. Vedi la risposta aggiornata.
Graeme,

1

Questo post dell'autore attitudinale spiega {a}e {u}:

  • {a} significa che il pacchetto verrà installato in aggiunta a quello richiesto.
  • {u} significa che il pacchetto non viene utilizzato dal sistema e verrà rimosso.

Purtroppo non spiega {b}.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.