Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Red Hat Enterprise Linux - CentOS
  3. Installation de logiciels
Extrait - Red Hat Enterprise Linux - CentOS Mise en production et administration de serveurs (4e édition)
Extraits du livre
Red Hat Enterprise Linux - CentOS Mise en production et administration de serveurs (4e édition) Revenir à la page d'achat du livre

Installation de logiciels

Introduction et historique

L’installation de logiciels est sans aucun doute l’un des points les plus sensibles de l’administration système. En effet, certaines tâches auparavant peu évidentes sous Linux, ont été grandement facilitées comme l’installation du système par exemple. D’autres tâches font appel à des compétences techniques importantes et laissent peu de place au hasard, citons la gestion des utilisateurs.

Cependant, pour certaines raisons, la gestion des installations de logiciels est un sujet qu’il faut comprendre et maîtriser techniquement mais aussi théoriquement. 

L’une des principales raisons vient du fait qu’il n’y a pas de consensus dans le monde Linux, et dans le monde du libre en général. Là où d’autres systèmes d’exploitation propriétaires ont imposé leur schéma de gestion des logiciels, il y a dans le monde Linux plusieurs options proposées, variables dans leur efficacité et adaptables aux besoins.

Cette variété de systèmes de gestion de logiciels s’explique par la multiplicité des distributions Linux d’un côté, et le grand nombre de plates-formes matérielles supportées de l’autre.

Pour un système d’exploitation propriétaire qui se réduit à quelques moutures sur une ou deux plates-formes matérielles, on trouve des centaines de distributions Linux sur des dizaines de plates-formes, sur lesquelles doit travailler l’auteur d’un logiciel.

Ainsi, alors qu’au début chaque administrateur système devait lui-même compiler le logiciel à installer, avec le temps sont apparues des solutions de plus en plus pratiques.

Gestion des logiciels - Historique

Retour aux sources...

Installation avec le gestionnaire de paquets YUM

1. Introduction à YUM

YUM (Yellow Dog Updater Modified) est le gestionnaire de paquets officiel de Red Hat Enterprise Linux. Basé sur le format de paquet RPM de Red Hat, il est l’œuvre des auteurs de la distribution Yellow Dog Linux mais est utilisé sur beaucoup d’autres distributions que Red Hat.

À partir de RHEL 8, l’outil DNF remplace YUM. C’est pourquoi la commande dnf remplace peu à peu la commande yum dans l’ensemble du monde Red Hat, ainsi que dans la suite de cet ouvrage.

Il faut être super-utilisateur root pour pouvoir installer, supprimer ou mettre à jour des paquets. De plus, il faut que le système soit enregistré auprès du Portail Client pour pouvoir télécharger des paquets à partir des dépôts de Red Hat. Pour savoir comment enregister le système, rendez-vous au chapitre Déploiement d’un serveur Red Hat. Dernier détail important : il faut que l’heure sur le système soit correcte.

Les paragraphes suivants développent l’installation de paquets en ligne de commande. Il existe néanmoins un gestionnaire de paquet en interface graphique, dans le menu Système - Administration - Ajouter/Enlever des logiciels.

Mise à jour de YUM avec la version 4, ou DNF

La version 4 de YUM est en fait l’outil DNF (pour Dandified Yum, de dandy, élégant) :

[root@scott ~]# ls -lh /usr/bin/yum  
lrwxrwxrwx. 1 root root 5 14 févr. 07:02 /usr/bin/yum -> dnf-3  
[root@scott ~]# yum -version  
4.0.9  
  Installés : dnf-0:4.0.9.2-5.el8.noarch à lun. 17 juin 2019 21:35:49 GMT 
(...)  
  Installés : rpm-0:4.14.2-9.el8.x86_64 à lun. 17 juin 2019 21:24:16 GMT 

Dans la pratique, cela ne change pas grand-chose, à...

RPM : installation de paquets indépendants

Certains programmes ne sont pas disponibles dans des dépôts, soit parce qu’ils ne sont pas assez populaires, soit parce qu’ils sont propriétaires. En revanche, beaucoup d’entre eux sont disponibles sur le site de leur éditeur sous la forme de paquets RPM simples, qu’il faut télécharger et installer avec une commande dédiée : rpm.

RPM (RPM Package Manager, gestionnaire de paquets RPM) est un programme qui gère l’installation de paquets RPM, disponibles sur beaucoup de plates-formes (dont Fedora et CentOS).

Le format de paquet RPM, quant à lui, veut dire Red Hat Packet Management.

RPM dispose d’une base de données locale, qui conserve la liste des paquets installés. RPM vous permet donc de savoir quels paquets ont été installés, avec leur numéro de version, et quelles sont leurs dépendances. Il est ainsi possible de les mettre à jour ou de les désinstaller.

RPM installe des paquets RPM « isolés », c’est-à-dire qu’il ne fait pas la résolution des dépendances. Utilisez Yum quand c’est possible. Notons que Yum utilise aussi le format de paquet RPM, mais d’une manière bien plus puissante.

1. Où trouver des RPM ?

Nous l’avons dit, il est préférable d’utiliser Yum pour installer des logiciels. Cependant, il est des cas où Yum ne répondra pas à vos besoins. Dans ce cas, où trouver des paquets RPM ?

Il y a plusieurs solutions possibles :

  • Le DVD d’installation de Red Hat Enterprise Linux. Lorsque vous installez le système d’exploitation, ou lorsque vous utilisez Yum, ce sont en fait des paquets RPM qui sont installés.

  • Dans les dépôts logiciels.

  • Les sites web des dépôts...

Compilation à partir des sources

La plupart des logiciels dont vous avez besoin devraient être disponibles dans les dépôts logiciels standards, ou sous la forme de RPM précompilés distribués par l’auteur.

Il arrive dans certains cas que les logiciels que vous désirez installer ne soient pas disponibles pour Red Hat Enterprise Linux, mais seulement sous la forme de fichiers sources qu’il faudra compiler.

Même s’il n’est pas développeur, l’administrateur système sera parfois amené à devoir installer un logiciel à partir du code source. Il lui est donc nécessaire de connaître les étapes minimum pour arriver à ses fins.

1. Compilation : pourquoi ?

Les programmes exécutés par la machine sont :

  • soit des scripts écrits dans un langage interprété, comme les scripts bash. Dans ce cas, il faut un interpréteur, qui va « convertir » ces commandes en langage compréhensible par la machine, bien souvent simplement en lançant des commandes déjà compilées ;

  • soit des programmes qui sont rédigés en langage machine et donc exécutables directement. Comme ces programmes n’ont pas besoin d’être interprétés, leur exécution est beaucoup plus rapide que des scripts.

Un bon exemple de cette différence est le logiciel Cacti, dont le but est de générer des graphes d’utilisation de machines. Le logiciel qui se connecte aux machines pour rapatrier des statistiques est appelé un poller. La première version de cet applicatif était écrite en PHP, un langage interprété. Pour améliorer ses performances, il est maintenant conseillé d’utiliser le poller spine, écrit en C et compilé...