Dieser Artikel beschäftigt sich damit, wie man durch Skripte Paketnamen komfortabel in eine Textdatei schreiben kann, sodass die Pakete in dieser nach einer Neuinstallation automatisch installiert werden können. Das gleiche passiert mit den PPAs, die zum eigenen Repository hinzugefügt werden. Eine automatisierte Installation von Paketen ist dann hilfreich, wenn man seinen PC neuinstalliert hat und die vielen vorher installierte Software wieder installiert haben möchte.
Dies habe ich erreicht, indem ich mir Skripte geschrieben habe:
- install
- convertToInstall.sh
- newppa
- convertToPpa.sh
- install.sh
Das erste Skript schreibt alle Pakete in eine Textdatei:
1 2 3 4 |
|
Das heißt, wenn man nun ein Paket installieren möchte, dann gibt man statt sudo aptitude install
nur noch install
ein. Das Paket wird installiert und der dazugehörige Paketname wird durch das >>
einer Textdatei angehängt. Installation und Anhängen von mehreren Paketnamen ist, getrennt durch ein Leerzeichen, möglich.
Konvertierung install-own.sh nach packages.sort.list
Vor einer Neuinstallation müssen alle Pakete in ein anderes Format konvertiert werden. Der Grund, warum ich das nicht von Anfang an gemacht habe ist der, weil die Skriptsammlung mit der Zeit angewachsen ist.
1 2 3 4 5 6 7 8 9 10 11 |
|
Da alle Pakete nach der Zeichenfolge sudo aptitude -y install
angehängt sind, müssen diese so konvertiert werden, dass alle Paketnamen untereinander stehen und keine doppelten Pakete installiert werden. Hierfür habe ich mir natürlich auch ein Skript geschrieben, das das erledigt. Das Ergebnis sollte danach folgendermaßen aussehen:
texlive-doc-de
texlive-latex-extra
texlive-lang-german
texlive-xetex
Das Skript convertToInstall.sh
zum Konvertieren:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
Wie man erkennen kann, wird das Skript folgendermaßen benutzt, wobei die Parameter zwei frei wählbare Dateien sind:
./convertToInstall.sh install-own.sh packages.sort.list
PPA
Um die persönlichen Archive installieren zu können, habe ich mir folgendes Skript namens newppa
geschrieben, das mir die PPAs einer Textdatei hinzufügt:
1 2 3 |
|
Das Konvertierungsskript für die PPAs ist ein angepasstes convertToInstall.sh
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
Das Skript wird folgendermaßen ausgeführt:
./convertToPpa.sh ppa.list ppa.sort.list
Installationsskript
Dieses Skript wird ausgeführt, wenn man seinen PC neuinstalliert hatte. Dieses ruft dann das Skript convertToInstall.sh
auf, um die Pakete in das richtige Format zu konvertieren. Das gleiche passiert mit dem Skript convertToPpa.sh
für die PPAs. Durch den xargs
-Befehl im Installationsskript werden alle Pakete installiert.
Unter dem Punkt manual installation
sind die Pakete angegeben, die nicht durch das Skript installiert werden. Unter dem Reiter config
werden eigene Icons und Konfigurationsdateien an den alten Speicherort kopiert. Danach ist die Installation abgeschlossen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
Downloads
Diese Skriptesammlung dient auch als Anregung für weitere Skripte dieser Art. Dies soll zeigen, wie flexibel Linux ist und es auf lange Sicht Zeit spart.
Alternativ kann man auch apt-clone
verwenden, um die Pakete des einen PCs bei einem anderen PC zu installieren. Christoph Langner schrieb dazu diesen Artikel.