# Création de point de restauration rapide

**URL:** <https://www.debian-fr.org/t/creation-de-point-de-restauration-rapide/53578>\
**Category:** Trucs et Astuces\
**Created:** [Février 21, 2016, 12:22 UTC](https://www.debian-fr.org/t/creation-de-point-de-restauration-rapide/53578 "2016-02-21T12:22:57Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Février 21, 2016, 12:22 UTC](https://www.debian-fr.org/t/creation-de-point-de-restauration-rapide/53578/1 "2016-02-21T12:22:57Z")

</div>

Voilà vite fais un petit tutoriel à étayer ( je verrai ça probablement ce week-end entre deux inter, ou durant la semaine ).

Suite à ce fil :  
[http://www.debian-fr.org/mauvaise-commande-aptitude-t39059.html](http://www.debian-fr.org/mauvaise-commande-aptitude-t39059.html)

L’idée lorsque l’on simule une grosse mise à jour ou un bidouillage, une création rapide d’un point de restauration du système à base de fichier texte ( attention toute fois il faudra par cette astuce désinstaller et réinstaller via le réseau le système actuelle ).

Nous allons d’aborde crée un fichier texte contenant la liste des paquets actuellement installé, pour le nom c’est open ( vous mettez ce qui vous parle le plus la date est bien pratique en cas de multiples bidouillages ).

```auto
# dpkg --get-selections > Restauration_Date.txt
```

Une fois ce fichier produit vous pouvez mettre le “dawa” vous avez soit un point de restauration créer via le script de sauvegarde présent sur le forum et le wiki il me semble soit à l’aide de votre petit fichier texte.

Si tous c’est bien passé après vos bidouillages tant mieux mais si comme bien souvent le système se retrouve boiteux voir cassé il va falloir alors procéder de la manière suivante.

On va nettoyer la liste de tous les paquets installé pour la désinstallation.

```auto
# dpkg --clear-selections
```

On remplit la liste fraîchement nettoyer avec la liste adéquat de paquets à installer avec le contenu du fichier texte “Restauration\_Date.txt” par exemple.

```auto
# dpkg --set-selections < Restauration_Date.txt
```

On applique alors la mise à jour des paquets de la liste.

```auto
# apt-get dselect-upgrade
```

ou

```auto
# aptitude deselct-upgrade
```

PS : j’ai pas encore eu l’occasion de testé la commande avec aptitude ![:think:](https://www.debian-fr.org/uploads/default/original/1X/98cae0704aea0201d04f151843e80a3ecd391eca.gif "Think")

Si quelqu’un à envie de s’amuser à rajouter des choses qu’il le fasse ![:033](https://www.debian-fr.org/uploads/default/original/1X/42cd8bd0447ecac24cdff1e26fa990a5c8442791.gif "petard")

---

<div class="post-metadata">

**Author:** ![ggoodluck47](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@ggoodluck47](https://www.debian-fr.org/u/ggoodluck47)\
**Post date:** [Février 21, 2016, 12:22 UTC](https://www.debian-fr.org/t/creation-de-point-de-restauration-rapide/53578/2 "2016-02-21T12:22:57Z")

</div>

Salut,

Comme je ne me fait pas confiance sur l’appréciation des risques, j’ai automatisé la création de la liste au démarrage du système, quitte à l’écraser en cours de journée si je devenais raisonnable 🙂

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Février 21, 2016, 12:22 UTC](https://www.debian-fr.org/t/creation-de-point-de-restauration-rapide/53578/3 "2016-02-21T12:22:58Z")

</div>

[quote=“ggoodluck47”]Salut,

Comme je ne me fait pas confiance sur l’appréciation des risques, j’ai automatisé la création de la liste au démarrage du système, quitte à l’écraser en cours de journée si je devenais raisonnable 🙂[/quote]

C’est vrai qu’une simple tache CRON n’est pas une mauvaise idée, vue que je fais assez régulièrement cette manip lors de mes mises à jours ![:033](https://www.debian-fr.org/uploads/default/original/1X/42cd8bd0447ecac24cdff1e26fa990a5c8442791.gif "petard")

---

<div class="post-metadata">

**Author:** ![lol](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lol/32/15629_2.png) [@lol](https://www.debian-fr.org/u/lol)\
**Post date:** [Février 21, 2016, 12:23 UTC](https://www.debian-fr.org/t/creation-de-point-de-restauration-rapide/53578/4 "2016-02-21T12:23:00Z")

</div>

Salut,

> [@](#):
>
> j’ai automatisé la création de la liste au démarrage du système, quitte à l’écraser en cours de journée si je devenais raisonnable 🙂

Idem,  
J’ai même fait un script… update, sauvegarde de l’état des paquets, mail si MAJ à faire (avec l’état des paquets en PJ), et dist-upgrade en mode téléchargement. Avoir l’état des paquets en PJ est pratique et permet de garde un historique au cas ou…

Enfin c’est sur mes stables… Sur une Sid tu croulerais sous les mails de maj… ![:005](https://www.debian-fr.org/uploads/default/original/1X/cdd45e7dd754015ac5291329b843a2851a0d4fe8.gif "chaud")

Par contre je sauvegarde le liste des paquets avec les deux méthodes (dpkg et aptitude). j’ai déjà eu, à la réinstallation, des mauvaises surprises avec dpkg…

---

<div class="post-metadata">

**Author:** ![ggoodluck47](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@ggoodluck47](https://www.debian-fr.org/u/ggoodluck47)\
**Post date:** [Février 21, 2016, 12:23 UTC](https://www.debian-fr.org/t/creation-de-point-de-restauration-rapide/53578/5 "2016-02-21T12:23:06Z")

</div>

Salut,

Toi, Lol, tu serais plutôt du genre ceinture ET bretelles 😆

---

<div class="post-metadata">

**Author:** ![lol](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lol/32/15629_2.png) [@lol](https://www.debian-fr.org/u/lol)\
**Post date:** [Février 21, 2016, 12:23 UTC](https://www.debian-fr.org/t/creation-de-point-de-restauration-rapide/53578/6 "2016-02-21T12:23:06Z")

</div>

[quote=“ggoodluck47”]Salut,  
Toi, Lol, tu serais plutôt du genre ceinture ET bretelles 😆[/quote]

Les listes de dpkg et aptitude ne pèsent rien (quelques dizaines de kilos) ce serait dommage de s’en priver… 😉

---

<div class="post-metadata">

**Author:** ![lol](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lol/32/15629_2.png) [@lol](https://www.debian-fr.org/u/lol)\
**Post date:** [Février 21, 2016, 12:23 UTC](https://www.debian-fr.org/t/creation-de-point-de-restauration-rapide/53578/7 "2016-02-21T12:23:47Z")

</div>

Salut,  
Je vous donne le script que j’utilise, c’est tout de même bien pratique:

[code]#!/bin/sh  
#Copyright: lol [à] [isalo.org](http://isalo.org)  
#License: GPL

MAIL\_CMD="/usr/bin/mail"  
EMAIL\_ADDR=“nom@domaine.tld"  
TMPNAME=”`mktemp`"

IPADDR="`LC_ALL='en' /sbin/ifconfig eth0 | sed -n -e'/inet addr:/s/^.*inet addr:\([0-9.]*\).*$/\1/p'`"

if [-z ${IPADDR}]; then  
IPADDR="`LC_ALL='en' /sbin/ifconfig eth0:1 | sed -n -e'/inet addr:/s/^.*inet addr:\([0-9.]*\).*$/\1/p'`"  
fi

if [-z ${IPADDR}]; then  
IPADDR=`/bin/hostname -f`  
fi

apt-get update \> /dev/null

dpkg --get-selections \> /var/backup/dpkg.list

# Restauration: dpkg --clear-selections && dpkg --set-selections \< dpkg.list && apt-get -u dselect-upgrade

aptitude search ‘~i !~M’ -F ‘%p’ \> /var/backup/aptitude.list

# Restauration: aptitude install `aptitude.list`

if [`apt-get --just-print upgrade | grep -c -E "^Inst"` -gt “0”]; then

echo -e “apt-get upgrade voudrait mettre à jour les paquets suivants:\n” \>\> ${TMPNAME}

# Choisir entre les deux options suivantes:

#`apt-get --just-print -u upgrade | grep "^Inst " | awk '{print$2}' >> ${TMPNAME}` # Description courte  
`apt-get update >/dev/null; apt-get --simulate --quiet=2 upgrade >> ${TMPNAME}` # Description plus complète  
echo -e “\n-------------------------------------\nMises à jour de Sécurité, vous connaissez la musique…” \>\> ${TMPNAME}  
${MAIL\_CMD} -s “Mise(s) à jour en attente sur ${IPADDR}” ${EMAIL\_ADDR} \< ${TMPNAME}  
rm -f ${TMPNAME}  
echo | ${MAIL\_CMD} -s “Etat des paquets” -a “/var/backup/dpkg.list” -a “/var/backup/aptitude.list” ${EMAIL\_ADDR}  
fi

# dist-upgrade en mode téléchargement seulement

apt-get dist-upgrade -yd

exit[/code]

Le script fait:

- Un update
- Une double sauvegarde de l’état des paquets (une avec dpkg et une avec aptitude)
- Vous envoie un mail en cas de mise à jour à faire et un mail avec en pièce jointe l’état des paquets (faudrait n’en faire de mail qu’un d’ailleurs…)
- Télécharge les paquets à mettre à jour (ça permet de ne pas attendre le téléchargement quand l’envie vous vient de faire la MAJ; Les paquets sont là, tout chauds…)
