it-swarm-eu.dev

Jak vypsat všechny nainstalované balíčky

Chtěl bych vypsat seznam všech nainstalovaných balíčků do textového souboru, abych si je mohl prohlédnout a hromadně nainstalovat do jiného systému. Jak bych to udělal?

2050
Ivan

Ubuntu 14.04 a vyšší

Nástroj apt na Ubuntu 14.04 a výše je velmi snadný.

apt list --installed

Starší verze

Chcete-li získat seznam lokálně nainstalovaných balíčků, udělejte to ve svém terminálu:

dpkg --get-selections | grep -v deinstall

(-v tag „invertuje“ grep pro vrácení neodpovídajících řádků)

Postup instalace seznamu konkrétního balíčku:

dpkg --get-selections | grep postgres

Chcete-li tento seznam uložit do textového souboru s názvem packages na ploše, udělejte to ve svém terminálu:

dpkg --get-selections | grep -v deinstall > ~/Desktop/packages

Nebo jednoduše použijte

dpkg -l

(Nemusíte spouštět žádný z těchto příkazů jako superuživatel, takže zde nejsou žádné Sudo ani žádné další varianty)

2276
Sabacon

Chcete-li získat pouze balíčky, které byly výslovně nainstalovány (nejen nainstalovány jako závislosti), můžete spustit

aptitude search '~i!~M'

Bude také obsahovat stručný popis, který budete chtít. Pokud ne, přidejte také možnost -F '%p', jak zmiňuje karthick87.


Zdá se, že další možností je zkopírovat soubor /var/lib/apt/extended_states, což je databáze textových souborů v tomto formátu:

Package: grub-common
Architecture: AMD64
Auto-Installed: 0

Package: linux-headers-2.6.35-22-generic
Architecture: AMD64
Auto-Installed: 1

Auto-Installed: 0 označuje, že balíček byl výslovně nainstalován a nejedná se pouze o závislost.

432
intuited

Chcete-li zobrazit všechny balíčky záměrně nainstalované (nikoli jako závislosti) pomocí příkazů apt, spusťte následující:

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
  egrep '^(Start-Date:|Commandline:)' |
  grep -v aptdaemon |
  egrep '^Commandline:'

To poskytuje zpětné zobrazení podle času, přičemž starší příkazy jsou uvedeny jako první:

Commandline: apt-get install k3b
Commandline: apt-get install jhead
...

Instalační data také ukazují využití synaptic, ale bez podrobností (stejné s datem instalace):

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
  egrep '^(Start-Date:|Commandline:)' |
  grep -v aptdaemon |
  egrep -B1 '^Commandline:'

poskytující následující:

Start-Date: 2012-09-23  14:02:14
Commandline: apt-get install gparted
Start-Date: 2012-09-23  15:02:51
Commandline: apt-get install sysstat
...
214
bcl

Vytvořte zálohu aktuálně nainstalovaných balíčků:

dpkg --get-selections > list.txt

Poté (v jiném systému) obnovte instalace z tohoto seznamu:

dpkg --clear-selections
Sudo dpkg --set-selections < list.txt

Jak se zbavit zastaralých balíčků:

Sudo apt-get autoremove

Chcete-li se nainstalovat jako v době zálohování (tj. Nainstalovat balíčky nastavené pomocí dpkg --set-selections):

Sudo apt-get dselect-upgrade
193
gogaman
apt-mark showmanual

stav mužských stránek:

vytiskne seznam ručně nainstalovaných balíčků

Měl by tedy poskytnout pouze seznam explicitně nainstalovaných balíčků (i když to zahrnuje balíčky, které byly součástí výchozí počáteční instalace) bez všech závislostí zahrnutých kvůli instalaci těchto balíčků.

Výstup výsledku do textového souboru:

apt-mark showmanual > list-manually-installed.txt
79
Tim Tisdall

dpkg-query (namísto dpkg --get-selections, které uvádí některé balíčky, které nejsou nainstalovány) následovně:

dpkg-query -W -f='${PackageSpec} ${Status}\n' | grep installed |  sort -u | cut -f1 -d \ > installed-pkgs

Nebo:

dpkg -l | grep ^ii | sed 's_  _\t_g' | cut -f 2 > installed-pkgs
41
kyleN

Chcete-li zobrazit všechny nainstalované balíčky,

dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt

nebo

aptitude search -F '%p' '~i' > 1.txt

nebo

dpkg --get-selections > 1.txt

Poznámka:
Výsledný soubor 1.txt získáte ve své domovské složce nebo můžete zadat vlastní cestu.

39
karthick87

Pomocí Synaptic můžete uložit aktuální stav nainstalovaného balíčku. V Synaptic vyberte "označení souboru/uložení", zadejte název souboru, do kterého chcete stav uložit, a ujistěte se, že je zaškrtnuto políčko "Uložit plný stav, nejen změny".

Soubor uložený z tohoto lze načíst do nového počítače pomocí "značek souborů/čtení" v Synaptic.

35
Nerdfest

Doporučuji použít blueprint . Přestože je určen pro servery, lze jej použít také ze stolních počítačů. Bude vytvořen skript/šéfkuchař/loutka Shell, který můžete použít k opětovné instalaci všech vašich balíčků.

34
Tamer

Chcete tam balíčky přeinstalovat nyní 12.04, že?

Pokud ano, je to velmi snadné. Budete potřebovat účet „Ubuntu Single Sign On On“. (Vytvořte jej před opětovnou instalací, aby byl váš systém synchronizován.)

  1. Přejděte do softwarového centra a v nabídce Soubor vyhledejte možnost „Synchronizovat mezi počítači ...“.

  2. Když na něj kliknete, zobrazí se registrovaný počítač a seznam všech aplikací v počítači.

  3. Když nainstalujete čerstvé, bude tento počítač považován za nový počítač.

  4. Stačí se přihlásit k účtu Ubuntu a zobrazí se předchozí počítač.

  5. Klikněte na to; dostanete seznam všech aplikací. V aplikaci, kterou chcete nainstalovat, vyberte možnost „nainstalovat“.

33
Nirmik

K dispozici je také nástroj s názvem Aptik (příkazový řádek i GUI), který vám pomůže zobrazit seznam všech nainstalovaných balíčků, s možností vybrat/odznačit některé z nich, vytvořit záložní seznam, a pak obnovit stejnou sadu balíčků v jiném systému.

Instalovat:

Sudo add-apt-repository -y ppa:teejee2008/ppa
Sudo apt-get update
Sudo apt-get install aptik

Další informace: https://teejeetech.in/aptik/

enter image description here

Jak je vidět na obrázku, Aptik vám umožní také zálohovat a obnovovat PPA, což bude určitě nutné nainstalovat některé nainstalované balíčky.

32
Sadi

APT-Clone . Tento balíček lze použít klonování/obnovení balíčků v systému založeném na apt.

  • Uloží/obnoví balíčky, sources.list, klíčenku a automaticky nainstalované stavy.
  • Může také ukládat/obnovovat již stahovatelné balíčky pomocí dpkg-repack.

zdroj: man apt-clone

APT-Clone používá ubiquity (instalační program Ubuntu) pro proces aktualizace. Je to mnohem lepší než řešení dpkg --get-selections, Protože:

  1. Zachovává všechny informace o úložištích.
  2. Sleduje, jaké balíčky byly automaticky nainstalovány.
  3. Umožňuje znovu zabalit lokálně nainstalované soubory DEB.

Jak používat

  1. Nainstalujte

    Sudo apt-get install apt-clone
    
  2. Vytvořte zálohu

    Sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz
    
  3. Obnovit zálohu

    Sudo apt-clone restore path-to/apt-clone-state-ubuntu.tar.gz
    

    Obnovit na novější verzi:

    Sudo apt-clone restore-new-distro path-to/apt-clone-state-ubuntu.tar.gz $(lsb_release -sc)
    

Vytváří jednoduchý soubor dehtu s gzipem, který lze před obnovou na jiných počítačích snadno upravovat a prohlížet. Zde je příklad její struktury:

/
├── etc
│   └── apt
│       ├── preferences.d
│       ├── sources.list
│       ├── sources.list.d
│       │   ├── anton_-ubuntu-dnscrypt-vivid.list
│       │   ├── maarten-baert-ubuntu-simplescreenrecorder-vivid.list
│       │   └── megasync.list
│       ├── trusted.gpg
│       └── trusted.gpg.d
│           ├── anton__ubuntu_dnscrypt.gpg
│           ├── anton__ubuntu_dnscrypt.gpg~
│           ├── maarten-baert_ubuntu_simplescreenrecorder.gpg
│           └── maarten-baert_ubuntu_simplescreenrecorder.gpg~
└── var
    └── lib
        └── apt-clone
            ├── extended_states
            ├── installed.pkgs
            └── uname
30
user.dz

Můžete se podívat na záznam apt pod /var/log/apt/ a dpkg log pod /var/log/

a seznam nainstalovaných balíčků získáte pouhým příkazem:

dpkg -l | grep '^ii '
27
Maythux

Existuje skvělé vysvětlení na Unix StackExchange , které popisuje, jak používat aptitude pro seznam balíků, které nejsou nainstalovány jako závislosti, a jak porovnat tento seznam se seznamem výchozích balíčků pro vaše vydání Ubuntu.

Chcete-li získat soubor manifestu pro stolní verze 12.04 a novější, navštivte tento web , vyberte své vydání a přejděte dolů pod obrázky CD do sekce souborů. Najdete něco jako "ubuntu-12.04.4-desktop-AMD64 + mac.manifest", které odpovídá vaší architektuře.

U serverových verzí budete muset získat soubor manifestu z ISO, který byl použit k instalaci původního systému. V případě VPS nebo cloudového serveru může váš poskytovatel obrázky zpřístupnit nebo je budete muset kontaktovat.

Zde je příklad použití kódu z odkazovaného příspěvku spolu s úpravami instalace na nový server.

Starý server (kód z jiného příspěvku, výstup uložen do souboru):

aptitude search '~i !~M' -F '%p' --disable-columns | sort -u > currently-installed.list
wget -qO - http://mirror.pnl.gov/releases/precise/ubuntu-12.04.3-desktop-AMD64.manifest \
  | cut -f1 | sort -u > default-installed.list
comm -23 currently-installed.list default-installed.list > user-installed.list

Na novém serveru zkopírujte soubor pomocí scp a pomocí sedu připojte 'install' ke každému řádku (-i provede inline-nahrazení). Seznam pak můžete použít jako vstup do 'dpkg --set-selections' a nainstalovat balíčky pomocí apt-get:

scp [email protected]:user-installed.list .
sed -i 's/$/\tinstall/' user-installed.list
Sudo dpkg --set-selections < user-installed.list
Sudo apt-get dselect-upgrade

Před zahájením tohoto úkolu doporučuji přečíst a porozumět všem částem příspěvku zmíněného na začátku a poté se podívat na referenční příručka aptitude , kde najdete podrobnosti o vzorcích vyhledávání.

26
thinkmassive

Jsem překvapen, že příkaz apt-cache Navržen přesně pro tento účel nebyl výše zmíněn ...

apt-cache pkgnames

Pro více informací spusťte apt-cache --help:

 ** apt-cache je nízkoúrovňový nástroj používaný k dotazování na informace 
 z binárních souborů APT 
 
 Příkazy: 
 gencaches - Build oba balíčky a zdrojová mezipaměť 
 showpkg - Zobrazit některé obecné informace pro jeden balíček 
 showsrc - Zobrazit zdrojové záznamy 
 statistiky - Zobrazit některé základní statistiky 
 výpis - Zobrazit celý soubor v napjaté podobě 
 dumpavail - Vytiskněte si dostupný soubor pro stdout 
 unmet - Zobrazit unmet dependencies 
 search - Vyhledejte v seznamu balíků regexový vzor 
 show - Zobrazení čitelného záznamu pro balíček 
 Závislosti - Zobrazit nezpracované informace o závislosti na balíčku 
 rdepends - Zobrazit informace o zpětné závislosti pro balíček 
 pkgnames - Seznam názvů všech balíčků v systému
 dotty - Generování grafů balíčků pro GraphViz 
 xvcg - Generování grafů balíčků pro politiku xvcg 
 - Zobrazit nastavení politiky 
 
 Možnosti: 
 -h Tento text nápovědy. 
 -p =? Mezipaměť balíčku. 
 -S =? Zdrojová mezipaměť. 
 -Q Vypnout indikátor průběhu. 
 -I Zobrazit pouze důležitá deps pro příkaz unmet. 
 -C =? Přečtěte si tento konfigurační soubor 
 -O =? Nastavte libovolnou možnost konfigurace, např. -O dir :: cache =/tmp 
 Více informací naleznete na manuálových stránkách apt-cache (8) a apt.conf (5). [.____. ** ** 
24
ostrokach
20
adriano72

Pomozte této komunitě wiki - Přidejte aktuální řešení.


dpkg, xargs a apt-get

Tento příkaz by měl provést vytvoření textového souboru obsahujícího nainstalované balíčky:

dpkg -l | awk  '{print $2}' > package_list.txt

Chcete-li provést hromadnou instalaci uvedených balíčků, musíte upravit 'package_list.txt'. Odstraňte podivné řádky v horní části souboru pomocí textového editoru. Tento příkaz pak můžete použít k instalaci balíčků z vytvořeného souboru pomocí:

xargs < package_list.txt apt-get install -y

apt-cache, xargs a apt-get

Tuto metodu použijte pouze v případě, že chcete nainstalovat všechny aktuální balíčky pomocí seznamu (, který obsahuje automaticky nainstalovanou atd.).

Výstup odpovědi 'apt-cache pkgnames' na soubor, který jednoduše pojmenujeme "package_list.txt". Toho můžete dosáhnout pomocí:

apt-cache pkgnames > package_list.txt

Poté, když chcete instalovat balíčky z "package_list.txt", použijte tento příkaz:

xargs < package_list.txt apt-get install -y

apt-mark, xargs, & apt-get

Můžeme použít příkaz apt-mark showmanual poskytnout seznam balíčků, které byly ručně nebo původně nainstalovány s Ubuntu. Budeme to chtít odeslat do souboru, který budeme nazývat „package-list.txt“. Tento příkaz použijte k dosažení těchto cílů:

apt-mark showmanual > package-list.txt

Příkaz, který bychom použili k instalaci balíčků ze souboru "package_list.txt", je níže.

xargs < package_list.txt apt-get install -y

Nástroj pro migraci Aptik

Nástroj pro zjednodušení opětovné instalace softwarových balíčků po upgradu/opětovné instalaci distribucí založených na Ubuntu.
[ Launchpad | Aptik ]

Chcete-li získat informace o Aptiku, zkuste navštívit jeho oficiální stránk a pro snímek obrazovky klikněte zde nebo si prohlédněte konec této sekce .

Instalace Aptiku je jednoduchá. Následuj tyto kroky:

  1. Přidejte PPA s:
    Sudo add-apt-repository -y ppa:teejee2008/ppa

  2. Aktualizujte pomocí následujícího příkazu.
    Sudo apt-get update

  3. Nainstalujte Aptik pomocí:
    Sudo apt-get install aptik

Aptik Migration Utility v16.5.2


18

Příkaz níže také obsahuje seznam všech nainstalovaných balíčků,

grep ' installed ' /var/log/dpkg.log /var/log/dpkg.log.1 | awk '{print $5}' | sort -u
18
Avinash Raj

Uložení seznamu nainstalovaných balíčků do souboru s názvem installed_packages.txt, prostě běž:

dpkg-query --list >> installed_packages.txt
16
wb9688

Myslím, že je zajímavé si všimnout apt list --installed nebo dpkg-query --list skutečně používá soubor s názvem /var/lib/dpkg/status vzadu, kde jsou všechny informace o balíčcích vousy.

Pokud byste se tedy chtěli zabývat super rozšířeným seznamem balíčků, stačí cat /var/lib/dpkg/status.

Poznámka: Neměňte /var/lib/dpkg/status soubor.

3
prosti

Kromě [~ # ~] apt [~ # ~] balíčků je mnoho GUI balíčků dnes distribuováno jako zaskočí .

Pokud váš balíček nelze najít v apt list --installed, potom zkuste snap list:

$ snap list

Name                  Version                     Rev   Tracking  Publisher       Notes
gimp                  2.10.10                     165   stable    snapcrafters    -
gnome-calculator      3.32.1                      406   stable/…  canonical✓      -
keepassxc             2.4.1                       267   stable    keepassxreboot  -
...

Je také dobré přidat /snap/bin do PATH, takže je můžete spouštět z terminálu (provádí se automaticky pro uživatele bez oprávnění root).

3
rustyx

https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/ :

1. Seznam nainstalovaných softwarových balíčků na Ubuntu

Chcete-li zobrazit seznam nainstalovaných softwarových balíčků v počítači, můžete použít následující příkaz:

Sudo apt list --installed

Výstup příkazu bude velmi podobný následujícímu v závislosti na aktuálně nainstalovaných balíčcích:

Listing...
acl/xenial,now 2.2.52-3 AMD64 [installed]
adduser/xenial,xenial,now 3.113+nmu3ubuntu4 all [installed]
Apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed]
Apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed,automatic]
Apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
Apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
Apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed]
apparmor/xenial-updates,now 2.10.95-0ubuntu2.5 AMD64 [installed,automatic]
apt/xenial-updates,now 1.2.19 AMD64 [installed]
apt-utils/xenial-updates,now 1.2.19 AMD64 [installed]
...

2. Použijte NÍZKÝ program

Pro snadné čtení celého výstupu můžete použít program less.

Sudo apt list --installed | less

3. Použijte příkaz GREP

Můžete hledat konkrétní balíček prostřednictvím výstupu pomocí programu grep.

Sudo apt list --installed | grep -i Apache

4. Seznam všech balíčků, které obsahují Apache

Výstup z výše uvedeného příkazu vypíše všechny balíčky, které ve svých názvech obsahují Apache.

Apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed]
Apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed,automatic]
Apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
Apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
Apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed]
libapache2-mod-php/xenial,xenial,now 1:7.0+35ubuntu6 all [installed,automatic]
libapache2-mod-php7.0/xenial-updates,now 7.0.13-0ubuntu0.16.04.1 AMD64 [installed,automatic]
libapache2-mod-security2/xenial,now 2.9.0-1 AMD64 [installed]
libapache2-modsecurity/xenial,xenial,now 2.9.0-1 all [installed]

Apt podporuje vzory, které odpovídají názvům balíků a možnostem seznamu nainstalovaných (--installed) balíčky, upgradovatelné (--upgradeable) balíčky nebo všechny dostupné (--all-versions) verze balíčku.

5. Použijte program DPKG

Další alternativou, kterou můžete použít k výpisu nainstalovaných softwarových balíčků ve vašem Ubuntu VPS , je příkaz dpkg.

Sudo dpkg -l

Výstup příkazu vám poskytne informace, jako je název balíčku, verze, architektura a krátký popis balíčku. Samozřejmě můžete použít program grep znovu k vyhledání konkrétního balíčku.

Sudo dpkg -l | grep -i Apache

Výstup by měl vypadat takto:

ii  Apache2                       2.4.18-2ubuntu3.1                     AMD64        Apache HTTP Server
ii  Apache2-bin                   2.4.18-2ubuntu3.1                     AMD64        Apache HTTP Server (modules and other binary files)
ii  Apache2-data                  2.4.18-2ubuntu3.1                     all          Apache HTTP Server (common files)
ii  Apache2-doc                   2.4.18-2ubuntu3.1                     all          Apache HTTP Server (on-site documentation)
ii  Apache2-utils                 2.4.18-2ubuntu3.1                     AMD64        Apache HTTP Server (utility programs for web servers)
rc  Apache2.2-common              2.2.22-6ubuntu5.1                     AMD64        Apache HTTP Server common files
ii  libapache2-mod-php            1:7.0+35ubuntu6                       all          server-side, HTML-embedded scripting language (Apache 2 module) (default)
rc  libapache2-mod-php5           5.5.9+dfsg-1ubuntu4.16                AMD64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-php7.0         7.0.13-0ubuntu0.16.04.1               AMD64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-security2      2.9.0-1                               AMD64        Tighten web applications security for Apache
ii  libapache2-modsecurity        2.9.0-1                               all          Dummy transitional package
ii  libapr1:AMD64                 1.5.2-3                               AMD64        Apache Portable Runtime Library
ii  libaprutil1:AMD64             1.5.4-1build1                         AMD64        Apache Portable Runtime Utility Library
ii  libaprutil1-dbd-sqlite3:AMD64 1.5.4-1build1                         AMD64        Apache Portable Runtime Utility Library - SQLite3 Driver
ii  libaprutil1-ldap:AMD64        1.5.4-1build1                         AMD64        Apache Portable Runtime Utility Library - LDAP Driver
.

S konkurencí tohoto tutoriálu jste se úspěšně naučili vypsat seznam nainstalovaných balíčků v Ubuntu.

2
M.A.K. Ripon

Balík dctrl-tools uveďte grep-status nástroj pro získání seznamu balíčků označených jako nainstalované ve vašem systému:

Sudo apt install dctrl-tools

Používání:

grep-status -FStatus -sPackage -n   "install ok installed"

viz: man dctrl-tools

1
GAD3R

Existuje mnoho způsobů, jak toho dosáhnout. V případě, že používáte CentOS jako já, můžete použít tyto: 1. yum list installed 2. rpm -qa

1
saeed mohammadi