oc2pus
Ultimate Guru
Wer oft eigene Pakete compiliert und diese mit checkinstall oder krpmbuilder in RPMs umwandelt, kann diese Pakete ebenfalls mit apt installieren und deinstallieren.
Dazu braucht man zunächst eine funktionierende apt-Installation (siehe Forum)
Dann installiert man sich das Paket apt4rpm
Falls beim Starten von aptate perl-Module fehlen sollten, können diese aus dem Repository funktronics (sources.list erweitern) mit apt geladen werden.
Die Konfiguration von apt4rpm erfolgt in der Datei /etc/apt/aptate.conf
Hier ein Beispiel:
In der Sektion <component> gibt man seinem eigenen Repository einen Namen, hier EigenePakete-9.1
Damit apt mit diesem Repoitory arbeiten kann, wird die /etc/apt/sources.list um den folgenden Eintrag erweitert:
In /local wird dann ein Verzeichnis EigenePakete-9.1 angelegt
Alle eigenen RPM-Pakete werden dann nach /local/EigenePakete-9.1 kopiert.
dann wird das apt-Repository erzeugt mit dem Befehl
Das Ergebnis von aptate sieht dann ungefähr so aus:
Nun startet man (nach der Änderung an der /etc/apt/sources.list)
Wichtig: wenn neue Pakete nach EigenePakete-9.1 kopiert werden, immer zuerst aptate aufrufen, dann apt-get update. Damit wird die apt interne Verwaltungs-Struktur aktualisiert.
Ein Tip am Rande:
Ich erstelle eigene Pakete mit der Releasenummer 0.oc2pus.x. z.Bsp:
xchat-1.8-0.oc2pus.1, damit wird das Paket durch die SuSE-Version ersetzt, wenn sie verfügnar ist. Da SuSE NIE Releasenummern mit 0-beginnend verwendet. (xchat-1.8-23 ist aktueller als x-chat-1.8-0.oc2pus.1 jedenfalls für rpm).
Wenn ich einen neuen eigenen compile von x-chat erstelle setze ich dann die Releasenummer hoch auf 0.oc2pus.2 und kopiere dieses Paket dann nach EigenePakete-9.1, lasse aptate laufen, apt-get update, apt-get upgrade und siehe da es wird jetzt x-chat-1.8-0.oc2pus.2 installiert.
Nach dem gleichen Schema arbeitet übrigends auch Packmann (0.pm.x)
Dazu braucht man zunächst eine funktionierende apt-Installation (siehe Forum)
Dann installiert man sich das Paket apt4rpm
apt-get install apt4rpm
Falls beim Starten von aptate perl-Module fehlen sollten, können diese aus dem Repository funktronics (sources.list erweitern) mit apt geladen werden.
apt install perl-XML-Writer perl-XML-Parser perl-XML-LibXML perl-XML-LibXML-Common perl-XML-GDOME perl-XML-NamespaceSupport perl-XML-SAX
Die Konfiguration von apt4rpm erfolgt in der Datei /etc/apt/aptate.conf
Hier ein Beispiel:
Code:
<?xml version='1.0' encoding="iso-8859-1"?>
<!DOCTYPE opt SYSTEM "/usr/share/apt4rpm/aptate.dtd">
<opt signed-pkgs-only="no">
<topdir>/local</topdir>
<sources-list-file>file:/local//ftp/pub/linux/suse/apt</sources-list-file>
<sources-list-ftp>ftp://ftp.gwdg.de/pub/linux/suse/apt</sources-list-ftp>
<sources-list-http>http://ftp.gwdg.de/pub/linux/suse/apt</sources-list-http>
<distribution id="suse91">
<name>SuSE</name>
<version>9.1</version>
<architecture>i386</architecture>
<component>
<name>EigenePakete-9.1</name>
<url>EigenePakete-9.1</url>
</component>
</distribution>
</opt>
Damit apt mit diesem Repoitory arbeiten kann, wird die /etc/apt/sources.list um den folgenden Eintrag erweitert:
rpm file:/local/apt SuSE/9.1-i386 EigenePakete-9.1
In /local wird dann ein Verzeichnis EigenePakete-9.1 angelegt
mkdir /local/EigenePakete-9.1
Alle eigenen RPM-Pakete werden dann nach /local/EigenePakete-9.1 kopiert.
dann wird das apt-Repository erzeugt mit dem Befehl
aptate
Das Ergebnis von aptate sieht dann ungefähr so aus:
Code:
Distribution(s) to be processed: suse91
Processing: suse91
Archive structure: 1 => SuSE/9.1-i386
Entering cache build stage
EigenePakete-9.1 -> Check: 1/4, warning: EigenePakete-9.1/xchat-2.0.7-92.i586.rpm: V3 DSA signature: NOKEY, key ID 9c800aca
RPMs added: 1
-> RPMs removed: 3
Entering apt repository creation stage
EigenePakete-9.1 -> Bin: MD5/GPG: 23/1
-> Src: MD5/GPG: 2/0
Entering apt database building stage
EigenePakete-9.1 -> Bin: 0023/0023
EigenePakete-9.1 -> Src: 0002/0002
Creating global release file: done
Installing apt repository at: /local/apt/SuSE/9.1-i386
aptate finished successfully
Nun startet man (nach der Änderung an der /etc/apt/sources.list)
Damit werden die Pakete in EigenePakete-9.1 in das apt-Verzeichnis mit aufgenommen. Danch kann man seine eigenen Pakete ganz normal mit apt-get install <paket1> installieren. Wenn das Paket ordentlich gebaut wurde und alle Abhängigkeiten korrekt gesetzt wurden beim Paketbau, wird apt es installieren und die benötigten Abhängigkeiten auflösen.apt-get update
Wichtig: wenn neue Pakete nach EigenePakete-9.1 kopiert werden, immer zuerst aptate aufrufen, dann apt-get update. Damit wird die apt interne Verwaltungs-Struktur aktualisiert.
Ein Tip am Rande:
Ich erstelle eigene Pakete mit der Releasenummer 0.oc2pus.x. z.Bsp:
xchat-1.8-0.oc2pus.1, damit wird das Paket durch die SuSE-Version ersetzt, wenn sie verfügnar ist. Da SuSE NIE Releasenummern mit 0-beginnend verwendet. (xchat-1.8-23 ist aktueller als x-chat-1.8-0.oc2pus.1 jedenfalls für rpm).
Wenn ich einen neuen eigenen compile von x-chat erstelle setze ich dann die Releasenummer hoch auf 0.oc2pus.2 und kopiere dieses Paket dann nach EigenePakete-9.1, lasse aptate laufen, apt-get update, apt-get upgrade und siehe da es wird jetzt x-chat-1.8-0.oc2pus.2 installiert.
Nach dem gleichen Schema arbeitet übrigends auch Packmann (0.pm.x)