aptitude: Znaczenie nawiasów klamrowych, tj. pakiet1 {b} pakiet2 {a} pakiet3 {u}


14

Podczas korzystania z aptitude lista zmienionych pakietów zawiera czasami pojedynczy znak w nawiasach klamrowych za niektórymi nazwami pakietów. Strona podręcznika zawiera dwa ich przykłady, ale ich nie wyjaśnia (wersja 0.6.10-1).

Do tej pory zauważyłem {b}, {a} i {u}. Pierwszy wydaje się pojawiać podczas działania aptitude installi próbuje ponownie zainstalować pakiety, które usunąłem (np. Przez debfoster, jak mogę to wyłączyć?), Dwa ostatnie wydają się mieć coś wspólnego z automatycznym rozwiązywaniem zależności.

Co oznaczają te postacie, czy są jeszcze inne i jakie mają implikacje dla innych operacji? Jest to dodatkowa informacja dostępna dpkglub apt?

Odpowiedzi:


8

Nie są one udokumentowane. Domyślam się, że adotyczy to instalacji automatycznej, uaktualizacji (automatycznej?) I bpakietów zainstalowanych w celu naprawy uszkodzonych pakietów.

Oznaczałoby debfosterto usunięcie pakietów, których nie powinno, zauważ, że strona internetowa mówi:

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

Być może z biegiem lat rozwinęły się błędy spowodowane zmianami w aptsystemie. Możesz to potwierdzić, wykonując aptitude search '~b'po użyciu debfoster(wyświetli listę uszkodzonych pakietów).

Zauważ, że aptteraz obsługuje automatyczną flagę dla pakietów zależności i ma apt-get autoremove. Dzięki aptitude możesz to zrobić aptitude remove '~g'.

Aktualizacja

Bawiąc się z talentem, okazuje się, że jeśli naciśniesz, ?gdy pojawi się Do you want to continue? [Y/n/?]monit, otrzymam następujący komunikat:

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.

Wygląda więc na to, że bma to być zepsuty pakiet. Chociaż w twoim przypadku wydaje się, że błąd jest wyświetlany, jeśli nic nie jest zepsute. Nie mogę odtworzyć problemu, ale aptitudepróbuję ponownie zainstalować pakiety, które usuwam apt-getbez niczego w nawiasach klamrowych.

Pamiętaj też, że aptitude keep-alljest to prawdopodobnie bezpieczniejsze niż usuwanie/var/lib/aptitude/pkgstates


ps auxfpokazuje, że debfoster po prostu dzwoni apt-get --purge remove pkg1 pkg2 etc., wyszukiwanie „~ b” nic nie zwraca, a następne aptitude installinstaluje ponownie pgk1 pkg2 itd.
skończony szarygreen

1
@finitegraygreen, chyba nie jest to zepsute pakiety! Możesz spróbować aptitude whyznaleźć to, co się dzieje, lub po prostu --show-whyopcję.
Graeme

@finitegraygreen, jaki był tu wniosek? Czy bw końcu był zepsuty, czy pojawił aptitude whysię z innego powodu? Jestem pewien, że kiedyś się z tym spotkam, miło byłoby wiedzieć ...
Graeme

Wniosek jest taki: „Nie są one udokumentowane”. I powstrzymałem interferencję między apt-get a aptitude, wymuszając amnezję na tym drugim poprzez usunięcie /var/lib/aptitude/pkgstates. W przeciwnym razie nadal apt-get remove pkg; aptitude why pkgpojawia się komunikat „Nie można znaleźć powodu do zainstalowania”; aptitude installnastępnie instaluje pkg.
skończony szarozielony

@finitegraygreen, okazuje się, że jest opis ich znaczenia. Zobacz zaktualizowaną odpowiedź.
Graeme

1

Ten post autora talentu wyjaśnia {a}i {u}:

  • {a} oznacza, że ​​pakiet zostanie dodatkowo zainstalowany oprócz tego, o co prosiłeś.
  • {u} oznacza, że ​​pakiet nie jest używany przez system i zostanie usunięty.

Niestety to nie wyjaśnia {b}.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.