Poste de travail CentOS 7 + GNOME “aux petits oignons”

Logo CentOSCet article décrit pas à pas et de manière détaillée l’installation d’un poste de travail de qualité entreprise basé sur CentOS 7 et l’environnement de bureau GNOME. Pour plus de détails, lire la documentation officielle. CentOS 7 est officiellement supporté jusqu’au 30 juin 2024. On choisira cette branche sur du matériel raisonnablement récent qui supporte un OS 64-bits. L’installateur de CentOS 7 requiert au moins 1 Go de RAM. Sur une machine disposant de moins de mémoire vive ou dotée d’un processeur 32-bits, on pourra opter pour CentOS 6.

Pour en savoir plus sur la configuration de GNOME, on pourra lire cet article.

GNOME

Le poste de travail présenté ici offre une série d’améliorations par rapport à un poste de travail CentOS standard.

  • L’esthétique de l’environnement GNOME est améliorée de manière significative.
  • Une panoplie d’applications populaires est installée pour toutes les tâches courantes.
  • Les codecs et plug-ins multimédia permettent de gérer les contenus audio et vidéo.
  • Les polices TrueType offrent une meilleure interopérabilité avec l’univers Microsoft.
  • Infinality permet d’obtenir un affichage aussi net que sur les systèmes de chez Apple.

Support d’installation

On choisira le CD minimal, mais rien n’empêche d’utiliser le DVD.

  • CentOS-7-x86_64-Minimal-1804.iso
  • CentOS-7-x86_64-DVD-1804.iso

Graver le CD ou le DVD à partir de l’ISO téléchargé.

Sur les machines dépourvues de lecteur optique, il faudra confectionner une clé USB d’installation. L’image ISO est hybride et peut s’écrire directement sur une clé USB.

# dd if=CentOS-7-x86_64-Minimal-1804.iso of=/dev/sdX

Démarrage

Débrancher clés USB, disques externes et autres périphériques amovibles. Autrement l’installateur les proposera au formatage.

Sur un ordinateur portable, il vaut mieux passer par une connexion cablée le temps de l’installation. La connexion wifi sera réglée en mode graphique par NetworkManager une fois que le bureau sera installé.

Langue et clavier

Dans l’écran de bienvenue, sélectionner la langue (Français) et la localisation (Français – France). La disposition du clavier sera définie par le biais de l’écran principal de l’installateur.

Interfaces réseau

Le réseau n’est pas activé par défaut, il faut donc songer à l’activer explicitement.

Les noms des interfaces réseau ont changé avec cette nouvelle version. Désormais, on n’a plus affaire à eth0, eth1, eth2, wlan0, etc. Le nouveau schéma de nommage est moins arbitraire et offre davantage de consistance en se basant sur l’emplacement physique de la carte dans la machine.

  • enp2s0
  • enp3s0
  • enp3s1
  • etc.

Date et heure

Vérifier si le fuseau horaire (Europe/Paris) est correctement configuré. Éventuellement, activer Heure du réseau et vérifier les serveurs NTP.

Désactivation de Kdump

Kdump est un mécanisme de capture lors du plantage d’un noyau. Il peut être désactivé.

Partitionnement manuel

L’outil de partitionnement graphique de CentOS n’est pas très intuitif. Voici un exemple de schéma de partitionnement courant.

  • une partition /boot de 500 MiB, formatée en ext2
  • une partition /boot/efi de 100 MiB sur les systèmes EFI
  • une partition swap, équivalent à la RAM disponible
  • une partition principale, formatée en ext4

Sur une station de travail munie de deux disques durs, on choisira le RAID 1.

  1. Cliquer sur Destination de l’installation.
  2. Vérifier si le ou les disques durs sont bien sélectionnés.
  3. Cocher Je vais configurer le partitionnement et cliquer sur Terminé.
  4. Dans le menu déroulant, sélectionner Partition standard au lieu de LVM.

Partition /boot

La taille de la partition /boot sera relativement réduite. Il faudra veiller à ne pas laisser s’entasser les vieux kernels sous peine de la remplir assez rapidement.

  1. Cliquer sur le bouton “+” pour créer un nouveau point de montage.
  2. Créer le point de montage /boot avec une capacité de 500 MiB.
  3. Définir le type de périphérique standard ou RAID 1.
  4. Choisir le système de fichiers ext2 et l’étiquette boot.
  5. Confirmer Mise à jour des paramètres.

Partition EFI

Sur les systèmes UEFI, il faut créer un point de montage /boot/efi pour une partition de type EFI, au début du disque.

  1. Cliquer sur le bouton “+” pour créer un point de montage.
  2. Créer le point de montage /boot/efi et spécifier une taille de 100 MiB.
  3. Définir le type de périphérique standard.
  4. Choisir le système de fichiers EFI System Partition et l’étiquette efi.
  5. Confirmer Mise à jour des paramètres.

Partition swap

Dans certains cas, la partition swap pourra être reléguée à la fin du disque par l’installateur pour une utilisation optimale.

  1. Cliquer sur le bouton “+” pour créer un autre point de montage.
  2. Créer le point de montage swap en spécifiant sa capacité en GiB.
  3. Définir le type de périphérique standard ou RAID 1.
  4. Choisir l’étiquette swap.
  5. Confirmer Mise à jour des paramètres.

Partition principale

La partition principale occupera tout l’espace disque restant.

  1. Cliquer sur le bouton “+” pour créer un dernier point de montage.
  2. Créer le point de montage / sans spécifier la capacité souhaitée.
  3. Définir le type de périphérique standard ou RAID 1.
  4. Choisir le système de fichiers ext4 et l’étiquette root.
  5. Confirmer Mise à jour des paramètres, puis Terminé.

Choix des paquets

Dans l’écran de sélection des logiciels du DVD, on optera pour le groupe de paquets Installation minimale proposé par défaut. Le CD minimal ne laisse pas le choix de toute façon.

Utilisateur initial

Créer un utilisateur provisoire install. Éventuellement, cocher l’option Faire de cet utilisateur un administrateur pour l’ajouter au groupe wheel et lui permettre d’utiliser sudo. Cet utilisateur sera supprimé une fois l’installation terminée.

Configuration provisoire du réseau

L’installation par défaut ne fournit pas la commande ifconfig, qui fait partie du paquet net-tools. Dans un premier temps, il faudra afficher la configuration réseau en utilisant la commande ip fournie par le paquet iproute2.

# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
 ...
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
   qdisc mq state UP qlen 1000
 link/ether 2c:27:d7:15:54:a1 brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.2/24 brd 192.168.1.255 scope global dynamic enp2s0
 ...
3: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
 ...
# ip route
default via 192.168.1.1 dev enp2s0

Récupérer le script de post-installation

L’utilitaire git ne fait pas partie d’une installation par défaut. Il va donc falloir l’installer.

# yum install git

Ensuite, récupérer le contenu de mon dépôt Github.

# cd
# git clone https://github.com/kikinovak/centos-7-desktop-gnome

Lancer le script de post-installation

Le répertoire centos-7-desktop-gnome contient un script postinstall.sh. Lancer ce script.

# cd centos-7-desktop-gnome
# ./postinstall.sh

L’affichage du script est assez laconique. Pour en savoir un peu plus sur le détail et la progression des opérations, on peut ouvrir un deuxième terminal et afficher le fichier journal “à chaud”, comme ceci.

# tail -f /tmp/postinstall.log

Le script se charge automatiquement des opérations suivantes.

  • Basculer SELinux en mode permissif.
  • Désactiver l’IPv6.
  • Configurer l’affichage en temps réel.
  • Personnaliser le shell Bash pour root et les utilisateurs.
  • Personnaliser la configuration de Vim.
  • Configurer les dépôts de paquets officiels de manière prioritaire.
  • Activer la gestion des Delta RPM.
  • Effectuer la mise à jour initiale.
  • Configurer les dépôts de paquets tiers : EPEL, Nux, Adobe, etc.
  • Installer une panoplie d’outils en ligne de commande.
  • Installer le serveur graphique X Window.
  • Installer l’environnement de bureau GNOME.
  • Installer une panoplie cohérente d’applications supplémentaires.
  • Personnaliser les entrées du menu GNOME.
  • Installer le profil par défaut des nouveaux utilisateurs.
  • Installer une panoplie de polices TrueType avec le rendu Infinality.
  • Installer une collection de fonds d’écran.
  • Personnaliser le gestionnaire de connexion GDM.

Remarque importante : SELinux est basculé en mode permissif de manière temporaire afin de permettre à l’administrateur de résoudre manuellement les éventuels blocages avant de rebasculer en mode renforcé.

Pour vous donner un ordre d’idée, j’ai testé le script sur une paire de vieux Dell Optiplex avec un processeur double coeur, 4 gigaoctets de RAM et une connexion ADLS à 20 Mbit/s, et ça a mouliné près de 40 minutes. Vous avez donc largement le temps de boire un ou deux cafés en attendant que ça défile.

Basculer en mode graphique

Le script ne se charge pas de basculer automatiquement en mode graphique. L’administrateur pourra donc sereinement gérer la configuration de la carte graphique, installer d’éventuels pilotes propriétaires, etc.

Un premier test de l’affichage graphique pourra être effectué comme ceci.

# systemctl isolate graphical.target

Une fois que tout fonctionne correctement, on pourra démarrer en mode graphique par défaut.

# systemctl set-default graphical.target

Créer un ou plusieurs utilisateurs

Une fois que le script est arrivé à terme, on peut créer un nouvel utilisateur. Si vous souhaitez qu’il puisse utiliser sudo, ajoutez-le au groupe wheel.

# useradd -c "Nicolas Kovacs" kikinovak
# passwd kikinovak
# usermod -a -G wheel kikinovak

Redémarrez le PC, connectez-vous et supprimez l’utilisateur install provisoire.

# userdel -r install

Configurer le réseau sur un poste de travail

Dans la configuration par défaut, le réseau est géré par NetworkManager, qui est pratique sur un portable, mais ne sert pas à grand-chose sur un poste de travail ou une station de travail. Notons au passage que contrairement à ce qui se dit dans des blogs un peu partout sur le Web, NetworkManager n’est pas nécessaire pour la gestion du réseau. C’est juste une couche d’abstraction et de complexité supplémentaire, et dont on peut aisément se passer.

Avant la sortie de CentOS 7.5, il était tout à fait possible de désactiver le service NetworkManager (systemctl disable NetworkManager) voire même de supprimer le paquet correspondant (yum remove NetworkManager) pour configurer les choses de manière traditionnelle.

Or, depuis la version 7.5, les choses ont changé quelque peu. D’une part, le gestionnaire de connexion GDM dépend désormais de NetworkManager. D’autre part, la désactivation du service nous gratifie d’un avertissement au démarrage. Pour configurer le réseau de manière traditionnelle, on va donc simplement laisser le service en l’état et éditer le fichier correspondant à notre carte réseau comme ceci par exemple.

# /etc/sysconfig/network-scripts/ifcfg-enp2s0
DEVICE=enp2s0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=no

Si l’on gère les noms d’hôtes de manière centralisée avec Dnsmasq, il faut supprimer les occurrences correspondantes dans /etc/hosts.

# /etc/hosts
127.0.0.1 localhost.localdomain localhost

Le fichier /etc/hostname devra juste contenir ceci.

localhost

Configurer le réseau sur un portable

Sur un ordinateur portable, on utilisera le NetworkManager et l’applet correspondant network-manager-applet, qu’il faudra installer.

# yum install network-manager-applet

Pour éviter les conflits, il vaut mieux supprimer les fichiers ifcfg-<interface> dans /etc/sysconfig/network-scripts et garder uniquement ifcfg-lo. Ensuite, il suffit de vérifier si NetworkManager est actif.

# systemctl status NetworkManager

GNOME

Ce contenu a été publié dans CentOS, Documentation Microlinux, avec comme mot(s)-clé(s) , . Vous pouvez le mettre en favoris avec ce permalien.

9 réponses à Poste de travail CentOS 7 + GNOME “aux petits oignons”

  1. Ping : Poste de travail CentOS 7 + GNOME “aux petits oignons” - My Tiny Tools

  2. Rémy G dit :

    Hello,

    J’installe ce soir sur un laptop dénommé belledoche.

    Je te tiens au courant de mes remarques

    Merci !

  3. Bruno Forestier dit :

    Bonsoir Nicolas,
    J’ai enfin pris le temps d’installer CentOS + Gnome pour découvrir à quoi cela ressemble. Merci pour cette procédure. J’y ai ajouté Dash to panel et Dash to dock. Par contre je n’arrive pas à désinstaller/masquer la barre en bas de l’écran, la Window list a priori. Dans le réglage des extensions, le curseur pour la désactiver est grisé. J’ai tenté d’autres opérations trouvées sur internet mais en vain (voire catastrophique).
    Auriez-vous la solution ?
    Je vous remercie par avance.
    Bruno

    • kikinovak dit :

      Je n’en ai pas la moindre idée. Pour une personnalisation comme vous l’entendez, prenez plutôt Xfce ou KDE au lieu de sauter à travers des cerceaux en feu avec GNOME.

      • Bruno Forestier dit :

        Merci Nicolas.
        J’ai fini par trouver une solution de contournement à force de fouiller sur internet. Il faut renommer le fichier metadata.json (avec un nom de son choix) qui se trouve dans le dossier /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com.
        Je ne sais pas si c’est orthodoxe mais je ne me suis pas brûlé en traversant le cerceau de feu… 🙂
        A bientôt
        Bruno

  4. Franck Muller dit :

    Bonjour, j’avais déjà testé votre script pour CentOS + KDE. Résultat final impeccable au niveau de l’OS et des logiciels mais le tout était très lent sur mon portable.
    Avec Gnome par contre mon PC revit. J’y ai également ajouté Dash to panel et Dash to dock.
    Merci pour votre travail.

  5. Bruno Forestier dit :

    Bonjour Nicolas,
    Un nouveau petit problème avec mon portable nouvellement sous CentOS 7 + GNOME.
    Lorsque je ferme l’écran, le portable se met en hibernation. Quand je le rouvre, impossible de le faire sortir de cet état. La diode de la touche de verrouillage numérique du clavier clignote mais rien ne se passe en appuyant sur une touche quelconque du clavier ou sur le bouton marche/arrêt. Seule solution à ce stade forcer l’arrêt du portable.
    Avez-vous une idée de l’origine de l’incident ? Parallèlement je poursuis mes recherches sur internet.
    Je vous remercie par avance de votre aide.
    Bruno

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.