Ich bin dabei, einen Server von einer Ubuntu-Box auf eine andere zu verschieben. Ich klone nicht die alte Schachtel auf die neue. Ich erstelle ein neues System und verschiebe die Daten nach Bedarf. Ich möchte die gesamte Software, die ich auf der alten Box habe, auf der neuen installieren.
Gibt es eine einfache Möglichkeit, den Verlauf aller "sudo apt-get install" -Befehle zu ermitteln, die ich im Laufe der Zeit gegeben habe? Das heißt, dpkg -l zeigt mir alle installierten Pakete an, aber nicht, von welchem Top-Level-Paket sie installiert wurden. Wenn es für dpkg eine Möglichkeit gibt, mir das Installationspaket zu geben, kann ich dort die eindeutigen finden. Ansonsten möchte ich etwas anderes sagen: "Sie haben diese 24 Pakete installiert."
Antworten:
Die
apt
Geschichte ist in/var/log/apt/history.log
wie in einem Kommentar oben gesagt. Das heißt, dies listet keine Pakete auf, die manuell installiert wurden,dpkg
oder GUIs wiegdebi
. Um alle Pakete zu sehen, die durchgelaufen sind,dpkg
können Sie sich anschauen/var/log/dpkg.log
.quelle
http://www.debianadmin.com/clone-your-ubuntu-installation.html
und /var/adm/apt/history.log
quelle
/var/log/apt/history.log
(Du hast übrigens den falschen Ort angegeben) wird sich nach ein paar Monaten entfernt haben.Sie können Pakete auflisten, deren Installation explizit mit angefordert wurde
apt-mark
.Falls Sie eine alte Version von Debian ausführen, gehen Sie wie folgt vor.
Der folgende Befehl gibt die Liste der Pakete an, deren Installation manuell oder automatisch angefordert wurde. Sofern Sie nicht gerade Pakete (de) installieren, ist dies die Liste der installierten Pakete.
Der folgende Befehl enthält eine Obermenge der automatisch installierten Pakete:
Der folgende Befehl fasst alles zusammen und listet manuell installierte Pakete auf:
quelle
comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)
apt-mark showmanual
das, was Ihrem letzten Befehl entspricht.Zeigt alle Pakete an, die Sie mit folgendem Befehl installiert haben:
sudo apt-get install xxxxx
quelle
Anstelle der TAC / Head-Kombination ist es besser, Tail zu verwenden (für die letzten 25 Zeilen):
quelle
Die anderen Antworten halfen, gaben mir aber zu viel Output. Um die Ausgabe zu reduzieren, habe ich
apt-mark showmanual
wie in dieser Antwort begonnen und dann die ursprünglich installierten Pakete herausgefiltert (siehe diese Antwort , um eine Liste der ursprünglich installierten Pakete zu erhalten; ich verwende Ubuntu 18.04.2, daher der Link unten). .Das Skript filtert Pakete aus dem ursprünglichen Manifest heraus, indem es einen versionsunabhängigen Vergleich durchführt, sodass aktualisierte Pakete nicht in der Liste angezeigt werden. Ich endete mit einer Liste von etwa 60 Paketen.
Der andere Weg, den ich mag, ist diese Antwort, die alle passenden Protokolle durchsucht .
quelle
Um die Liste der zuletzt installierten Pakete in absteigender Reihenfolge zu erhalten, verwende ich gerne (z. B. 25 Zeilen):
quelle
tail -25 /var/log/apt/history.log | tac