Einlesen einer Paketliste bei Neuinstallation
Hallo Ich soll einen Suse-Rechner neu installieren. Normal ist mein System Debian. Deshalb habe ich keine Ahnung wie ich ein Paketliste für eine Installation einlesen kann. Ich stehe vor drei Problemen: 1. Wie erzeuge ich eine Liste der eingetragenen Repos und anschließend eine Liste der installierten Programme? 2. Muss diese Liste (Datei) irgendwie aufbereitet werden? 3. Wie lese ich die Repo-Liste aus und erstelle damit die Repo-Liste für die weitere Installation und wie verwende ich die Liste mit den Paketen? Das ganze am liebsten aus/mit YaST. Danke schon mal für Hinweise. Die im Netz sind entweder ziemlich alt oder fürmich nicht so ganz verständlich. -- Mit freundlichen Grüßen Matthias Müller Diese Mail ist mit OpenPGP signiert! Zum überprüfen der Signatur, der Integrität und Authentizität meiner Mails kann man OpenPGP (https://www.openpgp.org/) installieren. Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!
Hi,
Das ganze am liebsten aus/mit YaST. Danke schon mal für Hinweise. Die im Netz sind entweder ziemlich alt oder fürmich nicht so ganz verständlich.
Das klingt nach einem Fall für AutoYaST: https://doc.opensuse.org/projects/autoyast/#overviewandconcept https://support.microfocus.com/kb/doc.php?id=3585334 Kurz gesagt wird dir da eine XML-Datei aus einem bestehenden System erstellt und diese kannst du bei der neuen Installation einlesen. Gruß, vinz.
Hallo Matthias! Am 19.12.2019 um 15:31 Uhr schrieb Matthias Müller Posteo.de:
1. Wie erzeuge ich eine Liste der eingetragenen Repos und anschließend eine Liste der installierten Programme?
2. Muss diese Liste (Datei) irgendwie aufbereitet werden?
3. Wie lese ich die Repo-Liste aus und erstelle damit die Repo-Liste für die weitere Installation und wie verwende ich die Liste mit den Paketen?
Du kannst mit diesem Befehl (konsole ;-) ) eine Liste der Repos erstellen: zypper lr -e liste.repo Ich mache das dann so, dass ich in einer Minimalinstallation alle Repos lösche mit zypper rr 1 2 3 4 5 6 (jenachdem, wie viele es sind) Dann lese ich meine Liste aus liste.repo ein: zypper ar liste.repo Es werden damit z. B. auch die Prioritäten übernommen. Alle installierten Pakete erhälst du mit rpm -qa > pakete.txt Diese Pakete installieren, würde ich über eine Schleife machen (-> ungetestet!!) while read paket ; do zypper in -f $paket ; done < pakete.txt Allerdings müssen dann die gleichen Paketversionen vorhanden sein, sonst gibt es Fehlermeldungen. Vielleicht kann hier jemand anderes weiterhelfen. Viele Grüße Peter -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Peter, hallo Matthias, hallo zusammen, Am Donnerstag, 19. Dezember 2019, 17:14:57 CET schrieb Peter Geerds:
Alle installierten Pakete erhälst du mit
rpm -qa > pakete.txt
Mach das lieber ohne die Versionsnummern: rpm -qa --qf '%{name}\n' > pakete.txt
Diese Pakete installieren, würde ich über eine Schleife machen (-> ungetestet!!)
while read paket ; do zypper in -f $paket ; done < pakete.txt
Mit einer Schleife läuft das ewig, und man muss tausendmal bestätigen, dass man das Paket auch tatsächlich will ;-) Zum Glück verträgt zypper auch mehrere Parameter, daher zypper in $(cat pakete.txt)
Allerdings müssen dann die gleichen Paketversionen vorhanden sein, sonst gibt es Fehlermeldungen. Vielleicht kann hier jemand anderes weiterhelfen.
Someone should test the above for 12.1 and add the 12.1 specific info. I wonder sometimes who this 'someone' is who is being told to do so many
Siehe oben ;-) Gruß Christian Boltz -- things. He/she seems to be such a lazy ass - considering most of these things don't get done... [> Gref Freemyer and Jos Poortvliet in opensuse-factory] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo! Am 19.12.2019 um 23:39 Uhr schrieb Christian Boltz:
Am Donnerstag, 19. Dezember 2019, 17:14:57 CET schrieb Peter Geerds:
Alle installierten Pakete erhälst du mit
rpm -qa > pakete.txt
Mach das lieber ohne die Versionsnummern:
rpm -qa --qf '%{name}\n' > pakete.txt
Zum Glück verträgt zypper auch mehrere Parameter, daher
zypper in $(cat pakete.txt)
Wusste ich doch, dass es auch wesentlich einfacher geht ;-) Viele Grüße Peter -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo zusammen, Am 21.12.19 um 11:34 schrieb Peter Geerds:
Wusste ich doch, dass es auch wesentlich einfacher geht ;-)
ich weiß nicht ob dies schon gepostet wurde aber während meiner Linuxzertifizierung zu SLED10 wurde ich im Study Guide darauf hingewiesen, dass es während der Installation ein Werkzeug namens "AutoYaST" gibt welches ähnlich wie eine "Kickstart-Datei" bei RedHat Systemen funktioniert. Siehe auch: https://doc.opensuse.org/projects/autoyast/ Viele Grüße -- Maik Wagner www.linuxandlanguages.com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 19.12.19 um 23:39 schrieb Christian Boltz:
Zum Glück verträgt zypper auch mehrere Parameter, daher
zypper in $(cat pakete.txt) leider wäre die Paketliste auf dem Ziel-Computer trotzdem nicht identisch mit der Paketlist auf dem Quell-Computer, sofern irgendwelche Zusatz-Repositories benutzt werden. Das Problem ist, dass Zypper selbständig die Pakete aus den Repositories inkl. der Abhängigkeiten zusammensucht und das Ergebnis ist quasi tagesaktuell verschieden.
Man müsste zu jedem Paket angeben, aus welchem Repository es installiert werden soll. Beispiel (installiert 'vlc' aus dem Repository 'packman'): zypper in 'packman:vlc' Aber dann bliebe das Problem, dass Zypper selbständig die Abhängigkeiten auflöst und das passiert auf dem Ziel-Computer nicht unbedingt genauso wie auf dem Quell-Computer. Insofern bin ich der Meinung, dass es aktuell leider wohl kein openSUSE-Werkzeug gibt, welches in der Lage ist, eine identische Paketliste auf einem Ziel-Computer anzulegen. Björn -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 21.12.19 um 23:22 schrieb Bjoern Voigt:
Am 19.12.19 um 23:39 schrieb Christian Boltz:
Zum Glück verträgt zypper auch mehrere Parameter, daher
zypper in $(cat pakete.txt) leider wäre die Paketliste auf dem Ziel-Computer trotzdem nicht identisch mit der Paketlist auf dem Quell-Computer, sofern irgendwelche Zusatz-Repositories benutzt werden. Jo mei, dann schalte die halt vorher ab. # zypper mr -d ...
Das Problem ist, dass Zypper selbständig die Pakete aus den Repositories inkl. der Abhängigkeiten zusammensucht und das Ergebnis ist quasi tagesaktuell verschieden.
Man müsste zu jedem Paket angeben, aus welchem Repository es installiert werden soll.
Beispiel (installiert 'vlc' aus dem Repository 'packman'): zypper in 'packman:vlc'
Genau. Also die Paketliste inkl. der Repos aus denen sie stammen auslesen: # zypper se -is den Rest kriegst Du selber hin ...
Aber dann bliebe das Problem, dass Zypper selbständig die Abhängigkeiten auflöst und das passiert auf dem Ziel-Computer nicht unbedingt genauso wie auf dem Quell-Computer.
Auch wenn diese Zusatzrepositories vorher abgeschaltet werden? ... und ist es klar wie das auf dem Quell-Host geschah? Unter dem Strich bleibt die Frage was eigentlich erreicht werden soll. Evtl. wäre ein komplett anderer Ansatz einfacher. (wenn die Frage nach den Repositories und den automatischen Auflösungen schon Probleme aufwirft.) Bernd -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo an alle, Am Donnerstag, 19. Dezember 2019, 15:31:46 CET schrieb Matthias Müller, also ich
Ich soll einen Suse-Rechner neu installieren. Normal ist mein System Debian. Deshalb habe ich keine Ahnung wie ich ein Paketliste für eine Installation einlesen kann. Erst mal allen vielen Dank für die Hinweise und Vorschläge. Ich werde das Ganze archivieren.
Die Lösung in diesem speziellen Fall war wesentlich einfacher. Folgendes habe ich gemacht: 1. Sicherung aller Benutzerdaten. War in dem Fall einfach, da es nur 11 GiB waren und alle im Verzeichnis /home/$username. Keine Extra Datenpartion oder ähnliches. 2. Prüfung was an Extrasoftware außerhalb der SUSE-Repos drauf ist. Eigentlich nur Teamviewer und Treiber für einen Epson-Drucker der im E-Schrott gelandet ist was der Auslöser für die Neu-/Upgradeinstallation war. Hplip für den neuen Drucker war veraltet. Also keine großes Problem. 3. Liste der installierten Paket nach dem Vorschlag von Christion Boltz erstellt. 4. Boot vom openSUSE 15.1 Stick und staun: Es wird ein Upgrade angeboten. Überlegt was passieren könnte. Worst case ich muss eine Neuinstallation machen, das Backup der Benutzerdaten aus dem Backup holen und Teamviewer runterladen und nach installieren 5. Upgrade gestartet und was soll ich sagen: Fast wie bei Debian :-) 6. Sicherheitshalber auch zypper in $(cat pakete.txt). Ergebnis war: nur meldungen, dass das aktuelste Paket bereits installiert sei. Teamviewer wurde übrigens nicht angefasst, und ist in der installierten Version erhalten worden. Das definiert Repo ist allerdings weg. Alles völlig easy, das System ist wieder beim Eigentümer, der neue Drucker ist auch installiert. -- Mit freundlichen Grüßen Matthias Müller Diese Mail ist mit OpenPGP signiert! Zum überprüfen der Signatur, der Integrität und Authentizität meiner Mails kann man OpenPGP (https://www.openpgp.org/) installieren. Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!
participants (7)
-
Bernd Nachtigall
-
Bjoern Voigt
-
Christian Boltz
-
Maik Wagner
-
Matthias Müller Posteo.de
-
Peter Geerds
-
Vinzenz Vietzke