Wiem o tym, jak usunąć zależności odinstalowanego pakietu? i próbowałem
apt-get autoremove
ale to nie usuwa zależności, które są zalecane / sugerowane przez inne pakiety.
Oznacza to, że jeśli zainstaluję pakiet X, który zaleca Y, ale nie zainstaluję Y, a następnie zainstaluję pakiet Z zależny od Y. i później to zrobię
apt-get remove --auto-remove Z
wtedy Y nie jest automatycznie usuwane, nawet jeśli nic od tego nie zależy. (X „podniósł” Y, nawet jeśli to nie zależy).
apt
package-management
użytkownik2809402
źródło
źródło
Odpowiedzi:
Jeśli chcesz usunąć zalecane pakiety z systemu, nawet jeśli nadal są zainstalowane niektóre pakiety, które je zalecają (lub sugerują), umieść w pliku
/etc/apt/apt.conf.d/99_norecommends
(utwórz):Dokumentacja tych opcji znajduje się tutaj .
Następnie następny apt powinien usunąć je wszystkie. Jeśli tak się nie stanie, uruchom
aptitude
i wpisz gi gjeszcze raz.Ta konfiguracja wyłącza również automatyczną instalację zalecanych pakietów podczas używania
apt-get
. Możnaaptitude
to zrobić z graficznego interfejsu konsoli, menu Opcje> Preferencje> „Automatycznie instaluj zalecane pakiety” (odznacz).źródło
InstallRecommends
niepełnosprawnymi. Dla przypomnienia, był on domyślnie wyłączony do czasu wydania Debian Squeeze, czyli od lutego 2011 (nie wiem o Ubuntu). Ponadto może nie być potrzebna ta sama konfiguracja na serwerze lub na komputerze.Przesłanianie opcji APT
W przeciwieństwie do zależności, automatycznie instalowane pakiety „zalecane” lub „sugerowane” mogą być ignorowane przez
apt-get autoremove
.Jak opisano w innym miejscu, to zachowanie APT można zmienić w konfiguracji.
Podobnie konfigurację
apt-get
polecenia można tymczasowo zmienić za pomocą-o
opcji wiersza polecenia.W ten sposób zmusisz autoraove do usunięcia resztek „zalecanych” i „sugerowanych” pakietów, oprócz nieużywanych zależności.
Uwaga!
Niektóre funkcje mogą zostać utracone. Przygotuj się do zbadania i ponownej instalacji. Pakiety te mogą być łatwiejsze w spokoju.
Inne opcje
Aby odinstalować pakiety „zalecane” i „sugerowane” wyłącznie dla konkretnego pakietu, zajrzyj do dziennika historii apt.
źródło
apt-get
„s-s
opcji i rury dogrep ^Remv
- tak to komenda:apt-get autoremove -s -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0 | grep ^Remv
W rzeczywistości polecenie to:
Ale to podstęp! Jeśli którakolwiek z zależności ma inne zainstalowane wcześniej pakiety, które je polecają / sugerują, apt nie usunie ich.
Nie określiłeś, który pakiet jest, ale na przykład, gdybym miał zainstalować wtyczkę IcedTea, zainstalowałby Java / OpenJRE według zależności. Jeśli odinstaluję je przy użyciu
sudo apt-get autoremove icedtea-7-plugin
, zauważysz, że nie usunie Java / OpenJRE, ponieważ LibreOffice sugeruje również pakiety.Tak więc, aby je usunąć, musisz być zbyt konkretny w stosunku do pakietu, który chcesz odinstalować, że normalne
autoremove
nie:W ten sposób możesz mieć pewność, że Twój pakiet zostanie usunięty.
Możesz także użyć deborphan, aby usunąć niektóre zależności.
źródło
deborphan
ale deborphan może nadal nie uwzględniać niektórych pakietów. Możesz skorzystać zDebug::
opcji, a także sprawdzić moją inną odpowiedź na ten temat . Możesz także użyć--no-install-recommends
domyślnie, ale apt-get nie instaluje sugerowanych pakietów.Racja, jeśli chcesz usunąć pakiet
<Z>
z zależnościami, po prostu wpisz:źródło
autoremove
Działa również w całym systemie. Za każdym razem, gdy zadzwoniszautoremove
, usunie wszystkie nieużywane pakiety w twoim systemie. Zainstalowanie pakietuautoremoving
zwykle nie spowoduje przywrócenia systemu do tego samego stanu, a zamiast tego pozostawi kilka „pozostałych” pakietów.