Logiciels libres et enseignement

Favoriser l’usage de logiciels libres et de formats ouverts

Accueil > Le logiciel libre > Informations générales > Comment installer un logiciel sous Gnu/Linux ?

Comment installer un logiciel sous Gnu/Linux ?

jeudi 10 janvier 2008

Les logiciels libres étant livrés avec leur code source, que faire de ce code source, le passage par la compilation est-il obligatoire et comment, d’une manière générale, installer et désinstaller un logiciel ?

Le passage obligatoire par la compilation est rarement requis. Les logiciels de la plupart des distributions sont livrés sous forme de « packages » binaires, déjà compilés.

Le format .deb

La distribution Debian, entièrement libre et non commerciale, est réputée pour la grande puissance de son système de packages, permettant des mises à jour simples et périodiques directement sur l’Internet. Ubuntu est basée sur Debian et utilise donc ce format. Un utilitaire graphique permet une gestion aisée de l’ensemble des logiciels installés et de leur installation elle même, on y accède depuis le bureau de l’utilisateur ayant les droits d’administration par « Système / Administration / Gestionnaire de paquets synaptic », puis rentrer son mot de passe. Voici Synaptic :

Les logiciels installés apparaissent avec un carré vert, ceux officiellement supportés par la distribution ont un petit logo Ubuntu adjoint.

On commencera par configurer les logiciels disponibles : « Configuration / dépots » ouvre une fenêtre permettant de sélectionner des sources de logiciels supplémentaires, en particulier Universe et Multiverse, ensembles non officiellement maintenus par Canonical, la société responsable de la distribution Ubuntu. On peut aussi manuellement ajouter des dépôts, dans l’onglet « logiciels de tierces parties ».

Puis « Edition / actualiser la liste des paquets » met a jour la base de données de paquets sans rien modifier au système. Il est essentiel de procéder à cette mise a jour avant toute installation de manière à ne pas obtenir de message d’erreur relatif a un paquet indisponible.

Comme on le voit ci dessus, cliquer sur « rechercher » permet de chercher le paquet Drgéo, et cliquer sur celui ci ouvre une fenetre de dialogue informant des dépendances de ce logiciel qui seront installés en meme temps que lui. Il est fondamental d’installer les dépendances d’un logiciel en meme temps que celui ci, sinon il ne pourra pas fonctionner.

On consultera avec profit la documentation officielle complète en français : http://doc.ubuntu-fr.org/synaptic.

Ces opérations peuvent être réalisées en ligne de commande :

  • Configurer les sources des packages : apt-setup
  • Mettre à jour la liste des packages disponibles : apt-get update
  • Rechercher un package : apt-cache search python (renvoie la liste des packages contenant le mot python)
  • Installer / Mettre à jour un package : apt-get install nom_du_package
  • Afficher les détails sur un package : apt-cache show nom_du_package
  • Supprimer un package : apt-get remove nom_du_package

Apt résoudra automatiquement les dépendances de ce que vous souhaitez installer et vous proposera de les télécharger et de les installer automatiquement avant d’installer le logiciel choisi.

Le format .rpm

Ce format a été inventé par Redhat, il est toujours à la base de cette distribution mais tend de plus en plus à être remplacé par apt (on peut ainsi administrer toute une redhat avec apt-get). Les distributions SuSE et Mandriva sont également basées sur ce format rpm.

L’installation, la désinstallation et la gestion des dépendances se fait très simplement en ligne de commande.

  • Regarder le contenu d’un package qu’on se propose d’installer : rpm -qpli nom_du_package
  • Installer : rpm -i nom_du_package.rpm
  • Mettre à jour un logiciel installé : rpm -Uvh nom_du_package.rpm
  • Interroger la base de données des logiciels installés : rpm -qali |grep gwget renvoie le nom et la version installée de gwet, des informations sur ce logiciel, et la liste de l’ensemble des fichiers qu’il comporte.
  • Désinstaller : rpm -e nom_du_package. Par exemple, rpm -e `rpm-qa |grep gwget` désinstallera entièrement et exhaustivement tous les composants de gwget.
  • Il est très fortement déconseillé de forcer une installation ou d’outrepasser des dépendances. Si rpm vous indique que quelque chose manque, installez le.

La page de man de rpm est une lecture indispensable. Cette commande permet de connaitre absolument toutes les modifications qui seront apportées au système avant installation, et la désinstallation éventuelle de tous les fichiers sans exception. Aucun équivalent de la « base de registre » des environnements MS-Windows n’existe sous Linux.

Dans les nouvelles versions de Mandrake l’outil urpmi permet d’installer des rpms par la seule commande :

urpmi mplayer (si bien sûr on souhaite installer mplayer)

Les dépendances sont résolues, les CDs sont demandés, l’accès à une « source » extérieure permet de télécharger les packages utiles. En somme un apt-get à la Mandrake. Et bien sûr un man urpmi :)

La compilation à partir des sources

Précisons tout d’abord que la compilation d’un logiciel ne requiert la connaissance d’aucun langage de programmation. Ensuite, on ne devrait avoir recours à la comiulation que si vraiment aucun package n’existe pour la distribution utilisée.

Compiler un logiciel et l’installer requiert, dans la très grande majorité des cas, six commandes :

  • tar zxvf nom_du_logiciel.tar.gz
  • cd nom_du_repertoire (où a été décompressée l’archive des sources)
  • ./configure
  • make
  • su
  • make install

La commande tar zxvf nom_du_logiciel.tar.gz permet de décompresser une archive (remplacer z par I si l’archive est au format bz2). Ensuite, il faut se rendre dans le répertoire créé par cette opération de désarchivage / décompression. Les sources comportent toujours un fichier README expliquant la procédure d’installation.

Il est très rare d’avoir à taper d’autres commandes que ./configure, make et make install. Parfois, l’utilitaire xmkmf est requis à la place du script configure, cela est toujours précisé dans le README. Veillez à installer les petits utilitaires automake, autoconf, yacc, flex et bison, qui facilitent le travail des scripts, ainsi que le package gettext qui permet l’internationalisation et donc l’obtention de logiciels en français, par exemple. Tout cela est en principe présent dans votre distribution, sur le CD-Rom, dans la rubrique développement.

Compiler un logiciel suppose la présence dans le système de « librairies de développement » consistant en fichiers d’en-tête ou include, à l’extension .h. Vous devez installer les librairies de développement de X Window, ainsi que celles de l’environnement sous lequel fonctionne le logiciel (généralement QT et KDE, ou GTK et Gnome). C’est la raison de la présence de la rubrique « environnement requis » dans les documentations du présnet site. Lisez attentivement les messages d’erreur que vous pouvez obtenir en compilant un logiciel : très souvent, il vous sera indiqué que tel fichier .h est introuvable, cela signifie tout simplement que la librairie de développement n’est pas installée. Procédez à cette installation avec le gestionnaire de packages de votre distribution, qui inclut normalement ces librairies.

Les avantages de la compilation manuelle sont principalement au nombre de deux, si vous n’êtes pas programmeur :

  • La possibilité de tester un logiciel avant son installation effective. En effet, le logiciel compilé est présent sous forme binaire dans le répertoire de compilation (ou dans le sous répertoire src). On peut ainsi le lancer (commande ./son-nom) et le tester avant de l’installer, sauf s’il requiert des librairies qui ont été compilées et doivent être installées en même temps que lui.
  • La possibilité d’installer le logiciel ailleurs que dans son répertoire par défaut. C’est le paramètre prefix du Makefile qui permet cela. Par exemple, la commande ./configure —prefix=/home/mon_repertoire/gwget permet d’installer gwget dans votre répertoire personnel, dans le sous répertoire gwget, ce qui peut être parfois utile. Il est donc possible de vérifier en quelle manière le système sera modifié avant d’installer quoique ce soit. La commande ./configure —help permet d’avoir la liste des options de la compilation.

Dernier conseil : pour des raisons de sécurité, ne jamais compiler sous root et n’installer un logiciel, en rpm ou compilé, que si vous êtes certain de sa provenance. A ce seul prix est-il possible d’être certain qu’aucun virus ni « cheval de troie » n’existe sous linux.

Recherche avancée