Je cite : Le système de paquetage est un ensemble de programme chargé d'installer, de mettre à jour et de supprimer les logiciels tout en répertoriant leurs fichiers dans une base de données. Cette organisation vous permet de déterminer à tout moment à quel paquetage appartient tel fichier ou quel est le contenu de tel paquetage. ( Lucien Nardini in http://linuce.free.fr/Docs/slackware/presentation/index.html ).
Les paquetages (packages en anglais) peuvent dépendre les uns des autres. Par exemple, l'interface graphique de gravure xcdroast s'appuie sur le progamme cdrecord qui grave un CD-ROM en ligne de commande.
Il existe différents systèmes de paquetages, et donc différents outils pour les installer/désinstaller.
La distribution GNU/Linux Mandrake (http://www.mandrakelinux.com/fr/ ) s'appuie sur des paquetages RPM ( Red Hat Package Management ). Les commandes de base commencent par rpm. Les commandes évoluées commencent par urpm.
Il faut être root pour installer/désinstaller des paquetages.
# id uid=0(root) gid=0(root) groupes=0(root)
Pour désinstaller le programme lspci :
# urpme lspci paquetage inconnu: lspci
Manque de bol, le paquetage qui contient le programme lspci ne semble pas s'appeler lspci. Quel paquetage contient un fichier nommé lspci ?
# urpmf lspci ldetect:/usr/bin/lspcidrake pciutils:/usr/bin/lspci pciutils:/usr/share/man/man8/lspci.8.bz2 man-pages-ja:/usr/share/man/ja/man8/lspci.8.bz2 man-pages-pl:/usr/share/man/pl/man8/lspci.8.bz2
Il s'agit du paquetage pciutils. Pour le désinstaller :
# urpme pciutils désinstallation de pciutils-2.1.11-4mdk.i586
Pour installer pciutils :
# urpmi pciutils Veuillez insérer le medium nommé « Installation CD 2 (x86) (cdrom2) » dans le périphérique [/dev/hdc] Appuyez sur la touche Entrée quand vous êtes prêts... installation de /mnt/cdrom/Mandrake/RPMS2/pciutils-2.1.11-4mdk.i586.rpm Préparation... ################################################## 1:pciutils ##################################################
Vérification : lister les fichiers contenus dans le paquetage pciutils qui vient d'être installé :
# rpm -q -l pciutils /usr/bin/lspci /usr/bin/pcimodules /usr/bin/setpci /usr/share/doc/pciutils-2.1.11 /usr/share/doc/pciutils-2.1.11/ChangeLog /usr/share/doc/pciutils-2.1.11/README /usr/share/doc/pciutils-2.1.11/pciutils.lsm /usr/share/man/man8/lspci.8.bz2 /usr/share/man/man8/pcimodules.man.bz2 /usr/share/man/man8/setpci.8.bz2 /usr/share/pci.ids
La même commande ne donne rien si le paquetage n'est pas installé :
# urpme pciutils désinstallation de pciutils-2.1.11-4mdk.i586 # rpm -q -l pciutils package pciutils is not installed
Pour installer pciutils, il est possible d'utiliser la commande rpm -i :
# rpm -i pciutils error: open of pciutils-2.1.11-4mdk.i586 failed: No such file or directory
Il faut indiquer où se trouve le paquetage :
# mount /mnt/cdrom mount: périphérique de type bloc/dev/hdc est protégé en écriture, on le monte en lecture seulement # rpm -i /mnt/cdrom/Mandrake/RPMS2/pciutils-2.1.11-4mdk.i586.rpm
Pour désinstaller le paquetage lspci :
# rpm -e pciutils
Pour lister tous les paquetages installés :
# rpm -q -a
Le naviguateur mozilla est installé sur mon système, mais je voudrais aussi le logiciel de messagerie qui va avec. Mais quel paquetage installer ?
planplan$ urpmq moz Les paquetages suivants contiennent moz : mozilla mozilla-dom-inspector mozilla-enigmail mozilla-enigmime mozilla-irc mozilla-js-debugger mozilla-mail mozilla-spellchecker mozplugger swfdec-mozilla
Il s'agit probablement de mozilla-mail .
Pour savoir où aller chercher les paquetages,
urpmi s'appuie sur un fichier de configuration dans lequel sont listés tous les endroits où aller chercher les paquetages.Pour une Mandrake 9.2 installée à partir des CD-ROM :
planplan# cat /etc/urpmi/urpmi.cfg
Installation\ CD\ 1\ (x86)\ (cdrom1) removable://mnt/cdrom/Mandrake/RPMS {
hdlist: hdlist.Installation CD 1 (x86) (cdrom1).cz
with_hdlist: ../../Mandrake/base/hdlist1.cz
key-ids: 70771ff3
removable: /dev/cdrom
update
}
Installation\ CD\ 2\ (x86)\ (cdrom2) removable://mnt/cdrom/Mandrake/RPMS2 {
hdlist: hdlist.Installation CD 2 (x86) (cdrom2).cz
with_hdlist: ../../Mandrake/base/hdlist2.cz
key-ids: 70771ff3
removable: /dev/cdrom
update
}
International\ CD\ (x86)\ (cdrom3) removable://mnt/cdrom/Mandrake/RPMS3 {
hdlist: hdlist.International CD (x86) (cdrom3).cz
with_hdlist: ../../Mandrake/base/hdlist3.cz
key-ids: 70771ff3
removable: /dev/cdrom
update
}
De temps à autre, la communauté des utilisateurs Linux découvrent des failles de sécurité dans tel ou tel paquetage. Les mises à jour ne tardent pas, et vous pouvez répercuter cela facilement sur votre système.
Utilisez urpmi.addmedia pour préciser où aller chercher les mises à jour :
urpmi.addmedia --update \ updates ftp://ftp.heanet.ie/mirrors/ftp.mandrake.com/Mandrakelinux/official/updates/10.0/RPMS \ with ../base/hdlist.cz
Comment j'ai trouvé ça ? Eh bien, ma boule de cristal est arrivée par la poste ce matin ;)
Sérieusement, j'ai cherché sur le net et trouvé un super outil en ligne (anglais) : http://easyurpmi.zarb.org/
Lancez la mise à jour :
urpmi --auto-select
Voici un problème concret qui m'arrive à l'instant : je veux installer le gestionnaire de login graphique gdm . Manque de bol, urpmi veut installer beaucoup trop de paquetages à mon gout : 46 Mo en tout !
planplan# urpmi gdm Pour satisfaire les dépendances, les paquetages suivants vont être installés (46 Mo): GConf2-2.3.3-4mdk.i586 ... gdm-2.4.4.0-2mdk.i586 ... libxslt1-1.0.32-1mdk.i586 mandrake_desk-9.2-7mdk.noarch mandrake_doc-common-9.2-0.4mdk.noarch mandrake_theme-0.0.8-1mdk.noarch netprofile-0.5.3-1mdk.noarch scrollkeeper-0.3.12-4mdk.i586 sgml-common-0.6.3-8mdk.noarch usermode-1.68-4mdk.i586 zenity-1.6-1mdk.i586 Est-ce correct ? (O/n) n
J'ai 3 CD-ROM (Mandrake), le paquetage gdm est probablement sur l'un d'eux.
Je teste avec le premier :
planplan# mount /mnt/cdrom/ mount: périphérique de type bloc/dev/hdc est protégé en écriture, on le monte en lecture seulement find /mnt/cdrom | planplan# find /mnt/cdrom | grep gdm /mnt/cdrom/Mandrake/RPMS3/gdm-Xnest-2.4.4.0-2mdk.i586.rpm
Ce n'est pas celui-là ! En effet, en regardant dans la liste ci-dessus, je vois gdm-2.4.4.0-2mdk.i586 .
Essayons avec le cd suivant :
planplan# umount /mnt/cdrom/ planplan# mount /mnt/cdrom/ mount: périphérique de type bloc/dev/hdc est protégé en écriture, on le monte en lecture seulement planplan# find /mnt/cdrom | grep gdm /mnt/cdrom/Mandrake/RPMS2/gdm-2.4.4.0-2mdk.i586.rpm
OK! Il est là. Je l'installe en ignorant les dépendances :
planplan# rpm -i --nodeps /mnt/cdrom/Mandrake/RPMS2/gdm-2.4.4.0-2mdk.i586.rpm
Et le tour est joué ! Si jamais je veux revenir en arrière, je peux faire un rpm -e gdm , mais gare à ne pas désinstaller d'autres paquets !
Je veux ensuite savoir quels sont les fichiers de configuration. Ils sont très certainement sous /etc :
planplan# rpm -q -l gdm | grep etc /etc/X11/dm /etc/X11/dm/Sessions /etc/X11/gdm /etc/X11/gdm/Init ... /etc/pam.d/gdm /etc/pam.d/gdm-autologin /etc/pam.d/gdmsetup /etc/security/console.apps/gdmsetup
Pour plus de précisions, vous pouvez consulter l'excellent article Introduction à urpmi de Guillaume Rousse : http://lis.snv.jussieu.fr/~rousse/linux/urpmi.html, et bien entendu les pages de manuel :
# man rpm # man urpmi
Jean-Michel Oltra a traité cette partie, son travail se trouve ici : http://www.espinasse.net/linuxtarn/apt/apt.html
Correspondance entre Debian et Mandrake : http://linux.ensimag.fr/urpmiapt.html