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

Logo CentOSCet article décrit pas à pas et de manière détaillée l’installation d’un poste de travail léger de qualité entreprise basé sur CentOS 7 et l’environnement de bureau Xfce. 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.

Note importante : l’article initialement publié fin 2017 a été entièrement revu et corrigé. La procédure de post-installation est maintenant bien plus simple, étant donné qu’elle est à peu près entièrement scriptée.

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

Xfce CentOS

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 Xfce est améliorée de manière significative.
  • Plank, Whiskermenu et Caja rendent le bureau bien plus fonctionnel.
  • 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-1708.iso
  • CentOS-7-x86_64-DVD-1708.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-1708.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-xfce

Lancer le script de post-installation

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

# cd centos-7-desktop-xfce
# ./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.

  • Activer la gestion des Delta RPM.
  • Effectuer la mise à jour initiale du système.
  • Basculer SELinux en mode permissif.
  • Désactiver l’IPv6.
  • 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.
  • 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 Xfce.
  • Supprimer une poignée de paquets inutiles.
  • Supprimer les polices TrueType exotiques qui encombrent les menus.
  • Installer une panoplie cohérente d’applications supplémentaires.
  • Personnaliser les entrées du menu Xfce
  • 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.
  • Basculer en mode graphique au démarrage.

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.

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.

# systemctl stop NetworkManager
# yum remove NetworkManager

Voici un exemple de configuration simple.

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

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

 

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

20 réponses à Poste de travail CentOS 7 + Xfce “aux petits oignons”

  1. Bonjour.

    Une simple remarque d’ordre purement pratique : dommage qu’il n’y ait pas une section pour rajouter le support d’une imprimante si le besoin s’en fait sentir, mais ce n’est pas non plus ultra-super compliqué à faire !

    PS : de rien pour le bêta-test et les suggestions 😀

    • kikinovak dit :

      Dans les réseaux que je gère, j’utilise à peu près exclusivement les imprimantes de la marque HP, vu qu’elles sont toutes très bien supportées par HPLIP. Voici une page avec des instructions détaillées pour l’installation et la configuration d’une HP sous CentOS.

      https://blog.microlinux.fr/hplip-centos/

      Les captures d’écran proviennent de ma station de travail avec KDE, mais ça se configure pareil avec Xfce.

      Je compte écrire d’autres articles sur d’autres imprimantes comme les Canon ou les Epson, mais je n’ai rien de tel sous la main dans mon bureau. Ce sera donc à l’occasion, lorsque je tomberai sur ce genre de matériel.

  2. André Ray dit :

    Bravo, belle configuration. J’adore le look ! Testé en vrai sur un vieux powermate VL360, port réseau de la carte mère non reconnu ! obligé emprunté une carte temporairement. J’ai rajouté keepass pour les mots de passes. mp3 et Flac impeccables avec Audacious. J’ai ajouté Clementine, la lecture des mp3 ne fonctionne pas curieusement. Après recherche, il manque “gstreamer1-plugins-ugly.x86_64”, maintenant Clementine fonctionne.

    • kikinovak dit :

      Pour la carte réseau – et plus généralement pour le matériel non reconnu – la solution classique sous RHEL/CentOS passe par l’installation d’un kernel plus récent depuis le dépôt [elrepo-kernel]. Ce dépôt fournit deux kernels plus récents, kernel-ml (mainline) et kernel-lt (LTS). L’utilisation d’un de ces kernels résoudra très probablement votre problème de carte réseau. Jetez un oeil sur mon article récent sur l’installation de CentOS sur un MacBook Pro, où j’ai dû passer par l’installation d’un kernel-lt.

      https://blog.microlinux.fr/centos-7-macbook-pro/#rezo-fil

  3. Ping : Installer un poste de travail léger avec Xfce sous CentOS 7 - My Tiny Tools

  4. Nicolas dit :

    Je ne comprend pas pourquoi tu utilises le dépôt “nux” alors que RPM Fusion https://rpmfusion.org pour EL 7 est disponible. D’un coté tu as un dépôt géré par une personne. De l’autre un dépôt organisé, géré par une communauté expérimenté et ouverte avec bugzilla et infra publique.

    • kikinovak dit :

      Je l’utilise parce que les paquets sont propres et bien fichus, et parce que je suis en interaction constante avec Lucian, le mainteneur de ce dépôt, qui répond en règle générale en moins de 24 heures à mes suggestions diverses et variées. Pour le reste, gardons à l’oeil que l’Arche de Noé était le projet d’un seul et le Titanic un gros projet professionnel. Sans oublier le fait que RPMFusion ne distribue que des paquets 100 % libres.

  5. Eric dit :

    Bonjour , ah non RPMfusion fournie aussi des paquets non-free pour CentOS voir ici
    https://download1.rpmfusion.org/nonfree/el/

    Ce n est qu une question de goût ou de choix .

    • kikinovak dit :

      Eh bien justement, mon choix c’est le dépôt Nux-Dextop.

      • Eric dit :

        Ca tombe bien moi aussi , mais par contre je déconseille d installer les deux . Et d’ailleurs voir ici https://wiki.centos.org/de/TipsAndTricks/MultimediaOnCentOS7?highlight=%28%28TipsAndTricks%7CMultimediaOnCentOS7%29%29
        Pour ce qui veule savoir .

        • Nicolas dit :

          Je pense que certains ici manquent de recul. Le projet RPM Fusion tire son origine que l’unification de dépôts communautaires et individuels. Avant cela (environ 10 ans), c’était à chaque packageur de faire ses propres paquets complémentaires, chacun avec un niveau de patch et des options différentes. Cela entrainait évidemment des dépôts incompatibles entre eux.

          L’unification de ces dépôts permet aux mainteneurs de paquets de mieux travailler avec les projets sources (upstream). C’est pour cela que ffmpeg.org, videolan.org et pleins d’autres recommandent d’utiliser rpmfusion.org pour RHEL, CentOS et dérivés.

          Dans le cas, de nux, évidemment, ces paquets sont bien. Ils sont basés sur le travail de RPM Fusion (cf le changelog de la plupart des paquets). Cela est évidemment permit par tout logiciel libre. Mais le fait que cela soit permit se rend pas le fait de forker pour autant moral. Il sera toujours possible de prendre les paquets de RPM Fusion, de faire quelques ajouts supplémentaires et de dire que son dépôt est le meilleur.

          Évidement, la bonne méthode consiste à contribuer les paquets manquant au projet. Je vois que certaines personnes parlent de choix. Mais à mon sens, il n’y a pas vraiment d’alternatives à RPM Fusion. Toute autre option sera de nature à limiter la liberté des utilisateurs.

          Pour ceux que le sujet interresse, je vous propose d’un discuter sur un espace public comme la liste utilisateur rpmfusion lists.rpmfusion.org (en anglais).

          Cdt

  6. Emmanuel dit :

    Bonjour,
    La Scientific Linux 7 semble moins gourmande en ressources.
    Est-il prévu d’adapter un script pour cette version avec passage de GNOME vers XFce ou bien amélioration simple de Gnome ?
    Merci
    EM

    • kikinovak dit :

      RHEL, CentOS, Oracle Linux, Scientific Linux et Springdale Linux sont binairement identiques, vu qu’elles sont construites à partir des mêmes paquets source. La principale différence entre les dérivées de RHEL, c’est que CentOS est officiellement sponsorisée par Red Hat. Les autres non.

  7. Emmanuel dit :

    Bonjour,
    Merci pour cette article qui m’a permis de faire revivre un QuadCore avec 2Go de Ram.
    Cependant pour mettre mon fils à la programmation python 3 est-il possible soit de modifier le script d’installation pour avoir Python 3 par défaut ou bien de créer un article expliquant la marche à suivre ?
    Merci
    Cdt
    Emmanuel

  8. Val dit :

    Bonjour,

    Article très intéressant, cependant je n’arrive pas à aller au bout. Après le lancement du script je suis bloqué à l’installation du bureau xfce avec le message suivant :

    Erreur : Paquet : thunar-archive-plugin-0.3.1-1.el7.nux.x86_64 (nux-dextop)
    Requiert : libxfce4util.so.6()(64bit)
    Vous pouvez essayer d’utiliser –skip-broken pour contourner le problème
    Vous pouvez essayer d’exécuter : rpm -Va –nofiles –nodigest

    Auriez vous une solution à me proposer ? j’ai pourtant installé le dépôt Nux-Dextop.

    Cdt
    Val

    • kikinovak dit :

      Je ne vois pas quel est le problème. Je viens encore d’installer deux machines en utilisant le script, et ça fonctionne nickel. Un problème de proxy cache local peut-être ?

      • Val dit :

        Finalement, j’ai pu l’installer. C’était peut-être dû à une installation manuel des dépôts (récupéré sur un autre site) avant le lancement du script. J’ai réinstallé au propre en suivant le tuto à la lettre. Je n’ai pas eu besoin de toucher au proxy.

        Cdt
        Val

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.