Le système d'exploitation GNU-Linux/Installation de nouveaux logiciels

Un livre de Wikilivres.
Aller à : navigation, rechercher
Le système d'exploitation GNU-Linux
Tux.svg
Plan
  1. Qu'est-ce qu'un système d'exploitation ?
  2. Unix et Linux
  3. Partitionnement du disque
  4. Installation
    1. Installer Debian via le réseau
  5. Utilisateur Unix
    1. Le login
    2. Commandes de base
    3. L'aide en ligne man
    4. L'éditeur de texte vi
    5. Les shells
    6. La complétion
    7. Les jokers
    8. Les répertoires importants
    9. Redirection des entrées/sorties
    10. Invoquer un programme en tâche de fond
    11. Propriétaires et droits d'accès
    12. Processus
  6. Administration du système
    1. Configuration du réseau
    2. Les utilisateurs et groupes
    3. Le processus d'initialisation
    4. Les systèmes de fichiers
    5. Le système virtuel /proc
    6. Les périphériques /dev
    7. L'ordonnanceur de travaux cron
    8. Le backup : tar et gzip
    9. ghost avec partimage
    10. sauvegarde de fichiers avec rsync
    11. Les fichiers journaux syslog
    12. Installation de nouveaux logiciels
    13. Le noyau Linux et les modules
    14. Autres commandes utiles
    15. Installation RAID1 logiciel + LVM + XFS
    16. Scripts de surveillance
    17. Réseaux sans fil
  7. Administration des services réseaux
    1. Le serveur de noms Bind
    2. Le serveur de configuration réseau DHCP
    3. Le serveur de shell distant SSH
    4. Le partage de fichiers Samba
    5. Le partage de fichiers NFS
    6. Le serveur d'impression CUPS
    7. Le serveur de mails Postfix
    8. Le serveur de fichiers FTP
    9. La base de données Mysql
    10. Le serveur Web Apache
    11. Les annuaires LDAP
    12. L'outil d'administration Webmin
    13. Le routage avec iptables et route
    14. La supervision
  8. Sécurisation d'un serveur Linux
    1. Installation d'un service en mode chroot
    2. Protection avec iptables
  9. Médiagraphie
  10. Auteurs
Modifier ce modèle

Au début de linux, installer un logiciel libre nécessitait de récupérer les sources et de les compiler. Cette étape de compilation pouvait être fastidieuse car il fallait disposer de toutes les librairies utilisées par le logiciel.

Redhat a énormément simplifié ce processus en inventant le format RPM (Redhat Package Manager), format qui propose les logiciels open-source pré-compilés.

Debian s'en est inspiré pour créer le format DEB.

  • REDHAT = logiciel.x.y.rpm
  • DEBIAN = logiciel.x.y.deb

x et y correspondent aux numéros de version du logiciel.

dpkg[modifier | modifier le wikicode]

dpkg est le programme qui permet d'installer, mettre à jour et supprimer un logiciel en format DEB. Sur Redhat, la commande rpm fait la même chose.

Installer un fichier DEB[modifier | modifier le wikicode]

L'option -i (i: install) de dpkg (debian package) permet d'installer un fichier DEB :

 # dpkg -i logiciel-x.y.deb

Connaitre la liste de tous les logiciels installés[modifier | modifier le wikicode]

L'option -l (l : list) permet de connaitre la liste de tous les logiciels installés :

 # dpkg -l
 ii  iamerican                          3.1.20.0-4.3                    An American English dictionary for ispell
 ii  ibritish                           3.1.20.0-4.3                    A British English dictionary for ispell
 ii  icedax                             1.1.2-1                         Creates WAV files from audio CDs
 ii  iceweasel                          2.0.0.6-0etch1                  lightweight web browser based on Mozilla
 ii  iceweasel-gnome-support    2.0.0.6-0etch1                  Support for Gnome in Iceweasel
 ...

Savoir quel package a installé tel fichier[modifier | modifier le wikicode]

L'option -S permet de savoir quel package a installé tel fichier :

 # dpkg -S /etc/crontab
 cron: /etc/crontab

Connaitre le descriptif d'un package installé[modifier | modifier le wikicode]

L'option --status permet de consulter le descriptif d'un package installé :

 # dpkg --status dosfstools
 Package: dosfstools
 Status: install ok installed
 Priority: optional
 Section: otherosfs
 Installed-Size: 144
 Maintainer: Roman Hodek <roman@hodek.net>
 Architecture: i386
 Source: dosfstools (2.11-2.1)
 Version: 2.11-2.1+b1
 Replaces: mkdosfs
 Depends: libc6 (>= 2.3.6-6)
 Conflicts: mkdosfs
 Description: Utilities to create and check MS-DOS FAT filesystems
 Inside of this package there are two utilities (mkdosfs alias
 mkfs.dos, and dosfsck alias fsck.msdos) to create and to check MS-DOS
 FAT filesystems on either hard disks or floppies under Linux. This
 version uses the enhanced boot sector/superblock format of DOS 3.3+
 as well as provides a default dummy boot sector code.

On apprend notamment :

  • la priorité : s'agit-il d'un package indispensable ou optionnel ?
  • la taille disque occupée par le package installé
  • le nom et l'email du mainteneur Debian
  • l'architecture
  • le numéro de verstion
  • les dépendances
  • une description courte et longue

Autres options de dpkg[modifier | modifier le wikicode]

La commande dpkg dispose d'une page de manuel détaillant toutes les options disponibles :

 # man dpkg

apt-get[modifier | modifier le wikicode]

La commande apt-get permet d'installer, mettre à jour et supprimer les logiciels. Le principal avantage d'apt-get par rapport à dpkg est sa capacité à télécharger les packages sur les mirroirs Debian et de résoudre les dépendances nécessaires au logiciel, et ceci de façon récursive.

Installer un logiciel[modifier | modifier le wikicode]

L'option install de la commande apt-get permet d'installer un logiciel :

 # apt-get install scribus
 Lecture des listes de paquets... Fait
 Construction de l'arbre des dépendances... Fait
 Les paquets supplémentaires suivants seront installés :
 blt python-imaging python-imaging-tk python-tk tk8.4
 Paquets suggérés :
 blt-demo python-imaging-doc tix scribus-template scribus-doc
 ttf-bitstream-vera
 Les NOUVEAUX paquets suivants seront installés :
 blt python-imaging python-imaging-tk python-tk scribus tk8.4
 0 mis à jour, 6 nouvellement installés, 0 à enlever et 3 non mis à jour.
 Il est nécessaire de prendre 8467ko dans les archives.
 Après dépaquetage, 24,2Mo d'espace disque supplémentaires seront utilisés.
 Souhaitez-vous continuer [O/n] ?       

Note: apt-get install va télécharger tous les packages nécessaires au bon fonctionnement du logiciel, et apeller dpkg -i sur chaque fichier DEB téléchargés.

Il existe plus de 300 miroirs DEBIAN

Rajouter des mirroirs[modifier | modifier le wikicode]

On peut rajouter des miroirs à apt-get en modifiant le fichier /etc/apt/sources.list. Ce fichier contient la liste des mirroirs officiels DEBIAN, et on peut rajouter d'autres mirroirs.

 # cat /etc/apt/sources.list
 deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 NETINST Binary-1 2007$
 deb http://ftp.fr.debian.org/debian/ etch main contrib non-free
 deb-src http://ftp.fr.debian.org/debian/ etch main contrib non-free
 deb http://security.debian.org/ etch/updates main contrib
 deb-src http://security.debian.org/ etch/updates main contrib

On peut rajouter à ce fichier un mirroir contenant des fichiers DEB non-intégrés dans les mirroirs officiels Debian :

 deb http://www.virtualbox.org/debian etch non-free

Mettre à jour la liste des logiciels disponibles[modifier | modifier le wikicode]

Chaque fois que l'on modifie le fichier /etc/apt/sources.list, il faut lancer la commmande apt-get update pour récupérer la liste des nouveaux logiciels :

 # apt-get update
 # apt-get install virtualbox

Note: apt-get utilise la commande wget pour télécharger les fichiers.

Mettre à jour tous les logiciels installés[modifier | modifier le wikicode]

L'option upgrade de apt-get prend la liste des paquets installés, regarde sur le dépots si ces logiciels sont disponibles dans une version plus récentes. Si c'est le cas, cette commande va mettre à jour ces logiciels.

Effacer les fichiers DEB installés[modifier | modifier le wikicode]

Par défaut, la commande apt-get conserve tous les fichiers DEB installés dans le répertoire /var/cache/apt/archives.

L'option clean permet d'effacer les fichiers DEB que l'on a installé :

 # apt-get clean
 # ls -l /var/cache/apt/archives
 total 0

Autres options de apt-get[modifier | modifier le wikicode]

La commande apt-get dispose d'une page de manuel détaillant toutes les options disponibles :

 # man apt-get

apt-cache[modifier | modifier le wikicode]

Chercher un package[modifier | modifier le wikicode]

L'option search de la commande apt-cache permet de rechercher un terme sur les paquets installés et non-installés.

 # apt-cache search vob
 gaupol - subtitle editor for text-based subtitle files
 gopchop - Fast, lossless cuts-only editor for MPEG2 video files
 gstreamer0.8-mpeg2dec - MPEG1 and MPEG2 video decoder plugin for GStreamer
 libogg-vorbis-header-pureperl-perl - A pure Perl interface to Ogg Vorbis information fields
 livemedia-utils - multimedia RTSP streaming tools
 mplayer - The Movie Player
 python-vobject - parse iCalendar and VCards in python
 vobcopy - A tool to copy DvD VOBs to hard disk

Voir les informations d'un package[modifier | modifier le wikicode]

L'option show de la commande apt-cache permet de voir les informations d'un paquet (installé ou non).

 # apt-cache show k3b
 ...

Autres options de apt-cache[modifier | modifier le wikicode]

La commande apt-cache dispose d'une page de manuel détaillant toutes les options disponibles :

 # man apt-cache

aptitude[modifier | modifier le wikicode]

La commande aptitude est un remplacant d'apt-get, son principal avantage est de désinstaller les dépendances.

synaptic[modifier | modifier le wikicode]

Le programme synaptic permet d'effectuer les mêmes opérations que la commande apt-get depuis l'interface graphique.

Synaptic-0.60-fr-Ubuntu.png

Les documentations des packages[modifier | modifier le wikicode]

Chaque package Debian est accompagné d'une documentation. Ces documentations se trouvent dans le répertoire /usr/share/doc :

/usr/share/doc/<nom du package>/

Certaines documentations sont compressées en gzip afin d'économiser de la place disque. On peut utiliser les commandes zcat, zmore ou zless pour visualiser ces fichiers sans avoir à les décompresser :

 # zmore /usr/share/doc/python/python-policy.txt.gz

Installer un logiciel à partir des sources[modifier | modifier le wikicode]

Dans certains cas, on peut être amené à devoir installer un logiciel à partir des fichiers sources :

  • le logiciel n'est pas disponible sous Debian en .DEB
  • on a besoin d'une version plus récente du logiciel
  • on a besoin d'une option uniquement activable durant la compilation
  • ...

Pour faire ceci, on télécharge les sources du logiciel et on va les compiler.

Debian fournit un répertoire particulier destiné à accueillir les programmes installés à la main : /usr/local.

Si on regarde le contenu de ce répertoire, on constate qu'il contient des sous-répertoires déjà présents à la racine :

 # ls /usr/local/
 bin  etc  games  include  lib  man  sbin  share  src

Ces répertoires vont accueillir tous les fichiers des programmes installés à la main :

  • les exécutables : /usr/local/bin ou /usr/local/sbin
  • les fichiers de configuration : /usr/local/etc
  • les librairies : /usr/local/lib
  • les pages de man : /usr/local/man
  • les fichiers communs (icones, traductions ...) : /usr/local/share
  • ...

Pour illustrer cette méthodologie, nous allons installer pidgin.

Tout d'abord, on télécharge les fichiers sources du logiciel dans le répertoire /usr/local/src :

 # cd /usr/local/src
 # wget http://downloads.sourceforge.net/pidgin/pidgin-2.3.0.tar.bz2
 # tar xjf pidgin-2.3.0.tar.bz2
 # cd pidgin-2.3.0

La première chose à faire est de lire le fichier README :

 # more README

On apprend dans ce fichier qu'il faut lire le fichier INSTALL pour connaître les dépendances et la procédure pour compiler le logiciel :

 # more INSTALL

Comme dans la majorité des logiciels écrits en langage C, il faut effectuer la procédure standard : ./configure; make; make install .

On lance donc la première commande :

 # ./configure

Cette étape se solde par une erreur : pidgin a besoin de la librairie perl XML parser. On cherche donc le packet Debian contenant cette librairie :

 # apt-cache search perl xml parser
 ...
 libxml-parser-perl - Perl module for parsing XML files
 ...

On installe donc le packet libxml-parser-perl :

 # apt-get install libxml-parser-perl

On relance le ./configure :

 # ./configure

Cette étape se solde à nouveau par une erreur : pidgin a besoin de la librairie de développement glib2. On cherche donc le packet Debian contenant cette librairie et on l'installe :

 # apt-cache search glib 2 dev
 ...
 libglib2.0-dev - Development files for the GLib library
 ...
 # apt-get install libglib2.0-dev

On relance le ./configure :

 # ./configure

Cette étape se solde à nouveau par une erreur : pidgin a besoin de la librairie de développement xml2. On cherche donc le packet Debian contenant cette librairie et on l'installe :

 # apt-cache search lib xml2 dev
 ...
 libxml2-dev - Development files for the GNOME XML library
 ...
 # apt-get install libxml2-dev

On relance le ./configure :

 # ./configure
 ...
 Pidgin will be installed in /usr/local/bin.
 configure complete, now type 'make'

Cette fois-ci, l'étape s'est terminée sans erreur et on peut lancer la compilation :

 # make
 ...
 # make install
 ...

Ca y est (enfin!), le logiciel s'est correctement installé, et l'exécutable a été copié dans le répertoire /usr/local/bin :

 # ls -l /usr/local/bin
 total 2280
 -rwxr-xr-x 1 root staff 2329930 2007-12-07 10:06 pidgin

On peut désormais lancer le logiciel et l'utiliser :

 $ pidgin


Nuvola apps korganizer.svg
À faire...

parler de checkinstall