Ich möchte eine Liste aller installierten Pakete in einer Textdatei ausgeben, damit ich sie überprüfen und auf einem anderen System als Masseninstallation installieren kann. Wie würde ich das machen?
apt
package-management
Ivan
quelle
quelle
Antworten:
Ubuntu 14.04 und höher
Das
apt
Tool auf Ubuntu 14.04 und höher macht dies sehr einfach.Ältere Versionen
So rufen Sie eine Liste der lokal installierten Pakete in Ihrem Terminal ab:
(Das
-v
Tag "invertiert" grep, um nicht übereinstimmende Zeilen zurückzugeben.)So rufen Sie eine Liste eines bestimmten Pakets ab:
So speichern Sie diese Liste in einer Textdatei, die
packages
auf Ihrem Desktop aufgerufen wird :Alternativ einfach benutzen
(Sie müssen keinen dieser Befehle als Superuser ausführen, daher sind hier keine
sudo
oder andere Varianten erforderlich.)quelle
cat ~/Desktop/packages > sudo dpkg --set-selections && sudo apt-get dselect upgrade
Quellesudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgrade
macht den Trick.apt list installed
. Eines Tages sollten wir damit aufhören, systematisch das Prinzip "einfache Dinge einfach halten" zu missachten.Um nur die Pakete zu erhalten, die ausdrücklich installiert wurden (nicht nur als Abhängigkeiten), können Sie ausführen
Dazu gehört auch eine kurze Beschreibung, die Sie möglicherweise wünschen. Wenn nicht, fügen Sie die Option hinzu
-F '%p'
, wie von karthick87 erwähnt.Eine weitere Möglichkeit scheint darin zu bestehen, die Datei zu kopieren
/var/lib/apt/extended_states
, bei der es sich um eine Textdatei-Datenbank in folgendem Format handelt:Auto-Installed: 0
gibt an, dass das Paket ausdrücklich installiert wurde und nicht nur eine Abhängigkeit ist.quelle
apt-get
?Führen Sie Folgendes aus, um alle Pakete aufzulisten, die absichtlich mit apt-Befehlen installiert wurden (nicht als Abhängigkeiten):
Dies bietet eine zeitbasierte Ansicht in umgekehrter Reihenfolge, wobei ältere Befehle zuerst aufgeführt werden:
Installationsdaten, die auch die synaptische Nutzung anzeigen, jedoch ohne Details (dasselbe mit Installationsdatum):
Bereitstellung der folgenden:
quelle
zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:'
dpkg
?Erstellen Sie eine Sicherungskopie der aktuell installierten Pakete:
Stellen Sie dann (auf einem anderen System) Installationen von dieser Liste wieder her:
So entfernen Sie veraltete Pakete:
So installieren Sie sich wie zum Zeitpunkt der Sicherung (dh, um die von festgelegten Pakete zu installieren
dpkg --set-selections
):quelle
ubuntu-desktop
deinstalliert wurde - wahrscheinlich aufgrund eines der dpkg-Befehle. Vorsicht, ich habe Stunden gebraucht, um den Schaden zu reparieren!sudo apt-mark hold name-your-package
. Dadurch wird verhindert, dass apt-get auf die aktuelle Version aktualisiert wird. Dies ist die Standardeinstellung für den Aktualisierungsvorgang.Manpages-Status:
Es sollte also nur eine Liste der explizit installierten Pakete enthalten sein (obwohl dies auch Pakete beinhaltet, die Teil der anfänglichen Standardinstallation waren), ohne dass alle Abhängigkeiten enthalten sind, die aufgrund der Installation dieser Pakete auftreten.
So geben Sie das Ergebnis in eine Textdatei aus:
quelle
apt-mark showmanual
nicht wirklich. Außerdem werden Tonnen von automatisch installierten Paketen aufgelistet, die wahrscheinlich Teil der Basisinstallation sind.apt list --manual-installed
.dpkg-query
(stattdessen werden hierdpkg --get-selections
einige Pakete aufgelistet, die nicht installiert sind):Oder:
quelle
# for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; done
im zweiten System habe ich dies so gemacht, dass Pakete installiert werden.apt-get install -y $(< installed-pkgs)
wird es so machen, dass apt-get nur einmal ausgeführt wird und sich gleichzeitig um alle Abhängigkeiten kümmert.sudo apt-get build-dep name-package; sudo apt-get install name-package;
?Um alle installierten Pakete aufzulisten,
oder
oder
Hinweis:
Sie erhalten die Ergebnisdatei 1.txt in Ihrem Ausgangsordner, oder Sie können Ihren eigenen Pfad angeben.
quelle
Sie können Synaptic verwenden, um den aktuellen Status Ihres installierten Pakets zu speichern. Wählen Sie in Synaptic "Datei / Markierungen speichern", geben Sie den Namen der Datei ein, in der der Status gespeichert werden soll, und aktivieren Sie das Kontrollkästchen "Vollständigen Status speichern, nicht nur Änderungen".
Die daraus gespeicherte Datei kann mithilfe von "Datei- / Lesemarkierungen" in Synaptic in ein neues Gerät geladen werden.
quelle
Ich empfehle Blaupause . Obwohl es für Server entwickelt wurde, kann es auch von Desktops aus verwendet werden. Es wird ein Shell-Skript / chef / puppet erstellt, mit dem Sie alle Ihre Pakete neu installieren können.
quelle
Du willst die Pakete jetzt dort am 12.04 neu installieren, oder?
Wenn ja, ist es sehr einfach. Sie benötigen ein "Ubuntu Single Sign On-Konto". (Erstellen Sie es vor der Neuinstallation, damit Ihr System synchronisiert wird.)
Rufen Sie das Software Center auf und suchen Sie im Menü Datei nach der Option "Zwischen Computern synchronisieren ...".
Wenn Sie darauf klicken, wird Ihr Computer registriert und eine Liste aller Apps auf Ihrem Computer angezeigt.
Bei der Neuinstallation wird dieser Computer als neuer Computer betrachtet.
Sie müssen sich nur in Ihrem Ubuntu-Konto anmelden und Ihr vorheriger Computer wird angezeigt.
Klick es an; Sie erhalten eine Liste aller Apps. Wählen Sie "Installieren" in der App, die Sie installieren möchten.
quelle
Es gibt auch ein Tool namens Aptik (sowohl Befehlszeile als auch GUI), mit dessen Hilfe Sie eine Liste aller installierten Pakete anzeigen können. Sie können einige davon auswählen oder deren Auswahl aufheben, eine Sicherungsliste erstellen und dann denselben Paketsatz in wiederherstellen ein anderes System.
Installieren:
Weitere Informationen: https://teejeetech.in/aptik/
Wie Sie auf dem Screenshot sehen können, können Sie mit Aptik auch PPAs sichern und wiederherstellen. Dies ist sicherlich erforderlich, um einige der installierten Pakete zu installieren.
quelle
apt-get install aptik-gtk
undAPT-Clone wird vom
ubiquity
(Ubuntu-Installer) für den Upgrade-Prozess verwendet. Es ist viel besser als diedpkg --get-selections
Lösung, weil:Wie benutzt man
Installieren
Backup erstellen
Backup wiederherstellen
Auf neuere Version zurücksetzen:
Es erstellt eine einfache gzippte TAR-Datei, die einfach bearbeitet und überprüft werden kann, bevor sie auf den anderen Computern wiederhergestellt wird. Hier ein Beispiel seiner Struktur:
quelle
Es gibt eine großartige Erklärung zu Unix StackExchange , die beschreibt, wie Sie aptitude verwenden, um Pakete aufzulisten , die nicht als Abhängigkeiten installiert wurden, und wie Sie diese Liste mit der Liste der Standardpakete für Ihre Ubuntu-Version vergleichen.
Um die Manifest-Datei für Desktop-Versionen ab 12.04 zu erhalten, besuchen Sie diese Site , wählen Sie Ihr Release aus und scrollen Sie unter den CD-Images zum Dateibereich . Sie finden so etwas wie "ubuntu-12.04.4-desktop-amd64 + mac.manifest", das zu Ihrer Architektur passt.
Für Serverversionen müssen Sie die Manifestdatei von der ISO-Datei beziehen, die zur Installation des ursprünglichen Systems verwendet wurde. Für einen VPS- oder Cloud-Server stellt Ihr Anbieter die Bilder möglicherweise zur Verfügung oder Sie müssen sie kontaktieren.
Hier ist ein Beispiel, in dem der Code aus dem Beitrag verwendet wird, auf den verwiesen wird, zusammen mit Änderungen, die auf dem neuen Server installiert werden sollen.
Alter Server (Code aus anderem Beitrag, Ausgabe in Datei gespeichert):
Kopieren Sie die Datei auf dem neuen Server mit scp und hängen Sie dann mit sed 'install' an jede Zeile an (-i führt ein Inline-Ersetzen durch). Dann können Sie die Liste als Eingabe für 'dpkg --set-selections' verwenden und die Pakete mit apt-get installieren:
Bevor Sie mit dieser Aufgabe beginnen, empfehle ich, alle eingangs genannten Teile des Beitrags zu lesen und zu verstehen. Weitere Informationen zu Suchmustern finden Sie in der Eignungsreferenz .
quelle
Sie können sich das
apt
Protokoll unter/var/log/apt/
und dasdpkg
Protokoll unter ansehen/var/log/
und Sie können die Liste der installierten Pakete mit nur einem Befehl erhalten:
quelle
Ich bin überrascht, dass der
apt-cache
Befehl, der genau für diesen Zweck entwickelt wurde, oben nicht erwähnt wurde ...Weitere Informationen erhalten Sie unter
apt-cache --help
:quelle
apt --installed list
das beste Ergebnis liefert (wie in der obigen Antwort vorgeschlagen). Obwohlapt-cache pkgnames
es auf den ersten Blick den Trick zu tun scheint, listet es "alle Pakete im System" (gemäß dem obigen Hilfetext) auf, wozu auch Pakete gehören, über die apt Bescheid weiß Es gibt eine--installed
Option, aber es scheint nicht zu funktionierenpkgnames
.apt-cache pkgnames | wc -l
gibt55909
Pakete (das System kennt), währendaptitude search '~i!~M' | wc -l
gibt2160
(Pakete explizit installiert, ohne Abhängigkeiten).Für den vollständigen Überblick siehe:
https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAndFedora#Command_Line_Tools
auf halber Strecke über die Seite:
quelle
Mit dem folgenden Befehl werden auch alle installierten Pakete aufgelistet.
quelle
/var/log/dpkg.log*
zu wechseln , um alle gedrehten Protokolle zu erhalten.Hilf diesem Community-Wiki - Füge aktuelle Lösungen hinzu.
dpkg, xargs & apt-get
Dieser Befehl sollte die Erstellung einer Textdatei mit installierten Paketen durchführen:
Um die Masseninstallation der aufgelisteten Pakete durchzuführen, müssen Sie 'package_list.txt' bearbeiten. Entfernen Sie die seltsamen Linien oben in der Datei mit einem Texteditor. Mit diesem Befehl können Sie dann Pakete aus der erstellten Datei installieren, indem Sie Folgendes verwenden:
apt-cache, xargs & apt-get
Verwenden Sie diese Methode nur, wenn Sie möchten, dass alle aktuellen Pakete mithilfe der Liste ( einschließlich automatisch installierter Pakete usw.) installiert werden.
Geben Sie die Antwort von 'apt-cache pkgnames' in eine Datei mit dem Namen "package_list.txt" aus. Sie erreichen dies mit:
Wenn Sie dann Pakete von "package_list.txt" installieren möchten, verwenden Sie diesen Befehl:
apt-mark, xargs & apt-get
Mit dem Befehl können wir
apt-mark showmanual
eine Liste der Pakete anzeigen, die manuell oder ursprünglich mit Ubuntu installiert wurden. Wir wollen das in eine Datei ausgeben, die wir einfach "package-list.txt" nennen. Verwenden Sie diesen Befehl, um dies zu erreichen:Der Befehl, den wir verwenden würden, um Pakete aus der Datei "package_list.txt" zu installieren, ist unten.
Aptik Migrationsprogramm
Weitere Informationen zu Aptik finden Sie auf der offiziellen Seite des Unternehmens . Für einen Screenshot klicken Sie hier oder sehen Sie sich das Ende dieses Abschnitts an.
Die Installation von Aptik ist einfach. Folge diesen Schritten:
Fügen Sie die PPA hinzu mit:
sudo add-apt-repository -y ppa:teejee2008/ppa
Aktualisieren Sie apt mit dem folgenden Befehl.
sudo apt-get update
Installieren Sie Aptik mit:
sudo apt-get install aptik
quelle
apt-mark showmanual
enthält unter anderem Bash, Unity und Xorg. Sollen sie da sein?Um eine Liste der installierten Pakete in einer Datei mit dem Namen zu speichern
installed_packages.txt
, führen Sie einfach Folgendes aus:quelle
Ich halte es für interessant, die Datei zu notieren
apt list --installed
oderdpkg-query --list
tatsächlich zu verwenden, in der sich/var/lib/dpkg/status
alle Informationen zu den Paketen befinden.Also, wenn Sie mit der super erweiterten Liste von Paketen nur umgehen möchten
cat /var/lib/dpkg/status
.Hinweis: Ändern Sie die
/var/lib/dpkg/status
Datei nicht.quelle
Zusätzlich zu APT- Paketen werden heutzutage viele GUI-Pakete als Snaps verteilt .
Wenn Ihr Paket nicht in gefunden werden kann
apt list --installed
, versuchen Sie Folgendessnap list
:Es ist auch eine gute Idee,
/snap/bin
den PATH zu ergänzen , damit Sie diese vom Terminal aus starten können (automatisch für Benutzer ohne Rootberechtigung).quelle
Das Paket enthält
dctrl-tools
dasgrep-status
Tool, mit dem Sie die Liste der Pakete abrufen können, die auf Ihrem System als installiert markiert sind:Verwendungszweck:
sehen :
man dctrl-tools
quelle
https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/ :
quelle
Dafür gibt es viele Möglichkeiten. Wenn Sie CentOS wie ich verwenden, können Sie diese verwenden: 1.
yum list installed
2.rpm -qa
quelle