Debian mon amour, ou pourquoi choisir un OS évident et comment l’installer et le réinstaller rapidement, sans prise de tête.

Introduction

J’ai découvert Linux en 1994, en prenant une Slackware dans la figure, durant mes études. En entreprise, Linux étant catalogué comme un OS dédié aux serveurs (web, emails, etc), j’ai continué de l’utiliser en ce sens, sans vraiment me soucier de savoir s’il y avait moyen d’améliorer l’installation, de la rendre plus rapide. Et puis arriva le …

13 mars 2010

A priori c’était un jour normal, un samedi pluvieux mais tranquille. Je me souviens avoir allumer mon pc (un shuttle fanless) sous Windows 7. Et après 5 minutes de lecture d’emails, Win7 me balance un BSOD! Bien sûr, au reboot, BSOD direct. Bon ok, c’est mort, ce Windows ne reviendra pas à la vie. Et là, je crois que ce fût le BSOD de trop et j’ai donc téléchargé une ISO Linux (Ubuntu il me semble).

Ubuntu, Fedora, Mint et bien plus encore

Après l’installation d’Ubuntu, force est de reconnaître que le système fonctionne plutôt bien mais semble un peu plus lent que feu Win7. Et là, comme un con, plutôt que commencer à tweaker mon Linux, je décide de tester d’autres distributions. Commence alors une longue série de tests dont le résultat sera que j’aime bien la philosophie Debian. Et plutôt qu’installer des distributions “debian-based” dont l’apport n’est pas toujours intéressant ou utile, j’ai fini par tomber d’accord avec moi-même pour installer une vraie Debian.

Accélerer l’installation

Installer un OS c’est toujours marrant, au début. Mais une fois qu’on a fait vivre son système plusieurs mois, que les logiciels sont bien configurés, réinstaller devient un enfer (il suffit de se taper une migration Win7 -> Win10 pour bien comprendre le problème). Sous Linux -parce que les concepteurs ont fait le choix de la simplicité et l’efficacité-, pour peu qu’on ait fait les bons choix lors de l’installation, on peut réinstaller à volonté rapidement sans perte de configuration. Par exemple, après être passé de Debian 9 à 10 via une upgrade, je suis passé Debian 10.3 en moins d'1h en réinstallant l’OS.

Les bons choix

Le partitionnement

Dans l’esprit de beaucoup, partionner un disque revient à perdre en vitesse et surtout en place. Mouais. Le ralentissement pourrait s’observer sur les disques mécaniques, pour les transferts inter-partitions. Les SSD ne sont pas concernés. Plus d’infos ici (anglais). Bref, pour revenir au point initial: classiquement, la plupart des installeurs Linux proposent un partitionnement “/”, “/home” et swap. Perso, comme j’ai installé quelques logiciels hors package manager, j’ai ajouté une partition pour /opt. Ainsi, on peut réinstaller le système sans perdre de données.

Un serveur DNS

Grâce à un Raspberry Pi (2, 3 ou 4), on peut disposer d’un serveur DNS dans son LAN. C’est triplement pratique puisque

  1. Les requêtes DNS sont faites sur le LAN, on gagne du temps.
  2. Il est inutile de gérer un fichier host par machine.
  3. On évite la censure de son FAI.

Les fichiers de configuration, images, fontes

Conserver tous les éléments de personnalisation (configuration du window manager, son fond d’écran, etc) dans un dossier évite également de devoir refaire ou d’aller chercher dans un backup le fichier manquant.

Un script pour automatiser l’installation des logiciels

Une fois qu’on a installé le système, il va manquer la configuration personnalisée (par exemple, j’utilise Openbox mais il n’est pas installé par défaut) et les logiciels (Digikam, LightZone, geany, KeePass, etc). Alors on peut les installer à la main via le package manager mais ça peut vite devenir galère. Sans compter sur la configuration système (mount des autres disques, sudo, etc). Alors écrire un script shell va permettre de centraliser l’ensemble des points (par exemple, l’ajout du bip système). Ci-dessous un extrait de mon script:

    
 1su - # on passe root
 2addgroup gtg # ajout du groupe gtg
 3usermod -a -G gtg gobo # ajouter mon compte au groupe gtg
 4visudo # edition des sudoers (recopier la ligne root en replaçant par son login)
 5
 6# ensuite ajouter les partitions supplementaires 
 7echo "# home" >> /etc/fstab
 8echo "UUID=0xxxxxx6-bxx6-4xxx-xxx3-fxxxxxxxxxx9 /home         ext4    defaults        0       2" >> /etc/fstab
 9echo "# home / Photos" >> /etc/fstab
10echo "UUID=xxxxxxxe-fxxx-4xxx-9xxx-exxxxxxxxxx /home/Photos  ext4    defaults        0       2" >> /etc/fstab
11mount -av # on mounte les partitions
12
13echo "domain gtg.lan" >> /etc/resolv.conf # on ajoute le domaine a notre config reseau
14
15# installation des logiciels par le package manager
16apt-get install -y software-properties-common
17apt-get install -y cups
18apt-get install -y beep
19apt-get install -y conky
20apt-get install -y numlockx
21apt-get install -y tint2
22apt-get install -y hsetroot
23apt-get install -y xscreensaver
24apt-get install -y clipit
25apt-get install -y openbox
26apt-get install -y lightdm
27apt-get install -y lightdm-gtk-greeter
28apt-get install -y menu
29## couic - j'en ai encore quelques uns, mais chacun ajoute les siens ##
30
31addgroup --system beep # on ajoute le groupe système beep
32usermod gobo -a -G beep # on autorise le user a faire bip
33
34# ajout des fontes et background
35dpkg-reconfigure fontconfig-config
36dpkg-reconfigure fontconfig
37cp /home/Configuration/lightdm-gtk-greeter.conf /etc/lightdm/lightdm-gtk-greeter.conf # configuration de lightdm pour l'ouverture de sessions
38cp /home/Configuration/opzo-ano-1.jpg /usr/share/images/desktop-base/ # le fond d'écran 
39cp /home/Configuration/fonts/* /usr/local/share/fonts/ # copie les fontes
40sudo fc-cache -v # recharge les fontes
41
42# c'est fini
43echo "Un petit reboot et tout doit être ok"
44exit

Conclusion

Ainsi outillé et avec une bonne gestion des backups, on ne craint plus les crashes système ou matériel.