Red Hat findet kein benutzerdefiniertes Repository auf dem Installationsmedium

Red Hat findet kein benutzerdefiniertes Repository auf dem Installationsmedium

Ich versuche, ein Red Hat 7.8 ISO mit einem reduzierten Satz von RPMs zu erstellen, die auf die neueste Version aktualisiert wurden. Ich habe herausgefunden, wie ich die benötigten Pakete isolieren und herunterladen kann, aber wenn ich das neue ISO erstelle, bootet es, startet das Installationsprogramm, findet aber nie die Installationsquelle auf dem lokalen Medium. Ich habe diese Schritte befolgt:

  1. Mounten Sie die Quell-ISO
  2. Kopieren Sie die gesamte Dateistruktur in einen temporären Ordner
  3. Filtern Sie die Umdrehungen pro Minute auf die, die ich brauche
  4. Verwenden Sie yumdownloader, um die neueste Version jedes RPM in ein neues Paket herunterzuladen.
  5. Löschen Sie den ursprünglichen Packages-Ordner und benennen Sie die Pakete in „newPackages“ um.

Der nächste Schritt besteht darin, die neuen Repodaten zu erstellen. Dies mache ich, indem ich in „Pakete“ den folgenden Befehl ausführe:

createrepo -dpo .. .

Es erstellt die neuen Repo-Dateien im Ordner repodata und ersetzt die Datei repomd.xml

Beim Booten kann das Repository auf der ISO jedoch nicht gefunden werden.

Gibt es eine andere Datei, die aktualisiert werden muss, damit das neue Repo erkannt wird, oder eine Option, die ich brauche, um ein ISO-kompatibles Repo zu erstellen? Habe ich ein RPM gelöscht, das für die Erstinstallation erforderlich ist?

Antwort1

Ich habe eine Reihe von Seiten gefunden, die auf comps.xml verweisen, und habe schließlich herausgefunden, dass comps.xml auf der Quell-ISO einen viel längeren Dateinamen hat und sich in einem Archiv befindet. In meinem Fall war der Dateiname:

c0dee7823d016c47d3d8ad66d65f6cbce5284a00f349dc4d7a72a971c283edd0-comps.xml.gz

Nachdem ich das herausgefunden hatte, habe ich die Datei extrahiert und im übergeordneten Ordner meines neuen ISO-Baums abgelegt. Anschließend konnte ich mit dem folgenden Befehl das Original-Repo erfolgreich mit der reduzierten Paketliste aus meinem Packages-Ordner aktualisieren (führen Sie diesen Befehl aus Ihrem Packages-Ordner aus):

createrepo --update -g ../../comps.xml -dpo .. .

Aufschlüsselung des Befehls:

  • --update weist createrepo an, die vorhandenen Dateien im Ordner repodata zu aktualisieren
  • -g ../../comps.xml kopiert die Paketgruppen aus der Quelldatei comps.xml
  • -dp Das Flag -d erstellt die Datenbankdateien und -p macht die XML-Dateien hübsch
  • -o gibt den Speicherort der Ausgabe an. In diesem Fall der übergeordnete Ordner, in dem sich der ursprüngliche Ordner repodata befand.

Der Punkt am Ende (.) bezieht sich auf den aktuellen Ordner, in dem sich alle Pakete befinden.

verwandte Informationen