Skip to content

Ce script met à jour l'image LTSP en vérifiant un fichier flag, synchronise via rsync avec exclusions, puis redémarre le système pour appliquer les modifications.

Notifications You must be signed in to change notification settings

Mayse-55/Script-Update-Image-LTSP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 

Repository files navigation

🧾 Informations

  • 📦 LTSP version : 23.02-1+deb12u1
  • 🐧 Distribution : Debian 12

Caution

✅ Ces scripts ont été testés et validés dans un environnement conforme aux prérequis.
❌​​​ Si vous rencontrez des problèmes, il est probable que cela provienne de votre configuration.


⚙️ Description du script

📄 Ce script assure la mise à jour automatisée de l’image LTSP utilisée par les postes clients dans un environnement en réseau.

Avant toute action, il vérifie la présence d’un fichier flag afin d’éviter les exécutions multiples ou simultanées, ce qui pourrait provoquer des conflits.

Ensuite, il effectue une synchronisation via rsync avec un serveur distant, tout en excluant certains dossiers critiques ou temporaires (comme /Bureau, /Images, etc.) pour garantir la stabilité de l’image.

Une fois la mise à jour terminée, le script déclenche automatiquement un redémarrage du système pour que les modifications soient prises en compte dès le prochain démarrage des clients LTSP.


Important

Ce script doit être exécuté automatiquement avant le démarrage de la session utilisateur.
🧰​ N'oubliez pas de modifier visudo si c'est un compte utilisateur qui le lance.

nano /etc/systemd/system/reloadimage.service
# Vous pouvez changer le nom reloadimage par autre chose

Copier ceci dedans :

[Unit]
Description=Reload Image LTSP
Before=display-manager.service
After=network.target
ConditionKernelCommandLine=|root=/dev/nfs
ConditionKernelCommandLine=|nfsroot

[Service]
Type=oneshot
ExecStart=/etc/script/nodisplay.sh

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable reloadimage
systemctl status reloadimage

Ce script se lancera à chaque démarrage et aura aucun effet sur le serveur mais aura un effet sur les clients


🐧​ - Script Bash :

nano /etc/script/nodisplay.sh

Copier ceci dedans

#!/bin/bash

# Chemin du dossier et du fichier flag
tag_dir="/home/internet/tags"
flag_file="$tag_dir/1.flag"

# Vérifier si le dossier tags existe, sinon le créer
if [ ! -d "$tag_dir" ]; then
    sudo mkdir -p "$tag_dir"
fi

# Si le flag existe déjà → on quitte directement
if [ -f "$flag_file" ]; then
    exit 0
fi

sleep 5

sudo rm /home/internet/tags/*

sudo touch "$flag_file"
sync  # Force l'écriture sur le disque

# Attendre 5 seconds
sleep 5

clear

# Synchronisation des fichiers
sudo rsync -av --progress /etc/home/internet/Bureau/ /home/internet/Bureau/

sleep 2

sudo rsync -av --progress --delete-after \
    --exclude='*/tags/' \
    --exclude='*/Bureau/' \
    --exclude='*/Images/' \
    --exclude='*/Documents/' \
    --exclude='*/Téléchargements/' \
    --exclude='*/Vidéos/' \
    --exclude='*/Musique/' \
    --exclude='*/.cache/' \
    --exclude='*/.thunderbird/' \
    /etc/home/internet /home/

sleep 2

clear

for i in {10..1}
do
    echo -ne "\rRedémarrage dans $i secondes..."
    sleep 1
done

# Redémarrage pour permettre la fermeture de session
systemctl reboot

Licence

Cette documentation est sous licence Creative Commons Attribution 4.0 International (CC BY 4.0).

Vous êtes libre de :

  • Partager — copier, distribuer et communiquer le matériel
  • Adapter — remixer, transformer et créer à partir du matériel pour toute utilisation, y compris commerciale

Selon les conditions suivantes :

  • Attribution — Vous devez créditer l'œuvre, intégrer un lien vers la licence et indiquer si des modifications ont été effectuées.

© 2026 Nathaël Polnecq

About

Ce script met à jour l'image LTSP en vérifiant un fichier flag, synchronise via rsync avec exclusions, puis redémarre le système pour appliquer les modifications.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published