FAQ - SuSE Patch CD erstellen

Aus Linupedia.org
Version vom 10. April 2007, 00:50 Uhr von Na-cx (Diskussion | Beiträge) (SuSE bis 10.0)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche


Mit dieser Anleitung sollte es möglich sein, eine Patch-CD für SuSE Linux zu erstellen.


SuSE bis 10.0

Nach diesem Schema konnten erfolgreich Patch CDs für folgende Versionen von SuSE Linux erstellt werden:

- SuSE Linux 8.1 Pro bis SuSE Linux 10.0 (auf den Servern sind nur noch Updates für Versionen ab SuSE Linux 9.2 vorhanden)

- SuSE Linux Enterprise Server 8 (SLES 8 )

Es wird im Endeffekt nur eine Kopie des Update FTP-Servers erstellt. Daher handelt es sich nur um ein YOU-offline Update (YOU = YaST-Online-Update).

Achtung: Hiernach erstellte CD / DVD lassen sich unter YaST nicht als neue Installationsquelle hinzufügen.

Ferner funktioniert dieses Verfahren auch nur mit SuSE Linux Versionen, welche mit YOU ausgestattet sind.

Es wird alles anhand des Beispiels von SuSE Linux 9.1 Professional erklärt. Für andere Versionen ist analog nach dieser Anleitung zu verfahren. Nur wird man statt Verzeichnis 9.1 die Verzeichnisse für die entsprechende Version gebrauchen.

Es ist zu empfehlen, für den Download ein Extraverzeichnis zu verwenden und es "Patch- CD" oder ähnlich benennen und es im Verzeichnis / (root) erstellen.

In dem Downloadverzeichnis wird nun das Verzeichnis i386 erstellt, in welchem wiederum das Verzeichnis updates erstellt werden muß. Nun noch ein Verzeichnis namens 9.1 erstellen.

Jetzt sollte es ungefähr so aussehen: /patchcd/i386/updates/9.1

Im Verzeichnis 9.1 sind folgende Verzeichnisse zu erstellen: patches; patches.obsolete; rpm; scripts. Die anderen Verzeichnisse, welche sich u.U. noch auf dem FTP-Server / Mirror befinden, sind für die Patch-CD irrelevant.

So sollte es jetzt aussehen: /patchcd/i386/update/9.1/patches /patchcd/i386/update/9.1/patches.obsolete /patchcd/i386/update/9.1/rpm /patchcd/i386/update/9.1/scripts

Beim Verzeichnis rpm ist nochmals Arbeit zu leisten. Dort müssen noch die Verzeichnisse: i586; i686; noarch; src erstellt werden.

Es sollte daher jetzt so aussehen: /patchcd/i386/update/9.1/rpm/i586 /patchcd/i386/update/9.1/rpm/i686 /patchcd/i386/update/9.1/rpm/noarch /patchcd/i386/update/9.1/rpm/src

Somit dürften sich auf der Festplatte alle benötigten Verzeichnisse befinden mit derselben Baumstruktur wie auf dem FTP-Server ftp://ftp.suse.com/pub/suse/i386/update/ ab /i386. Der nächste Schritt besteht darin, sich die Dateien vom Server herunterzuladen. Die Dateien aus patches, patches.obsolete und scripts können/müssen alle heruntergeladen werden. Bei den Dateien in den Unterverzeichnissen von rpm ist noch einiges zu beachten. Auf die neuesten Dateien sind (fast) immer Links gesetzt worden. Diese entsprechen dem Schema programmname.rpm. Da es sich dabei nur um eine Verlinkung handelt, muß darauf geachtet werden, daß sie nicht zum Download mit ausgewählt werden. Ansonsten passiert folgendes: erst wird z.B. kernel-source-2.6.5-7.75.i586.rpm (37 MB) heruntergeladen, danach wird kernel-source.rpm heruntergeladen. Da es sich aber nur um einen Link handelt, würden völlig umsonst nochmal 37 MB heruntergeladen werden.

Vielmehr interessieren hier nur die Dateien. Man muß sie alle herunterladen, ausser beim SLES 8. Dort liegen auf dem Server auch noch ältere Updates. Bei den normalen SuSE Linux Versionen werden die alten Updates entfernt.

Nur wer ein echtes Interesse an den Quellcodes der Programme hat, sollte die Dateien aus dem Verzeichnis src downloaden. Der Rest kann sich den Traffic sparen. Wer sich diese allerdings herunterlädt, sollte darauf achten, daß er die Kernel-Quellen nicht doppelt herunterlädt. Diese sind sowohl unter i586 als auch unter src zu finden. Bis jetzt ist es immer noch schneller, die betreffende Datei auf der Festplatte von einem ins andere Verzeichnis zu kopieren.

Nachdem alle Dateien heruntergeladen wurden und in den richtigen Verzeichnissen auf der Festplatte abgelegt worden sind, kann man sich eine CD oder DVD brennen.

Der Name der CD ist für YOU unwichtig. Sinnvoll ist aber eine Bezeichnung, welche das Erstellungsdatum enthält. Wenn möglich, ist zu empfehlen, daß das Datum aller Dateien auf das aktuelle Datum zu setzen. Wenn man nämlich nach 4 Wochen eine neue CD erstellen möchte, braucht man nur die Dateien herunterladen, welche seit der letzten CD verändert wurden. Dann ist es einfach, immer eine Patch CD zu erstellen, welche alle aktuellen Patches für eine Neuinstallation enthält.

Die Updates für Version 9.1 und 9.2, findet man unter ftp://ftp.suse.com/pub/suse/discontinued/i386/update/

Nochmal als Hinweis: es handelt sich um eine (fast) vollständiege Spiegelung des FTP-Servers zum Tag X für die jeweilige SuSE Version.

Wer einen DVD-Brenner zur Verfügung hat und mehrere SuSE Versionen hat, kann sich auch den Spaß erlauben, eine Patch-CD für mehrere Versionen zu erstellen, wie z.B. /i386/update/8.1 /i386/update/8.2 /i386/update/9.1


Zum Einspielen benötigt man root-Rechte.

Über die Konsole mit Yast 1: yast online_update .cd_default

über KDE eine Konsole öffnen (Muschel-Symbol): yast2 online_update .cd_default

Bei KDE habe ich mir auf dem root-Desktop eine Verknüpfung angelegt. Als Befehl wird ebenfalls "yast2 online_update .cd_default" angegeben.

Viel Erfolg

Nachtrag für den SLES 9!

Für den SLES 9 müssen folgende Verzeichnisse vom Server gespiegelt werden: http://sdb.suse.de/download/i386/update/SUSE-CORE/9/ http://sdb.suse.de/download/i386/update/SUSE-SLES/9/

Auf der CD müssen dementsprechend folgende Verzeichnisse und auch die entsprechenden Unterverzeichnisse existieren: .../SUSE-CORE/9/... .../SUSE-SLES/9/...

Ist dem nicht so, kann kein Update durchgeführt werden.

Im Übrigen lässt sich auf diese Weise auch YOU sichern: Der gesamten Ordner /i386, mit Unterordnern, aus /var/lib/YaST2/you/mnt auf CD-Brennen. Das weitere Vorgehen ist identisch mit dem oben Beschriebenen.

Ab (Open)SuSE 10.1

(am Beispiel von Opensuse 10.2)


Zuerst "spiegelt" man sich das entsprechende Updateverzeichnis lokal auf Festplatte.

rsync -rltuzv --stats --progress ftp.gwdg.de::pub/linux/suse/ftp.suse.com/suse/update/10.2 /tmp/patchcd

Alternativ nur für ein x86'er System (x86_64-, ppc- sowie die vollständigen rpm-Pakete werden weggelassen und nur Delta-Pakete geladen):

rsync -rltuzv --stats --progress --delete --delete-excluded --include "kernel-default*.i586.rpm" \
--include "kernel-smp*.i586.rpm" --include "kernel-source*.i586.rpm" --include "kernel-syms*.i586.rpm" \
--include "kernel-um*.i586.rpm" --exclude "*.i586.rpm" --exclude "src/" --exclude "ppc/" --exclude "x86_64/" \
--exclude "*.x86_64.delta.rpm" ftp.gwdg.de::pub/linux/suse/ftp.suse.com/suse/update/10.2 /tmp/patchcd

Das ganze brennt man nun auf eine CD. Die Verzeichnisse repodata, rpm sowie scripts müssen sich im Wurzelverzeichnis der CD befinden. Dadurch ist es leider nicht mehr möglich eine Patch CD für mehrere Versionen von (Open)SuSE anzufertigen. Jede Version benötigt eine eigene Patch CD.

Installiert wird das ganze entweder per Yast -> Software -> Patch CD-Update oder von der Konsole aus als root mit

yast2 online_update .cd_default

Zurück zu Allgemeines