FAQ überarbeitet am: Donnerstag 23 Dezember 2004 17:43:11
Bevor du ein Paket installierst kannst du es erst mal auf Herz und Nieren überprüfen damit dir nichts
untergeschoben wird.
# rpm -qpil --changelog --scripts paketname.rpm | less
Jetzt wird dir angezeigt wer das Paket gebaut hat, was sich seit dem letzten Release getan hat, welche Dateien auf dein System installiert werden und welche Skripte vor oder nach der Installation ausgeführt werden.
Zusätzlich dazu sind alle Pakete signiert, so dass du überprüfen kannst von wem das Paket gebaut wurde, ob es von irgendjemandem anders manipuliert wurde und ob es fehlerfrei heruntergeladen wurde.
Dies kannst du über verschiedene Wege überprüfen: du solltest GnuPG (ab Version 1.x) oder PGP (ab
Version 5.x) installiert haben. (PGP Version 2.x funktioniert nicht!)
GNU Privacy Guard Homepage: http://www.gnupg.org
Pretty Good Privacy Homepage: http://www.pgpi.net
Als erstes brauchst du die öffentlichen Schlüssel der Packager:
Im Falle von GnuPG:
$ lynx --dump ftp://ftp.links2linux.de/pub/packman/public-keys.asc | gpg --import
Oder die Datei
ftp://ftp.links2linux.de/pub/packman/public-keys.asc
herunterladen und folgendermaßen importieren:
$ gpg --import public-keys.asc
Im Falle von PGP:
$ lynx --dump ftp://ftp.links2linux.de/pub/packman/public-keys.asc | pgp -fka
Oder die Datei ftp://ftp.links2linux.de/pub/packman/public-keys.asc
herunterladen und folgendermaßen importieren:
$ pgp -ka public-keys.asc
Mit RPM und GNU Privacy Guard:
Zuerst musst du noch die Packman-Schlüssel in die RPM-Datenbank importieren: $ rpm --import public-keys.ascDann musst du als User die Datei .rpmmacros mit folgendem Inhalt anlegen: $ vi ~/.rpmmacros Natürlich angepasst an deine Daten. :-) Nun kannst du alle heruntergeladenen Pakete vor dem Installieren prüfen: |
Mit RPM und Pretty Good Privacy:
Zuerst musst du noch die Packman-Schlüssel in die RPM-Datenbank importieren: $ rpm --import public-keys.ascDann musst du als User die Datei .rpmmacros mit folgendem Inhalt anlegen: $ vi ~/.rpmmacros Natürlich angepasst an deine Daten. :-) Nun kannst du alle heruntergeladenen Pakete vor dem Installieren prüfen: |
Manche Projekte im Netz bauen eigene RPMs für SuSE, im Zweifelsfall also zuerst auf der Homepage des Projektes nachschauen, sonst:
Bei größeren Dateien empfiehlt sich ein Downloadmanger, wie beispielsweise wget. Zur Verwendung
einfach mit der rechten Mausklick auf den Link, »Verknüpfungsadresse kopieren« wählen und in der
Konsole mit folgendem Befehl die Datei herunterladen:
$ wget -nH -nd -c "Adresse"
Dann kannst du das Paket als root in dein System installieren.
# rpm -Uvh paketname1.rpm paketname2.rpm ...
Bitte achte darauf, dass du alle abhängige Pakete heruntergeladen hast und diese zusammen (d.h. mit einem rpm -Uhv .. -Befehl) installierst.
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt - hier trägst du noch packman packman-i686 ein.
rpm-src ftp://ftp.gwdg.de/pub/linux/suse/apt - hier trägst du auch packman packman-i686 ein.
Nach dem nächsten apt update stehen dir die Packman-RPMs zur Verfügung!
Entweder du startest YaST, findest dort den(die) Paket(e) und löschst diese(n), oder einfach als root:
# rpm -e paketname
Fällt dir der exakte Name des Paketes nicht mehr ein? Kein Problem:
# rpm -qa |grep -i suchbegriff
Schicke einfach eine e-Mail mit der genauen Fehlerbeschreibung an die packman-Liste: packman@links2linux.de.
du weißt nicht genau welche Informationen wir über dein System benötigen?
Gib mindestens deine SUSE-Version und den Download-Pfad zum Paket an.
Als kleine Hilfe kannst du dir dieses Bashscript (info4packman) herunterladen und ausführen
$ bash info4packman
Und die erzeugte Datei /tmp/info4packman.log zusätzlich per Mail an die packman-Liste schicken. Du brauchst nur noch die RPM-version anzugeben, die SUSE-Version usw. wird vom Skript geliefert.
Da von allen Paketen auch Source-RPMs verfügbar sind, kannst du dir das Paket auf deinem System neu
zusammenbauen.
# rpmbuild --rebuild paketname.src.rpm
Wenn du Glück hast und alle benötigten Libraries und Include-Files installiert sind und gefunden werden,
hast du am Schluss ein fertiges RPM, das du sogleich installieren kannst:
# rpm -Uvh /usr/src/packages/RPMS/i386/paketname.rpm
Beachte aber das manche Software eventuell auf älteren Distributionen nicht lauffähig ist.
Nochmal, da von allen Paketen auch Source-RPMs verfügbar sind, kannst du dir das Paket auf deinem System neu
zusammenbauen. Source-RPM installieren:
# rpm -i paketname.src.rpm
Die SPEC-Files findest du unter /usr/src/packages/SPECS/. Es enthält alle Informationen, die der Paketmanager benötigt, um aus den Sourcen ein Paket zu bauen. Unter anderem sind dies die Schritte zur Installation, eine Liste aller in dem Paket enthaltenen Dateien und die Headerinfos.
Erst das Spec-File editieren und dann mit
# rpmbuild -bb paketname.spec
ein RPM erzeugen, welches du dann installieren kannst.
Eine Mail an den Packager wäre auch noch schön, damit er weiß was eventuell fehlt oder falsch konfiguriert ist.
Ganz einfach lass dir erstmal alle Dateien die im RPM enhalten sind auflisten:
$ rpm2cpio paket.rpm | cpio --listEinzelne Dateien kannst du dann folgendermaßen extrahieren:
$ rpm2cpio paket.rpm | cpio --extract dateinamePaketänderungen finden sich im Changelog des Paketes, das mit folgendem Befehl angezeigt werden kann:
rpm -qp --changelog Paketname.rpm
Meist sind aber die Änderungen am Programm selber, die vom Autor durchgeführt wurden, interessanter. Diese werden meist in einer Datei CHANGES oder ChangeLog festgehalten, die sich bei fertig installiertem Paket unter /usr/share/doc/packages/<Paketname>/ befindet.
Welche Paket-Dokumentation es sonst noch gibt, erfährst du mit:
rpm -qd Paketname.rpm
Darüber hinaus sind die Änderungen meist auf der Homepage des Programmes im Internet zu finden. Normalerweise wird die URL zu der Homepage in der PackMan-Übersicht zu den Paketen angegeben. Sollte sie hier nicht zu finden sein oder ist auf dieser Seite kein ChangeLog zu finden, so ist es eine gute Idee, über Freshmeat.NET die Homepage oder gleich den direkten Link zum ChangeLog ausfindig zu machen.
Fast jedes Programm wird über Freshmeat registiert!
Wenn dein Paket mit rpmbuild gebaut ist und nicht etwa mit checkinstall, wende dich dann an die
Mailingliste von Packman: packman@links2linux.de.
Grundsätzlich stellen wir bei uns keine "fremden" Pakete ein. Alle RPMs die du bei uns findest sind digital
signiert. Außerdem versuchen wir dass unsere RPMs gewissen Qualitätsansprüchen genügen.
Wenn jemand von Packman-Team dein RPM übernehmen wird, wird er das RPM neu bauen und zum Download
bereitstellen.
Oder du entscheidest dich für eine dauerhafte Beteiligung bei Packman, dann kannst du Mitglied werden und dein
RPM selbst (weiter)pflegen. Lies aber bitte vorher die nächste Antwort!
Ja, melde dich bei uns (packman@links2linux.de) und wir klären mit dir alles nötige ab.
Eine dauerhafte Beteiligung bei Packman ist mit gewissen Zeitaufwänden verbunden. Die einmal eingestellten Pakete werden in der Regel weitergepflegt, sobald es eine Version der Software gibt die aktueller ist als SUSE zur Verfügung stellt. Du musst auch ein gewisses Know-How im Bereich RPM-Bau mitbringen. Wir haben einige Skripte die die Pflege und die Aktualisierung von RPMs erleichtern, aber diese können dir die richtige Arbeit nicht abnehmen. Es gibt auch einige Richtlinien die bei der Erstellung von RPMs zu beachten sind.
Du musst bei dir auch mit einem erhöhten Internet-Traffic rechnen, da du die aktuelle Software-Versionen herunterladen musst, dein SUSE-System auf dem aktuellen Stand halten und deine Pakete auf Packman-FTP hochladen musst.
Ideal wäre, wenn du Pakete jeweils für die aktuelle SUSE-Version und für die eine davor bauen könntest. Das bedeutet aber auch doppelten Pflege-Aufwand für dein System!