Paketliste archivieren

Aus wiki.archlinux.de

Einleitung

Dieser Artikel gibt eine kurze Hilfestellung, wie man sich eine Datei mit einer Liste der aktuell über Pacman installierten Pakete anlegt.

Mit Hilfe dieser Liste hat man, nach einer Neuinstallation, eine einfache Möglichkeit wieder den "alten" Softwarestand zu erreichen.

Dabei werden nur die Namen der Pakete gespeichert, dass heißt, zur eigentlich Installation ist eine Internetverbindung notwending und alle benötigten Repositorien müssen in der Datei

/etc/pacman.conf

aktiviert sein. (Siehe Pacman)

Der Vorteil dieser Variante liegt dabei darin, dass man nicht die gesamten Pakete archivieren muss und das die Pakete automatisch in der aktuellen Version installiert werden.


Paketliste erstellen

Um eine Liste aller explizit installierten Pakete anzulegen ist der folgende Befehl nötig.

pacman -Qe | awk '{print $1}' > Pakete.txt

Die einzelnen Befehle erfüllen dabei folgende Funktionen:

" pacman -Qe ": Pacman gibt eine Liste aller explizit installierten Pakete inklusive der Versionsnummer aus. Über den | (Pipe) wird die Ausgabe weitergeleitet an

" awk '{print $1}' ": die Option '{print $1}' sorgt dafür, dass awk alles außer der 1.Spalte (der Paketname) "wegschneidet"

" > Pakete.txt ": schreibt die so enstandene Paketliste exklusiv der Versionsnummer (dank awk) in die Datei Pakete.txt im aktuellen Verzeichnis (daher muss der Nutzer, welcher den Befehl ausführt, in diesem Verzeichnis Schreibrechte besitzen).


Bei dieser Vorgehensweise werden, wie oben beschrieben, nur die explizit installierten Pakete in die Liste geschrieben. Daraus entsteht jedoch kein Nachteil, da Pacman bei der Installation automatisch die Abhängigkeiten auflöst.

Möchte man jedoch auch noch die Pakete in der Liste aufführen, die als Abhängigkeit installiert wurden, so kann man diese mit dem Befehl:

pacman -Qd | awk '{print $1}' >> Pakete.txt 

an die Datei Pakete.txt anhängen.

Wichtig: Bei diesem Aufruf sind zwei "Größer-Zeichen" ( >> ) zu verwenden! (Wird nur eines verwendet, so wird der bestehende Dateiinhalt überschrieben!)


System wiederherstellen

Man sollte diese Wiederherstellung möglichst in einem "frischen" System vornehmen (direkt nach der Basisinstallation).

Durch das beschriebene Vorgehen werden nur die Pakete aus "Pakete.txt" installiert, es erfolgt keine Deinstallation von Paketen die nicht in der Paketliste enthalten sind. Daher ist es mit dem hier beschriebenen Vorgehen nicht grundsätzlich möglich einen alten Softwarestand wiederherzustellen (denn zwischenzeitlich installierte Software wird nicht gelöscht).


Auf das neue System muss man jetzt nur noch die vorher erstellte Datei Pakete.txt übertragen.

Die Installation der in der Datei gespeicherten Pakete erfolgt nun mit dem Befehl:

pacman -S $(cat Pakete.txt)

Dieser Befehl muss in dem Verzeichnis ausgeführt werden in dem sich die Datei "Pakete.txt" befindet, oder man muss den kompletten Pfadnamen (z.B. "pacman -S $(cat /home/nutzer/Backup/Pakete.txt)") setzen.

Darüber hinaus muss der Befehl als "root" ausgeführt werden.


Ergänzungen

Mit dieser kleinen Anleitung soll nur gezeigt werden, wie man sich das Leben beim Neueinrichten eines Systems (z.B. nach Neukauf/Defekt von Hardware) ein wenig leichter machen kann. Aufgrund seiner Flexibilität ist Pacman noch für viele andere praktischen Anwendungen konfigurierbar und auch die hier gezeigte Nutzung des Paketmanagers lässt sich in einigen Bereichen sicherlich noch erweitern und für die eigenen Bedürfnisse anpassen.

Eine andere praktische Anwendung gibt es im englischen Wiki: Redownloading_all_installed_packages

Weitere Informationen