Anmerkung des Herausgebers:Das Ändern von Installationsmedien für Red Hat Enterprise Linux ist kein unterstützter Prozess, aber diese praktische Problemumgehung kann für Sie nützlich sein. Weitere Informationen und andere Optionen, die Sie möglicherweise für Ihre Umgebung in Betracht ziehen möchten, finden Sie in dieser Lösung im Red Hat Kundenportal.
Nicht jeder hat Hochgeschwindigkeitsnetzwerkverbindungen zu Standorten, an denen Red Hat Enterprise Linux (RHEL) installiert werden muss. Kunden fragen oft, wie sie die Installationsmedien reduzieren können, um die Bereitstellung über langsamere Netzwerke zu beschleunigen. Ich führe Sie durch die Schritte zum Erstellen einer benutzerdefinierten, kleinen RHEL-Installations-ISO. Das standardmäßige RHEL 7.8 ISO ist über 4 GB groß; Diese Schritte zeigen Ihnen, wie Sie ein RHEL 7.8 ISO erstellen, das 1 GB groß ist und eine kleinere RHEL-Installation unterstützt.
Schritt 1:Erstellen Sie ein RHEL 7.8-System mit dem gewünschten Paketsatz
Verwenden Sie eine beliebige Installationsmethode, um RHEL 7.8 im gewünschten Zustand zu installieren/konfigurieren. Ich habe eines mit der Paketoption „Minimum“ mit dem grafischen Installationsprogramm erstellt. Erstellen Sie nach dem Neustart eine Liste aller installierten RPM-Pakete, damit Sie diese Liste als Quelle zum Erstellen eines benutzerdefinierten kleineren ISO verwenden können. Diese Quellliste von RPMs stellt sicher, dass unser neues kleineres ISO nur die für die Installation erforderlichen Pakete enthält, wodurch die Gesamtgröße des für die Installation erforderlichen ISO reduziert wird.
Die Build-RPM-Liste wird als Quelle der Paketliste in Schritt 2 verwendet:
# rpm -qa > rpmlist.txt
Kopieren Sie rpmlist.txt
in Schritt 2 in Ihr ISO-Build-Systemverzeichnis.
Schritt 2:Erstellen Sie ein kleines ISO
Die folgenden Anweisungen erstellen die kleine ISO-Verzeichnisstruktur, kopieren Inhalte aus der in Schritt 1 bereitgestellten RPM-Liste und generieren dann eine kleine ISO-Datei, die für die Installation verwendet werden soll.
1. Laden Sie die RHEL7.8-Binär-ISO herunter:
https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.8/x86_64/product-software
2. Mounten Sie es in einer Schleife, damit wir seinen Inhalt an einen Ort kopieren können, um ihn zu manipulieren:
# mkdir /mnt/rhel7.8-master
# mount -o loop rhel-server-7.8-x86_64-dvd.iso /mnt/rhel7.8-master
3. Erstellen Sie eine Arbeitsverzeichnisstruktur und kopieren Sie den Master-ISO-Inhalt:
# mkdir /mnt/rhel7.8-small
# cp -aR /mnt/rhel7.8-master/* /mnt/rhel7.8-small/
4. Entfernen Sie alle vorhandenen Pakete:
# chmod u+w /mnt/rhel7.8-small/Packages
# rm -rf /mnt/rhel7.8-small/Packages/*
5. Entfernen Sie alle Add-Ons (optional):
# chmod -R u+w /mnt/rhel7.8-small/addons
# rm -rf /mnt/rhel7.8-small/addons/*
6. Kopieren Sie die RPM-Liste aus der in Schritt 1 generierten RPM-Listen-Textdatei nach /mnt/rhel7.8-small/Packages/
:
# for i in `cat rpmlist.txt`; do cp /mnt/rhel7.8-master/Packages/$i* /mnt/rhel7.8-small/Packages/; done
7. Erstellen Sie die ISO:
Installieren Sie die folgenden ISO-Tools:
# yum install genisoimage isomd5sum syslinux
# chmod -R u+w /mnt/rhel7.8-small/isolinux
# cd /mnt/rhel7.8-small
# mkisofs -o ../rhel7small.iso -b isolinux/isolinux.bin -J -R -l -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -graft-points -V "RHEL-7.8 Server.x86_64" -jcharset utf-8 .
8. Implantiere eine MD5-Summe in die ISO:
# implantisomd5 rhel7small.iso
9. Konvertieren Sie das ISO-Image so, dass es mit einem USB-Boot-Image kompatibel ist:
# isohybrid -uefi rhel7small.iso
Schritt 3:ISO mit den neuesten RPMs aus der Inhaltsansicht von Satellite 6 aktualisieren
Wenn Sie Satellite 6 haben, können Sie den yumdownloader
verwenden Dienstprogramm, um aktualisierte Inhalte von einer Satelliten-Inhaltsansicht herunterzuladen. Dadurch wird ein kleines ISO generiert, das mit den neuesten Inhalten aktualisiert wird, sodass Sie Ihr System nach der Bereitstellung nicht sofort patchen müssen.
Installieren Sie yumdownloader
, laden Sie den aktualisierten Inhalt herunter und erstellen Sie ein neues aktualisiertes kleines ISO.
1. Installieren Sie die yum-utils
Plugin:
# yum install yum-utils
2. Laden Sie die neusten RPMs von Satellite 6 Content View herunter. Dies setzt voraus, dass das System derzeit registriert ist und eine aktualisierte Inhaltsansicht in Satellit 6:
abonniert hat
# mkdir /mnt/downloads
# cd /mnt/downloads
Verwenden Sie die in Schritt 1 erstellte RPM-Liste als Quelle in einer for-Schleife, um nur die x86_64-Architekturpakete herunterzuladen, und stellen Sie sicher, dass Sie alle i686-Pakete ausschließen:
# for i in `cat rpmlist.txt | sed -e 's/\([^.]*\).*/\1/' -e 's/\(.*\)-.*/\1/'`;do yumdownloader -x *i686 --archlist=x86_64 $i; done
3. Kopieren Sie die aktualisierten RPMs in die Verzeichnisstruktur der Pakete und erstellen Sie dann die RPM-Metadaten neu:
# chmod -R u+w /mnt/rhel7.8-small/Packages
# rm -rf /mnt/rhel7.8-small/Packages
# cp /mnt/downloads/* /mnt/rhel7.8-small/Packages
# cd /mnt/rhel7.8-small
# chmod -R u+w /mnt/rhel7.8-small/repodata
# createrepo -g repodata/*comps*.xml . --update
4. Erstellen Sie die aktualisierte ISO:
# cd /mnt/rhel7.8-small
# mkisofs -o ../rhel7small-updated.iso -b isolinux/isolinux.bin -J -R -l -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -graft-points -V "RHEL-7.8 Server.x86_64" -jcharset utf-8 .
5. Implantiere eine MD5-Summe in die ISO:
# implantisomd5 rhel7small.iso
6. Konvertieren Sie das ISO-Image so, dass es als USB-Boot-Image kompatibel ist:
# isohybrid -uefi rhel7small-updated.iso
Abschluss
Zusammenfassend lässt sich sagen, dass man die Größe der ISO-Datei des Installationsmediums erheblich verringern kann, indem man die Anzahl der Pakete auf diejenigen reduziert, die für die gewünschte Installation erforderlich sind. Diese Größenreduzierung kann schnellere Bereitstellungs- oder Bereitstellungszeiten ermöglichen, wenn es um langsame Netzwerkverbindungsgeschwindigkeiten geht.
[ Kostenloser Online-Kurs:Technischer Überblick zu Red Hat Enterprise Linux. ]