Séance 3 : Ajout et Suppression de logiciels

Page 1 sur 11Lecteur de document UniversityLib

Séance 3 : Ajout et Suppression de logiciels

System Administration and Network · notes

Voir tous les documents en systèmes d'exploitation et cloud

Séance 3 : Ajout et Suppression de logiciels

Objectifs :

Identifier les outils de gestion des logiciels sous GNU/Linux

Distinguer les différents types d'archives

Appliquer les commandes de gestion des paquetages

Plan :

I.

Introduction

II. Les paquets

III. Les différents types d'archives

MP2L – Administration système et réseau

Page 1

I. Introduction :

Les logiciels sous GNU/Linux sont gérés généralement par l'assemblage de paquets pouvant

contenir le programme en lui-même, la documentation, et les bibliothèques nécessaires à son

fonctionnement et éventuellement d'autres greffons (plugins).

Sous les systèmes d'exploitation propriétaires, on est habitué à utiliser des binaires déjà compilés et

vendus sous cette forme. Par contre, sous GNU/Linux et avec les Logiciels Libres (licence GPL et

assimilées) toute la dynamique repose sur l'idée de laisser les sources non seulement accessibles,

mais modifiables et pouvant être copiées à volonté. Les organisations commerciales ou bénévoles

qui se chargent de produire par la suite des distributions Linux regroupant tous ces logiciels.

Une des conséquences immédiates fut qu'il fallait pouvoir gérer l'installation et la désinstallation des

logiciels contenus sur ces distributions, il fallait aussi prévoir les mises-à-jour et d'autres fonctions

comme le contrôle des dépendances ou la recompilation automatisée.

Plutôt que d’utiliser un système standard de gestion de paquets, chaque distribution a privilégié un

système de gestion de paquets particulier. 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. Ces deux

derniers gèrent les dépendances, c’est-à-dire, 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.

MP2L – Administration système et réseau

Page 2

II. Les paquets :

Un paquet est l’association de plusieurs éléments nécessaires à la configuration, l'installation et

l'utilisation d'un logiciel.

Comme déjà mentionné plus haut, cette association contienne le programme en lui-même, les

bibliothèques nécessaires à son fonctionnement, de la documentations et éventuellement d'autres

greffons (plugins).

Les paquets sont à linux ce que sont les programmes exécutables (.exe) sont à Windows. Ils sont

extrêmement faciles à installer dans la plupart des cas.

Ils se présentent sous les extensions .rpm (pour "Red-hat Package Management") sous les

distributions de type RedHat ( Fedora, mandriva, Suse, …) et sous la forme .deb pour les

distributions de type Debian (debian, ubuntu, …) et sous la forme .tgz pour Slackware.

Ils s'installent par la commande

rpm -ivh programme.rpm

ou

dpkg -i programme.deb

ou encore

installpkg programme.tgz

1. Les 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.

2. Les paquets sources

On trouve également des paquets sources, c'est à dire contenant uniquement des fichiers sources. A

l'aide de certaines commandes il sera alors possible de générer automatiquement un paquet binaire.

MP2L – Administration système et réseau

Page 3

3. Les paquets "dev"

Ce sont des paquets complémentaires de développement. Ils contiennent des fichiers textes (fichiers

headers) et parfois des bibliothèques utilisés pour compiler d'autres paquets. On a besoin d'installer

les paquets "dev" uniquement si on souhaite compiler soi-même des binaires comme nous le

verrons plus bas.

4. Les dépôts logiciels

Les logiciels utilisés sous l’environnement GNU/Linux sont stockés généralement dans des dépôts.

Le plus souvent il s'agit des supports de type Cd ou DVD. Mais il est aussi possible d'ajouter des

dépôts FTP supplémentaires qui permettront les mises à jour (en ligne via internet). Il existe aussi

des dépôts offrant des logiciels non fournis par la distribution, permettant ainsi d'installer encore

plus de logiciels. 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.

III. Les différents types d'archives :

1. Les packages RPM

Publicité

RPM (Red Hat Package Manager) est un outil de gestion de packages (ensemble de fichiers

constituant une application) pour Linux. Il permet d'installer des applications, ainsi que les

supprimer facilement.

Grâce à une commande simple, les fichiers s'installent directement dans les répertoires adéquats.

Le gestionnaire RPM permet aussi :

 La Mise à jour des paquets: Lorsque vous récupérez une nouvelle version d'un package, il

n'est pas nécessaire de désinstaller la version précédente avant d'installer la nouvelle. En

effet RPM permet une mise à jour automatique des packages!

 L’interrogation: RPM permet effectivement de connaître le contenu d'un package, mais il

permet aussi de savoir à quel package appartient un fichier.

 La vérification du système: RPM permet de vérifier l'intégrité d'un package (c'est-à-dire de

MP2L – Administration système et réseau

Page 4

déterminer si tous les fichiers que contenait le package sont bien installés dans le système.

 L’accès aux sources: RPM met à disposition des utilisateurs d'un package les sources, ainsi

que les instructions nécessaires à la compilation au cas où des utilisateurs voudraient

modifier les fichiers du package.

Voici les commandes principales de l’outil RPM :

 Installation: pour installer le package "paq2566_i386.rpm" il suffira de taper :

rpm -ivh paq2566_i386.rpm

Si le package a déjà été installé précédemment le système vous affichera le message

package paq2566 is already installed

(L'option -replacepkgs permet de forcer l'installation)

 Suppression: pour supprimer un package il suffit de taper

rpm -e paq2566

(Où paq2566 représente le nom du package à désinstaller)

 Mise à jour: Pour mettre à jour un package (ce qui part du principe qu'une version

précédente du package a déjà été installée...) il faut taper la commande :

rpm -Uvh paq2566 _i386.rpm

 Interrogation : Il existe plusieurs commandes visant à interroger un ou plusieurs packages

selon divers critères. Les voici :

 Pour connaître des détails sur un package particulier :

rpm -q paq2566 _i386.rpm

 Pour interroger tous les packages existants :

rpm -qa

 Pour interroger les packages contenant un fichier particulier :

rpm -f NomDuFichier

 Pour avoir des informations sur un package :

rpm -p NomDuPackage

 Vérification: Cette option permet de comparer les différences entre le package installé et le

MP2L – Administration système et réseau

Page 5

package tel qu'il devrait être. Les commandes sont

 Pour vérifier vis-à-vis d'un fichier particulier :

rpm -Vf NomDuFichier

 Pour vérifier tous les packages :

rpm -Va

 Pour vérifier un package particulier :

rpm -Vp NomDuPackage

Lorsqu'il n'y a pas d'erreur, le système n'affiche rien. Si par contre une erreur a été détectée

dans le package installé, le système renvoie une chaîne de huit caractères indiquant le type

d'erreur. Voici la signification des caractères

 D: Périphérique

 G: Groupe

 L: Lien symbolique

 M: Mode (Permissions)

 T: date du fichier

 S: Taille du fichier

 U: Utilisateur

2. Les packages DEB

Chez la distribution Debian, l’outil de gestion de package permettant l’'automatisation de

l'installation, la configuration et la mise à jour des logiciels installés s’appelle dpkg. Les packages

Debian sont ainsi des fichiers portant l'extension .deb et pouvant être installés manuellement grâce à

la commande suivante :

dpkg -i nom_du_package.deb

De plus un système complémentaire a été mis au point afin de gérer les dépendances entre les

différents packages et de permettre de les mettre à jour par simple téléchargement: il s'agit du

système apt (Advanced Packaging Tool). Ce système fonctionne à partir d'une liste de sources

(emplacements

auxquels

des

paquetages

sont

disponibles)

présente

dans

le

fichier

Publicité

/etc/apt/sources.list.

Voici les commandes des fonctionnalités principales :

MP2L – Administration système et réseau

Page 6

 Installation: pour installer le package "nom_du_package" il suffira de taper :

apt-get install nom_du_package

ou bien après avoir récupéré manuellement un package spécifique (avec l'extension .deb)

dpkg --install nom_du_package.deb

ou

dpkg -i nom_du_package

En cas de problème de dépendance il est possible (mais déconseillé, sauf en connaissance de

cause) de forcer l'installation avec la commande suivante :

apt-get install -f nom_du_package

 Simulation d'installation: il peut être utile de simuler l'installation du package avant de

procéder à son installation afin de connaître exactement les paquetages dépendants qui vont

être installés et estimer les problèmes éventuels :

apt-get install -s nom_du_package

 Suppression: pour supprimer un package il suffit de taper

apt-get remove nom_du_package

Cette commande supprime le paquet mais conserve les fichiers de configuration. Pour

supprimer également les fichiers de configuration il suffit d'utiliser la commande suivante :

apt-get remove --purge nom_du_package

 Reconfiguration: pour reconfigurer un package il suffit de taper :

dpkg --reconfigure nom_du_package

 Mise à jour de la liste: Pour mettre à jour la liste des packages il faut taper la commande :

apt-get update

 Mise à jour des packages: La mise à jour des packages eux-mêmes se fait grâce à la

commande suivante :

apt-get upgrade

Il est conseillé de lancer cette commande avec le commutateur -u afin de connaître la liste

MP2L – Administration système et réseau

Page 7

exacte des paquetages qui vont être mis à jour :

apt-get -u upgrade

La commande suivant permet également de mettre à jour les paquets en préservant mieux les

dépendances afin de conserver un système plus cohérent :

apt-get dist-upgrade

 Nettoyage: à chaque installation d'un logiciel, le système APT charge le paquetage concerné

et le stocke dans un référentiel local. Au bout d'un certain temps la liste des paquetages

conservés peut devenir importante et gourmande en espace disque, c'est la raison pour

laquelle il peut être utile de faire le ménage parmi ces fichiers. La commande clean permet

de supprimer tous les paquetages n'étant pas verrouillé, ce qui signifie que le paquetage

devra être à nouveau téléchargé s'il doit être reconfiguré :

apt-get clean

La commande autoclean permet de supprimer tous les paquetages n'étant plus disponibles en

téléchargement (et donc a priori obsolètes :

apt-get autoclean

 Interrogation : Il existe plusieurs commandes visant à interroger un ou plusieurs packages

selon divers critères. Les voici :

 Pour connaître la liste des packages contenant un mot clé particulier :

apt-cache search mot_cle

 Pour obtenir plus d'information sur un paquetage donné :

apt-cache show nom_du_package

 Pour afficher les dépendances d'un paquetage :

apt-cache depends nom_du_package

 Pour connaître le paquetage auquel un fichier appartient :

apt-file search nom_du_fichier

 Pour connaître la lite des fichiers d'un paquetage :

apt-file list nom_du_package

MP2L – Administration système et réseau

Page 8

Il existe un logiciel appelé deborphan qui permet d'indiquer le nom de toutes les librairies qui ne

sont plus utilisées sur un système debian. Ces librairies sont appelées orphelines car plus aucun

paquet ne dépend d'elles. Cet outil est notamment très pratique pour nettoyer les paquets inutiles.

Enfin,

il est à noter l'existe d'interfaces graphiques permettant de simplifier la gestion des

paquetages :

 Aptitude

 Synaptic

 Gnome-apt

 Wajig

Décompression des archives :

Les programmes sont la plupart du temps fournis compressés, c'est-à-dire sous un format plus

compact permettant de réduire la taille du programme, notamment pour

faciliter

son

téléchargement, c'est le programme GZIP qui permet ce compactage. Plusieurs fichiers peuvent

aussi être simplement regroupés en une seule archive pour faciliter leur transport, c'est le rôle du

Publicité

programme TAR. Enfin, les fichiers peuvent être compressés et regroupé en une archive portant

l'extension .tar.gz.

Les données compressées existent sous plusieurs formats :

 Tar: les données sous ce format portent l'extension .tar

pour décompresser ce type de données il faut taper en ligne de commande :

tar xvf nom_du_fichier.tar

 Gzip: les fichiers compressées en Gzip possèdent l'extension .gz

pour décompresser ces fichiers il faut taper en ligne de commande :

gunzip nom_du_fichier.gz

 Bzip2: les fichiers compressées en Bzip2 possèdent l'extension .bz2

pour décompresser ces fichiers il faut taper en ligne de commande :

bzip2 -d nom_du_fichier.bz2

 Tar/GZip (on parle généralement de Tarball): les données compressées en TAR et en GZIP

portent l'extension .tar.gz

Elles peuvent être décompressées successivement par les deux moyens énoncés ci-dessus ou

à l'aide de la commande :

MP2L – Administration système et réseau

Page 9

tar zxvf nom_du_fichier.tar.gz

 Tar/BZip2: les données compressées en Tar et en Bz2 portent l'extension .tar.bz2

Elles peuvent être décompressées successivement par les deux moyens énoncés ci-dessus ou

à l'aide de la commande :

tar jxvf nom_du_fichier.tar.bz2

 Compress: les fichiers archivés par le programme Compress portent l'extension .Z, ils

peuvent être décompressés par le programme Uncompress.

Compiler le programme

Les programmes sont généralement écrits en C ou en C++ et la succession des instructions

constituent le fichier source. Celui-ci est inutilisable tel quel, et demande à être traduit en langage

machine à l'aide d'un ensemble d'outils de compilation.

On trouve les fichiers sources quand on va sur le site d'un projet informatique (de l'application en

question). Une fois celle-ci décompressé dans un répertoire de travail (généralement /usr/src), il

faut s'assurer de certains pré-requis avant de démarrer la compilation.

Les outils et méthodes de compilation

Il existe plusieurs méthodes pour générer un binaire, elles se déroulent selon les mêmes étapes :

 Récupération de l'archive source

 Configuration: Le système est scanné pour vérifier si un environnement de compilation est

présent et fonctionnel. Ensuite, les bibliothèques et leurs fichiers de développement (include

et header) sont localisés et testés pour vérifier si leur version est à jour.

 Compilation: l'étape de compilation à proprement parlé.

 Installation: Les fichiers obtenus sont copiés dans l'aborescence du système de fichiers et le

programme est prêt à être utilisé. En option il est parfois possible de générer un paquet

logiciel.

Bien que la compilation se fasse pratiquement toujours de la même façon pour la majorité des

applications, il est vivement conseillé de lire le fichier INSTALL ou README pour connaître

exactement les commandes nécessaires à la compilation du programme.

Dans un premier temps il faut exécuter la commande :

./configure

MP2L – Administration système et réseau

Page 10

Cette commande est un script permettant d'adapter le programme à la machine courante. Les

options de configure sont :

 Pour obtenir de l'aide :

./configure --help

 Pour installer l'application dans un répertoire spécifique :

./configure --prefix="repertoire"

Dans un second temps il faut compiler le programme, grâce à la directive

make

Cette commande peut prendre plusieurs minutes/heures selon votre configuration et le logiciel à

compiler. En cas de probleme, la compilation s'arretera en vous renvoyant un message d'erreur. Si

tout se passe normalement de nombreuses lignes vont être affichées, puis le programme reviendra à

la ligne de commande.

Après avoir compilé l'application, il est possible de l'installer

L'installation de l'application doit s'effectuer en tant que super-utilisateur (root)

Pour installer l'application, la syntaxe suivante est généralement utilisée :

make install

En cas d'échec lors de la compilation, il faut nettoyer les fichiers makefile ayant été créés

automatiquement lors de la compilation avant de recommencer une nouvelle compilation. Cela se

fait grâce à la commande :

make clean

Une fois toutes ces étapes franchies, votre programme devrait être exécutable et se trouver soit dans

le répertoire spécifié lors de l'installation, ou bien généralement dans

/usr/local/nom_du_programme.

MP2L – Administration système et réseau

Page 11