D=c3=a9placer /home
Le
capfree

Bonsoir
Je suis dans la nécessité de déplacer /home, je suis le tuto :
http://doc.ubuntu-fr.org/tutoriel/deplacer_home
au paragraphe 3 étant sur le point de lancer cette commande inhabituelle
sudo cp -av /home/. /media/(nom d'utilisateur)/newhome/
par exemple ce "/." m'inquiète, je sollicite votre avis.
Merci
--
capfree -
Je suis dans la nécessité de déplacer /home, je suis le tuto :
http://doc.ubuntu-fr.org/tutoriel/deplacer_home
au paragraphe 3 étant sur le point de lancer cette commande inhabituelle
sudo cp -av /home/. /media/(nom d'utilisateur)/newhome/
par exemple ce "/." m'inquiète, je sollicite votre avis.
Merci
--
capfree -
fr.comp.os.linux.configuration
(
Bonsoir,
Le point indique de copier l'ensemble du contenu du répertoire concerné
_y compris_ les fichiers cachés ce qui ne serait pas le cas si tu
utilisais cp -av /home/*
L'option -a (archive) indique de copier le contenu récursivement en copiant
les liens symboliques tels quels et en préservant les droits et permissions sur
chacun des fichiers.
Note qu'avec cp tu ne déplaces pas ton /home mais tu le copies
(l'original est conservé).
De rien.
--
Je ne connaîtrai rien de tes habitudes
Il se peut même que tu sois décédée
Mais j'demanderai ta main pour la couper
-- H.F. Thiéfaine, L'ascenceur de 22H43
Non, tu as mal lu. Cf. la réponse que je vais rédiger dans quelques
instants.
Quand on utilise cp pour copier en profondeur (option -r, impliquée par
l'option -a), il copie le répertoire indiqué. Donc si tu fais (je
simplifie la ligne) :
cp -a /home /media/newhome/
tu trouves dans newhome le répertoire home et son contenu :
/media/newhome/home/capfree
/media/newhome/home/capfree/.profile
/media/newhome/home/capfree/tes_fichiers...
/media/newhome/home/maman
/media/newhome/home/maman/.profile
/media/newhome/home/maman/ses_fichiers...
...
Ce n'est pas ce que tu veux ; ce que tu veux, c'est le contenu de home
directement dans newhome. Avec rsync, on peut exprimer ça en écrivant
« home/ » au lieu de « home », c'est très clairement documenté. Mais cp
ne fonctionne pas ainsi.
On pourrait écrire « home/* » pour demander au shell de faire la liste
des fichiers, mais ça présente quelques inconvénients, dont celui évoqué
dans le message voisin.
Et il y a l'astuce de ce point. Tu sais probablement que dans chaque
répertoire, « .. » désigne le répertoire parent. Eh bien « . » désigne
le répertoire lui-même. Donc /home/capfree/.profile peut être également
désigné comme /home/././capfree/././.profile, par exemple. En ajoutant
le point à la fin et en reprenant la logique que j'ai expliquée
ci-dessus, tu obtiens comme arborescence résultat :
/media/newhome/./capfree
/media/newhome/./capfree/.profile
/media/newhome/./capfree/tes_fichiers...
/media/newhome/./maman
/media/newhome/./maman/.profile
/media/newhome/./maman/ses_fichiers...
...
Et c'est exactement ce que tu veux.
Le 01/12/2017 à 10:20, Nicolas George a écrit dans le message
« home/*(D) » (ah non, zut, tout le monde n'a pas un bon shell !).
--
Benoit Izac
Oui, mais ça a quand même quelques inconvénients.
Nicolas George a écrit le 01/12/2017 à 10:20 :
Merci,
C'est logique et donc facile à retenir ; avec mv et cp j'ai toujours un
petit doute de ce que la commande va effectivement faire dès qu'il
s'agit de copier des répertoires entiers!
Est-ce que la syntaxe /. est aussi utilisable avec les mêmes avantages
avec la commande rsync? Ça permettrait d'avoir en mémoire deux commandes
similaires.
--
Stéphane