Historique: Installer un logiciel
Aperçu de cette version: 19
Table des matières
Statut
Cet article est un premier jet et n'est pas relu.Le plan est provisoire.
Des parties sont incomplètes.
Des commentaires sur les points obscurs sont le bienvenus.
Intro
Le but de cette article est de présenter les différents aspects liés à la gestion des paquets logiciels à l'usage des débutants peu familiés avec le monde Unix.Comme l'ont montré certains messages des forums, des problèmes des dépendances sont souvent rencontrés. Pourtant cela peut être évité dès lors que l'on comprend bien le fonctionnement du système de gestion de paquets utilisé sur sa distribution. Comme nous le verrons les dépendances sont automatiquement résolues en utilisant les bons outils.
Principes généraux
Fichiers sources et fichiers binaires
Tout d'abord il convient de revenir sur ce qu'est un logiciel. Sous les OS propriétaires, on est habitué à utiliser des binaires déja compilés et vendus sous cette forme par des sociétés commerciales. On a jamais accès aux fichiers sources qui dévoilent les secrets de programmation. Les fichiers sources sont des fichiers textes écrits par les programmeurs, que l'on compile pour générer les binaires executables. Sous Linux et avec les Logiciels Libres (cad sous license GPL et assimilées) toute la dynamique repose sur l'idée de laisser les sources non seulement accessibles, mais modifiables et copiables à volonté. Ce sont ensuite des organisations commerciales ou bénévoles qui se chargent de produire des distributions regroupant tous ces logiciels en un tout cohérent et utilisable par les utilisateurs.
Une des conséquences qui est bien vite apparue fut qu'il fallait pouvoir gérer l'installation et la désintallation des logiciels contenus sur les distributions, il fallait aussi prévoir leur possibilité de mises à jour et d'autres fonctions comme le contrôle des dépendances ou la recompilation automatisée.
Les systèmes de gestion de paquets, les dépendances
Malheureusement chaque distribution a privilégié un système de gestion de paquets plutôt que de préférer un système standard. Toutefois, on retrouve à présent quelques grandes familles de gestions de paquets : les distributions basées sur les .rpm et celles basées sur les .deb. Générallement ces systèmes gérent les dépendances, cad un logiciel X ne peut fonctionner sans un autre logiciel Y. Par exemple un logiciel comme GIMP (le fameux logiciel graphique) ne pourra fonctionner sans le serveur graphique qui permet l'affichage. Dans ce cas GIMP dépend du serveur X, et par ailleurs aussi d'un grand nombre de bibliothèques graphiques.
Qu'est ce qu'un paquet logiciel
Paquets binaires
Les paquets binaires sont en fait des archives contenant les binaires, les documentations et tout ce qui peut composer un logiciel. Ces archives contiennent aussi la liste des autres archives dont elles dépendent. Ainsi tout les logiciels audio dépendent au moins des paquets contenant ALSA ou JACK, respectivement les drivers et le serveur son.
Paquets sources
On trouve également des paquets sources, cad contenant uniquement des fichiers sources. A l'aide de certaines commandes il sera alors possible de générer automatiquement un paquet binaire.
Les dépôts logiciel
Quelques soit la distribution utilisée, les logiciels sont stockés sur des dépôts. Le plus souvent il s'agit des cédéroms que l'on trouve dans les magazines ou que l'on télécharge sur le net. Mais il est aussi possible une fois la connection internet installée d'ajouter des dépôts supplémentaires qui permettrons les mises à jour. Il existe aussi des dépôts offrant des logiciels non fournis par la distribution, permettant ainsi d'installer encore plus de logiciels. Comme nous le verrons, quel que soit le système de gestion utilisé, il existe un fichier de configuration pour spécifier les dépôts logiciels dans lesquels on veut pouvoir puiser. Il est impératif de ne mettre que des dépôts compatibles avec sa distribution. Les problèmes de dépendances viennent souvent du mélange de dépôts de contributeurs non affiliés. Il est préférable de se limiter à ceux qui sont officiels dans un premier temps et d'en ajouter d'autres que si l'on est sûr qu'ils sont compatibles avec ceux du dépôt officiel et qu'ils n'entreront pas en conflit entre eux si il y a en plusieurs.
Installer un logiciel "étranger" à une distribution
Les .deb sur Debian et distributions affiliées
On les nomme ainsi car ils utilisent le système Debian APT
Le système Debian APT permet donc de tout gérer et d'éviter les conflits. Il y a plusieurs choses de base à connaître ensuite on est vite grisé par la rapidité et la commodité d'APT.
Le fichier /etc/apt/sources.list
Ce fichier est primordial car il définit les sources, dans lesquelles les différents logiciels que nous allons voir après vont puiser. Cela peut-être un CD-rom, un site web.
Dpkg
Avant de voir les GUI, parlons de cette commande. Car elle est la seule qui permet d'installer un .deb depuis le répertoire courant par exemple. Cela arrive dans de petites occasions.
# dpkg -i fichier.deb
Apt-get
Apt-get est aussi une commande, mais cette fois elle n'est capable d'installer des logiciels
que depuis les fameux sources.
#apt-get install sweep
Va installer le logiciel sweep uniquement si celui-ci fait partie de ceux contenus par les sources. A noter que si sweep dépend d'autres paquets, la commande vous proposera des les installer automatiquement. Génial !
Aptitude
Aptitude est une interface interactive mais en mode texte.
Cette interface permet de voir la liste des logiciels installés et ceux installables, etc.. Malheureusement Aptitude est peu ergonomique, à moins de lire le manuel bien sur 😉
Aptitude servait surtout auparavant et peut faire office de roue de secours quand le serveur X est en panne =)
Synaptic
Enfin le nec-plus-ultra est bien sur Synaptic, une vraie GUI ! Gérer les logiciels de son sytème devient un jeu d'enfant. On peut faire des recherches et lire les descriptions. C'est générallement à ce moment qu'on prend une claque !
Recompiler un .deb
Les rpms sur Redhat/Fedora et Mandriva
rpm
urpmi
C'est un système permettant d'installer le programme + ses dépendances via le Web (Mandriva ou Mandrake)
Il faut d'abord enregistrer les sources (voir site http://easyurpmi.zarb.org/?language=fr) puis se connecter en tant que super utilisateur (su) pour pouvoir télécharger et installer des programmes.
Ce qui donne en mode console :
urpmi nomduprogramme
Si le programme est répertorié dans la base de donnée, il apparait avec eventuellement les dépendances associées.
la commande :
urpmi --noclean nomduprogramme
permet de garder un copie disponible dans le répertoire /var/cache/urpmi/rpms
Quelques urpmi disponibles importants pour la Mao :
urpmi kernel-multimedia-2.6.12-12mm.1mdk
urpmi ardour
urpmi xmms
urpmi timidity-init
urpmi qsynth
urpmi zynaddsubfx
urpmi rezound
à noter qu'il suffit parfois de taper une partie du nom pour qu'il propose une ou plusieurs variantes (exemple : kernel-multimedia)
Cette commande / fonction urpmi est donc absolument géniale puisq'elle permet d'installer trés facilement de nombreux logiciels Mao (ou autres bien sur 😊
kpackage
rpmdrake
yum
Recompiler à partir d'un SRPM
Emerge et Gentoo
Sous Gentoo l'approche est un peu différente en cela que les paquets binaires n'existent que pour le système de base. Une fois celui-ci opérationnel, on utilise la command emerge pour automatiquement télécharger les sources et compiler les logiciels que l'on souhaite installer. Si d'autres logiciels sont nécessaires, ils seront aussi automatiquement "emergés".
Cf pour le moment les indications de l'article sur la Gentoo