Les reconditionneurs Linux - Script post installation

Publiée dans la base Les reconditionneurs Linux par Laura Herail


Publiée le 13.07.2026

Les reconditionneurs Linux - Script post installation

Cette ressource détaille la création et l'exécution de scripts de post-installation pour déployer une configuration Linux Xubuntu standardisée sur plusieurs postes à partir d'un ordinateur maître.

5 VuesVues·

Ressource enregistrée dans 1 collection

1 collection publique

Comment organiser une activité de reconditionnement ?

Collection de la base Les reconditionneurs Linux par Laura Herail

6Ressources 

Enregistrer
Donner son avis

1. Lancer un script

Pour lancer un script, nous allons dans le dossier où il se trouve, puis avec un clic droit, nous ouvrons un « émulateur de terminal).

Nous tapons :

sh nom_du_fichier.sh

2. Post install

Afin d’avoir une distribution qui répond à nos besoins précis, il est possible de l’adapter à plein de niveaux.

Pour ne pas avoir à refaire ce travail à chaque installation il est possible de créer un script.

Pour cela, on exécute le script sur un ordinateur « master » (un maître) et les autres ordinateurs installées dans le futur seront ses clones.

Le script correspond à des lignes de codes entrées dans un terminal qui exécutent des actions.

Voici le fonctionnement pour la création d’un script d’adaptation.

On crée un fichier dans un éditeur de texte (gedit, mousepad...) commençant par

code :


#!/bin/bash


et nommé de type post_install.sh.

On commence par prendre la main en demandant à être prioritaire sur l’utilisation des « paquets » (une archive téléchargée).

En effet, les mises à jour de sécurité ou un logiciel de mise à jour ouvert pourraient nous empêcher l’accès à la configuration qui demande à n’être utilisé que par un outil en même temps pour ne pas avoir de conflit.

code :


# Verrou exclusif / OK

sudo dpkg --configure -a


Toutes les lignes qui commence par # sont des commentaires et ne sont pas prises en compte comme du code dans le fichier. Cela nous permet de garder des explications dans le code.

Certaines commandes sont alors très utiles.

code :


# Supprimer des logiciels / OK

sudo apt-get purge -y –autoremove logiciel1 logiciel2 logiciel3 logiciel4


sudo apt-get purge signifie que le super utilisateur purge (enlève complètement) avec l’outil apt-get (lié à la récupération de logiciels) les logiciels cités après.

-y –autoremove indique oui (y pour yes) aux questions qui seront posées par défaut et autoremove enlève toutes les dépendances qui servaient uniquement aux logiciels installés.

Les noms des logiciels peuvent se trouver dans l’application « gestionnaire de paquets synaptic ».

On peut aussi utiliser l’auto-complétion du terminal. Par exemple, si l’on souhaite connaître le nom du logiciel, lorsque l’on commence à taper imagemagick, mais que l’on ne sait pas si cela va s’écrire imagemagick, image-magick ou encore imagemagique. Nous allons dans un terminal et tapons « image » puis la touche tabulation nous donnera toutes les possibilités installées sur l’ordinateur. On peut par la suite taper « imagemagick » dans le terminal pour s’assurer qu’il s’agit bien du logiciel que l’on souhaite retirer.

code :


# Update and upgrade / OK

sudo apt-get update && sudo apt-get upgrade -y


sudo apt-get : Comme vu précédemment sudo apt-get signifie le super utilisateur utilise l’outil apt-get.

update signifie que l’on se met à jour avec les divers dépôts de logiciels connectés à l’ordinateur.

&& signifie que l’action suivante ne se lance qu’une fois la première finie.

upgrade exécute les mises à jour en comparant les versions présentes des logiciels, dépendances et divers programmes sur l’ordinateur avec celles du dépôt.

code :


# Install prefered software  / OK

sudo apt-get install -y logiciel1 logiciel2 logiciel3 logiciel4


sudo apt-get install installe les logiciels que l’on a sélectionnés.

Nous avons choisi des logiciels assez connus ou simple d’utilisation, sans oublier l’esthétique.

Outre des choix personnels, voici quelques outils intéressant.

hardinfo : Donne des informations sur le système

redshift et redshift-gtk : Pour diminuer la lumière bleue, nocive à plusieurs niveaux.

usb-creator-gtk : Le créateur de clé bootable à partir d’une ISO

jmtpfs : Pour la reconnaissance de smartphone par l’ordinateur

firmware-b43-installer : Pour certains protocoles Wifi

Gnome-disk-utility : Outils de partitionnement ou d’effacement de disque dur.

exfat-utils : Pour pouvoir lire le clé ou disque en format exfat (format sans limitation de tailles de fichier transférable à 4 Go).

libdvd-pkg : Pour lire les dvd.

libavcodec-extra : Des librairies vidéos avec des codecs supplémentaires.

unrar : Pour décompresser un fichier.

lame : Pour l’encodage mp3 et des outils d’analyse de sons

gparted : Un autre outil d’analyse de disque durs et volumes branchés.

printer-driver-gutenprint : Un outil pour les détections et installations d’imprimante

simplescreenrecorder : Un outil d’enregistrement vidéos, pour faire des tutoriaux.

mscorefonts-installer : Installation des polices Microsoft (Arial, Times new roman…)

Pour la partie esthétique, on peut également installer des icones ; Voici un exemple avec Faenza

code :


# Install Faenza icons / OK

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/faenza-icon-theme/faenza-icon-theme_1.3.zip &&


On télécharge la source1 ;

code :


unzip faenza-icon-theme_1.3.zip &&


Puis on les dézippe

code :


for file in *.tar.gz; do tar -zxf $file; done &&


Les fichiers dézippé contiennent des fichiers tar.gz, un autre format de compression que l’on décompresse.

code :


sudo mv -t /usr/share/icons/ emesene/ Faenza/ Faenza-Ambiance/ Faenza-Dark/ Faenza-Darker/ Faenza-Darkest/ Faenza-Radiance/ &&


On déplace le tout à l’endroit où les icônes vont sur le système. (mv -t soit move target ou en français déplace vers le fichier cible, on nomme la cible, puis les fichiers en question).

code :


rm -r AUTHORS ChangeLog COPYING INSTALL README UNINSTALL emesene-faenza-theme.tar.gz Faenza.tar.gz Faenza-Ambiance.tar.gz Faenza-Dark.tar.gz Faenza-Darker.tar.gz Faenza-Darkest.tar.gz faenza-icon-theme_1.3.zip Faenza-Radiance.tar.gz


On supprime tout les fichiers décompressés inutiles (rm -r soit remove recursively, ou en français supprime de manière récursive, les fichiers nommés dans la suite de cette commande.)

code :


sudo gtk-update-icon-cache /usr/share/icons/Faenza-Radiance/

sudo gtk-update-icon-cache /usr/share/icons/Faenza-Darkest/

sudo gtk-update-icon-cache /usr/share/icons/Faenza-Darker/

sudo gtk-update-icon-cache /usr/share/icons/Faenza-Dark/

sudo gtk-update-icon-cache /usr/share/icons/Faenza/

sudo gtk-update-icon-cache /usr/share/icons/Faenza-Ambiance/


On donne les droits nécessaires aux icônes à être installées.

code :


# Reconfigure libdvd-pkg for DVD reading

sudo dpkg-reconfigure libdvd-pkg


On reconfigure le paquet libdvd-pkg installé dans le premier script pour ne pas avoir de souci à la lecture de dvd.

code :


# Set background  / OK

mkdir -p /$HOME/Images/Fonds\ d\'écran

mv -t /$HOME/Images/Fonds\ d\'écran/ /$HOME/Bureau/installation/background/bg-*


On crée le dossier « fonds d’écran » dans le dossier « Images » (mkdir soit make directory ou créer un répertoire, p créée les dossiers parents si il n’existe pas. Ici le dossier parent « Image » existe déjà)

On déplace les fonds d’écran dans ce dossier (les commandes ont été vue précédemment).

code :


# sleep / OK

sleep 90


Ne rien faire pendant 90 secondes (pour finir les processus en cours)

code :


# reboot / OK

pkill -KILL -u xubuntu


Se déconnecter de la session xubuntu (si le nom de l’utilisateur créé est xubuntu, sinon, le remplacer par le nom de l’utilisateur)

Une fois que l’on se reconnecte, nous lançons un deuxième script construit ainsi :

code :


# Install Memo on Desktop  / OK

mv /$HOME/Bureau/installation/memo/memo4.1_page.pdf /$HOME/Bureau/


On déplace le mémo d’utilisation sur le « Bureau ».

Pour la suite, on copie un fichier de configuration du logiciel de musique Clémentine. Pour un exemple de récupération de configuration d’un logiciel.

code :


# Install Config Clementine / OK

cp -a /$HOME/Bureau/installation/config/.config/Clementine /$HOME/.config/Clementine


Certaines choses, comme les configurations logiciels ou même du bureau ne sont pas aisées à reproduire en ligne de code.

Pour contourner ce problème, il existe un dossier caché (.config) au niveau de l’utilisateur (dans notre cas home/ xubuntu). Nous affichons les fichiers cachés et pouvons ainsi appliquer les préférences que nous avons appliquées aux logiciels sur le master.

Dans le cas de Clémentine, nous avons ajouté le fait que la liste de musique se crée automatiquement à partir du dossier « Musique » et vérifie si il y a eu des changements depuis la dernière ouverture du logiciel.

code :


# Get rid of parameter in menu whisker and translate the software description / OK

cp -a /$HOME/Bureau/installation/config/.local/share /$HOME/.local


Certaines descriptions de logiciels dans le menu n’étaient pas en français (bien que les logiciels le soit).

Nous récupérons le fichier local, où nous avons modifié cela sur le master (avec édition menu dans les paramètres)

Comme nous pouvons le voir ici, une description du logiciel apparaît au survol d’une souris après quelques secondes d’arrêt sur le nom du logiciel.

code :


# Install Config User (snap firefox) / OK

if [[ $(grep -r '\[Profile[^0]\]' $HOME/snap/firefox/common/.mozilla/firefox/profiles.ini) ]]

then PROFPATH=$(grep -E '^\[Profile|^Path|^Default' $HOME/snap/firefox/common/.mozilla/firefox/profiles.ini | grep -1 '^Default=1' | grep '^Path' | cut -c6-)

else PROFPATH=$(grep 'Path=' $HOME/snap/firefox/common/.mozilla/firefox/profiles.ini | sed 's/^Path=//')

cp -a -r ./config/user1/config_firefox/* $HOME/snap/firefox/common/.mozilla/firefox/$PROFPATH

fi


Pour Firefox, c’est plus technique. ici nous voyons un exemple installé par SNAP.

Nous récupérons les préférences de Firefox soit :

•    Une page d’accueil (paramètre)

•    L’ajout d’une barre de recherche multi-navigateur, en retirant certains présents par défaut (paramètre)

•    L’affichage de la barre personnelle (Affichage  / barre d’outils / barre personnelle)

•    L’ajout de liens d’entraide, forum, association… (dans la barre personnelle)

•    L’ajout d’un bloqueur de pub (Ublock Origin) (Dans les modules complémentaires)

code :


# No LTS upgrade proposed  / OK

sudo sed -i 's/Prompt=lts/Prompt=never/g' /etc/update-manager/release-upgrades


On bloque les versions à la LTS (Version supportée à long terme) actuelle, car il y a déjà eu des soucis de migration (ce qui est rare, mais il vaut mieux éviter le plantage de tous les ordinateurs distribués).

Nous testons donc en interne le passage d’une LTS à la suivante pour indiquer aux adhérents comment faire quand cela se passe bien.

code :


# No apport error  / OK

sudo sed -i -e "s/enabled=1/enabled=0/g" /etc/default/apport


On désactive un rapport d’erreur souvent erroné et « enquiquinant ».

code :


# Change swappiness to 10  / OK

sudo sed -i "1i\vm.swappiness=10\n" /etc/sysctl.conf


On passe le passage de la swap[1] à 90 % d’utilisation de la mémoire réelle, pour profiter des performances du matériel.

code :


# Install Config xfce4 / OK

cp -a /$HOME/Bureau/installation/config/.config/xfce4 /$HOME/.config/


On copie la configuration du bureau, soit :
•    les utilitaires présents dans la barre du haut (contrôleurs de son, de réseaux, bouton pour éteindre…)

•    la barre de raccourcis sur le coté gauche avec les logiciels les plus souvent utilisés

•    le fond d’écran

•    Les logiciels ouvrant les types de fichier par défaut (paramètres /éditeur de type Mime), notamment…

◦  .deb avec installeur de logiciels

◦  .jar avec OpenJDK Java

À noter que si l’on conseille très fortement de toujours installer un logiciel via la logithèque, certains logiciels et jeux propriétaires n’y sont pas disponibles. Le plus souvent cela demandera d’installer un .deb ou .jar pour une version Linux.

code :


# Install fuck**g font

# mscorefonts-installer depends on cabextract and libmspack0

sudo apt-get install cabextract libmspack0 && sudo apt purge -y ttf-mscorefonts-installer && sudo dpkg -i ttf-mscorefonts-installer_3.7_all.deb


Installation de polices parfois capricieuses et propriétaires (Arial, times new roman...)

code :


# Install all language support

sudo apt install $(check-language-support)


Installation du support de langues

code :


# sleep / OK

sleep 90


Ne rien faire pendant 90 secondes (pour finir les processus en cours)

code :


# reboot / OK

pkill -KILL -u whoami


Se déconnecter de la session en cours.


[1]L'espace d'échange, aussi appelé par son terme anglais swap space ou simplement swap, est une zone d'un disque dur faisant partie de la mémoire virtuelle) de votre ordinateur. Il est utilisé pour décharger la mémoire vive physique (RAM) de votre ordinateur lorsque celle-ci arrive à saturation. (source : https://doc.ubuntu-fr.org/swap). En bref, la swap permet d’éviter de « ramer » lorsque les applications sont « poussives » pour la machine.

Fiche technique - Script post install

2026_DELAGRAINE_ALHUMUS_SCRIPT_POST_INSTALL.pdf· 442,82 ko

0 téléchargements·0 vues

Ressource enregistrée dans 1 collection

·Voir les collections

Ressource enregistrée dans 1 collection

1 collection publique

Comment organiser une activité de reconditionnement ?

Collection de la base Les reconditionneurs Linux par Laura Herail

6Ressources 

Type de ressource

Bénéficiaires

Licence Etalab 2.0 Ouverture dans un nouvel onglet· Attribution de la source d'information

Inviter des contributeurs

Les contributeurs peuvent voir, éditer, inviter d’autres contributeurs et supprimer la ressource.

Signaler la ressource

Veuillez indiquez le motif de signalement et le préciser dans votre message. Nous prendrons en compte votre signalement au plus vite.

Les champs avec * sont obligatoires.