site sans réclame GNU/LinuxDebianÉcrireS'abonner

Installer un logiciel avec GNU/Linux, orienté Debian

1. apt (Debian)

1.1 sources.list
1.2 apt-get
1.3 Mise à jour
1.4 dpkg
1.5 Multi-Arch

2 Synaptic

3. Compiler des sources

4. Chargement de modules

1. apt-get (Debian)

Le système d'installation de Debian s'appelle apt (Advanced Packaging Tool), repris par les systèmes basés sur Debian. Les commandes apt recherchent et installent les applications de façon très automatique, en recherchant et installant les éventuelles librairies nécessaires.

1.1 sources.list

Les dépôts qui seront visités figurent dans le fichier /etc/apt/sources.list

# deb cdrom:[Debian GNU/Linux 8.0.0 _Stretch_ - Official amd64 NETINST Binary-1 20150425-12:50]/ stretch main

deb http://ftp.be.debian.org/debian/ jessie main non-free contrib
deb-src http://ftp.be.debian.org/debian/ stretch main non-free contrib

deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free

# stretch-updates, previously known as 'volatile'
deb http://ftp.be.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.be.debian.org/debian/ stretch-updates main contrib non-free

# stretch-backports, previously on backports.debian.org
deb http://ftp.be.debian.org/debian/ stretch-backports main contrib non-free
deb-src http://ftp.be.debian.org/debian/ stretch-backports main contrib non-free

deb http://www.deb-multimedia.org/ stretch non-free main

Ce fichier modifié, il est nécessaire de remettre à jour la base de données de la logithèque apt avec:

suEn mode super-utilisateur: su [Enter] apt-get update

1.2 apt-get

suEn mode super-utilisateur: su [Enter] apt-get install application_souhaitée permet l'installation d'une application en ligne de commande, à partir de CD, clé USB ou connexion Internet.
suEn mode super-utilisateur: su [Enter] apt-get remove [--purge] application désinstalle [complètement: fichiers de configuration y compris] un paquet

Bien que Debian ait opté pour des noms simples débarrassés des numéros de version, on ne sait pas toujours comment s'appelle exactement une application:

apt-cache search mot_clé recherche un mot clé dans le noms et le descriptif des applications
apt-cache search video mpg4 sélectionne les applications dont le nom et le descriptif contiennent en même temps video et mpg4
apt-cache show paquet donne les informations disponibles sur un paquet particulier

L'installation consiste en un placement des paquets .deb en /var/cache/apt/archives/, en une décompression des paquets et le placement d'exécutables, de la documentation ou des données en /usr/bin ou /usr/share, en tenant compte des dépendances (librairies nécessaires), en l'actualisation de la base de données et l'édition éventuellement de fichiers de configuration. De plus, le menu de lancement de logiciel de votre bureau est le plus souvent actualisé avec les nouvelles applications.

Attention: apt-get ne peut fonctionner tant qu'une installation par dpkg est en cours ou lorsque synaptic est ouvert, car la base de données des applications est verrouillée, ce qui empêche deux opérations d'installation contradictoires.

1.3 Mises à jour

Il est bon de temps en temps de vérifier qu'il n'existe pas de nouvelle version corrigeant les éventuels défauts ou problèmes de sécurité des applications se trouvant sur votre système. Cela se fait en deux temps:

suEn mode super-utilisateur: su [Enter] apt-get update remet à jour la base de données des dépôts indiqués dans le fichier /etc/apt/sources.list
suEn mode super-utilisateur: su [Enter] apt-get upgrade recherche les nouvelles versions des applications installées sur votre système et remplace les anciennes

Attention: il peut exister des conflits entre versions différentes d'un paquet situées sur des dépôts différents. Il faut alors spécifier le dépôt:

suEn mode super-utilisateur: su [Enter] apt-get -t stretch-backports install nom-du-paquet

suEn mode super-utilisateur: su [Enter] apt-get clean détruit les paquets .deb téléchargés lors d'une installation, ce qui permet de récupérer de la place.

Mise à jour de la distribution

Il est possible d'installer la nouvelle version de la distribution, comme passer de Debian 9 Stretch (juin 2017) à Debian 10 Buster (2019).

Remplacer stretch par buster dans le fichier /etc/apt/sources.list (voir apt). suEn mode super-utilisateur: su [Enter] apt-get update suEn mode super-utilisateur: su [Enter] apt-get dist-upgrade

1.4 dpkg

suEn mode super-utilisateur: su [Enter] dpkg -i nom_du_paquet.deb installe un paquet téléchargé, à condition de disposer des paquets dont il dépend (ce n'est pas conseillé, le système Debian étant un tout structuré). Il est possible que l'installation ne puisse se faire parce qu'il manque de librairies. Utiliser alors la commande suEn mode super-utilisateur: su [Enter] apt-get install --fix-missing

suEn mode super-utilisateur: su [Enter] dpkg-reconfigure nom_du_paquet permet de reparamétrer un paquet

suEn mode super-utilisateur: su [Enter] dpkg --remove nom_du_paquet permet d'éliminer un paquet mal configuré, qui empêche toute nouvelle installation ou configuration (tel une tentative d'installation de ttf-mscorefonts-installer sur Jessie.

Pour sauvegarder la liste des applications actuellement installée sur votre système Debian:

dpkg --get-selections > paquets.txt

Ce fichier (à conserver sur une clé USB ou sur une partition qui ne sera pas reformatée) sera utile pour réinstaller ces applications après réinstallation du système:

suEn mode super-utilisateur: su [Enter] apt-get update
suEn mode super-utilisateur: su [Enter] dpkg --set-selections < paquets.txt
suEn mode super-utilisateur: su [Enter] apt-get dselect-upgrade

Attention: dpkg ne peut fonctionner tant qu'une installation par apt-get est en cours ou lorsque synaptic est ouvert, car la base de données des applications est verrouillée.

1.5 Multi-Arch

Le système Multi-Arch permet d'utiliser des binaires prévus pour une autre architecture. Dans cet exemple, il s'agit d'utiliser skype écrit pour une architecture 32bits avec une distribution 64 bits:

suEn mode super-utilisateur: su [Enter] dpkg --add-architecture i386
suEn mode super-utilisateur: su [Enter] apt-get update
suEn mode super-utilisateur: su [Enter] apt-get -f install
suEn mode super-utilisateur: su [Enter] dpkg -i skype-debian_4.3.0.37-1_i386.deb

Note: il faut parfois relancer suEn mode super-utilisateur: su [Enter] apt-get -f install avant une nouvelle réinstallation du paquet .deb

2. Synaptic

Synaptic est une interface utilisateur pour les commandes apt. Elle se lance avec gksu synaptic. Appelée par le menu Gnome ou Mate-desktop, le mot de passe du super-utilisateur est de toute façon exigé. Bien que synaptic puisse être utilisé pour les distributions basées sur le système rpm , nous nous limiterons au système apt.

Synaptic permet la recherche d'applications dans la base de donnée Debian, donne un aperçu de leur utilité, les installe en vérifiant leurs dépendances (une application se base en général sur des librairies, ou sont des versions graphiques d'applications en ligne de commande) et les configure.

Avec une connexion rapide, cela permet de suivre l'évolution des applications et de leur sécurité: Synaptic permet l'update en cliquant successivement sur les trois gros boutons de la barre en haut, Recharger (apt-get update), Tout mettre à jour (apt-get upgrade) et, s'il y a de nouvelles versions de paquets: Appliquer

Comme apt-get, synaptic se base sur le fichier /etc/apt/sources.list), mais la gestion est plus aisée, par Configuration » Dépôts:

URI: http://ftp.be.debian.org/debian/ (ou similaire)
Distribution: stretch (ou testing si vous vous y connaissez)
Catégorie(s): contrib non-free main (ou seulement main pour les puristes)

Un petit carré vert devant le nom d'un paquet signifie qu'il est installé. Avec une petite étoile jaune, cela signifie qu'un des dépôts contient une version plus récente. Il n'est pas toujours conseillé de procédéer à la mise à niveau, une application d'un dépôt nécessitant peut-être sa version plus ancienne.

Si synaptic n'est pas installé, il faudra utiliser... la ligne de commande

suEn mode super-utilisateur: su [Enter] apt-get install synaptic

Note: pour éviter que deux ou polusieurs applications ne manipulent simultanément le système apt, une application d'administration verrouille la base de données des applications. Impossible donc d'utiliser en même temps synaptic, apt-get ou dpkg.

3. Compiler des sources

Certaines applications n'existent que sous forme d'archives à compiler, soit qu'elles n'existent pas dans un paquet officiel de votre distribution, soit pas sous une version comprenant une fonctionnalité dont vous avez besoin. Une compilation n'est pas nécessairement difficile, si l'on veut bien faire attention à ce que la machine raconte.

uname -r indique le numéro de noyau Linux. Certains paquets à compiler ne fonctionnent que pour certaines versions du noyaux (entre 3.06 et 3.14, par exemple).

Il faut que certains paquets soient installés:

Pour la compilation proprement dite, il faut décompresser votreapplication.tar.gz et d'abord lire le fichier README ou INSTALL qui s'y trouve. La procédure à suivre est (le plus généralement!):

  1. tar -xvjf répertoire-à-décompresser.tar.bz2 (il est possible de double-cliquer sur le zip et le décompresser en tirant-glissant le répertoire)
  2. cd répertoire-décompressé (il peut être intéressant de simplifier son nom au préalable)
  3. Lire le fichier README ou INSTALL, qui indique parfois une méthode particulière, sinon:
  4. ./configure lance le fichier configure du répertoire, qui fabrique le fichier makefile
  5. make lance la commande make normalement disponible sur votre système (sinon, installer make)
  6. suEn mode super-utilisateur: su [Enter] make install lance l'installation.

Parfois, un script d'installation ./install remplace la procédure ./configure / make / make install.

En général, les erreurs surviennent lors des deux premières étapes, par exemple:

Error 1: libgcc1 library not found

doit vous inciter à installer le paquet libgcc1.

4. Chargement de modules

suEn mode super-utilisateur: su [Enter] modprobe module permet de charger un module et ses dépendances. Pour automatiser cela, inscrire les modules (dans l'ordre des dépendances: le module spécifié en dernier lieu) dans le fichier /etc/modules (pour Mandriva, ce serait le fichier /etc/modprobe.preload).

lsmod permet de déceler les modules dépendants, mais peut-être vaut-il mieux comparer avant et après modprobe – pas trop pratique.