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, dpkgaby 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 debfostermoż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 deborphanbez 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 --purgei kończysz na „resztkach” pakietu, nowsze wersje apt-getmogą 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 removewyglą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ź?