Installation automatisée de Archlinux sur un Dell Latitude E5500 [1/8]

2794902651_459bdcfa8eJe vous avait présenté une technique pour avoir un système toujours “propre”. En voici une autre, mais utilisable seulement pour votre système Linux. En effet, Acronis (dans la version que j’utilise) ne permet pas de créer d’images de partitions ext4.
Le principe est simple : automatiser la majeure partie de votre installation. Ce script est prévu pour Archlinux, mais il sera assez simple de l’adapter à une autre distribution. Mon portable étant un Dell Latitude E5500, ce tutoriel est donc un 2 en 1 !

Afin de simplifier l’organisation et la gestion de la procédure, je l’ai découpée en “sous-scripts” :

  • global : gère l’ensemble des scripts
  • 00-base : installe tous les pré-requis à l’installation
  • 01-user : crée l’utilisateur principal
  • 02-X : installe le serveur X et les drivers vidéo
  • 03-Sound : installe les drivers pour le son
  • 03-1-Wifi : installe les drivers et application Wifi
  • 04-Window_manager : installe le gestionnaire de fenêtres
  • 05-Software : tout le reste des applications (Firefox…)

Je vais donc détailler chaque script, dans des articles différents en fonction de ma progression.

Je vais commencer par le point d’entrée de l’installation, le fichier global :

#! /bin/bash
set -e
function configure_service {
	SERVICE="$1"
	cat /etc/rc.conf | sed "s/\(DAEMONS=.*\)\()\)/\1 $SERVICE\2/g" > /tmp/buffer
	cat /tmp/buffer > /etc/rc.conf
}
function configure_module {
	MODULE="$1"
	cat /etc/rc.conf | sed "s/\(MODULES=.*\)\()\)/\1 $MODULE\2/g" > /tmp/buffer
	cat /tmp/buffer > /etc/rc.conf
}
source scripts/00-base
source scripts/01-user
source scripts/02-X
source scripts/03-Sound
source scripts/03-1-Wifi
source scripts/04-Window_manager
source scripts/05-Software
set +e

Ce script me permet donc de tout d’abord faire face aux erreurs lors de l’installation avec set -e. Dès qu’une fonction aura un code retour diférent de 0 (“tout s’est bien passé”), l’exécution sera évitée ! Pratique pour éviter un drame en cascade !
Comme Archlinux se sert du fichier /etc/rc.conf pour gérer le chargement des modules et le lancement des services, je me sert de deux fonctions pour le modifier :

  • configure_service qui modifie la ligne SERVICE=(...)
  • configure_module qui modifie la ligne MODULE=(...)
  • Toutes les deux prennent en argument le service ou module à ajouter

En toute logique source permet d’intégrer les différents sous-scripts au fichier global.

La suite au prochain épisode ;-)

Articles relatifs :

  1. Installation automatisée de Archlinux sur un Dell Latitude E5500 [4/8]
  2. Installation automatisée de Archlinux sur un Dell Latitude E5500 [7/8]
  3. Installation automatisée de Archlinux sur un Dell Latitude E5500 [6/8]
  4. Installation automatisée de Archlinux sur un Dell Latitude E5500 [3/8]
  5. Installation automatisée de Archlinux sur un Dell Latitude E5500 [2/8]