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.