
Élaguer une installation CentOS 7 – Bien choisir son serveur d impression
Lorsque vous installez CentOS à partir du DVD minimal – ou lorsque vous sélectionnez un profil minimal avec le DVD d'installation classique – vous obtenez un système réduit au minimum. Nous sommes évidemment loin du minimalisme que l'on trouve dans les distributions telles qu'Alpine Linux, mais le principe est le même. Le système de base peut être considéré comme une pâte à crêpes, puis nous installons les ingrédients dont nous avons besoin. Dans la configuration par défaut, un système CentOS 7 comprend environ 300 packages et occupe un peu plus d'un gigaoctet d'espace disque.
Dans certains cas, il peut être souhaitable de revenir à cette configuration initiale sans procéder à une réinstallation complète du système. Voici deux exemples pratiques de la vie quotidienne.
- Lorsque j'installe un serveur Dedibox dédié à partir de Online et que j'opte pour un système CentOS, je ne commence pas par une installation minimale. Les administrateurs en ligne ont décidé d'installer un ensemble complet d'outils en ligne de commande, et cette cohérence est parfaitement compréhensible. Mais beaucoup de ces outils sont inutiles et je préfère installer ma propre sélection à partir du minimum syndical.
- Sur les postes de travail, je compte sur l’environnement de bureau MATE, installé à partir d’un système minimal et sur le serveur graphique X Window. Mais j'ai encore beaucoup de machines sur lesquelles j'ai un ordinateur de bureau basé sur KDE ou Xfce. Désinstaller manuellement ces ordinateurs est une tâche extrêmement fastidieuse et simple.
groupe yum enlever
laissez beaucoup de résidus sur le disque. Encore une fois, il est préférable de retourner à la boîte sans déplacer le système entier.
J'ai donc écrit un script shell elaguer.sh
qui prend soin de supprimer tous les paquets qui ne font pas partie du système de base lui-même.
#! / Bin / bash # # elaguer.sh # # Ce script désinstalle tous les paquets sur un système # CentOS 7 qui ne font pas partie du système minimal. # Manipuler avec précaution, donc. # # (c) Niki Kovacs, 2018 CWD = $ (pwd) TMP = / tmp Pkglist = $ TMP / pkglist Pkginfo = $ TMP / PKG_BASE # Créer la liste des packages installés sur le système rpm -qa --queryformat &% 39;% NAME n & # 39; | tri> $ PKGLIST # Créer une variable correspondant à cette liste PACKETS = $ (egrep -v & # 39; (^ #) | (^ s + $) & # 39; $ PKGLIST) # Faire le ménage rm -rf $ PKGLIST $ PKGINFO mkdir $ PKGINFO non défini SUPPRIMER # Créer une base de données rudimentaire écho echo ":: Création de la base de données ..." écho dormir 3 MINIMAL = $ (egrep -v & # 39; (^ #) | (^ s + $) & # 39; $ CWD / minimal.txt) pour PAQUET en $ MINIMAL; faire printf "." touchez $ PKGINFO / $ PACKAGE donc écho # Vérifier pour chaque paquet s'il fait partie du système minimal écho echo ":: Création de la liste des paquets à supprimer ..." écho dormir 3 pour PAQUET dans $ PACKAGES; faire si [ -r $PKGINFO/$PAQUET ]; ensuite Continue autre printf "." DELETE = "$ DELETE $ PACKAGE" Fi donc écho écho # Supprimer tous les packages qui ne font pas partie du système # base si [[ ! -z $SUPPRIMER ]]; ensuite yum -y supprimer $ DELETE Fi # Réinstaller les packages de base miam-y installer $ MINIMAL # Un peu de ménage rm -rf $ PKGLIST $ PKGINFO sortie 0
Le script utilise la liste de paquets minimal.txt
qui a été précédemment établi sur une nouvelle installation minimale, avec la commande suivante.
# rpm -qa --queryformat &% 39;% NAME n & # 39; | sort> minimal.txt
Le scénario elaguer.sh
est disponible dans mon référentiel Github, qui peut être récupéré depuis un emplacement approprié dans le système, par exemple / racine
.
# CD # le clone de git https://github.com/kikinovak/centos-7-strip
Avant de faire quoi que ce soit, nous nous assurerons de ne pas fonctionner en mode graphique.
# systemctl set-default multi-user.target # systemctl isolate multi-user.target
Ensuite, nous exécuterons le script.
# cd centos-7-strip # ./elaguer.sh
Le gestionnaire de paquets Yum a une petite incohérence dans la gestion des groupes de paquets. En effet, si nous avons installé un groupe de paquets avec la commande groupe yum installer
, la commande yum liste de groupe
affichera toujours le groupe comme installé, même si les paquetages qui le composent ne sont plus présents sur le système. Ajoutez à cela le fait que – pour des raisons mystérieuses – certains groupes sont cachés (caché
) depuis CentOS 7, et la confusion est totale. Il faut donc corriger le tir à la main. Voici un exemple concret qui vous aidera à mieux comprendre la gestion des groupes de packages.
Prenons une machine sur laquelle je viens d'exécuter le script elaguer.sh
qui est réduit au minimum de l'union.
# rpm -qa | wc -l 307
J'affiche la liste des groupes de paquets.
# yum groupe liste | Moins Plugins chargés: le plus rapide Chargement des vitesses de miroir depuis le fichier hôte mis en cache Groupes d'environnement disponibles: Installation minimale Noeud de calcul Serveur d'infrastructure Serveur de fichiers et d'impression Serveur Web de base Hôte de virtualisation Serveur avec interface graphique Bureau GNOME Espaces de travail KDE Plasma Poste de travail de développement et de création Groupes disponibles: Bibliothèques de compatibilité Console des outils Internet Outils de développement Outils d'administration graphique Compatibilité UNIX héritée Soutien scientifique Outils de sécurité Support de carte à puce Outils d'administration système La gestion du système Terminé
À première vue, aucun groupe de paquets n'est installé. J'essaie toujours, en ajoutant l'option caché
.
# yum liste de groupe cachée | Moins Plugins chargés: le plus rapide Chargement des vitesses de miroir depuis le fichier hôte mis en cache Groupes d'environnement disponibles: Installation minimale Noeud de calcul Serveur d'infrastructure Serveur de fichiers et d'impression Serveur Web de base Hôte de virtualisation Serveur avec interface graphique Bureau GNOME Espaces de travail KDE Plasma Poste de travail de développement et de création Groupes installés: Basé Les polices Serveur Web Système X Window Groupes disponibles: Développement supplémentaire Outils Anaconda Client de sauvegarde Serveur de sauvegarde ...
Je note les groupes marqués comme installés et je corrige leur statut manuellement.
# yum group mark remove "Base" "Polices" "Serveur Web" "Système X Window" Plugins chargés: le plus rapide Chargement des vitesses de miroir depuis le fichier hôte mis en cache Marqué supprimer: Base, polices, serveur Web, système X Window
Je n'ai qu'à faire un dernier contrôle.
# yum liste de groupe cachée | Moins
Quelle que soit la configuration initiale, je dispose maintenant d’une installation minimale de CentOS, que je peux reconfigurer à ma guise.
Commentaires
Laisser un commentaire