Kommentarer
Svara
Du kan lista installerat paket med apt
med följande kommando:
apt --installed list
Redigera
Använd följande kommando för att lista installerat paket genom apt-get
:
zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po "^Commandline: apt-get install (?!.*--reinstall)\K.*"
Kommentarer
- Som du har angett listar alla installerade paket. Jag vill ha paket som jag har installerat manuellt med
apt-get
-kommandon. - @ user598200 – Överväg att acceptera det här svaret. 🙂
- Baserat på detta askubuntu-svar får jag
(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,}
producerar samma utdata utan onödigtzcat
ochcat
. om du inte bryr dig om ' om den exakta ordningen på paketnamn i utdata, kommer/var/log/apt/history.log*
att göra för filnamnargumentet.
Svar
zgrep -h " install " /var/log/dpkg.log* | sort | awk "{print $4}"
Detta ger dig en lista över paket som har har installerats i den ordning de installerades.
Enligt min kommentar sparas endast de senaste 12 månaderna av /var/log/dpkg.log*
-filer som standard. För att ändra detta, redigera /etc/logrotate.d/dpkg
. Ändra till exempel rotate 12
till rotate 1200
för att hålla de senaste 1200 månaderna (100 år) värda – effektivt för alltid, radera aldrig de gamla loggarna.
BTW, om du vill se när paket uppgraderades ändrar du install
till upgrade
. t.ex.
zgrep -h " upgrade " /var/log/dpkg.log* | sort
samma för remove
och purge
.
Svar
Om du bara vill visa en lista med paketen har du manuellt installerat du kan köra:
apt --installed list | grep -v automatic
för att inte lista paket som är flaggade som automatiskt installerade
-v, --invert-match Invert the sense of matching, to select non-matching lines.
Ett annat alternativ som inte kommer att felaktigt utesluta ett olyckligt paket med " automatisk " i dess namn är:
apt-mark showmanual
Kommentarer
- Korta och söta och sorterade i alfabetisk ordning.
- Om ett paketnamn av en slump innehåller " automatisk " filtreras det bort med grep.
Svar
Detta är beroende av aptitude
, men följande ger dig en lista över pa ckages som är manuellt installerade, dvs är inte installerade bara på grund av beroende:
aptitude search -F %p "~i!~M"
Beroende på hur bilden är inställd kommer den antagligen också att innehålla några av bassystemet. Du kan bli av med en hel del av dem genom att byta dem till att installeras automatiskt, sedan markera bara som manuella de få du vill behålla trots att du inte har något beroende på dem. Detta är lätt att göra med M inuti aptitude
på ett kalt system.
Svar
Använd dpkg
för att lista alla paket som är installerade i ett system: dpkg --get-selections
För att lista alla paket installerade med apt-get
titta på /var/log/apt/history.log
. Den här loggen innehåller också paket som du har tagit bort. Du kan grep
för de rader som börjar med Install:
.
Kommentarer
- Som du har sagt, listar alla installerade paket. Jag vill ha paket som jag har installerat manuellt med
apt-get
-kommandon. - @ user598200 Ah. Tack för att du klargjorde. Se mitt redigerade svar. Jag är inte säker på om
apt-get
har den funktionen. Men när du installerar något läggs det till loggfilen som jag nämner i svaret. - Tack.Hur som helst kan jag gå igenom alla
/var/log/apt/history.log*
filer och skriva ut paketnamnen i en träff? - @ user598200 Du kan använda
grep
.grep "Install: package" /var/log/apt/history.log*
Svar
Ubuntu 14.04 och senare använder apt list --installed
för äldre versioner använd dpkg --get-selections | grep -v deinstall
Svar
Lite kortare och sorterade
gunzip -c /var/log/apt/history.log.*.gz | grep "apt-get install" | cut -f4- -d" " | tr " " $"\n" | sort -u
Kommentarer
- Någon förklaring till varför detta är bättre än svaret som @ GAD3R gav skulle vara till hjälp.
- Först och främst är det ' kortare, andra av allt sorteras utdata
- Tanken på U & L är att du förbättrar ditt svar (eller fråga ifall du hade lagt upp ett) genom att redigera inlägget istället för att dölja värdefull information i kommentarer. Som jag skulle klippa och klistra in kommandot är 26 byte mindre inte så intressant, men det faktum att din produktion är sorterad hör verkligen till själva svaret. Om en sådan förbättring var som en reaktion på en begäran om förtydligande uppdaterade en enkel " mitt svar " som kommentaren kommer att göra kommer kommentaren ( i det här fallet kommer jag) att få ett meddelande om den kommentaren. Jag tror att tappigheten också är orsaken till att någon nedröstade ditt svar.
- Om du vill spela golf, försök
zgrep -Pho '(?<=apt-get install ).*' /var/log/apt/history.log.*.gz | tr ' ' $'\n' | sort -u
.
history.log
filer i/var/log/apt/
. Det är ' viktigt att notera att logrotate som standard är konfigurerat för att bara behålla dessa filers senaste 12 månader. Detsamma gäller förthe /dpkg.log
-filer i/var/log
(som ger liknande information i ett (IMO) lättare analyserat format). Redigera/etc/logrotate.d/{apt,dpkg}
för att ändra lagringspolicyn för ditt system.