Module 1
Chapitre 10 - Installation de programmes
1. Introduction
Beaucoup de linuxiens utilisent des distributions différentes de linux alors que celles-ci ne sont différentes que parce qu'elles possèdent une version personnalisée d'un même kernel ou noyau de base.
On pourrait ainsi se demander quels critères font que l'on choisisse telle distribution plutôt qu'une autre.
En réalité, tout informaticien, qu'il soit sous linux, Windows ou Mac va être à la perpétuelle recherche d'un large panel d'applications ou paquetages (packages) de tous genres (commerciaux ou libres (publiés sous license GPL:Gnu Public License)) et répondant aussi bien à ses besoins professionels (bureautique,gestion) que ludiques (multimédia, jeux).
Son choix ainsi va se tourner vers des systèmes où il pourra facilement obtenir ce qu'il veut.
Sur
linux suivant les distributions, la gestion des paquetages peut être
très souple et peut offrir beaucoup de possibilités, allant du
téléchargement à l'installation automatique d'un paquetage par une
simple commande. Nous allons donc voir trois modes de packaging propres
aux distributions Debian, Gentoo et RedHat et une forme de gestion
standard à toutes les distributions qui est celle dite par les sources.
2. Redhat
Les paquetages de la distribution Redhat sont présent sous deux formats. La première portant l'extension ".rpm" représente l'application binaire et la seconde portant l'extension "src.rpm" représente les sources (fichiers sources, documentation, fichiers d'installation et de configuration) utilisées généralement pour créer des ".rpm". Ces deux types de paquetages sont installés via la commande rpm.
2.1 Comment obtenir ces Paquetages ?
Redhat est une distribution commerciale destinée aux entreprises, elle est donc livrée avec un certain nombre de paquetages de base, testés et approuvés par la société Redhat.Toutes les applications autres que celles qui sont proposées doivent donc être téléchargées par l'utilisateur. Généralement le téléchargement se fait en allant directement sur le site du paquetage après une recherche sur un moteur de recherche (exemple : Google). La difficulté de ce genre de méthode est la gestion des dépendances. En effet lorsque vous installez un paquetage il très rare que ce dernier ne dépende d'aucun autre paquetage ou d'aucune librairie. Ce faisant, vous devrez récupérer l'ensemble de ces dépendances avant de lancer son installation. Bien souvent dans ces conditions, le découragement prend vite le dessus car la mise à jour continuelle des paquetages fait qu'un paquet A peut dépendre d'une certaine version d'un packet B et que cette version n'existe plus.
Cependant, l'arrivée de Fedora a changé l'esprit de la distribution Redhat qui est une distribution destinée au "Grand Public". Ainsi elle s'est munie d'une commande appelée "yum", basée sur le rpm et permettant de télécharger des applications avec l'ensemble de leurs dépendances sur des mirroirs dont le but principal est l'hébergement d'applications (exemple: ftp://freshrpms.net).
2.2 L'installation, désinstallation , récupération, mise à jour
Comme on l'a vu la commande rpm permet d'installer les fichiers ".rpm" et permet aussi de créer des fichiers rpm par les rpm sources (src.rpm) mais elle permet de faire beaucoup d'autres choses. Voici une liste des options les plus fréquemment utilisées de rpm :
2.2.1 Installation
-i foobar.rpm : permet d'installer un rpm
-R foobard.rpm : permet de lister les dépendances d'un fichier
2.2.2 Suppression
-e foobar.rpm : permet de supprimer un rpm
2.2.3 Informations sur les paquetages
L'option -q permet de récuperer des informations sur un ou plusieurs paquetages. Cependant cette option doit être combinée avec un autre caractère indiquant la nature de l'information.
Voici donc le listing des options les plus souvent rencontrées :
Option | Description |
-qi paquet | Récupère les informations d'un paquetage déjà installé |
-qa | Récupère les noms de l'ensemble des paquetages installés. |
-ql paquet | Récupère la liste des fichiers d'un paquetage |
-qf fichier | Permet de savoir à quel paquetage appartient ce fichier |
-qpi rpm | affiche des informations sur les paquetages non installés |
-V fichier | Vérifie un paquetage. Si le paquetage est bon il n'y aura aucune sortie sinon nous verrons apparaître des lettres indiquant les différents problèmes rencontrés. Voici donc ci-dessous un listing de ces différents caractères :
|
| Note: | |
l'ensemble de ces options peuvent être combinées afin de former une requête précise, exemple : rpm -qpi paquetage.rpm et l'utilisation des globbings est autorisée. |
2.3 Création d'un rpm à partir des sources rpm
Tout fichier rpm est un fichier destiné à une architecture précise, par exemple : samba-2.2.5.i586.rpm est destiné aux ordinateurs dotés d'un processeur de type i586. Cependant il est intéressant de compiler une application de manière à ce qu'elle soit optimisée pour notre processeur. Dans ce cas il est intéressant d'utiliser les RPM sources. Bien sûr, il existe des paquetages génériques c'est à dire qui correspondent à toute une famille de processeurs.
exemple : samba-2.2.5-i386.rpm correspond à la famille x86.
Pour compiler un paquetage RPM source, il faut passer l'option --rebuild à la commande RPM comme ci-dessous:
root@localhost # rpm --rebuild samba-2.2.5.src.rpm
Après
avoir compilé, le paquetage crée se retrouvera dans le répertoire
/usr/src/redhat/RPMS/ dans lequel existe d'autres répertoires portant
le nom d'architecture comme i386,i586,etc... Tous les paquetages
généralement crées de cette manière placent le fichier compilé dans le
répertoire i386.
3. Debian
Les paquetages débian existent comme ceux de Redhat sous deux formats, un format binaire identifié par l'extension (.deb) et un format source indentifié lui par l'extension (.dsc). Les commandes généralement utilisées pour les installer sont celles présentées ci-dessous :
dpkg : commande dite de bas niveau, en ligne de commande, elle permet l'installation , la désinstallation et la gestion des informations des paquetages installés.
apt-get : cette commande est la commande la plus populaire du système débian.C'est une commande de haut niveau, servant d'interface à la commande dpkg. Elle permet le téléchargement et l'installation automatique des paquetages en gérant toutes les dépendances de celui-ci.
dselect : c'est une interface de la commande apt-get. Elle est exécutée lors de l'installation d'un système Débian.
3.1 Débian, un système "Grand Public"
La distribution débian est populaire grâce à la grande diversité des paquets qu'elle distribue. Elle fournit des paquets à la fois commerciaux et provenant du "monde libre", mais la majorité de ces paquets sont ceux empruntés au "monde libre". Ses logiciels proviennent de milliers voir de millions de personnes développant des applications pour Linux. Cependant on pourrait se demander si la provenance de ces paquets est sûre et surtout fiables pour être intégrés dans un système Débian. C'est d'ailleurs à cause de cette notion de fiabilité, que les Entreprises furent timides à donner un accord favorable à l'intégration de tels systèmes dit "Grand Public" au sein de leurs réseaux. Préférant bien souvent des solutions comme Microsoft ou Redhat, qui sont jugées plus fiables du fait qu'ils soient beaucoup plus commerciales. Mais aujourd'hui la barrière de l'a-priori s'est effondrée. Essayons de comprendre, Comment Debian est devenue une distribution digne de confiance malgré son image "Grand Public" bien affichée.
En fait ce qu'il est important de savoir c'est que chaque paquet provenant du monde libre est testé au maximum de ses possibilités, ceci permettant de lever tous les bugs possibles afin de les corriger et ainsi de les faire migrer vers le niveau de stabilité le plus sûr possible. Ces paquetages ainsi testés évoluent d'une version à une autre de Débian. En effet on distingue trois distributions de base chez Debian définie par le niveau de stabilité des logiciels, c'est à dire du niveau le moins stable à celui le plus stable.
Unstable ou "Sid" : cette distribution est la moins stable et la plus récente de Débian. Une fois certains bugs corrigés, les paquets migrent en testing. Elle est utile pour les utilisateurs expérimentés voulant bénéficier des dernières versions des applications.
Testing ou "Sarge" : cette distribution offre des paquetages stables mais dont l'ensemble des tests de sécurité n'ont pas été effectués. Elle est non-adapté pour une utilisation courante.
Stable ou "Woody" : cette distribution est la plus stable de Débian.Elle est utilisé pour les Serveurs et les utilisateurs normaux.
Les paquetages Debian, quelque soit la version utilisée, sont généralement téléchargés via la commande apt-get que nous avons vue plus haut. Ce qui fait la force d'apt-get est le fait qu'elle récupère les applications dans une arborescence bien définie appelée "pool" et présente sur différents mirroirs Debian.
Cette arborescence est répartie en 3 grandes familles de répertoire.
Main : contient uniquement des logiciels libres qui représentent la distribution officielle Débian.
Contrib : c'est la que sont stockés des logiciels libres mais dépendant de paquetages propriétaires.
Non free : c'est le répertoire des logiciels payant ou possédant des licences très restrictives.
| Note: | |
vous verrez bien souvent dans les noms des répertoires ci-dessus, la dénomination Non-US. Celle-ci a pour but d'indiquer que les applications contenu dans ces répertoires ne pourront être téléchargés à partir des Etats-Unis. |
Si vous voulez de plus amples renseignements concernant Debian allez sur le site http://www.debian.org
3.2 Installation, désinstallation, informations, mise à jour
3.2.1 Installation
L'installation, d'une manière générale, est faite à l'aide de la commande apt-get, mais la connaissance de la commande dpkg est quand même nécessaire. Ainsi vous sera présentée l'utilisation des deux commandes :
dpkg -i samba-2.2.5.deb
apt-get install samba
| Note: | |
si vous ne connaissez pas le logiciel que vous voulez installer, il est possible d'avoir une description des différents logiciels pouvant faire ce que vous voulez. En faisant apt-cache search "mot_clé" et vous aurez un listing de tous les paquetages ayant soit dans leurs descriptions le mot clé recherché soit dans leurs noms. Bien sûr ce mot clé accepte les globbings. |
3.2.2 Suppression
dpkg -r samba
ou
dpkg --purge samba
apt-get remove samba
ou
apt-get --purge remove samba
l'option --purge indique ici de supprimer à la fois le paquetage mais aussi l'ensemble des fichiers de configurations installés.
3.2.3 Information concernant les paquetages
L'ensemble des informations d'un paquetage installé sont mises en évidence grâce à la commande dpkg. Voici quelques options les plus souvent utilisées dans ce cas :
dpkg -l : permet d'afficher l'ensemble des paquetages installés
dpkg -L foobar : affiche l'ensemble des fichiers constituant un paquetage
dpkg -s foobar : affiche l'état d'un processus
dpkg -S fichier : permet de retrouver l'appartenance d'un fichier à un paquetage
De même que Redhat, il est possible d'afficher notament des informations sur les paquetages non installés, mais ce via la commande apt. L'option de la commande apt à utiliser fait appel à un cache ou est listé l'ensemble des fichiers à jour pouvant être téléchargés sur Debian.
la commande est :
apt-cache show feh
Permet de visualiser les informations d'un paquetage installé ou pas sur la machine.
afin de mettre à jour le cache une commande doit être utilisée qui est :
apt-get update.
3.2.4 Mise à jour des paquetages
apt-get distuprgrade
| Note: | |
l'utilisation de la commande apt-get update est primordiale avant de faire la mise à jour des paquetages. |
3.3 Création d'un deb à partir des sources dsc
Si vous êtes un féru de programmation et que vous vous intéressez d'étudier le code source ou éventuellement de faire des corrections sur du code bogué avoir les sources d'une application serait intéressant.
Pour cela apt mets à votre disposition des commandes permettant de télécharger les sources et des fichiers permettant la création d'un fichier .deb .
Pour télécharger un paquet source, vous devez utiliser la commande suivante :
apt-get source nomdupaquet
Cela va télécharger trois fichiers : un .orig.tar.gz, un .dsc et un .diff.gz. Dans le cas où les paquet sont faits spécialement pour Debian, le dernier de ceux-ci n'est pas téléchargé et le premier n'a généralement pas « orig » dans le nom.
Le fichier .dsc est utilisé par dpkg-source pour dépaqueter le paquet source dans le répertoire nomdupaquet-version. Avec chaque paquet source téléchargé, il y a un répertoire du nom de l'application qui contient les fichiers nécessaires pour la création d'un paquet .deb.
Pour créer le .deb allez à l'intérieur du répertoire créé pour le paquet après le téléchargement et tapez la commande suivante:
dpkg-buildpaquetage -rfakeroot -uc -b
4. Gentoo
Gentoo est une méta-distribution jeune née au début de l'année 2002. Elle en est à sa version 1.4 et est disponible sur beaucoup d'architectures dont : x86,PowerPc, Sparc et Sparc64, amd64, arm etc.
Gentoo a été dévéloppée par l'intégration d'idées provenant du monde BSD et Linux, mais en essayant d'automatiser un maximum de tâches. L'une des particularités de gentoo est qu'elle fait partie de la génération des distributions appelées "source-based".
Que veut dire "source-based" ?
Les paquetages fournis par gentoo ne sont pas des binaires que l'on peut installer comme ceux que l'on a vu avec Redhat et Debian mais sont sous forme de sources, contenant les instructions nécessaires à la compilation des paquetages devant être installés. Les fichiers sources sont des fichiers aux formats ".ebuild". Ces scripts ont notament été définis pour permettre la gestion des dépendances.
L'ensemble de ces paquetages fait partie d'une d'une arborescence appelée : Portage,qu'il est important de toujours mettre à jour.
La commande de base utilisée pour installer des paquetages Gentoo est la commande emerge, cette commande permet non seulement d'installer des paquetages mais aussi de supprimer , d'obtenir des informations sur un paquetage et aussi de mettre à jour l'ensemble du Portage.
4.1 Installation, désinstallation, informations, mise à jour
4.1.1 Installation
emerge samba
| Note: | |
bien sûr de la même manière que Debian, si vous ne connaissez pas le nom exact d'un logiciel à télécharger vous pouvez faire une recherche en faisant : emerge search "mot_clé". |
4.1.2 Suppression
emerge -C samba
4.1.3 Information
emerge -searchdesc samba
4.1.4 Mise à jour
emerge sync
5. Installation par Les sources
Les paquetages installés par les sources sont présent sous la forme de fichier tar compréssé soit en bzip2 soit en gzip2. Ces paquetages sont construits toujours de la même manière. On les appelle des "tarballs". Installer un tarball permet de bénéficier de la dernière version d'un logiciel.
La procédure d'installation d'un tarball suit toujours la même logique ainsi définie :
Prenons l'exemple d'un paquetage appelé foobar.tar.gz.
5.1 Téléchargement du tarball
luser@localhost $ wget http://www.foobar.com/Dowload/foobar.tar.gz
5.2 Décompression du tarball à l'aide de l'utilitaire tar
luser@localhost $ tar xzf foobar.tar.gz
| Note: | |
il ne sera pas rare de trouver les tarballs sous le format tar.bz2, il faudra pour cela utiliser la commande tar avec les options "xjf" |
5.3 Allez dans le répertoire crée par la décompréssion
luser@localhost $ cd foobar
5.4 Lancement du script shell configure
luser@localhost $ ./configure
Cette étape aura pour but de créer un fichier Makefile à l'aide de l'utilitaire "autoconf", qui permettra la compilation du logiciel. On peut passer des options à ce script, permettant par exemple de modifier le chemin d'installation, grâce à --prefix=<répertoire> (défaut : /usr/local).
5.5 compilation de l'application
luser@localhost $ make
| Note: | |
vous devez avoir gcc d'installé |
5.6 Installation du logiciel
root@localhost # make install