0 votes

Un utilisateur connecté peut-il restaurer son dossier ~/Bibliothèque à partir d'une sauvegarde Time Machine effectuée avec une version antérieure du système d'exploitation ?

L'histoire complète : J'ai un clone de mon ancien disque MBP sur lequel était installé Yosemite. J'ai maintenant un nouveau MBP avec MacOS Sierra dessus. J'ai essayé de transférer les données de mon ancien Mac vers le nouveau en utilisant Migration Assistant, mais il s'est figé lors de l'importation des applications. J'ai également essayé d'importer uniquement mon compte utilisateur, mais c'était si lent que j'ai annulé la procédure et décidé d'utiliser Carbon Copy Cloner pour terminer le travail. CCC a cependant eu des problèmes avec les permissions sur certains dossiers de mon dossier ~/Bibliothèque, et il ne semble pas avoir réussi à tout importer. Maintenant, ma question est triple :

  1. Aurai-je plus de chance si je restaure mon dossier ~/Bibliothèque à partir d'une sauvegarde Time Machine ? Ou est-ce que cela posera les mêmes problèmes d'autorisation ?
  2. Ma sauvegarde Time Machine provient d'une installation Yosemite. Si je restaure mon dossier ~/Bibliothèque à partir de cette sauvegarde sur une machine MacOS Sierra, aurai-je des problèmes ? Je pense à des paramètres qui pourraient être spécifiques à MacOS Sierra et que je perdrais en écrasant mon dossier ~/Bibliothèque.
  3. Est-il possible de restaurer mon dossier ~/Bibliothèque depuis Time Machine lorsque je suis connecté ? Je veux dire, certains de ces fichiers ne seront-ils pas en cours d'utilisation et impossibles à écraser ?

1voto

lamas Points 2252

Avez-vous fait quelque chose sur l'installation de Sierra que vous ne voudriez pas écraser ? Je n'ai jamais essayé de faire une restauration entre différentes versions, mais je pense que cela ne poserait pas de problème : le système mettrait à jour tout ce qui est nécessaire lors de la prochaine connexion.

Pour ce qui est de le faire tandis que vous êtes connecté, je n'essaierais pas. Je me connecterais sous un autre compte administrateur, si vous en avez un (mais cela pourrait entraîner des problèmes de permissions), ou je me déconnecterais, puis j'emprunterais la machine de quelqu'un d'autre et me connecterais par SSH. De cette façon, vous n'aurez pas de processus d'arrière-plan qui écrivent des choses dans votre dossier Bibliothèque pendant que vous essayez de les copier.


C'est pour Time Machine. Il se peut que tout ne soit pas restauré - voir ci-dessous !

  • Empruntez le Mac d'un ami (désolé, mais les machines Windows ne fonctionnent pas) et ouvrez Terminal.

Si votre lecteur de sauvegarde est verrouillé :

  • Connectez votre disque de sauvegarde et déverrouillez-le si nécessaire.
  • Terminal ouvert.
  • Voir ci-dessous, en commençant par le ssh et remplacez ~/Library avec /Volumes/disk/Backups.backupdb/machine-name/Latest/Macintosh\ HD/Users/user/Librarydisk est le nom du disque de sauvegarde, machine-name est le nom de l'ancienne machine, et user est votre nom d'utilisateur, comme dans la commande SSH. Tout espace devra être précédé de barres obliques inverses, comme dans "Macintosh\ HD". Vous pouvez taper Tab tout en tapant un segment de chemin d'accès et il le complétera automatiquement pour vous, y compris l'échappement des choses si nécessaire (la chose backslash). Arrêtez-vous avant le chmod commande Vous n'avez rien fait dans le dossier Bibliothèque de votre ami et vous n'avez pas besoin de l'annuler. (De plus, si pour une raison quelconque, il recherché quelque chose dans leur dossier Bibliothèque pour qu'il soit en lecture seule, ils pourraient se mettre en colère contre vous !)

Si votre disque de sauvegarde n'est pas verrouillé (espérons qu'il l'est, mais au cas où) :

  • Faites la même chose que ci-dessus, sauf que vous connectez le disque de sauvegarde à la nouvelle machine (sans vous connecter !) et que vous retirez l'option user@machine.local: bit du transfert. Faites aussi le transfert tout en restant connecté à la machine distante . Vous pouvez alors également utiliser ~ à la place de /Users/user (mais ne le remplacez pas par /Volumes/... ). La méthode ci-dessus fonctionne très bien, mais celle-ci est plus rapide.

Une note importante !

Je ne suis pas complètement sûr de ça, mais Time Machine peut ne pas sauvegarder tout ce qui se trouve dans ~/Bibliothèque . Si vous trouvez qu'il manque quelque chose et que vous avez encore l'ancienne machine, je l'utiliserais pour transférer les fichiers :

  • Démarrez les deux machines et connectez-les au même réseau. Faites pas Connectez-vous sur la nouvelle machine, ou déconnectez-vous si vous êtes connecté.
  • Connectez-vous à l'ancienne machine, et ouvrez Terminal.
  • Type chmod -R -w ~/Library . Cela empêchera l'ancien système de modifier le dossier pendant que vous le copiez. A partir de maintenant, jusqu'à ce que vous annuliez cela avec chmod -R +w ~/Library les préférences ne seront pas sauvegardées. Il se peut que d'autres éléments ne soient pas sauvegardés non plus ; il est donc préférable de ne pas travailler sur l'une ou l'autre des machines pendant ce temps.
  • Type ssh user@machine.localuser est votre nom d'utilisateur sur la nouvelle machine (le nom de votre dossier personnel, pas votre nom complet), machine est le nom de votre nouvelle machine, et local est le TLD de votre réseau local. Il peut être local (le mien l'est), mais il peut aussi s'agir d'autre chose. Il se peut que le message dise quelque chose comme "l'authenticité ne peut être vérifiée", mais si vous êtes sur un réseau domestique, vous n'avez probablement pas à vous en soucier. Vous devrez entrer votre mot de passe de connexion (pour la nouvelle machine) lorsqu'il vous sera demandé.
    • Vous êtes maintenant connecté à la machine distante. Tapez mv ~/Library ~/.Trash/Library pour mettre à la poubelle le dossier que vous êtes sur le point de remplacer.
      • Si vous n'avez pas assez d'espace disque pour conserver l'ancienne version, vous pouvez utiliser la fonction rm -rv ~/Library à la place. Soyez très prudent avec rm Cependant ! Il supprime les fichiers immédiatement, sans demander de confirmation . Je ne recommande pas de le faire, sauf en cas de nécessité absolue, car vous ne pourrez pas restaurer le système en cas de problème.
    • Tapez D pour vous déconnecter du système distant. Si cela ne fonctionne pas (bien que cela devrait), utilisez exit .
  • Type rsync -rlptgDEHP --stats ~/Library user@machine.local:/Users/user/Library en remplaçant comme ci-dessus. Il s'agit de la copie proprement dite ; elle prendra très probablement beaucoup de temps. Si vous devez vous arrêter, appuyez simplement sur C pour annuler le transfert. Lorsque vous reprenez, le processus de "construction de la liste des fichiers" devra être recommencé, mais le processus d'envoi devrait reprendre là où vous vous êtes arrêté.
    • Vous pouvez ajouter z à la -rlptgDEHP si vous avez un réseau local lent (ce qui est peu probable, mais...). Cela fera en sorte que rsync compresse tout avant de l'envoyer sur le réseau, même si cela prendra du temps de le compresser avant de l'envoyer et de le décompresser à l'autre bout.
  • Une fois le transfert terminé et que vous l'avez testé pour vous assurer que rien ne s'est cassé, tapez chmod -R +w ~/Library (sur la machine locale). Cela le rendra à nouveau accessible en écriture.
    • Modifier : Vous devriez également le faire sur la nouvelle machine, afin de pouvoir y sauvegarder les préférences et les choses.

Une petite note sur la sécurité (cela ne devrait pas vraiment avoir d'importance chez vous, mais cela pourrait en avoir ailleurs) :

Rsync utilise un programme remote-shell pour le transfert ; si le programme remote-shell n'est pas sécurisé, je doute que le transfert le soit. Il devrait utilise SSH, qui est sécurisé, mais selon le manuel, il peut être configuré pour utiliser autre chose :

Pour les transferts à distance, un rsync moderne utilise ssh pour ses communications, mais il peut avoir été configuré pour utiliser un autre shell distant par défaut, comme rsh ou remsh.

Vous pouvez également spécifier le shell distant de votre choix, soit en utilisant l'option de ligne de commande -e, soit en définissant la variable d'environnement RSYNC_RSH.

Donc si vous voulez le forcer à utiliser SSH, utilisez RSYNC_RSH='ssh' rsync ...

Cela n'a d'importance que pour les connexions réseau ; cela n'a pas d'importance avec la méthode " lecteur TM non verrouillé ", car SSH est définitivement utilisé dans ce cas.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X