Version 007, Stand 27. Oktober 2011

Fedora 14 Beitrag 1.)

Gebrauch des Seeburger Fedora Repositorys

Seit mehr als 10 Jahren verwenden wir in meiner Firma, der H. Sundermeier GmbH mit Sitz in Hüllhorst, Linux Betriebssysteme, zuerst nur im Serverbereich aber inzwischen auch auf Anwenderseite. Diese Anwenderseite besteht vor allem aus Thin-Clients, die dann remote den üblichen Windows-Desktop ausführen. Anfangs haben wir Red Hat verwendet, doch als Fedora als Comunity-Version von Red Hat abgespalten wurde, sind wir diesen Schritt mitgegangen. Heute verwenden wir durchgängig Fedora. Von der allerersten Version an verwende ich auch privat ausschließlich Fedora, und von Kleinigkeiten abgesehen bin ich begeisterter Anhänger.

Eine der herausragendsten Eigenschaften von Fedora ist die Paketverwaltung mit rpm als Unterbau und yum als Verwaltungsüberbau. Das muß man einfach einmal erlebt haben, wie elegant und systematisch über das gesamte Betriebssystem und sämtliche Anwendungssoftware hinweg Installation, Update und Deinstallation ablaufen. Kein Adobe Reader, kein Adobe Flash, kein Google Chrome und kein Mozilla Firefox nervt Sie fortan mehr mit Update-Genöle, nein, all dies ist einfach so stets aktuell - fantastisch. Bei all dem haben Sie aber dennoch die Freiheit Software auch manuell zu installieren. Allerdings will man nicht mehr wirklich manuell eingreifen, weil dann schnell die Ästhetik, die Eleganz und die Geschlossenheit des Gesamtsystems auf der Strecke bleibt.

Und so hängt dann letztendlich alles an den Softwarerepositorys, auf die yum zugreifen kann. Die Fedora eigenen Repositorys sind riesig. Darüber hinaus gibt es quasi-offizielle Zusatzrepositorys wie z.B. die von rpm-fusion. Trotz alledem fehlt einem doch mal das gewünschte Paket. Wenn man dann nicht manuell installieren will, bleibt einem nur der Weg über das eigene Repository. So auch bei mir. Im November 2010 benötigte ich c-icap und squidclamav. Beides war in den einschlägigen Repositorys nicht zu finden. Und so baute ich mir mein eigenes. Damit andere es leichter haben, möchte ich mein Repository hiermit öffentlich zugänglich machen. Und hier ist die Anleitung dazu:

Wie sieht es aus und was steckt drin?

Zunächst will ich ein Listing zeigen, daß mein Repository in voller Größe, Stand Januar 2011, zeigt:

[seeburge@cs01 oliverseeburger.de]$ tree -a --noreport repo
repo
└── fedora_14
    └── x86_64
        └── extras_seeburger
            ├── packages
            │   ├── c-icap-0.1.3-1.fc14.x86_64.rpm
            │   ├── c-icap-0.1.4-1.fc14.x86_64.rpm
            │   ├── c-icap-devel-0.1.3-1.fc14.x86_64.rpm
            │   ├── c-icap-devel-0.1.4-1.fc14.x86_64.rpm
            │   ├── c-icap-ldap-0.1.3-1.fc14.x86_64.rpm
            │   ├── c-icap-ldap-0.1.4-1.fc14.x86_64.rpm
            │   ├── c-icap-libs-0.1.3-1.fc14.x86_64.rpm
            │   ├── c-icap-libs-0.1.4-1.fc14.x86_64.rpm
            │   ├── c-icap-perl-0.1.3-1.fc14.x86_64.rpm
            │   ├── c-icap-perl-0.1.4-1.fc14.x86_64.rpm
            │   ├── c-icap-progs-0.1.3-1.fc14.x86_64.rpm
            │   ├── c-icap-progs-0.1.4-1.fc14.x86_64.rpm
            │   └── squidclamav-6.1-1.fc14.x86_64.rpm
            ├── repodata
            │   ├── filelists.sqlite.bz2
            │   ├── filelists.xml.gz
            │   ├── other.sqlite.bz2
            │   ├── other.xml.gz
            │   ├── primary.sqlite.bz2
            │   ├── primary.xml.gz
            │   └── repomd.xml
            ├── repoinit
            │   └── fedora_14-x86_64-extras_seeburger.repo
            └── security
                └── rpm_gpg_key-x86_64-extras_seeburger.txt
[seeburge@cs01 oliverseeburger.de]$

Heute ist es schon etwas umfangreicher geworden. Damals, im Januar 2011, war es zugegebenermaßen noch sehr klein, aber jeder fängt bekanntlich mal klein an. Im Unterverzeichnis packages stecken die eigentlichen rpm Pakete. Man sieht 13 verschiedene Pakete, aber eigentlich sind es nur zwei verschiedene Applikationen. Und zwar zum Ersten c-icap aufgespalten in 6 Unterpakete in jeweils zwei Versionen (0.1.3 und 0.1.4) und zum Zweiten squidclamav (in Version 6.1). Das ist der eigentliche Kern meines Repositorys. Dann findet man noch das Unterverzeichnis repodata. Hierbei handelt es sich um die Metainformationen, also die Informationen über die oben genannten 13 Pakete, die yum für seine Arbeit braucht. Im Verzeichnis repoinit finden Sie die Datei, die Sie später importieren müssen um auf mein Repository zuzugreifen und im Verzeichnis security finden Sie den öffentlichen Teil des Schlüssels, mit dem meine Pakete signiert wurden.

Wo finde ich dieses Repository im Internet?

Das Seeburger Fedora Repository ist im Internet unter der URL http://oliverseeburger.de/repo/ zu finden. Man kann dort mit jedem gewöhnlichen Browser in den Unterverzeichnissen navigieren.

Wer kann es verwenden?

Ganz offensichtlich zunächst einmal nur Nutzer von Fedora Linux. Genauer gesagt nur diejenigen, die auch die Fedora-Version 14 einsetzen. Unter der kommenden Version 15 wird es sehr wahrscheinlich auch funktionieren, aber das ist eigentlich schon unzulässige Verwendung und 14er Pakete in 15er Versionen finde ich persönlich auch unschön. Ganz gewiß können es aber nur Leute verwenden, die eine 64bit Intel oder Intel-kompatible (z.B. von AMD) Prozessor-Architektur verwenden, unter 32bit Betriebssystemen läuft das Ding bestimmt nicht.

Was muß man tun, um das Repository benutzen zu können?

Werden Sie nunächst zu root. Wechseln Sie sodann in das Verzeichnis "/etc/yum.repo.d". In dieses Verzeichnis downloaden Sie die Datei "fedora_14-x86_64-extras_seeburger.repo". Das ist alles, danach ist das Repository einsatzbereit. Und so sieht das aus, wenn Sie alle diese Operationen in einem Terminal durchführen:

[seeburge@cs01 oliverseeburger.de]$ su
Passwort: mein_root_passwort
[root@cs01 oliver_seeburger]# cd /etc/yum.repos.d
[root@cs01 yum.repos.d]# ls -al
insgesamt 52
drwxr-xr-x.   2 root root  4096 20. Dez 14:55 .
drwxr-xr-x. 114 root root 12288  6. Jan 04:45 ..
-rw-r--r--.   1 root root  1213 24. Nov 10:06 fedora_14-x86_64-base_release.repo
-rw-r--r--.   1 root root  1213 23. Nov 14:02 fedora_14-x86_64-base_updates.repo
[root@cs01 yum.repos.d]#

Bei Ihnen werden andere Dateien in diesem Verzeichnis zu sehen sein. Da kommt es aber nicht drauf an. Wichtig ist nur die Veränderung, die nach dem nun folgenden Download zu sehen sein wird. Bitte beachten Sie: Die nun folgende wget-Zeile ist nur eine einzige Zeile. Verwenden Sie die Enter-Taste erst nach ".../fedora_14-x86_64-extras_seeburger.repo". Apropos wget: Wer wget nicht installiert hat, kann diese Datei auch mit jedem Browser herunterladen.

[root@cs01 yum.repos.d]# wget --timestamping http://oliverseeburger.de/repo/fedora_14/x86_64/extras_seeburger/repoinit/fedora_14-x86_64-extras_seeburger.repo
--2011-01-06 14:09:21--  http://oliverseeburger.de/repo/fedora_14/x86_64/extras_seeburger/repoinit/fedora_14-x86_64-extras_seeburger.repo
Auflösen des Hostnamen »oliverseeburger.de«.... 213.133.104.56
Verbindungsaufbau zu oliverseeburger.de|213.133.104.56|:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 1231 (1,2K) [text/plain]
In »»fedora_14-x86_64-extras_seeburger.repo«« speichern.

100%[======================================>] 1.231       --.-K/s   in 0s

2011-01-06 14:09:21 (11,1 MB/s) - »»fedora_14-x86_64-extras_seeburger.repo«« gespeichert [1231/1231]

[root@cs01 yum.repos.d]# ls -al
insgesamt 52
drwxr-xr-x.   2 root root  4096 20. Dez 14:55 .
drwxr-xr-x. 114 root root 12288  6. Jan 04:45 ..
-rw-r--r--.   1 root root  1213 24. Nov 10:06 fedora_14-x86_64-base_release.repo
-rw-r--r--.   1 root root  1213 23. Nov 14:02 fedora_14-x86_64-base_updates.repo
-rw-r--r--.   1 root root  1231 30. Mai 11:50 fedora_14-x86_64-extras_seeburger.repo
[root@cs01 yum.repos.d]# cd
[root@cs01 ~]#

E voila, fertig.

Mal schauen, ob es klappt

Zu Testzwecken werde ich nun versuchen, das Paket c-icap-libs zu installieren.

[root@cs01 ~]# yum install c-icap-libs
Geladene Plugins: langpacks, presto, refresh-packagekit
Adding de_DE to language list
fc14-x86_64-base_release                                 | 2.0 kB     00:00
fc14-x86_64-base_release/primary_db                      |  14 MB     00:01
fc14-x86_64-base_updates                                 | 2.0 kB     00:00
fc14-x86_64-base_updates/primary_db                      | 5.5 MB     00:00
fc14-x86_64-extras_seeburger                             | 2.0 kB     00:00
fc14-x86_64-extras_seeburger/primary_db                  | 8.2 kB     00:00
Einrichten des Installationsprozess
Löse Abhängigkeiten auf
--> Führe Transaktionsprüfung aus
---> Paket c-icap-libs.x86_64 0:0.1.4-1.fc14 markiert, um installiert zu werden
--> Abhängigkeitsauflösung beendet

Abhängigkeiten aufgelöst

================================================================================
 Paket          Arch      Version         Repository                      Grösse
================================================================================
Installieren:
 c-icap-libs    x86_64    0.1.4-1.fc14    fc14-x86_64-extras_seeburger    170 k

Vorgangsübersicht
================================================================================
Install       1 Package(s)

Gesamte Downloadgrösse: 170 k
Installed size: 452 k
Ist dies in Ordnung? [j/N] :j
Lade Pakete herunter:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 170 k
c-icap-libs-0.1.4-1.fc14.x86_64.rpm                      | 170 kB     00:00
Warnung: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, Schlüssel-ID b78e038c: NOKEY
fc14-extras-seeburger/gpgkey                             | 3.3 kB     00:00 ...
Importing GPG key 0xB78E038C:
 Userid: "Oliver Seeburger <oliver.seeburger@sundermeier-werkzeugbau.de>"
 From  : http://sundermeier-werkzeugbau.de/oliver_seeburger/repo/fedora_14/x86_64/extras_seeburger/security/rpm_gpg_key-x86_64-extras_seeburger.txt
Ist dies in Ordnung? [j/N] :j
Führe rpm_check_debug durch
Führe Verarbeitungstest durch
Verarbeitungstest erfolgreich
Führe Verarbeitung durch
  Installieren   : c-icap-libs-0.1.4-1.fc14.x86_64                          1/1

Installiert:
  c-icap-libs.x86_64 0:0.1.4-1.fc14

Komplett!
[root@cs01 ~]#

Na prima, ist installiert. Aber weil ich mir mein System nicht verhunzen will, deinstalliere ich es gleich wieder.

[root@cs01 ~]# yum remove c-icap-libs
Geladene Plugins: langpacks, presto, refresh-packagekit
Adding de_DE to language list
Einrichten des Entfernungsprozess
Löse Abhängigkeiten auf
--> Führe Transaktionsprüfung aus
---> Paket c-icap-libs.x86_64 0:0.1.4-1.fc14 markiert, um gelöscht zu werden
--> Abhängigkeitsauflösung beendet

Abhängigkeiten aufgelöst

================================================================================
 Paket         Arch     Version           Repository                      Grösse
================================================================================
Entfernen:
 c-icap-libs   x86_64   0.1.4-1.fc14      @fc14-x86_64-extras_seeburger   452 k

Vorgangsübersicht
================================================================================
Remove        1 Package(s)

Installed size: 452 k
Ist dies in Ordnung? [j/N] :j
Lade Pakete herunter:
Führe rpm_check_debug durch
Führe Verarbeitungstest durch
Verarbeitungstest erfolgreich
Führe Verarbeitung durch
  Löschen        : c-icap-libs-0.1.4-1.fc14.x86_64                          1/1

Entfernt:
  c-icap-libs.x86_64 0:0.1.4-1.fc14

Komplett!
[root@cs02 ~]#

Das wars. Nun viel Spaß mit meinem Repository. Möge es allen da draußen nützlich sein. Ob ich es weiterpflegen werde? Weiß ich nicht genau. Einerseits brauche ich es für meine Firma, das zwingt mich wohl dazu, andererseits will ich nichts versprechen, was ich dann doch nicht halten werde. Nur soviel: I'll do my very best!

Oliver Seeburger, Schwalbenweg 13, 32609 Hüllhorst, Deutschland