Existe-t-il un «point de restauration» sous Linux (Debian / Ubuntu) comme Windows?


17

Je travaille directement dans une machine virtuelle (VM) Ubuntu. Certaines mises à jour (comme le noyau) étaient disponibles sur le gestionnaire de mise à jour.

Si je n'utilisais pas de machine virtuelle, je ne la mettrais pas à jour car c'est un risque de casser quelque chose. Comme il s'agit d'une machine virtuelle, vous pouvez créer un instantané ou exporter une appliance et la restaurer en cas de problème.

Supposons que je n'utilise pas de machine virtuelle avec une installation Debian / Ubuntu. Existe-t-il une approche d'installation-restauration qui ne dépend pas d'une configuration de machine virtuelle pour restaurer votre système exactement avant une mise à niveau (comme un «point de restauration» dans Windows), étant facile à restaurer comme une appliance de machine virtuelle?

(Je ne cherche pas des "images fantômes" ou quelque chose comme ça (Norton Ghost, Clonezilla, etc.), je cherche quelque chose de intégré dans le système Linux)


3
Je sais que cela est hors sujet, donc je l'ajoute en tant que commentaire, mais OpenSolaris peut faire un instantané de l'ensemble du système de fichiers ZFS et le restaurer plus tard. Cela ne prend pas beaucoup d'espace disque aussi, à cause de la déduplication. En fait, la méthode standard pour effectuer des mises à niveau majeures consiste à créer un nouvel instantané FS et à y installer les mises à niveau. Si cela fonctionne, vous pouvez supprimer l'ancien. Sinon, vous pouvez simplement revenir à celui qui fonctionnait.
AndrejaKo

3
@AndrejaKo: +1 Cependant, c'est un "clone" (un instantané inscriptible; les instantanés normaux sont en lecture seule) et le fait qu'il n'a pas besoin de beaucoup d'espace n'a rien à voir avec la déduplication mais avec la façon dont les instantanés et les clones sont traités dans les systèmes de fichiers COW. C'est-à-dire que vous bénéficiez également de la même économie d'espace disque sur les pools non dédoublés.
knweiss

@knweiss Ouais, c'est vrai. Je viens de le chercher!
AndrejaKo

Réponses:


15

Il n'y a aucune fonctionnalité similaire intégrée à aucune distribution Linux que je sache. Il y a plusieurs raisons pour lesquelles ce serait beaucoup moins utile que pour Windows.

  • Principalement, les distributions Linux sont beaucoup plus sérieuses que Microsoft à propos des mises à jour stables qui ne sont mises à niveau que pour corriger des bugs importants et avec un minimum de changements. Par exemple, avec Ubuntu et Debian, vous pouvez choisir de ne recevoir que des mises à jour de sécurité ( -security), ou uniquement des mises à jour de sécurité et des corrections de bogues importantes ( -updates).

  • Les mises à niveau du noyau sont les plus risquées, en raison du risque qu'un changement apparemment bénéfique cause des problèmes sur une configuration matérielle spécifique. C'est pourquoi la plupart des distributions permettent d'installer plus d'une version du noyau en même temps; par exemple, au moment où j'écris ceci, Ubuntu 10.04 a trois versions de noyau disponibles: à 2.6.32.21.22partir de la version d'origine, 2.6.32.22.23avec des mises à jour de sécurité et 2.6.32.23.24avec des mises à jour non liées à la sécurité également. Si la version ... 24 cause un problème sur votre ordinateur, vous pouvez redémarrer sous ... 23 (et même marquer le ... 24 comme interdit d'installation, du moins si vous utilisez aptitude).

  • Il n'y a pas de registre: toutes les données de configuration sont dans des fichiers (dans la /etchiérarchie), qui peuvent facilement être restaurées individuellement en cas de problème. Même dans ce cas, les mises à jour de la version stable affectent rarement les fichiers sous /etc.

  • Si vous installez des packages à partir d'une source autre qu'une version stable, vous souhaiterez peut-être conserver des copies des anciennes versions des packages et conserver des sauvegardes de vos fichiers de configuration. Voici quelques conseils à ce sujet dans Debian et Ubuntu.

    • Les packages téléchargés sont conservés /var/cache/apt/archives. Si vous disposez de l'espace disque, ne supprimez pas les anciens fichiers de package tant que vous n'avez pas confirmé que la nouvelle version fonctionne pour vous.
    • De nombreuses sources conservent les anciennes versions, vous pouvez donc rétrograder facilement (soit en téléchargeant et en installant une ancienne version manuellement, soit en utilisant les préférences d'apt). Pour Debian, regardez snapshot.debian.org .
    • Il existe un moyen très simple de configurer le contrôle de version /etc: installez le etckeeperpackage et activez-le avec la commande etckeeper init. (Je le fais, mais pas parce que je crains que les mises à niveau ne cassent quelque chose, mais parce que je crains que mes modifications ne cassent quelque chose.)

Oui, il n'y a tout simplement pas de comparaison entre la stabilité de Windows et Debian / stable. Même si quelque chose se casse (presque toujours en raison d'une erreur évidente de l'utilisateur), il existe de nombreux outils pour déboguer et résoudre le problème.
liori

2
"Les mises à jour du noyau sont les plus risquées" - C'est pourquoi je garde une copie de Knoppix à côté de mon ordinateur. 5 et non 6.
amphetamachine

Vous pouvez également trouver utile [rsnapshot] (rsnapshot.org), un utilitaire d'instantané de système de fichiers basé sur rsync .
Pablo A

5

Ce n'est pas nécessaire, car le gestionnaire de packages s'occupe de quel fichier provient de quel package, et peut également annuler la mise à jour ou l'installation du package.


2
mais si le paquetage a cassé quelque chose pendant le redémarrage, faire une restauration peut devenir difficile (surtout lié aux révisions du noyau)
warren

1
C'est pourquoi généralement le noyau précédent est conservé et peut être sélectionné pour être démarré dans grub.
mbq

1
Je ne suis pas d'accord. Il serait très utile de pouvoir basculer entre la mise à jour du système d'exploitation x et la mise à jour x + 1 (la différence pourrait inclure bien plus qu'un package de noyau) avec un simple redémarrage. C'est possible avec OpenSolaris.
knweiss

Tout est possible avec Solaris, sauf trouver des pilotes stables ;-)
mbq

5

Vous pouvez essayer d'utiliser un outil comme etckeeper . Cet outil conserve simplement les fichiers de configuration à l'échelle du système dans un référentiel de contrôle de version et facilite la restauration et l'application à nouveau de toute modification.

Mais, pour être honnête, je n'ai jamais eu besoin d'annuler les changements provenant des mises à jour sur mes systèmes debian / stable. Je l'utilise pour corriger les erreurs que j'ai faites manuellement.


J'utilise etckeeper, mais je trouve en fait plus utile d'afficher une chronologie des changements que de revenir en arrière (bien sûr, vous obtenez les deux capacités). Utiliser le serveur Web intégré du backend (par exemple hg, git, bzr, etc.) est souvent le plus simple:sudo hg serve -R /etc

3

TMK, la fonction de restauration de Windows inverse uniquement les modifications apportées au registre et à certains répertoires critiques. Linux n'a pas cela.

Vous pouvez essayer l'approche manuelle avec des sauvegardes. Sauvegardez simplement votre répertoire personnel et la liste des programmes de Synaptic et utilisez-le comme point de restauration.


3

Notez qu'Ubuntu en particulier (mais probablement aussi Debian) ne supprimera pas les anciens paquets du noyau lors de l'installation des mises à jour, et vous pouvez configurer le chargeur de démarrage pour présenter une liste de noyaux à choisir lors du démarrage.

Cela crée automatiquement des "points de restauration" - pour le noyau uniquement - car vous pouvez choisir la version précédente si la plus récente pose problème. Pour autant que je sache, Windows n'a rien de tel pour ses mises à jour du noyau. (Et surtout pour les utilisateurs à domicile, je ne voudrais pas comprendre comment aider à diagnostiquer et réparer un système non amorçable en raison d'une mise à jour du noyau.)


3

Il existe un outil appelé Timeshift. ( http://www.teejeetech.in/p/timeshift.html ) Je ne l'ai pas utilisé, mais il semble prometteur et j'ai entendu de bonnes choses à ce sujet de la part des utilisateurs. Les instantanés sont conçus pour éviter la duplication des données. Et ne soyez pas effrayé par un site Web à l'apparence obscure. :)


2

Si vous utilisez le gestionnaire de volumes logiques pour gérer le contenu de vos disques durs, vous l'obtenez gratuitement dans une certaine mesure en utilisant des instantanés. Pour citer le grand HOWTO : "Un exemple est de créer un instantané d'un volume, de monter l'instantané et d'essayer un programme expérimental qui modifie les fichiers sur ce volume. Si vous n'aimez pas ce qu'il a fait, vous pouvez démonter l'instantané, le supprimer, et montez le système de fichiers d'origine à sa place. "


Je tiens à noter que le partitionnement de disque suggéré sur Ubuntu 12.04+ utilise LVM, c'est donc vraiment la meilleure suggestion.
kevinf

1

Selon la technologie de votre machine virtuelle, vous pouvez arrêter / suspendre / suspendre la machine virtuelle, vider le cœur et copier l'image de la machine virtuelle. En cas d'échec, restaurez simplement l'original.

Si vous êtes directement sur un volume logique, vous pouvez créer un instantané LVM basé sur le LV d'origine. Testez une mise à niveau et si cela fonctionne, vous la refaites sur la machine virtuelle d'origine (voir lvcreate (8) -s)

Ou en utilisant le vieux goudron d'or (1). Vous créez une boule de tar complète de l'espace utilisateur, restaurez les fichiers et supprimez les fichiers qui n'étaient pas dans la boule de tar d'origine.


De la question: "Existe-t-il une approche d'installation-restauration qui ne dépend pas d'une configuration de machine virtuelle"?
Ben Voigt

1

À l'heure actuelle, Linux n'offre pas vraiment une telle fonctionnalité bien qu'elle soit très utile.

Cependant, l'article Mises à niveau incassables, ZFS et Apt décrit la fonction apt-clone de la distribution de stockage Nexenta basée sur Linux et suggère ...

Il y a aussi un nouveau système de fichiers en cours de création en partie en réponse à ZFS, appelé BTRFS, qui aura de nombreux avantages de ZFS et pourrait être capable d'activer à l'avenir des «mises à niveau incassables» pour les distributions Linux moyennes comme Ubuntu.

À mon humble avis, nous avons d'abord besoin d'un système de fichiers COW (Copy-On-Write) utilisable pour Linux avant qu'une telle fonctionnalité puisse être implémentée de manière saine dans les installateurs / mises à jour système.

Remarque: Bien que Nexenta soit basé sur Linux, il n'utilise pas le noyau Linux. Il utilise le noyau OpenSolaris et ZFS.


Je ne veux pas choisir vos lentes, mais basé sur Linux sans noyau Linux est un peu un oxymore.
Seamus Connor du
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.