benesol
Tuesday, 09/27/2016
Documentation
Packman-FAQ Version 0.7

FAQ überarbeitet am: Donnerstag 23 Dezember 2004 17:43:11


Inhalt

1. Allgemeines
2. Software installieren, aktualisieren, löschen
3. Pakete selbst bauen, auseinander nehmen...
4. Ich habe etwas für Packman-Team!

1. Allgemeines

1.1. Was macht das Packman-Team?
Wir packen Softwarepakete zusammen um eine einfache Installation und Deinstallation von Software unter Linux zu ermöglichen. Dabei wollen wir vor allem Software einpacken, die in den Distributionen gar nicht oder nur in einer älteren Version vorhanden ist.

Zurück zum Seitenanfang

1.2. Ich habe gehört, mit Binärpaketen lässt sich jede Menge Unfug treiben. Ist das nicht zu unsicher, eure Pakete zu installieren?

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.asc

Dann musst du als User die Datei .rpmmacros mit folgendem Inhalt anlegen:

$ vi ~/.rpmmacros
%_signature gpg
%_gpg_name Waldemar Brodkorb (Linux rulez!) <brodkorb@onlinehome.de>
%_gpg_path /home/waldemar/.gnupg/
%_gpg_bin /usr/bin/gpg

Natürlich angepasst an deine Daten. :-)

Nun kannst du alle heruntergeladenen Pakete vor dem Installieren prüfen:
$ rpm -vK paketname.rpm


Mit RPM und Pretty Good Privacy:

 

Zuerst musst du noch die Packman-Schlüssel in die RPM-Datenbank importieren:

$ rpm --import public-keys.asc

Dann musst du als User die Datei .rpmmacros mit folgendem Inhalt anlegen:

$ vi ~/.rpmmacros
%_signature pgp
%_pgp_name Waldemar Brodkorb (Linux rulez!) <brodkorb@onlinehome.de>
%_pgp_path /home/waldemar/.pgp/
%_pgp_bin /usr/bin/pgp

Natürlich angepasst an deine Daten. :-)

Nun kannst du alle heruntergeladenen Pakete vor dem Installieren prüfen:
$ rpm -vK paketname.rpm




Zurück zum Seitenanfang

1.3. Wo finde ich sonst noch RPMs für SuSE?

Manche Projekte im Netz bauen eigene RPMs für SuSE, im Zweifelsfall also zuerst auf der Homepage des Projektes nachschauen, sonst:



Zurück zum Seitenanfang


2. Software installieren, aktualisieren, löschen

2.1. Wie installiere ich die Softwarepakete?
Dazu gibt es drei Möglichkeiten: über YaST, manuell oder über apt4rpm.
YaST
Über YaST geht es einfachsten. Dazu gehst du in YaST auf "Installationsquelle Hinzufügen" und trägst als Server einen aus der Datei ftp://packman.links2linux.de/pub/packman/MIRRORS und als Verzeichnis suse/9.1 (oder entsprechend deiner SUSE-Version) zusätzlich zur ursprünglichen Installationsquelle (SuSE DVD/CD) ein. Dann auf "Software Installieren" und du schon kannst Packman-RPMs auswählen und installieren. Die Abhängigkeiten zwischen Paketen werden automatisch aufgelöst.
Manuelle Installation:
du musst dir die Pakete mit deinem WWW-Browser oder mit einem FTP-Client von dieser Seite downloaden.

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.

apt4rpm
Falls du apt4rpm verwendest (http://linux01.gwdg.de/apt4rpm/), erweitere bitte in /etc/apt/sources.list folgende Zeilen:

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!



Zurück zum Seitenanfang

2.2. Wie aktualisiere ich die Softwarepakete?
Das hängt wieder davon ab, ob du pakete über YaST, manuell oder über apt4rpm installierst.
YaST
Zur Aktualisierung der Pakete muss unter "Installationsquelle Hinzufügen" der Packman-Eintrag ausgewählt und mit "Bearbeiten" -> "Status aktualisieren..." die Paketliste auf den neusten Stand gebracht werden. Anschließend kann über "Software installieren oder löschen" und Filter "Zusammenfassung" eine Übersicht aller Pakete angezeigt werden, die nicht direkt von SuSE stammen, denn diese Pakete werden in YaST automatisch auf den Status "Geschützt" gesetzt. Geschützte Pakete werden nicht automatisch (z.B. durch YOU) überschrieben, weshalb wir auch leider keine automatische Aktualisierung per YOU anbieten können. An der Schriftfarbe der Paketnamen lässt sich der Status der Pakete schnell erkennen:
  • zu Paketen mit blauer Schrift existiert inzwischen eine neuere Version (zur Aktualisierung mit der rechten Maustaste anklicken und den Status auf "Aktualisieren" ändern)
  • bei schwarzer Schrift existiert keine neuere Version
  • rote Schrift zeigt ein Paket das aktueller ist als auf einer der Installationsquellen vorhanden (stammt demzufolge aus anderen Quellen)
manuell
Zur manuellen Aktualisierung gehst du wie oben beschrieben vor; manuelle Installation und Aktualisierung unterscheiden sich nicht.
apt4rpm
Wenn du packman-Quellen wie oben beschrieben konfiguriert hast, aktualisiert du Packman-Pakete wie sonst mit apt upgrade.


Zurück zum Seitenanfang

2.3. Wie kann ich mich über neue Pakete informieren (lassen), oder wie erfahre ich wenn es Aktualisierungen für installierte Pakete gibt?
Dazu gibt es mehrere Möglichkeiten:
  • Auf der Packman-Einstiegsseite http://www.links2linux.de/ werden neue und aktualisierte Pakete aufgelistet
  • Es gibt ein News(RDF)-Feed zu den neuen und aktualisierten Paketen: http://packman.links2linux.de/rdf/packman_de.rdf. Diesen benutzt du mit deinem Lieblings-Newsfeed-Programm und hast dann ein Packman-Newsticker ;-). Oder wenn du mit Mozilla/Firefox surfst, reicht es auf die Packman-Seite http://packman.links2linux.de/ zu gehen. Du hast dann unten rechts im Browser ein Symbol, das zeigt, dass für diese Seite ein News-Feed vorhanden ist. Mit einem Klick auf das Symbol kannst du den Packman-Newsfeed als Live-Bookmark einbinden. Diese Lesezeichen aktualisieren sich selbst jedesmal wenn du darauf gehst und führen direkt zu den Seiten mit neuen und aktualisierten Paketen
  • Falls du apt4rpm verwendest (http://linux01.gwdg.de/apt4rpm/), werden Pakete automiatisch mit apt update/apt upgrade aktualisiert. Um nach neuen Paketen zu suchen, kannst du wie oben beschrieben vorgehen oder auch apt search benutzen
  • mit YaST gehst du wie oben beschrieben vor


Zurück zum Seitenanfang

2.4. Wie deinstalliere ich die Softwarepakete?

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

Oder du kennst eine Datei aus dem Paket:
# rpm -qf /pfad/zur/datei/dateiname

Zurück zum Seitenanfang

2.5. Was mache ich wenn sich das Paket nicht problemlos installieren lässt?

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.



Zurück zum Seitenanfang


3. Pakete selbst bauen, auseinander nehmen...

3.1. Was mache ich wenn die Pakete nicht für meine Version der Distribution vorhanden sind?

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.



Zurück zum Seitenanfang

3.2. Was mache ich, wenn in dem Paket ein Feature oder Patch fehlt?

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.



Zurück zum Seitenanfang

3.3. Wie extrahiere ich nur einzelne Bestandteile aus den RPM's/SRPM's

Ganz einfach lass dir erstmal alle Dateien die im RPM enhalten sind auflisten:

$ rpm2cpio paket.rpm | cpio --list

Einzelne Dateien kannst du dann folgendermaßen extrahieren:

$ rpm2cpio paket.rpm | cpio --extract dateiname


Zurück zum Seitenanfang

3.4. Wo finde ich Informationen zu Änderungen am Programm bei neuen Paketversionen?

Paketä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!



Zurück zum Seitenanfang

3.5. Wo finde ich mehr Informationen zu RPM?


Zurück zum Seitenanfang


4. Ich habe etwas für Packman-Team!

4.1. Ich habe ein interessantes Paket für Packman. Könnt ihr diesen Paket bei euch aufnehemen?

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!



Zurück zum Seitenanfang

4.2. Kann ich bei dem Projekt helfen?

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!



Zurück zum Seitenanfang