megjegyzések
Válasz
A telepített csomagokat felsorolhatja a apt használatával a következő paranccsal:
apt --installed list
Szerkesztés
A következő paranccsal listázhatja a telepített csomagokat a apt-get keresztül:
zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po "^Commandline: apt-get install (?!.*--reinstall)\K.*"
Megjegyzések
- Amint azt kijelentette, az összes telepített csomagot felsorolja. Olyan csomagokat szeretnék, amelyeket kézzel telepítettem a
apt-getparancsok használatával. - @ user598200 – Fontolja meg ennek a válasznak az elfogadását. 🙂
- ezen askubuntu válasz alapján
(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null | egrep '^(Commandline: apt(-get)? install)' | grep -v aptdaemon | egrep '^Commandline:' -
zgrep -hPo '^Commandline: apt-get install (?!.*--reinstall)\K.*' /var/log/apt/history.log{.*.gz,}ugyanazt a kimenetet hozza létre a feleslegeszcatéscatnélkül. ha nem ' nem törődik a kimenet csomagneveinek pontos sorrendjével, akkor a/var/log/apt/history.log*a fájlnév argumentumhoz fog megfelelni.
Válasz
zgrep -h " install " /var/log/dpkg.log* | sort | awk "{print $4}"
Ez felsorolja azokat a csomagokat, amelyek telepítésre kerültek, a telepítés sorrendjében.
Megjegyzéseim szerint alapértelmezés szerint csak az elmúlt 12 hónap értékű /var/log/dpkg.log* fájlokat tartjuk meg. Ennek megváltoztatásához szerkessze a /etc/logrotate.d/dpkg parancsot. Például változtassa meg a rotate 12 értéket rotate 1200 -re, hogy megőrizze az elmúlt 1200 hónap (100 év) értékét – hatékonyan örökre, soha ne törölje a régi naplókat.
BTW, ha meg szeretné tudni, hogy mikor frissítették a csomagokat, módosítsa az install értéket upgrade -re. pl.
zgrep -h " upgrade " /var/log/dpkg.log* | sort
ugyanaz remove és purge.
Válasz
Ha csak egy listát szeretne megjeleníteni a csomagokkal manuálisan telepítve futtathatja:
apt --installed list | grep -v automatic
hogy ne sorolja fel az automatikusan telepítettként megjelölt csomagokat
-v, --invert-match Invert the sense of matching, to select non-matching lines.
Egy másik lehetőség, amely “tévesen nem zár ki egy szerencsétlen csomagot " automata " a neve:
apt-mark showmanual
Megjegyzések
- Rövid és kedves, és ábécé szerint rendezve.
- Ha véletlenül egy csomag neve " automatikus " -et tartalmaz, akkor a grep kiszűri.
Válasz
Ez a aptitude -re támaszkodik, de a következők adnak egy pa listája a manuálisan telepített kkages, azaz csak a függőség miatt nem telepíthetők:
aptitude search -F %p "~i!~M"
A kép beállításától függően valószínűleg tartalmazni fog néhány telepítettet is az alaprendszer által. Megszabadulhat ezek egy részétől, ha átállítja őket az automatikus telepítésre, majd jelölje meg manuálisként azt a néhányat, amelyet meg szeretne tartani annak ellenére, hogy nincs tőlük semmi. Ezt könnyű megcsinálni egy M csupasz rendszeren belül aptitude.
Válasz
A dpkg segítségével listázhatja az összes rendszerre telepített csomagot: dpkg --get-selections
A apt-get nézd meg /var/log/apt/history.log. Ez a napló az eltávolított csomagokat is tartalmazza. grep megadhatja azokat a sorokat, amelyek Install: betűvel kezdődnek.
Megjegyzések
- Amint azt kijelentette, az összes telepített csomagot felsorolja. Olyan csomagokat szeretnék, amelyeket manuálisan telepítettem a
apt-getparancsok használatával. - @ user598200 Ah. Köszönöm a pontosítást. Lásd szerkesztett válaszomat. Nem vagyok biztos benne, hogy a
apt-getrendelkezik-e ezzel a funkcióval. De amikor valamit telepít, az a naplófájlhoz csatolódik, amelyet a válaszban megemlítek. - Köszönöm.Bármilyen módon átnézhetem az összes
/var/log/apt/history.log*fájlt és egy csomagban kinyomtathatom a csomagneveket? - @ user598200 Használhatja a
grep.grep "Install: package" /var/log/apt/history.log*
Válasz
Az Ubuntu 14.04 és újabb verziói a apt list --installed régebbi verzióknál használja a dpkg --get-selections | grep -v deinstall
Válasz
Kicsit rövidebb és rendezett
gunzip -c /var/log/apt/history.log.*.gz | grep "apt-get install" | cut -f4- -d" " | tr " " $"\n" | sort -u
Megjegyzések
- Néhány magyarázat arra, hogy miért van ez jobb, mint a @ GAD3R által adott válasz hasznos lehet.
- Először is ' rövidebb, a kimenet második része rendezve van
- Az U & L ötlete az, hogy a válaszod (vagy a kérdésed, ha feltetted volna) javításával a bejegyzés szerkesztésével javítasz, ahelyett, hogy értékes információkat rejtegetnél a megjegyzésekben. Mivel kivágnám és beilleszteném a parancsot, a 26 bájttal kevesebb nem annyira érdekes, de az a tény, hogy a kimenet rendezve van, valóban magában a válaszban van. Ha egy ilyen javulás a pontosítás iránti kérelemre adott válaszként, akkor egy egyszerű " válasz frissítette a válaszomat ", ahogyan a megjegyzés teszi, a hozzászóló ebben az esetben én) értesítést kapok arról a megjegyzésről. Úgy gondolom, hogy a szűkszavúság okozza azt is, hogy valaki visszavetette a válaszodat.
- Ha golfozni szeretnél, próbáld ki a
zgrep -Pho '(?<=apt-get install ).*' /var/log/apt/history.log.*.gz | tr ' ' $'\n' | sort -u
et.
history.logfájlok a/var/log/apt/fájlban. ' fontos megjegyezni, hogy alapértelmezés szerint a logrotate úgy van beállítva, hogy csak az elmúlt 12 hónap értékét tárolja. Ugyanez vonatkozik athe /dpkg.logfájlokra a/var/logfájlokban (amelyek hasonló információkat nyújtanak (IMO) könnyebben értelmezhető formátumában). Szerkessze a/etc/logrotate.d/{apt,dpkg}elemet a rendszer megőrzési házirendjének módosításához.