Installationsquellen erstellen

aus openSUSE, der freien Wissensdatenbank

Inhaltsverzeichnis

Installationsquelle für YaST erstellen

Es stehen drei Arten möglicher Installationsquellen für YaST zur Verfügung: plain cache, yum, und "echte" YaST-Quellen.

Plain Cache Quellen

Eine Plain Cache Quelle ist einfach ein Verzeichnis, welches RPM-Dateien enthält. Damit YaST ein Verzeichnis als Plain Cache Quelle anerkennt, müssen Sie darin eine Datei namens IS_PLAINcache erstellen, welche die Metadaten der verfügbaren RPM-Pakete enthält. YaST benötigt die Paketdaten (Name, Version, Abhängigkeiten, usw.) der .rpm-Dateien um zu verhindern, dass sie nicht immer aufs Neue komplett eingelesen werden, was zu langen Übertragungszeiten führen würde, selbst wenn man die Pakete nicht installieren will. Deshalb werden die benötigten Paketinformationen ausgelesen und in einer Datei gespeichert.

Diese Datei kann mit dem Werkzeug genIS_PLAINcache angelegt werden, welches Teil des Paketes yast2-packagemanager ist.

Vorteile

  • Sehr einfach zu erstellen.

Nachteile

  • Quellcode-RPMs (src.rpm) werden nicht unterstützt.
  • Mehrere Architekturen (i586, i686, noarch, ppc, usw.) gleichzeittg werden nicht unterstützt.
  • Keine Beschreibung der Installationsquelle in YaST.
  • genIS_PLAINcache ist eine Binärdatei (kein Skript) welche nur auf SUSE Systemen funktioniert.

Beispiel

Auf ihrem Server haben Sie ein Verzeichnis mit einer Reihe von binären RPM-Dateien welche Sie über HTTP oder FTP als YaST-Installationsquelle verfügbar machen wollen.

   /srv/www/htdocs/suse/RPMS/
                             `- software1-1.0-1.i686.rpm
                             `- software2-1.0-1.i686.rpm
                             `- software3-1.0-1.i686.rpm
                             `- test/
                                     `- test1-0.99-1.i686.rpm
                                     `- test2-0.99-1.i686.rpm
                                     `- test3-0.99-1.i686.rpm

Rufen Sie folgende Befehle auf, um eine Plain Cache Quelle zu erstellen:

   cd /srv/www/htdocs/suse/RPMS/
   genIS_PLAINcache -f -r .
   gzip genIS_PLAINcache

Danach können Sie das Verzeichnis als Installationsquelle in YaST -> Software -> Installationquelle wechseln einbinden. Beachten Sie dabei die oben genannten Einschränkungen.

YUM-Quellen

Eine YUM-Quelle ist ein Verzeichnis, welches RPM-Dateien oder Unterverzeichnisse mit RPM-Dateien enthält. Um YaST ein Verzeichnis als YUM-Quelle bekannt zu machen, müssen Sie eine repodata-Datei erstellen, welche die Metainformationen der verfügbaren RPM-Pakete enthält (aus den gleichen Gründen wie bei den Plain Cache Quellen).

Diese Datei kann mit dem Werkzeug createrepo erstellt werden, welches im Paket createrepo enthalten ist.

Vorteile

  • Einfach zu erstellen.
  • Mehrere Architekturen werden unterstützt.

Nachteile

  • Quellcode-RPMs (src.rpm) werden nicht unterstützt.

Beispiel

Sie haben auf ihrem Server ein Verzeichnis mit RPM-Dateien und wollen es als YUM-Installationsquelle verfügbar machen.

   /srv/www/htdocs/suse/RPMS/
                             `- i686/
                                    `- software1-1.0-1.i686.rpm
                                    `- software2-1.0-1.i686.rpm
                                    `- software3-1.0-1.i686.rpm
                             `- i586/
                                    `- software1-1.0-1.i586.rpm
                                    `- software2-1.0-1.i586.rpm
                                    `- software3-1.0-1.i586.rpm             
                             `- test/
                                     `- test1-0.99-1.i686.rpm
                                     `- test2-0.99-1.i686.rpm
                                     `- test3-0.99-1.i686.rpm

Rufen Sie die folgenden Befehle auf, um eine YUM-Installationsquelle zu erstellen:

   cd /srv/www/htdocs/suse/
   createrepo RPMS

Danach können Sie das Verzeichnis als Installationsquelle in YaST -> Software -> Installationquelle wechseln einbinden.

YaST Quellen

Eine "richtige" YaST-Quelle besteht aus verschiedenen Dateien und Verzeichnissen welche die Installationsquelle und ihren Inhalt beschreiben: binäre RPM-Dateien für verschiedene Architekturen und die dazugehörigen Quellcode-RPM-Dateien. Einige der Beschreibungsdateien können mit dem Skript create_package_descr erstellt werden, welches Bestandteil des Pakets autoyast2-utils ist.

Vorteile

  • Quellcode-RPMs (src.rpm) werden unterstützt.
  • Mehrere Architekturen werden unterstützt.
  • Die Beschreibung der Installtionsquelle wird in YaST angezeigt.
  • Mehrere Installationsquellen können in einer vorgegebenen Weise gehandhabt werden.
  • Mehrsprachige Beschreibungen werden unterstützt.
  • Virtuelle Bereitstellungen (virtual provides/extra provides) können benutzt werden.

Nachteile

  • Nicht so einfach zu erstellen.

Beispiel

Die Beschreibung der Installationsquelle ist auf mehrere Dateien aufgeteilt:

   media.1/
          `- media
   content
   directory.yast
   setup/descr/
              `- packages
              `- packages.DU
              `- packages.en
       
  • media.1/media

Die Datei media.1/media enthälte eine Medienbeschreibung, bestehend aus den folgenden Komponenten:

Inhalt:

   <Autor>
   <Datum der Erstellung (JJJJMMTThhmmss)> (JahrMonatTagStundeMinuteSekunde
   <Anzahl der Medien> (wird auf dem ersten Medium angegeben)

Beispiel:

   Packman
   20040127150052
   1

Tip: Die Zeichenkette des Datums lässt sich mit date erstellen.

   date +%Y%m%d%H%M%S
  • content

Die Datei content enthält Informationen zum Medium, bestehend aus folgenden Komponenten:

   Schlüssel 	Inhalt
   PRODUCT 	Produktname
   VERSION 	Produktversion
   VENDOR 	Produktanbieter
   LABEL 	Quellenbezeichnung welche von YaST benutzt wird
   ARCH.<base> 	Unterstützte Architekturen für die Basisarchitektur
   DEFAULTBASE 	Standardbasisarchitektur, falls diese nicht von YaST ermittelt werden kann
   DESCRDIR 	Das Verzeichnis, welches die Paketbeschreibungen enthält
   DATADIR 	Das Verzeichnis, welches die Pakete enthält

Beispiel:

   PRODUCT Packman
   VERSION 10.0-0
   VENDOR Packman Packager Team
   LABEL Packman (SUSE LINUX 10.0)
   ARCH.i686 i686 i586 i486 i386 noarch
   ARCH.i586 i586 i486 i386 noarch
   DEFAULTBASE i586
   DESCRDIR setup/descr
   DATADIR RPMS
  • directory.yast

YaST benutzt diese Datei, wenn auf eine Installationsquelle über ein Protokoll zugegriffen wird, welches keine Verzeichnislisten überträgt (so wie HTTP). Diese Datei kann ganz einfach mit ls erstellt werden:

   ls -A1 > directory.yast

Beispiel:

   RPMS
   content
   directory.yast
   media.1
   setup
  • setup/descr/*

Diese Dateien können mit dem Skript create_package_descr erstellt werden. Sie enthalten die Abhängigkeiten, die Größe und die Paketbeschreibungen aller in der Installtionsquelle enthaltenen Pakete.

Beispiel:

Auf ihrem FTP-Server haben Sie ein Verzeichnis, welches Binär- und Quellcode-RPM-Pakete für SUSE Linux enthält. Die meisten binären RPM-Pakete stehen für zwei Architekturen zur Verfügung (i586/i686), darüber hinaus sind einige Skripte in architekturunabhängigen RPM-Paketen (noarch) vorhanden. Sie wollen dieses Verzeichnis als eine YaST-Installationsquelle für SUSE Linux 10.0 bereitstellen.

   /srv/ftp/pub/linux/suse/10.0/RPMS/
                                   `- i586/
                                   |      `- software1-1.0-1.i586.rpm
                                   |      `- software2-1.0-1.i586.rpm
                                   `- i686/
                                   |      `- software1-1.0-1.i686.rpm
                                   |      `- software2-1.0-1.i686.rpm
                                   `- noarch/
                                   |        `- script1-1.0-1.noarch.rpm
                                   |        `- script2-1.0-1.noarch.rpm
                                   `- src/
                                         `- software1-1.0-1.src.rpm
                                         `- software2-1.0-1.src.rpm
                                         `- script1-1.0-1.src.rpm
                                         `- script2-1.0-1.src.rpm

Um dieses Verzeichnis als eine "echte" YaST-Quelle bereitzustellen, rufen Sie folgende Befehle auf:

   cd /srv/ftp/pub/linux/suse/10.0/
   mkdir media.1
   $EDITOR media.1/media
   $EDITOR content
   ls -A1 > directory.yast
   create_package_descr -d RPMS/

Das Skript create_package_descr befindet sich in /opt/kde3/share/apps/krpmview/ oder kann von sf.net heruntergeladen werden.

Weitere Dokumentation

Weitere, die YaST-Installationsquellen behandelnde Dokumentation finden Sie im Paket yast2-packagemanager-devel. Zusätzliche Tools für das Erzeugen von Installationsquellen finden Sie im Paket inst-source-utils. Eine Documentation zu den einzelnen Tools finden Sie hier

'Persönliche Werkzeuge
Andere Sprachen