To pytanie ma już tutaj odpowiedzi :
Komentarze
Odpowiedź
Możesz wyświetlić listę zainstalowanych pakietów, używając apt
, używając następującego polecenia:
apt --installed list
Edytuj
Użyj następującego polecenia, aby wyświetlić listę zainstalowanych pakietów za pośrednictwem apt-get
:
zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po "^Commandline: apt-get install (?!.*--reinstall)\K.*"
Źródło: Askubuntu
Komentarze
Odpowiedź
zgrep -h " install " /var/log/dpkg.log* | sort | awk "{print $4}"
W ten sposób otrzymasz listę pakietów, które mają zostały zainstalowane w kolejności, w jakiej zostały zainstalowane.
Zgodnie z moim komentarzem, domyślnie zachowywane są tylko pliki /var/log/dpkg.log*
z ostatnich 12 miesięcy. Aby to zmienić, edytuj /etc/logrotate.d/dpkg
. Na przykład zmień rotate 12
na rotate 1200
, aby zachować wartość ostatnich 1200 miesięcy (100 lat) – efektywnie na zawsze, nigdy nie usuwaj starych dzienników.
BTW, jeśli chcesz zobaczyć, kiedy pakiety zostały zaktualizowane, zmień install
na upgrade
. np.
zgrep -h " upgrade " /var/log/dpkg.log* | sort
to samo dla remove
i purge
.
Odpowiedź
Jeśli chcesz wyświetlić tylko listę posiadanych pakietów zainstalowano ręcznie , można było uruchomić:
apt --installed list | grep -v automatic
, aby nie wyświetlać pakietów oznaczonych jako zainstalowane automatycznie
-v, --invert-match Invert the sense of matching, to select non-matching lines.
Inna opcja, która „t omyłkowo nie wykluczyła niefortunnego pakietu z " automatycznym " w swojej nazwie to:
apt-mark showmanual
Komentarze
Odpowiedź
Zależy to od aptitude
, ale poniżej znajdziesz lista pa ckage, które są instalowane ręcznie, tj. nie są instalowane tylko z powodu zależności:
aptitude search -F %p "~i!~M"
W zależności od konfiguracji obrazu, prawdopodobnie będzie on zawierał również zainstalowane przez system podstawowy. Możesz pozbyć się wielu z nich, przełączając je na instalację automatyczną, a następnie po prostu zaznacz jako ręczne kilka, które chcesz zachować, mimo że nic od nich nie zależy. Można to łatwo zrobić, gdy M wewnątrz aptitude
na czystym systemie.
Odpowiedź
Użyj dpkg
, aby wyświetlić listę wszystkich pakietów zainstalowanych w systemie: dpkg --get-selections
Aby wyświetlić listę wszystkich pakietów zainstalowanych za pomocą apt-get
spójrz na /var/log/apt/history.log
. Ten dziennik zawiera również pakiety, które zostały usunięte. Możesz grep
dla wierszy zaczynających się od Install:
.
Komentarze
- Jak już powiedziałeś, zawiera listę wszystkich zainstalowanych pakietów. Chcę pakietów, które zainstalowałem ręcznie za pomocą poleceń
apt-get
.
- @ user598200 Ah. Dziękuję za wyjaśnienie. Zobacz moją zredagowaną odpowiedź. Nie jestem pewien, czy
apt-get
ma taką funkcję. Ale za każdym razem, gdy coś instalujesz, jest to dołączane do pliku dziennika, o którym wspomniałem w odpowiedzi.
- Dzięki.Czy w jakikolwiek sposób mogę przejrzeć wszystkie pliki
/var/log/apt/history.log*
i wydrukować nazwy pakietów jednym trafieniem?
- @ user598200 Możesz użyć
grep
. grep "Install: package" /var/log/apt/history.log*
Odpowiedź
Ubuntu 14.04 i nowsze używają apt list --installed
w starszych wersjach użyj dpkg --get-selections | grep -v deinstall
Odpowiedź
Trochę krótszy i posortowany
gunzip -c /var/log/apt/history.log.*.gz | grep "apt-get install" | cut -f4- -d" " | tr " " $"\n" | sort -u
Komentarze