====== Généralités ====== ===== Que fait l'équipe Packman ? ===== Nous réalisons des paquets de programmes permettant l'installation et la désinstallation simple de logiciels fonctionnant sous Linux. Nous voulons surtout réaliser des paquets de logiciels n'existant pas du tout ou dont la version présente dans la distribution est ancienne. ===== Puis-je avoir confiance dans vos paquets ? ===== J'ai entendu dire qu'installer des paquets binaires pouvait poser problème. Est-ce vraiment sûr d'installer vos paquets ? Si tu veux en être sûr, avant d'installer un paquet tu peux en examiner les détails. # rpm -qpil --changelog --scripts nom_du_paquet.rpm | less On t'indique alors l'auteur du paquet, ce qui a changé depuis la dernière mise à jour, quels fichiers sont installés sur ton système et quels scripts sont exécutés avant et après l'installation. Les paquets sont signés, de sorte que tu puisses vérifier que la signature corresponde bien à l'auteur du paquet, qu'il n'a pas été manipulé par quelqu'un de différent ou qu'il n'est pas corrompu. Tu peux vérifier cela de différentes manières : il faut avoir installé GnuPG (à partir de la version 1.x) ou GnuPG (à partir de la version 1.x). (PGP version 2.x ne fonctionne pas !) Page d'acceuil de GNU Privacy Guard : http://www.gnupg.org Page d'acceuil de Pretty Good Privacy : http://www.pgpi.net Premièrement tu as besoin des clés publiques des auteurs de paquets : Dans le cas de GnuPG : $ lynx --dump ftp://ftp.links2linux.de/pub/packman/public-keys.asc | gpg --import Ou bien télécharge le fichier ftp://ftp.links2linux.de/pub/packman/public-keys.asc et importe les clés comme suit : $ gpg --import public-keys.asc Dans le cas de PGP : $ lynx --dump ftp://ftp.links2linux.de/pub/packman/public-keys.asc | pgp -fka Ou bien télécharge le fichier ftp://ftp.links2linux.de/pub/packman/public-keys.asc et importe les clés comme suit : $ pgp -ka public-keys.asc Avec un RPM et GNU Privacy Guard : D'abord tu dois importer les clés Packman dans la base de données RPM : $ rpm --import public-keys.asc Ensuite, en tant qu'utilisateur dois créer le fichier .rpmmacros avec le contenu suivant : $ vi ~/.rpmmacros %_signature gpg %_gpg_name Waldemar Brodkorb (Linux rulez!) %_gpg_path /home/waldemar/.gnupg/ %_gpg_bin /usr/bin/gpg Naturellement à adapter en fonction de ton installation. : -) Maintenant tu peux vérifier les paquets téléchargés avant de les installer : $ rpm -vK nom_du_paquet.rpm Avec un RPM et Pretty Good Privacy : D'abord tu dois importer les clés Packman dans la base de données RPM : $ rpm --import public-keys.asc Ensuite, en tant qu'utilisateur dois créer le fichier .rpmmacros avec le contenu suivant : $ vi ~/.rpmmacros %_signature pgp %_pgp_name Waldemar Brodkorb (Linux rulez!) %_pgp_path /home/waldemar/.pgp/ %_pgp_bin /usr/bin/pgp Naturellement à adapter en fonction de ton installation. : -) Maintenant tu peux vérifier les paquets téléchargés avant de les installer : $ rpm -vK nom_du_paquet.rpm ==== Problèmes avec apt ==== J'ai eu des problèmes sous SuSE 10.0 pour importer les clés avec //rpm --import//. Apt ne voulais pas installer les paquets téléchargés à cause d'une vérification de signature qui échouait : $ apt-get upgrade ... Checking GPG signatures... Unknown signature /var/cache/apt/archives/alsa_1.0.13-0.pm.0_i586.rpm: (SHA1) DSA sha1 md5 (GPG) NOT OK (MISSING KEYS: GPG#5277a2fa) ... E: Error(s) while checking package signatures: 0 unsigned package(s) 9 package(s) with unknown signatures 0 package(s) with illegal/corrupted signatures E: Handler silently failed L'importation des clés publiques comme décrit plus haut n'a pas fonctionné : $ rpm -qa gpg-pubkey* > ~/gpg-pubkey1 $ rpm --import ftp://ftp.links2linux.de/pub/packman/public-keys.asc $ rpm -qa gpg-pubkey* > ~/gpg-pubkey2 $ diff -u ~/gpg-pubkey? --- /root/gpg-pubkey1 2006-10-20 17:44:57.000000000 +0200 +++ /root/gpg-pubkey2 2006-10-20 17:45:44.000000000 +0200 @@ -1,5 +1,6 @@ gpg-pubkey-15c17deb-3f9e80c9 gpg-pubkey-3d25d3d9-36e12d04 gpg-pubkey-9c800aca-40d8063e +gpg-pubkey-ddaf6454-3777ac55 gpg-pubkey-0dfb3188-41ed929b gpg-pubkey-ddaf6454-3777ac55 Apparemment avec le RPM, l'importation de plusieurs clés d'un fichier pose problème, seule la première clé publique est importée. C'est pourqu'oi j'ai installé le paquet // rpmkey-packman // qui comporte toutes les clés d'auteur dans des fichiers différents : $ rpm -i ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.0-i386/RPMS.rpmkeys/rpmkey-packman-0.3.2-0.pm.1.noarch.rpm warning: /var/tmp/rpm-xfer.G9W6RC: V3 DSA signature: NOKEY, key ID 5277a2fa $ rpm -ql rpmkey-packman /etc/yum.repos.d/packman.repo /usr/lib/rpm/gnupg/packman-andsch.asc /usr/lib/rpm/gnupg/packman-andsch_alt.asc /usr/lib/rpm/gnupg/packman-bwalle.asc /usr/lib/rpm/gnupg/packman-chrhae.asc /usr/lib/rpm/gnupg/packman-detrei.asc /usr/lib/rpm/gnupg/packman-henmuh.asc /usr/lib/rpm/gnupg/packman-henvol.asc /usr/lib/rpm/gnupg/packman-henvol_alt.asc /usr/lib/rpm/gnupg/packman-hergra.asc /usr/lib/rpm/gnupg/packman-hergra_alt.asc /usr/lib/rpm/gnupg/packman-konmal.asc /usr/lib/rpm/gnupg/packman-leofre.asc /usr/lib/rpm/gnupg/packman-leofre_alt.asc /usr/lib/rpm/gnupg/packman-leofre_alt2.asc /usr/lib/rpm/gnupg/packman-mantre.asc /usr/lib/rpm/gnupg/packman-marhue.asc /usr/lib/rpm/gnupg/packman-marsch.asc /usr/lib/rpm/gnupg/packman-oliben.asc /usr/lib/rpm/gnupg/packman-pasble.asc /usr/lib/rpm/gnupg/packman-pasble_alt.asc /usr/lib/rpm/gnupg/packman-queden.asc /usr/lib/rpm/gnupg/packman-railay.asc /usr/lib/rpm/gnupg/packman-railay_alt.asc /usr/lib/rpm/gnupg/packman-ralcor.asc /usr/lib/rpm/gnupg/packman-robrak.asc /usr/lib/rpm/gnupg/packman-thomue.asc /usr/lib/rpm/gnupg/packman-tongra.asc Cela ne suffit toutefois pas, il faut encore importer //fichiers-asc// : $ rpm -ql rpmkey-packman | grep asc | xargs rpm --import RPM reconnaît maintenant tous les autres auteurs : $ rpm -qa gpg-pubkey* > ~/gpg-pubkey3 $ diff -u ~/gpg-pubkey{1,3} --- /root/gpg-pubkey1 2006-10-20 17:44:57.000000000 +0200 +++ /root/gpg-pubkey3 2006-10-20 17:55:29.000000000 +0200 @@ -1,5 +1,33 @@ +gpg-pubkey-5f6842a4-40b09936 +gpg-pubkey-f9558872-430f586f +gpg-pubkey-8ff214b4-3afa5d46 gpg-pubkey-15c17deb-3f9e80c9 +gpg-pubkey-3ab2ce5e-41a4c011 +gpg-pubkey-f2c6a54e-43d171bc +gpg-pubkey-27db6f5b-4140d446 gpg-pubkey-3d25d3d9-36e12d04 +gpg-pubkey-f33e3fc6-443ed5fc +gpg-pubkey-7fdcef8b-3da540d4 +gpg-pubkey-1be4d89e-434835df +gpg-pubkey-4efd697e-4453afce +gpg-pubkey-a16ea024-4374cbc5 +gpg-pubkey-807235a8-3e26a1bc +gpg-pubkey-95702b3b-3c6a5ee4 gpg-pubkey-9c800aca-40d8063e +gpg-pubkey-ddaf6454-3777ac55 +gpg-pubkey-ddaf6454-3a577225 +gpg-pubkey-03775059-3f045e14 +gpg-pubkey-08a568c6-3be86b1b +gpg-pubkey-5277a2fa-40bf6e67 +gpg-pubkey-58857177-3d946b70 +gpg-pubkey-cd3140cd-3d468b40 +gpg-pubkey-1dfa8f0c-41540ae2 gpg-pubkey-0dfb3188-41ed929b gpg-pubkey-ddaf6454-3777ac55 +gpg-pubkey-cddd4d64-450c55e0 +gpg-pubkey-4efd697e-4453aa9e +gpg-pubkey-58857177-3fbba87b +gpg-pubkey-f4500075-43fde72f +gpg-pubkey-dcb8fafe-3eca9611 +gpg-pubkey-35a64134-3a57e000 +gpg-pubkey-42d5f51f-2f05e27b Solution pour ce problème : Il faut installer avec apt rpmkey-*. Seulement il faut également que le wrapper-script d'apt importe réellement les clés dans la base de données RPM! ===== Où puis-je encore trouver des RPMs pour SuSE ? ===== Quelques projets présents sur Internet construisent leurs propres RPMs pour SuSE, en cas de doute allez visiter en premier lieu leurs pages d'acceuil : * http://www.mathematik.uni-wuerzburg.de/~vaeth/specs/ quelques fichiers .spec, des RPMs que l'on peut construire, et des RPMs déja faits * http://www.usr-local-bin.org/linux.php principalement des programmes et des upgrades Gnome/GTK * http://linux01.gwdg.de/~pbleser/ il y a vraiment beaucoup de paquets, s'il y a quelque chose que vous ne trouvez pas ici, Guru l'a probablement ;-) ====== Installation, mise à jour et suppression de logiciels ====== ===== Comment puis-je installer les paquets ? ===== Il existe trois possibilités : avec YaST, manuellement ou avec apt4rpm. ==== YaST ==== Avec YaST c'est le plus simple. Tu ajoutes dans YaST une "source d'installation", en plus de la source d'installation originale (SuSE DVD/CD), en mettant comme serveur ftp://packman.links2linux.de/pub/packman/MIRRORS et comme répertoire suse/9.1 (à modifier suivant ta version). Tu peux à présent choisir et installer des RPMs-Packman en te rendant à "installer des logiciels". Les dépendances des paquets sont résolues automatiquement. ==== Installation manuelle ==== Il faut se servir d'un navigateur web ou d'un client FTP pour télécharger les paquets. Avec les plus gros fichiers, un gestionnaire de téléchargement est recommandé, par exemple wget. Il suffit simplement de faire un clic droit "Copier l'adresse du lien", puis de faire un coller dans une Konsole comme cela pour télécharger : $ wget -nH -nd -c "Adresse" A présent tu peux installer ton paquet en tant que root : # rpm -Uvh nom_du_paquet1.rpm nom_du_paquet2.rpm ... Merci de bien respecter le fait d'installer toutes les dépendances nécessaires et enregistrées au même endroit (c.-à-d. avec RPM - Uhv... - dans l'ordre). ==== apt4rpm ==== Si tu utilises apt4rpm [[http://linux01.gwdg.de/apt4rpm/]], veilles à rajouter les lignes suivantes dans /etc/apt/sources.list : rpm ftp://ftp.gwdg.de/pub/linux/suse/apt - ici tu mets packman packman-i686. rpm-src ftp://ftp.gwdg.de/pub/linux/suse/apt - ici tu mets également packman packman-i686. Avec cela, tu disposeras des RPMs Packman dans les prochaines mises à jour ! ===== Comment puis-je mettre à jour les paquets ? ===== Cela dépend à nouveau du fait de savoir si tu installes les paquets avec YaST, manuellement ou avec apt4rpm. ==== YaST ====