0% ont trouvé ce document utile (0 vote)
47 vues6 pages

Partie 1-Packages & Services

Ce document décrit la gestion des packages et des services sur un système CentOS. Il explique comment installer, mettre à jour et supprimer des packages avec les outils RPM, YUM et DNF. Il décrit également les niveaux d'exécution des services et comment les configurer et les contrôler.

Transféré par

otmanwbouw
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
47 vues6 pages

Partie 1-Packages & Services

Ce document décrit la gestion des packages et des services sur un système CentOS. Il explique comment installer, mettre à jour et supprimer des packages avec les outils RPM, YUM et DNF. Il décrit également les niveaux d'exécution des services et comment les configurer et les contrôler.

Transféré par

otmanwbouw
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 6

ISTA-TAZA SR2

Partie1: Gestion des Packages & Services


Objectif : On va se familiariser avec la gestion des packages et des services pour faciliter les tâches pour les TPs qui viennent.
I. Packages :
1. Définition :
En informatique un package est un ensemble de fichiers et de répertoires requis par un produit logiciel. Un package est
habituellement conçu et créé par le développeur d'applications après le développement du code de l'application.

Un paquet est une archive comprenant les fichiers informatiques, les informations et procédures nécessaires à l'installation d'un
logiciel sur un système d'exploitation, en s'assurant de la cohérence fonctionnelle du système ainsi modifié.

2. Gestion des paquets avec RPM et YUM:


Redhat et Fedora utilisent le format de paquet RPM. De nombreuses distributions utilisent un autre format de paquet (comme
Debian et Ubuntu) qui est Deb et les outils dpkg et APT, l’outil correspondant à ce format (la commande rpm) fournit à peu près
les mêmes fonctionnalités que dpkg pour les Deb.

Il faut donc rajouter un gestionnaire de paquet au-dessus de rpm (comme APT au-dessus de dpkg). Selon les distributions, ce
gestionnaire de paquet est différent :
- Redhat, CentOS utilisent rpm avec yum.
- Fedora utilise rpm avec dnf.
- OpenSUSE et les autres distributions de Novell (SUSE Linux Enterprise Server/ Desktop) utilisent rpm avec YaST,
- Mandriva Linux utilise rpm avec urpmi.

Dans nos TPs de l’administration, nous allons utiliser une machine virtuelle CentOS Version 7 comme serveur.

2.1. Installation et mise à jour :


- Installation d'un paquetage :
]#rpm -ivh package.rpm

- Mise à jour d'un paquetage :


]#rpm -Uvh package.rpm

Avec :
-i : install
-U : Upgrade (met à jour un paquet ou l’installe s’il n’est pas présent)
-v : verbose (détaille l’avancement de l’installation)
-F : Freshen (ne met à jour un paquet que s’il est installé)
-h : hash (permet d'avoir une « barre de progression »)

Attention:
Il est fortement conseillé d'utiliser YUM pour installer ou mettre à jour des paquets, l'utilisation de la commande rpm directement
peut conduire à l’altération de la base RPM.

Problèmes courants :
]#yum update ne trouve pas de mises à jour à faire
Donc il faut taper :]#yum clean all et après :]#yum update.

2.2. Interrogation :
Lister des informations relatives aux paquetages :
]#rpm -qilp package.rpm

Avec:
-q : interrogation
-i : texte décrivant le paquetage
-l : liste les fichiers du paquetage
-p : pour interroger un fichier rpm et non pas un paquetage installé

On peut interroger un paquetage installé de la même manière avec :


]#rpm -qil paquetage

Interroge tous les paquetages installés :


]#rpm -qa

Liste tous les fichiers de chaque paquetage (pratique pour rechercher un fichier particulier)
]#rpm -qa –filesbypkg

Module : Administrer un environnement Linux – Gestion des Packages & Services Mr.A.LAMKADAM
ISTA-TAZA SR2
Note:
Il est possible de combiner ces différentes options. Il est également très pratique de combiner l’interrogation avec grep si on veut
savoir si un paquet précis est installé :
]#rpm -qa | grep –i package

Va lister tous les paquetages et donner pour chacun les informations et la liste des fichiers :
]#rpm -qail

2.3. Suppression :
Utilisez rpm -e à vous de subir les risques et les périls :
]#rpm -e package
Deux options très utiles :
 --force : force l'installation (utile pour forcer la réinstallation d’un paquet, par exemple)
 --nodeps : ne vérifie pas les dépendances

Attention:
Il est fortement conseillé d'utiliser YUM pour supprimer des paquets, l'utilisation de la commande rpm directement peut conduire à
l'altération de la base RPM.

3. Gestion des paquets avec DNF :


3.1. Qu'est-ce que dnf ?
- dnf est l'outil de gestion des paquets dans Fedora au-delà de la version 22.
- dnf est utilisé dans un terminal et sert à installer, désinstaller des logiciels; mais aussi pour mettre à jour la distribution.
- dnf gère parfaitement les dépendances, contrairement à rpm.
- dnf possède de nombreuses options..

3.2. Installer :
La principale utilisation de dnf, c'est l'installation des logiciels dans la distribution :
]$dnf install paquet

3.3. Désinstaller :
Pour désinstaller un paquet, c'est aussi simple :
]$dnf remove paquet

Si on souhaite désinstaller aussi les dépendances non utilisées :


]$dnf autoremove paquet

3.4. Mettre à jour :


Pour mettre à jour un paquet :
]$dnf upgrade paquet

Et pour mettre à jour la distribution :


]$dnf upgrade

Noter : On peut exclure un paquet d'une mise à jour :


]$dnf --exclude=paquet update

Les jokers fonctionnent aussi, moyennant un échappement du caractère :


]$dnf --exclude=kernel\* update

Si vous ne souhaitez installer que les bugfixes ou les patch de sécurité (ou les 2) :
]$dnf update --security --bugfix

3.5. Rétrograder la version d'un paquet :


Il est aussi possible (s'il est présent dans les dépôts) de rétrograder la version d'un paquet via
]$dnf downgrade paquet

3.6. Réinstaller un paquet :


Même si c'est quasiment jamais utilisé, il est possible aussi via dnf de réinstaller un paquet. Ça le réinstalle dans la même version :
]$dnf reinstall paquet

3.7. Recherche de paquets :


Pour rechercher un paquet par son nom, on peut utiliser :
]$dnf list paquet

Si on ne connait pas le nom du paquet, on peut utiliser le joker (échappement du caractère nécessaire) :
]$dnf list \*paqu\*

Module : Administrer un environnement Linux – Gestion des Packages & Services Mr.A.LAMKADAM
ISTA-TAZA SR2
3.8. Lister tous les paquets disponibles dans les dépôts :
]$dnf list

Lister tous les paquets installés :


]$dnf list installed

Si on veut étendre la recherche à la description, utiliser alors


]$dnf search mot

3.9. Rechercher un paquet contenant un fichier :


Si on a besoin d'un fichier précis, on peut grâce à dnf chercher le paquet correspondant :
]$dnf provides /usr/bin/fichier

3.10. Avoir des infos sur un paquet :


Pour avoir des informations détaillées sur un paquet, on peut utiliser la commande
]$dnf info paquet

Travail à faire :
1. Lancer une machine virtuelle VMware avec l’image CentOS7.
2. À l’aide des pages de manuel de rpm et yum, déterminer comment effectuer les actions suivantes, en essayant chaque opération :
- Rechercher un paquet par mots-clés (avec YUM).
- Rechercher quel paquet (non-installé) contient un fichier (avec YUM).
- Afficher des informations sur un paquet (avec YUM, et ensuite avec RPM, mais uniquement si le paquet est installé).
- Lister les paquets installés sur le système (avec YUM puis avec RPM).
- Lister les fichiers d’un paquet installé (avec RPM), et ceux d’un paquet non-installé (avec repoquery, paquet yum-utils).
- Rechercher de quel paquet installé provient un fichier (avec RPM).
- Installer un paquet et ses dépendances (avec YUM).
- Installer manuellement un fichier RPM (avec YUM et RPM).
- Supprimer un paquet installé (avec YUM et RPM).
- Installer les packages via la commande DNF.

3. Yum se configure dans /etc/yum.conf, et ses repositories sont configurés dans : /etc/yum.repos.d/. Citer les repositories activés ?
4. D’après le fichier /etc/redhat-release, quelle version de Redhat utilisez-vous ?
5. Mettez à jour votre système avec yum update.
6. Quel est maintenant le contenu de /etc/redhat-release?

II. Services et Démons:


Le maintien de la sécurité sur votre système est extrêmement important, et une approche pour cette tâche consiste à gérer l'accès aux
services du système avec soin. Votre système peut devoir fournir un accès ouvert à des services particuliers (par exemple, httpd si
vous utilisez un serveur Web). Cependant, si vous n'avez pas besoin de fournir un service, vous devez le désactiver pour minimiser
votre exposition à d'éventuels abus de bogues.

Cette partie explique le concept de niveaux d'exécution et décrit comment définir le niveau par défaut. Il couvre également la
configuration des services à exécuter dans chacun de ces niveaux d'exécution et fournit des informations sur le démarrage, l'arrêt et
le redémarrage des services sur la ligne de commande à l'aide de la commande de service.

Important :
Lorsque vous autorisez l'accès à de nouveaux services, n'oubliez pas que le pare-feu et SELinux doivent également être
configurés. L'une des erreurs les plus courantes commises lors de la configuration d'un nouveau service consiste à négliger
d'implémenter la configuration de pare-feu et les stratégies SELinux nécessaires pour autoriser l'accès.

1. Configuration des services :


Pour vous permettre de configurer les services démarrés au démarrage, RedHat Enterprise Linux est livré avec les utilitaires
suivants: l'application graphique Configuration du service, l'interface utilisateur texte : ntsysv et l'outil de ligne de
commande : chkconfig.

2. Utilisation de l'utilitaire de configuration du service :


L' utilitaire de configuration de service est une application graphique développée par CentOS/RedHat pour configurer les services
démarrés dans un niveau d'exécution particulier, ainsi que pour les démarrer, les arrêter et les redémarrer à partir du menu.

Pour démarrer l'utilitaire, sélectionnez Système → Administration → Services dans le panneau ou taper la commande :
system-config-services à l'invite du shell.

Remarque :
L'utilitaire system-config-services ne peut pas être installé par défaut sur votre version de RedHat Enterprise Linux. Pour cela,
exécutez d'abord la commande suivante:
]$ rpm -q system-config-services

Module : Administrer un environnement Linux – Gestion des Packages & Services Mr.A.LAMKADAM
ISTA-TAZA SR2
Si le paquet n'est pas installé par défaut, installez-le manuellement en exécutant la commande suivante en tant que super-utilisateur:
]# yum install system-config-services

L'utilitaire affiche la liste de tous les services disponibles (services du répertoire : /etc/rc.d/init.d/, ainsi que les services contrôlés
par xinetd) avec leur description et l'état actuel, (être en tant que root).

États de service possibles :

Icône Description
Le service est activé.
Le service est désactivé.
Le service est activé uniquement pour les niveaux d'exécution sélectionnés.
Le service est en cours d'exécution.
Le service est arrêté.
Il y a quelque chose qui ne va pas avec le service.
Le statut du service est inconnu.
Etas des services possibles.

2.1. Gestion des services via commandes:


- Les services en cours d'exécution :
L'utilitaire de service vous permet de démarrer, d'arrêter ou de redémarrer les services à partir du répertoire : /etc/init.d/.

- Déterminer l'état du service :


Pour déterminer l'état actuel d'un service, taper ce qui suit à l'invite du shell:
]#service nom_service status

Par exemple, pour déterminer l'état du service httpd, taper:


]# service httpd status
httpd (pid 7474) est en cours d'exécution ...

Pour afficher le statut de tous les services disponibles en même temps, exécutez la commande service avec l' option --status-all:
]# service --status-all

- Démarrer un service :
Pour démarrer un service, tapez ce qui suit à l'invite du shell root:
]#service nom_service start

Par exemple, pour démarrer le service httpd, taper:


]# service httpd start
Démarrer httpd: [OK]

- Arrêter d'un service :


Pour arrêter un service en cours d'exécution, taper ce qui suit à l'invite du shell root:
]#service nom_service stop

Par exemple, pour arrêter le service bind, taper:


]# service bind stop
Arrêt de bind: [OK]

- Redémarrer un service :
Pour redémarrer le service, tapez ce qui suit à l'invite du shell root:
]#service nom_service restart

Par exemple, pour redémarrer le service dhcpd, taper:


]# service dhcpd restart
Arrêt de dhcpd: [OK]
Démarrer dhcpd: [OK]

Note :
Pour les distributions récentes de Linux, la commande service peut être remplacée par la commande systemctl.
]#systemctl start/restart/stop/staus/force-reload nom_service.service (ou nom_service seulement)

2.2. Gestion des services graphiquement:


- Pour activer un service, sélectionner-le dans la liste et cliquer sur le bouton Activer dans la barre d'outils ou
choisir : Service → Activer dans le menu principal.
Module : Administrer un environnement Linux – Gestion des Packages & Services Mr.A.LAMKADAM
ISTA-TAZA SR2
- Pour désactiver un service : sélectionner-le dans la liste et cliquer sur le bouton Désactiver dans la barre d'outils ou
choisir : Service → Désactiver dans le menu principal.

- Pour démarrer un service, sélectionner-le dans la liste et cliquer sur le bouton Démarrer de la barre d'outils ou
choisir Service → Démarrer dans le menu principal. Noter que cette option n'est pas disponible pour les services contrôlés
par xinetd, car ils sont démarrés par lui à la demande.

- Pour redémarrer un service en cours d'exécution : sélectionner-le dans la liste et cliquez sur le bouton Redémarrer dans la
barre d'outils ou choisir Service → Redémarrer dans le menu principal. Noter que cette option n'est pas disponible pour les
services contrôlés par xinetd, car ils sont démarrés et arrêtés par elle automatiquement.

- Pour arrêter un service : sélectionner-le dans la liste et cliquez sur le bouton « Arrêter » de la barre d'outils ou
choisir Service → Arrêter dans le menu principal. Noter que cette option n'est pas disponible pour les services contrôlés
par xinetd, car ils sont arrêtés lorsque le travail est terminé.

2.3. Sélection des niveaux d'exécution :


Pour activer le service uniquement pour certains niveaux d'exécution, sélectionner-le dans la liste et cliquer sur
le bouton « Personnaliser » de la barre d'outils ou choisir Service → Personnaliser dans le menu principal. Cocher ensuite la case en
regard de chaque niveau d'exécution dans lequel vous souhaitez que le service s'exécute. Noter que cette option n'est pas disponible
pour les services contrôlés par xinetd.

3. Utilisation de l'utilitaire ntsysv :


L’utilitaire ntsysv est une application de ligne de commande avec une interface utilisateur de texte simple pour configurer les
services qui doivent être démarrés dans des niveaux d'exécution sélectionnés. Pour démarrer l'utilitaire, taper ntsysv à l'invite du
shell root.

L'utilitaire ntsysv.

L'utilitaire affiche la liste des services disponibles avec leur statut actuel et une description obtenue en appuyant sur F1.
symbole La description
[*] Le service est activé.
[] Le service est désactivé.

3.1. Activation et désactivation d'un service :


Pour activer ou désactiver un service, naviguer dans la liste en utilisant les flèches Haut et Bas et sélectionner-le avec la barre
d'espace. Un astérisque (*) apparaît ou disparaît entre parenthèses. Une fois que vous avez terminé, utiliser la touche
de tabulation pour accéder au bouton OK et confirmer les modifications en appuyant sur Entrée.

Note : ntsysv ne démarre ou n'arrête pas le service, si on doit démarrer ou arrêter le service, utiliser la commande : service.

4. utilisation de l'utilitaire chkconfig :


L’utilitaire chkconfig permet de gérer les services réseaux linux en ligne de commande sur Redhat ou CentOS. Il permet aussi de
spécifier dans quel niveau d'exécution doit démarrer un service sélectionné, ainsi que de répertorier tous les services disponibles
avec leur paramètre actuel.

Il se révèle pratique dans le sens où il permet par exemple de gérer des services dans un script ou d'ajouter un service dans certain
runlevel par exemple. Pour cela il faut que le script du service soit correctement remplit (voir un déjà existant), car les informations
sur celui-ci (runlevel par défaut pour lequel le script doit être activé, description) sont directement intégrées au début de celui-ci.

Note : à l'exception de la liste, on doit disposer des privilèges de super utilisateur (root) pour utiliser cette commande.

4.1. Obtenir des informations sur les services :


Module : Administrer un environnement Linux – Gestion des Packages & Services Mr.A.LAMKADAM
ISTA-TAZA SR2
-Chkconfig -list :
Fournit la liste de tous les services reconnus et précise pour chaque runlevel si ceux-ci sont lancés au démarrage.

-Chkconfig -list nom_service


Fournit la configuration actuelle du service nommé nom_service pour tous les runlevels.

Donc, pour afficher une liste de services système, taper : chkconfig --list ou utiliser chkconfig sans arguments supplémentaires. On
obtient une sortie similaire à celle-ci:
]# chkconfig –list ou
]# chkconfig

Chaque ligne comprend le nom du service suivi de son statut (activé ou désactivé) pour chacun des sept niveaux d'exécution
numérotés. Par exemple, dans la liste ci-dessus, NetworkManager est activé au niveau d’exécutions 2, 3, 4, et 5, tandis
qu’abrtd fonctionne en runlevel 3 et 5. Les services xinetd basés sont répertoriés à la fin, étant soit sur ou hors.

Pour afficher les paramètres actuels pour un service sélectionné uniquement, utiliser : chkconfig --list suivi du nom du service:
]#chkconfig --list nom_service

Par exemple, pour afficher les paramètres actuels du service sshd, taper:
]# chkconfig --list sshd
sshd 0: éteint 1: éteint 2: activé 3: activé 4: activé 5: activé 6: désactivé

On peut également utiliser cette commande pour afficher l'état d'un service géré par xinetd. Dans ce cas, la sortie contiendra
uniquement les informations indiquant si le service est activé ou désactivé:
]# chkconfig --list rsync
rsync éteint

4.2. Activer/Désactiver un service via chkconfig:


- chkconfig -level 35 nom_service on : spécifie que service doit être lancé au démarrage pour les runlevel 3 et 5.

- chkconfig -level 35 nom_service off : spécifie que nom-service ne doit pas être lancé au démarrage pour les runlevels 3 et 5.

- chkconfig -add nom_service : ajouter nom-service comme étant un service pouvant être géré par chkconfig.

- chkconfig -del nom_service : suppression de nom-service.

- chkconfig nom_service reset : remet la configuration à celle par défaut définie dans le script.

Module : Administrer un environnement Linux – Gestion des Packages & Services Mr.A.LAMKADAM

Vous aimerez peut-être aussi