Zadałeś tutaj kilka różnych pytań, mam nadzieję, że mogę przynajmniej pomóc w jednym lub dwóch.
Aby wyświetlić listę wszystkich zainstalowanych pakietów, użyj, dpkg
aby wyprowadzić listę rozdzieloną polami
dpkg -l
Aby uzyskać listę pakietów, bez dodatkowych pól, aby można było przesłać ją gdzie indziej.
dpkg -l | awk '{print $2 }' # Pipe to grep after the awk, or glob from dpkg
Na przykład, jeśli chcę usunąć stare jądro,
apt-get purge `dpkg -l linux* | awk '{print $2}' | grep 3.0.0-12`
Najłatwiejszym sposobem przejścia przez wszystkie niepotrzebne zależności jest użycie debfoster
. Działa interaktywnie i przechodzi przez to, co chcesz, ich zależności i może usunąć lub wymienić, co nie jest zależnością rekurencyjną.
Aby wyświetlić wszystkie rekurencyjne zależności określonego pakietu,
debfoster -d $PACKAGE ## PACKAGE is the specific package.
Po wykonaniu debfoster
możesz również sprawdzić wszystkie zależności, które posiada pakiet,
debfoster -e $PACKAGE ## PACKAGE is the specific package.
Naprawdę świetny sposób na wyświetlenie listy „osieroconych” pakietów deborphan
. Uruchom deborphan
bez opcji, a wyświetli się lista wszystkich „osieroconych” pakietów. „Osierocony” to pakiet, od którego nic nie zależy, a nie został on wyraźnie zainstalowany.
Lubię też czyścić wszelkie „osierocone” pakiety po nowej instalacji. Po usunięciu określonych pakietów możesz uzyskać wszystko, czego brakuje apt-get autoremove --purge
,
apt-get purge `deborphan`
W końcu czasem tego nie robisz --purge
i kończysz na „resztkach” pakietu, nowsze wersje apt-get
mogą je automatycznie usunąć. Aby usunąć wszystkie „resztki” z odinstalowanych pakietów, uruchom:
apt-get autoclean
Jeśli nie masz nowej wersji apt-get
, zawsze możesz je usunąć za pomocą tych poleceń. Występują błędy, jeśli nie istnieją żadne „resztkowe” pliki, wygląda na to, że autoclean może czasami pomijać niektóre pliki.
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs dpkg --purge
apt-get --dry-run remove
wygląda w zasadzie poprawnie. Może brakować niektórych automatycznie zainstalowanych pakietów, które są potrzebne tylko w przypadku automatycznie zainstalowanych pakietów, które są potrzebne tylko dla usuniętego pakietu. Czy dlatego nie uważasz, że to odpowiednia odpowiedź?