Siduction Forum > Installation - Support

[DE] Installation automatisieren

<< < (2/3) > >>

knorki:

--- Quote from: knorki on 2023/11/22, 09:46:18 ---Ich installiere öfter mal siduction-xfce auf einem Rechner neu.
Ich suche nun eine Möglichkeit nach der Installation nur die von mir genutzten Programm-Pakete zu installieren und alle überflüssigen automatisch zu entfernen.
Zur Zeit mache ich das immer noch händisch und das benötigt immer mehr als eine Stunde.

Kann ich das automatisieren?

--- End quote ---

Ich habe mal das script aus dem siduction manual ausgeführt.
Zu finden ist die Liste unter
https://codeberg.org/coffeego/InstallSiduction/src/branch/main/src

Jetzt fehlt noch eine frische siduction-xfce Installation um ein diff herzustellen und daraus das script für die Löschung zu erstellen.

Könnte der Weg so aussehen?

edlin:
Wie @edlin schon schrieb: Um wieviele Pakete geht es hier? Deinstallierst du händisch jedesmal 60 Pakete? Installierst du danach 50 neue Pakete? Da zähle ich die Abhängigkeiten noch nicht mal mit.

edlin
 

knorki:
ich habe eine frische XFCE Installation gemacht. Nach der Installation und nachfolgendem Update sind 2090 Pakete installiert.

Ich verwende aptitude zum Installieren, die Angabe der Anzahl der Pakete kommt von aptitude.

Nach löschen und installieren der von mir benötigten sind 1879 Pakete installiert.
Also eine Differenz vom 211 Paketen.

edlin:
Mal einen Ansatz, wie das Script aussehen könnte. Du erstellst dir ein Script knorki-xfce.sh mit deinem Lieblingseditor:

--- Code: ---#!/usr/bin/bash

# Löschen aller Pakete aus purge.txt inkl. Konfiguration
while read p;
do apt -y purge "$p";
done < purge.txt

# Aktualisierung der verbliebenen Pakete
# Kann auch mit nala durchgeführt werden
apt update
apt -y dist-upgrade

# Installation zusätzlicher Pakete aus Liste install.txt
while read i;
do apt -y install  "$i";
done < install.txt

# Aufräumen
apt -y autopurge

exit 0
--- End code ---
Das Script machst du mit

--- Code: ---sudo chmod +x knorki-xfce.sh

--- End code ---
ausführbar.
Dann legst du dir die zwei Dateien purge.txt und install.txt an. In der ersten sind zeilenweise die Pakete aufgeführt, welche entfernt werden sollen. Analog in der zweiten Datei die Pakete, die nachinstalliert werden sollen.
Beachte, dass das -y nach apt alle Fragen automatisch mit J beantwortet.
Die drei Dateien kannst du dir ja auf einen USB-Stick laden.
Dann mit

--- Code: ---sudo ./knorki-xfce.sh
--- End code ---
das Script ausführen.

Aber bitte erst mal vorsichtig testen (je zwei Pakete in install.txt und purge.txt)! Es gibt unzählige weitere Wege, die Aufgabe zu erledigen und zu verbessern. Das soll nur mal eine Anregung sein, auf der du aufbauen kannst.

edlin

edlin:
Noch etwas Hilfe für das Erstellen von purge.txt und install.txt.
Führe bei einer jungfräulichen Installation zunächst

--- Code: ---aptitude search -F "%p" "~i ! ~M" > vorher.txt
--- End code ---
aus.
Mit einer aufgeräumten Installation dann analog:

--- Code: ---aptitude search -F "%p" "~i ! ~M" > nachher.txt
--- End code ---
Damit hast du die Pakete (ohne Abhängigkeiten) der beiden Zustände abgelegt. Nun musst du die Unterschiede ermitteln, um daraus die Pakete für purge und install zu separieren. Hier hilft das Hausmittel diff, welches die Differenz aus zwei Dateien ermittelt und die Unterschiede entsprechend markiert. Mit grep und sed extrahieren wir dann die gesuchten Pakete:

--- Code: ---diff vorher.txt nachher.txt | grep -v "^[>,0-9]" |sed 's/< //g' > purge.txt
--- End code ---
grep schmeisst alle Zeilen raus, die mit > oder einer Ziffer beginnen. Mit sed entfernen wir das < vor dem Paketnamen.
Analog dazu erzeugen wir die install.txt:

--- Code: ---diff vorher.txt nachher.txt | grep -v "^[<,0-9]" |sed 's/> //g' > install.txt
--- End code ---
Geht garantiert eleganter, aber sofern du keine Z80-CPU im Rechner hast, spielt das wirklich keine große Rolle. Kontrolliere aber nochmal die Ergebnisse, nicht dass ich was verdreht oder vergessen habe.

edlin.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks WYSIWYG Editor