Administrateur Linux - Gestion des packages

La gestion des paquets dans CentOS peut être effectuée de deux manières: depuis le terminal et depuis l'interface utilisateur graphique.

Le plus souvent, la majorité du temps d'un administrateur CentOS utilisera le terminal. La mise à jour et l'installation de packages pour CentOS ne sont pas différentes. Dans cet esprit, nous allons d'abord explorer la gestion des paquets dans le terminal, puis aborderons l'utilisation de l'outil graphique de gestion des paquets fourni par CentOS.

Gestionnaire de packages YUM

YUM est l'outil fourni pour la gestion des paquets dans CentOS. Nous avons brièvement abordé ce sujet dans les chapitres précédents. Dans ce chapitre, nous travaillerons à partir d'une installation CentOS propre. Nous allons d'abord mettre à jour complètement notre installation puis installer une application.

YUM a beaucoup apporté l'installation et la gestion de logiciels sous Linux. YUM vérifie "automatiquement" les dépendances obsolètes, en plus des packages obsolètes. Cela a vraiment pris une charge de l'administrateur CentOS par rapport à l'ancien temps de compilation de chaque application à partir du code source.

miam check-update

Recherche les packages pouvant mettre à jour les candidats. Pour ce didacticiel, nous supposerons qu'il s'agit d'un système de production qui fera face à Internet sans aucune application de production qui doit être testée par DevOps avant de mettre à niveau les packages. Installons maintenant les candidats mis à jour sur le système.

[root@localhost rdc]# yum check-update
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com
 * updates: mirror.clarkson.edu
NetworkManager.x86_64                     1:1.4.0-19.el7_3              updates
NetworkManager-adsl.x86_64                1:1.4.0-19.el7_3              updates 
NetworkManager-glib.x86_64                1:1.4.0-19.el7_3              updates 
NetworkManager-libnm.x86_64               1:1.4.0-19.el7_3              updates 
NetworkManager-team.x86_64                1:1.4.0-19.el7_3              updates 
NetworkManager-tui.x86_64                 1:1.4.0-19.el7_3              updates 
NetworkManager-wifi.x86_64                1:1.4.0-19.el7_3              updates 
audit.x86_64                              2.6.5-3.el7_3.1               updates    
vim-common.x86_64                         2:7.4.160-1.el7_3.1           updates 
vim-enhanced.x86_64                       2:7.4.160-1.el7_3.1           updates 
vim-filesystem.x86_64                     2:7.4.160-1.el7_3.1           updates 
vim-minimal.x86_64                        2:7.4.160-1.el7_3.1           updates 
wpa_supplicant.x86_64                     1:2.0-21.el7_3                updates 
xfsprogs.x86_64                           4.5.0-9.el7_3                 updates

[root@localhost rdc]#

miam mise à jour

Cela installera tous les candidats mis à jour rendant votre installation CentOS actuelle. Avec une nouvelle installation, cela peut prendre un peu de temps en fonction de votre installation et de la vitesse de votre connexion Internet.

[root@localhost rdc]# yum update

vim-minimal                        x86_64    2:7.4.160-1.el7_3.1     updates    436 k 
wpa_supplicant                     x86_64    1:2.0-21.el7_3          updates    788 k 
xfsprogs                           x86_64    4.5.0-9.el7_3           updates    895 k  

Transaction Summary 
======================================================================================
Install    2 Packages 
Upgrade  156 Packages  
Total download size: 371 M

Is this ok [y/d/N]:

Installer le logiciel via YUM

Outre la mise à jour du système CentOS, le gestionnaire de packages YUM est notre outil incontournable pour installer le logiciel. Tout, des outils de surveillance réseau, des lecteurs vidéo aux éditeurs de texte, peut être installé à partir d'un référentiel central avec YUM .

Avant d'installer quelques utilitaires logiciels, examinons quelques commandes YUM . Pour le travail quotidien, 90% de l'utilisation de YUM par un administrateur CentOS se fera avec environ 7 commandes. Nous allons passer en revue chacun dans l'espoir de se familiariser avec le fonctionnement de YUM à un niveau compétent pour une utilisation quotidienne. Cependant, comme la plupart des utilitaires Linux, YUM offre une multitude de fonctionnalités avancées qu'il est toujours agréable d'explorer via la page de manuel. Utiliser man yum sera toujours la première étape pour effectuer des opérations inconnues avec n'importe quel utilitaire Linux.

Commandes YUM les plus courantes

Voici les commandes YUM couramment utilisées.

Commander action
liste installée Répertorie les packages installés via YUM
tout lister Répertorie tous les packages actuellement disponibles
liste de groupe Répertorie les packages groupés
Info Fournit des informations détaillées sur un package
chercher Recherche les descriptions et les noms des packages
installer Installe un package
localinstall Installe un package RPM local
retirer Supprime et installe le package
Nettoie tout Nettoie / var / cache / yum pour libérer de l'espace disque
mec miam Comme toutes les commandes Linux, le fichier d'aide

Installer le logiciel avec YUM

Nous allons maintenant installer un navigateur Web basé sur du texte appelé Lynx. Avant l'installation, nous devons d'abord obtenir le nom du package contenant le navigateur Web Lynx. Nous ne sommes même pas sûrs à 100% que notre référentiel CentOS par défaut fournit un package pour le navigateur Web Lynx, alors cherchons et voyons -

[root@localhost rdc]# yum search web browser
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com 
 * updates: mirror.clarkson.edu 
=================================================================
N/S matched: web, browser
================================================================== 
icedtea-web.x86_64 : Additional Java components for OpenJDK - Java browser
plug-in and Web Start implementation
elinks.x86_64 : A text-mode Web browser
firefox.i686 : Mozilla Firefox Web browser
firefox.x86_64 : Mozilla Firefox Web browser
lynx.x86_64 : A text-based Web browser

Full name and summary matches only, use "search all" for everything.
 
[root@localhost rdc]#

Nous voyons que CentOS propose le navigateur Web Lynx dans le référentiel. Voyons plus d'informations sur le package.

[root@localhost rdc]# lynx.x86_64
bash: lynx.x86_64: command not found...
[root@localhost rdc]# yum info lynx.x86_64
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com
 * updates: mirror.clarkson.edu
Available Packages
Name        : lynx
Arch        : x86_64
Version     : 2.8.8
Release     : 0.3.dev15.el7
Size        : 1.4 M
Repo        : base/7/x86_64
Summary     : A text-based Web browser
URL         : http://lynx.isc.org/
License     : GPLv2
Description : Lynx is a text-based Web browser. Lynx does not display any images, 
            : but it does support frames, tables, and most other HTML tags. One 
            : advantage Lynx has over graphical browsers is speed; Lynx starts and
            : exits quickly and swiftly displays web pages.
            
[root@localhost rdc]#

Agréable! La version 2.8 est assez récente, alors installons Lynx.

[root@localhost rdc]# yum install lynx
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com
 * updates: mirror.clarkson.edu 
Resolving Dependencies
--> Running transaction check 
---> Package lynx.x86_64 0:2.8.8-0.3.dev15.el7 will be installed 
--> Finished Dependency Resolution  
Dependencies Resolved  
===============================================================================
===============================================================================
Package                          Arch
Version                       Repository                    Size 
===============================================================================
===============================================================================
Installing: 
 lynx                           x86_64
2.8.80.3.dev15.el7              base                        1.4 M

Transaction Summary
===============================================================================
===============================================================================
Install  1 Package

Total download size: 1.4 M 
Installed size: 5.4 M 
Is this ok [y/d/N]: y 
Downloading packages: 
No Presto metadata available for base
lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
| 1.4 MB  00:00:10      
Running transaction check 
Running transaction test 
Transaction test succeeded 
Running transaction 
   Installing : lynx-2.8.8-0.3.dev15.el7.x86_64
1/1
   Verifying  : lynx-2.8.8-0.3.dev15.el7.x86_64
1/1

Installed: 
   lynx.x86_64 0:2.8.8-0.3.dev15.el7
Complete!

[root@localhost rdc]#

Ensuite, assurons-nous que Lynx s'est installé correctement.

[root@localhost rdc]# yum list installed | grep -i lynx

lynx.x86_64                   2.8.8-0.3.dev15.el7              @base     
[root@localhost rdc]#

Génial! Utilisons Lynx pour voir à quoi ressemble le Web sans "j'aime" et sans jolies images.

[root@localhost rdc]# lynx www.tutorialpoint.in

Génial, nous avons maintenant un navigateur Web pour notre serveur de production qui peut être utilisé sans trop de soucis dans des exploits à distance lancés sur le Web. C'est une bonne chose pour les serveurs de production.

Nous avons presque terminé, mais nous devons d'abord configurer ce serveur pour que les développeurs testent les applications. Ainsi, assurons-nous qu'ils disposent de tous les outils nécessaires à leur travail. Nous pourrions tout installer individuellement, mais CentOS et YUM ont rendu cela beaucoup plus rapide. Installons le package de groupe de développement .

[root@localhost rdc]# yum groups list 
Loaded plugins: fastestmirror, langpacks 
Loading mirror speeds from cached hostfile 
 * base: mirror.scalabledns.com 
 * extras: mirror.scalabledns.com 
 * updates: mirror.clarkson.edu
 
Available Groups: 
   Compatibility Libraries 
   Console Internet Tools 
   Development Tools 
   Graphical Administration Tools
   Legacy UNIX Compatibility 
   Scientific Support 
   Security Tools 
   Smart Card Support 
   System Administration Tools 
   System Management 
Done

[root@localhost rdc]#

Il s'agit d'une liste plus petite de groupes de packages fournis par CentOS. Voyons ce qui est inclus dans le "Groupe de développement".

[root@localhost rdc]# yum group info "Development Tools" 
Loaded plugins: fastestmirror, langpacks 
There is no installed groups file. 
Maybe run: yum groups mark convert (see man yum) 
Loading mirror speeds from cached hostfile 
 * base: mirror.scalabledns.com 
 * extras: mirror.scalabledns.com 
 * updates: mirror.clarkson.edu
 
Group: Development Tools 
Group-Id: development 
Description: A basic development environment. 
Mandatory Packages: 
autoconf 
automake 
binutils 
bison

Le premier écran de sortie est comme vu ci-dessus. Cette liste entière est assez complète. Cependant, ce groupe devra généralement être installé dans son intégralité au fil du temps. Installons l'ensemble du groupe de développement.

[root@localhost rdc]# yum groupinstall "Development Tools"

Ce sera une installation plus importante. Une fois terminé, votre serveur aura la plupart des bibliothèques de développement et des compilateurs pour Perl, Python, C et C ++.

Gestion graphique des packages dans CentOS

Gnome Desktop fournit un outil graphique de gestion des packages appelé Software. Il est assez simple à utiliser et simple. Software, l'outil de gestion de paquets Gnome pour CentOS peut être trouvé en accédant à: Applications → Outils système → Logiciel.

L'outil de gestion des packages logiciels est divisé en groupes permettant à l'administrateur de sélectionner les packages à installer. Bien que cet outil soit idéal pour la facilité d'utilisation et la simplicité pour les utilisateurs finaux, YUM est beaucoup plus puissant et sera probablement davantage utilisé par les administrateurs.

Voici une capture d'écran de l'outil de gestion des packages logiciels, qui n'est pas vraiment conçu pour les administrateurs système.