Rocky LinuxLorsque j’installe un serveur Rocky Linux – qu’il s’agisse d’une machine locale ou d’un serveur dédié avec une ouverture frontale sur Internet – je pars généralement d’une installation minimale que je configure ensuite « aux petits oignons ». La configuration post-installation d’une machine comporte toute une série d’opérations potentiellement chronophages.

  • Peaufiner le shell Bash et l’éditeur Vim
  • Rendre la console plus lisible
  • Configurer les dépôts de paquets officiels et tiers
  • Installer un jeu complet d’outils en ligne de commande
  • Supprimer une poignée de paquets inutiles
  • Rendre les logs système accessibles à l’utilisateur initial
  • Désactiver l’IPv6 si l’on ne l’utilise pas
  • Rendre le mot de passe persistant pour sudo
  • Etc.

Un principe de base de l’administration système, c’est qu’à partir du moment où une tâche est exécutée plusieurs fois, on va chercher à l’automatiser. La manière la plus simple de faire cela, c’est d’utiliser un script shell.

InfoJe sais qu’il existe des solutions de configuration sophistiquées comme Ansible, Chef et Puppet. Pour ma part, j’ai toujours eu un faible pour les outils avec un os dans le nez, et j’utilise un bon vieux script shell fait maison. Ceci étant dit, la prochaine mouture de cette configuration sera probablement basée sur Ansible.

Pour les impatients

Voici ce qu’il faut faire pour disposer d’un serveur Rocky Linux 8 « aux petits oignons ».

  1. Installer un système minimal Rocky Linux 8.
  2. Créer un utilisateur initial avec les privilèges d’administrateur.
  3. Installer Git : sudo dnf install -y git
  4. Récupérer le script : git clone https://gitlab.com/kikinovak/rocky-el8
  5. Changer dans le répertoire nouvellement créé : cd rocky-el8/
  6. Exécuter le script : sudo ./linux-setup.sh --setup
  7. Boire un café en attendant que le script gère à peu près tout.
  8. Redémarrer.

Détails techniques

Le script linux-setup.sh fournit une série d’options dont voici les détails.

Configurer Bash et Vim et rendre la console plus lisible :

$ sudo ./linux-setup.sh --shell

Configurer les dépôts de paquets officiels et tiers :

$ sudo ./linux-setup.sh --repos

Activer DeltaRPM et mettre à jour le système :

$ sudo ./linux-setup.sh --fresh

Installer les groupes de paquets Core et Base et quelques outils supplémentaires :

$ sudo ./linux-setup.sh --extra

Supprimer une poignée de paquets inutiles :

$ sudo ./linux-setup.sh --strip

Rendre les logs système accessibles à l’utilisateur initial :

$ sudo ./linux-setup.sh --logs

Désactiver l’IPv6 et reconfigurer les services de base :

$ sudo ./linux-setup.sh --ipv4

Rendre le mot de passe persistant pour sudo :

$ sudo ./linux-setup.sh --sudo

Exécuter toutes ces opérations de A à Z :

$ sudo ./linux-setup.sh --setup

Élaguer le système pour ne garder que le système de base amélioré :

$ sudo ./linux-setup.sh --reset

Afficher l’aide sur les options :

$ sudo ./linux-setup.sh --help

Si vous êtes curieux de savoir ce qui se passe exactement sous le capot, vous pouvez très bien ouvrir un deuxième terminal et afficher les logs à chaud.

$ tail -f /tmp/linux-setup.log

InfoLa procédure a été dûment testée sur une série de machines. Si vous l’utilisez sur vos serveurs et que vous rencontrez des problèmes, n’hésitez pas à m’en faire part dans les commentaires.


La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

 

Catégories : Serveur

3 commentaires

GG · 1 novembre 2021 à 19 h 05 min

Merci 🙂
Vous pensez pas que des outils comme ansible va créer des admin systèmes moins compétent vu qu’ils tous leurs sera traduit en language humain plus besoin d’etudier le système, d’apprendre le bash par exemple ect… ?

Et vous pourriez-vous nous conseiller des ressources pour apprendre le scripting (en francais ou en anglais ?

Bian à Vous.

    kikinovak · 1 novembre 2021 à 19 h 08 min

    Je pense que c’est bien de connaître les deux.

    La meilleure ressource pour apprendre à écrire les scripts shell, c’est (à mon humble avis) le petit bouquin autoédité Shell Scripting de Jason Cannon. C’est en anglais, c’est super bien expliqué, et ça va droit au but. C’est sans doute la meilleure ressource pour acquérir des bases saines.

      GG · 1 novembre 2021 à 22 h 09 min

      Merci pour vos précieux conseils.

Laisser un commentaire

Avatar placeholder

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