Serveur d'impression

Élaguer une installation CentOS 7 – Bien choisir son serveur d impression

Le 4 mai 2019 - 6 minutes de lecture

Prune CentOS 7Lorsque 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.shqui 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

Votre commentaire sera révisé par les administrateurs si besoin.