Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] Installation automatisieren  (Read 7100 times)

Offline knorki

  • User
  • Posts: 74
[DE] Installation automatisieren
« 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?

Offline hendrikL

  • Administrator
  • User
  • *****
  • Gravatar
  • Posts: 1.063
Re: Installation automatisieren
« Reply #1 on: 2023/11/22, 11:14:26 »
Vielleicht ist dieses schon einmal ein Ansatz auf dem aufgebaut werden kann.

https://manual.siduction.org/hd-install_de.html#duplizierung-auf-einen-anderen-computer

Offline edlin

  • User
  • Posts: 686
Re: Installation automatisieren
« Reply #2 on: 2023/11/22, 12:03:37 »
Ja. Vom Ansatz her brauchst du ein Script, welches
1. die nicht benötigten Pakete purged.
2. ein apt update && apt dist-upgrade durchführt.
3. die zusätzlichen Pakete installiert.

Die Pakete, welche entfernt und installiert werden sollen, müssten einfach zeilenweise in jeweils eine eigene Datei eingetragen werden.
Der Teufel wird wieder im Detail stecken, aber grundsätzlich ist das möglich.

edlin


„Erfahrung heißt gar nichts. Man kann eine Sache auch 35 Jahre falsch machen.“

Kurt Tucholsky

Offline ro_sid

  • User
  • Posts: 334
Re: Installation automatisieren
« Reply #3 on: 2023/11/22, 14:05:18 »
Was dabei hilft:
Mit
Code: [Select]
aptitude search -F "%p" "~i" sieht man alle installierten Pakete, mit
Code: [Select]
aptitude search -F "%p" "~i ! ~M" nur die, die nicht als Abhängigkeit nachinstalliert wurden.
Mit "apt" bzw. "apt-..." bekomme ich das (ohne Filter wie 'cut', 'awk' oder 'sed") nicht hin, aber vermutlich kann hier ein anderer Forumsteilnehmer helfen. [Man weiß hier, ich bin ein Fan von aptitude :).]

Offline edlin

  • User
  • Posts: 686
Re: Installation automatisieren
« Reply #4 on: 2023/11/22, 14:10:12 »
Es wäre ja auch mal interessant, um wieviele Pakete es sich beim Entfernen und bei der Zusatzinstallation handelt. Der Zeitaufwand sagt ja darüber nicht viel aus. Man muss es ja auch nicht unnötig kompliziert machen.

edlin
„Erfahrung heißt gar nichts. Man kann eine Sache auch 35 Jahre falsch machen.“

Kurt Tucholsky

Offline knorki

  • User
  • Posts: 74
Re: Installation automatisieren
« Reply #5 on: 2023/11/22, 15:31:56 »
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?

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?

Offline edlin

  • User
  • Posts: 686
Re: Installation automatisieren
« Reply #6 on: 2023/11/22, 16:02:35 »
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
 
„Erfahrung heißt gar nichts. Man kann eine Sache auch 35 Jahre falsch machen.“

Kurt Tucholsky

Offline knorki

  • User
  • Posts: 74
Re: Installation automatisieren
« Reply #7 on: 2023/11/23, 10:54:02 »
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.

Offline edlin

  • User
  • Posts: 686
Re: Installation automatisieren
« Reply #8 on: 2023/11/23, 12:50:45 »
Mal einen Ansatz, wie das Script aussehen könnte. Du erstellst dir ein Script knorki-xfce.sh mit deinem Lieblingseditor:
Code: [Select]
#!/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
Das Script machst du mit
Code: [Select]
sudo chmod +x knorki-xfce.sh
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: [Select]
sudo ./knorki-xfce.shdas 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
„Erfahrung heißt gar nichts. Man kann eine Sache auch 35 Jahre falsch machen.“

Kurt Tucholsky

Offline edlin

  • User
  • Posts: 686
Re: Installation automatisieren
« Reply #9 on: 2023/11/24, 12:52:40 »
Noch etwas Hilfe für das Erstellen von purge.txt und install.txt.
Führe bei einer jungfräulichen Installation zunächst
Code: [Select]
aptitude search -F "%p" "~i ! ~M" > vorher.txt aus.
Mit einer aufgeräumten Installation dann analog:
Code: [Select]
aptitude search -F "%p" "~i ! ~M" > nachher.txtDamit 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: [Select]
diff vorher.txt nachher.txt | grep -v "^[>,0-9]" |sed 's/< //g' > purge.txtgrep 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: [Select]
diff vorher.txt nachher.txt | grep -v "^[<,0-9]" |sed 's/> //g' > install.txtGeht 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.

„Erfahrung heißt gar nichts. Man kann eine Sache auch 35 Jahre falsch machen.“

Kurt Tucholsky

Offline devil

  • Administrator
  • User
  • *****
  • Posts: 4.880
Re: Installation automatisieren
« Reply #10 on: 2024/01/12, 19:37:56 »
Man könnte auch mal Penguins Eggs in Betracht ziehen. https://github.com/pieroproietti/penguins-eggs

Offline ro_sid

  • User
  • Posts: 334
Re: Installation automatisieren
« Reply #11 on: 2024/01/13, 12:15:29 »
Sehr interessant! Mal ansehen. Vielen Dank.