Hogyan juthatok hozzá az apt-get használatával telepített csomagok listájához? [duplicate]

Ennek a kérdésnek már megvannak a válaszai :

megjegyzések

  • mindkét válasz itt említi a history.log fá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 a the /dpkg.log fájlokra a /var/log fá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.

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.*" 

Forrás: Askubuntu

Megjegyzések

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-get parancsok 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-get rendelkezik-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.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük