voilà donc le "résultat final" fonctionnel :
le premier : sauvegarde (testé)
#!/bin/bash
############
#script de sauvegarde de la liste des paquets installés sur le système, ainsi que du fichier etc/apt/sources.list et du contenu du répertoire etc/apt/sources.list.d dans un répertoire caché ~/.sauvegarde
#script coécrit par sam7 Wlourf Kookaburra sous licence libre GNU GPL
############
# Création du répertoire pour la sauvegarde :
echo "création du répertoire pour la sauvegarde ..."
cd ~/
rm -r ~/.sauvegarde/
mkdir ~/.sauvegarde/
echo "... fini"
# Copie des fichiers de sauvegarde :
echo "copie des fichiers de sauvegarde ..."
dpkg --get-selections > ~/.sauvegarde/liste-des-paquets
cp -r /etc/apt/ ~/.sauvegarde/
echo "... fini"
# Fin du script :
echo
echo
echo "La sauvegarde de la liste des paquets et du sources.list a été effectuée dans le répertoire ~/.sauvegarde"
echo
echo "Appuyer la touche <Entrée> pour sortir ..."
read touche
case $touche in
*) echo "Fin du script..."
;;
esac
exit 0
il sauvegarde au final tout le etc/apt 😉 ...
le second : restauration (non testé)
#!/bin/bash
############
#script de restauration de la liste des paquets installés sur le système, ainsi que du fichier etc/apt/sources.list et du contenu du répertoire etc/apt/sources.list.d à partir de la sauvegarde effectuée dans le répertoire caché ~/.sauvegarde
#script coécrit par sam7 Wlourf Kookaburra sous licence libre GNU GPL
############
# Restauration du répertoire "etc/apt" :
echo
echo " restauration du répertoire etc/apt ..."
rm -r /etc/apt
cp -r ~/.sauvegarde/apt/ /etc/apt/
echo "... fini"
echo
# Mise à jour du systéme :
echo
echo "mise à jour du systéme ..."
apt-get update
echo "... fini"
echo
# Ré-installation des paquets :
echo
echo "ré-installation des paquets ..."
dpkg --set-selections < ~/.sauvegarde/liste-des-paquets
apt-get -u dselect-upgrade
echo "...fini"
echo
# Fin du script :
echo
echo "Système restauré :
Merci de redémarrer votre ordinateur"
echo
echo "Appuyer la touche <Entrée> pour sortir ..."
read touche
case $touche in
*) echo "Fin du script..."
;;
esac
exit 0
dès que les "améliorations" (suivantes) y seront apportées,
je pourrais communiquer ces scripts à quelques personnes intéressées,
en plus de les utiliser sur mes différents systèmes :p
reste juste à :
1/ "simplifier" le démarrage "ponctuel" pour ne pas avoir à saisir:
sudo bash sauvegarde-liste-paquets.sh
dans un terminal (surtout pour les néophites en fait)...
&
2/ faire en sorte que cette sauvegarde se fasse "automatiquement" à intervalle régulier (toutes les semaines par exemple)
avec l'aide de l'une des appllications suivante ... reste à savoir laquelle :
-
http://doc.ubuntu-fr.org/anacron
-
http://doc.ubuntu-fr.org/cron
-
http://doc.ubuntu-fr.org/fcron
&
3/ éventuellement lui donner un "petit" interface graphique : petite boite de dialogue par exemple...
NB 1: je souhaite que ce script fonctionne quelque soit la distribution (si possible) en tout cas pour celles basées sur debian et/ou ubuntu
NB 2: soyez indulgents, c'est mon "premier script" (heureusement que j'ai eu un coup de mains...) :p