Duplizieren einer Yum-basierten Linux-Installation

20

Wie würde ich bei einer auf Yum basierenden Installation (speziell in meinem Fall einer Scientific Linux 5.1 x86_64-Installation) die installierten Programme und Dienstprogramme auf einen neuen Computer duplizieren, der auf Fedora Core x86_64 basiert? Die Hardware ist sehr ähnlich, aber nicht identisch, und es gibt den offensichtlichen Unterschied, dass SL5 auf EL basiert, nicht auf Fedora. Ich versuche hauptsächlich, das Benutzererlebnis von der ursprünglichen Box (SL) auf die neue Box (FC) zu kopieren.

Wesley Burr
quelle
Nur eine Randnotiz für den Fall, dass Sie es noch nicht wissen: Sie können die Liste der Programme abrufen, die auf dem neuen System installiert werden sollen, und dann die Einstellungen in Ihrem Ausgangsordner (Dateien und Verzeichnisse, deren Namen mit a beginnen .)
kopieren
Seien Sie einfach vorsichtig, wenn die Versionen nicht übereinstimmen. Ich habe die Einstellungen aufgrund von Konfigurationsinkompatibilitäten in meinem Home-Verzeichnis zerstört. Normalerweise funktioniert die Migration auf neuere Versionen, es treten jedoch gelegentlich Schwierigkeiten auf.
Matt Simmons

Antworten:

18

Sie können eine Liste der installierten Software erstellen mit:

$ rpm -qa > installed-software.log

Da sie auf verschiedenen Distributionen basieren, bin ich mir nicht sicher, wie Sie die Installation durchführen würden.

Wenn ich es auf eine Neuinstallation der gleichen Distribution kopieren würde, würde ich den folgenden Befehl als root ausführen

# yum -y install $(cat /home/user/installed-software.log)
Steve Burdine
quelle
8

Liste der installierten RPMs auf Ihrer RHEL-Box abrufen:

yum list installed |tail -n +3|cut -d' ' -f1 > installed_packages.txt

Installieren Sie Pakete auf Fedora:

yum -y install $(cat installed_packages.txt)

Hinweis: Fedora ist das F & E-Projekt für RHEL und Sie sollten in der Lage sein, die meisten dieser Pakete in Fedora zu installieren.

Die Steves-Methode listet Versionsnummern auf und Sie möchten dies vermeiden.

Dejan
quelle
Fedora ist eine Distribution für sich, mit einer aggressiven Haltung, die erste mit der besten Open Source / Free Software zu sein. Red Hat Enterprise Linux ist eine sehr konservative Distribution, fast das Gegenteil. Red Hat nimmt (ausgewählte Pakete von) eine Fedora-Version und schneidet sie nach der Stabilisierung und Qualitätssicherung von Red Hat Enterprise Linux ab. Fedora "ein F & E-Projekt" zu nennen, ist genauso falsch wie zu sagen, dass Debian F & E für Fedora durchführt (ja, Fedora nimmt Patches und sogar vollständige Pakete von Debian und umgekehrt).
Vonbrand
2

Sie können Kickstart ausprobieren oder einen PXE-Installations- / Boot-Server für mehrere Distributionen einrichten. Oder wenn einige Ihrer Maschinen plattenlos sind, können Sie es versuchen plattenlos LTPS- Methode (dies wird im Allgemeinen als Thin Client-IIRC bezeichnet) ausprobieren (siehe auch hier)

EDIT: Wenn das der Fall ist, sehen Sie dies

Bitek
quelle
1
Ich denke, die Frage war eher, wie man eine Liste der installierten Apps auf einer Box / Distribution erhält und sie auf einer anderen Box / Distribution installiert, als wie man Installationen automatisiert durchführt.
Frozenskys
Letzteres ist richtig und genau das, was ich brauchte.
Wesley Burr
0

Ich glaube, dass Dejans Antwort /unix//a/25729/346788 die beste für ein yumbasiertes System ist. Es kann jedoch sein, dass es aufgrund des Puffers nicht funktioniert, wenn Sie in den Server sshen. Details unter Wie bekomme ich eine "YUM LIST" Ausgabe, damit sie in einer Zeile bleibt, wenn die Ausgabe über den Remote-Befehl ssh erfolgt?

So, um etwas zu verbessern, um die vollständige Liste der Pakete zu erhalten:

yum list installed | xargs -n3 | column -t  | tail -n +3 |cut -d' ' -f1

So rufen Sie die Liste der installierten Pakete ab rpm:

yum list installed | xargs -n3 | column -t | grep -v "@" | tail -n +3 |cut -d' ' -f1

So rufen Sie die Liste der installierten Pakete ab yum:

yum list installed | xargs -n3 | column -t | grep "@" | tail -n +3 |cut -d' ' -f1
Han Luo
quelle
Während das ist - denke ich? - eine nützliche Ergänzung zu Dejans Antwort auf diese Frage, es ist keine Antwort auf diese Frage. Vielleicht könnten Sie eine Frage schreiben, die dem obigen Beitrag entspricht, und diese dann als neue Frage einreichen (dh stellen). Außerdem sollten Antworten wie diese erklären, was sie tun (und wie) und Beispielausgaben zeigen.
G-Man sagt, dass Monica