web-dev-qa-db-fra.com

Lien de périphérique croisé non valide tout en tant que HardLinking dans le même système de fichiers

J'ai /home/myuser/monktop/rc/.netrc Fichier que je veux du drapeau /root, c'est-à-dire répertoire personnel de root utilisateur. Quand je fais:

ln /home/user/Destkop/rc/.netrc /root

il donne l'erreur suivante:

ln: créer un lien dur /root/.netrc' =>. NETRC ': Lien de périphérique cross-invalide

mais cela fonctionne lorsque je rigole le fichier à Myuser Home 's Home, c'est-à-dire à /Accueil/Myuser.

Alors, quel est le problème, pourquoi il dit des périphériques croisés non valides lorsqu'il n'y a qu'un seul système de fichiers ici?

PS. J'utilise RHEL6

14
Elvin Aslanov

il est fort probable que votre /home Le répertoire n'est pas sur la même partition que le /root répertoire.

Vous pouvez facilement vérifier cela avec cat /etc/fstab HardLinks ne peut pas être créé entre différentes partitions, seuls les symboles peuvent.

9
fduff

Il me semble que le meilleur moyen n'est pas d'utiliser un lien dur mais d'utiliser un lien symbolique à la place. Vous le trouverez beaucoup moins de tracas et de choses fonctionnent bien. Le lien dur a des problèmes intéressants si vous n'êtes pas au courant d'eux.

Voir man ln et à la caisse le -s Option!

Veuillez utiliser généralement des liens symboliques au lieu de liens difficiles.

5
mdpc

Probablement, plus tôt, un dossier symbolique a été remplacé par son dossier de destination réel sur la source. Et maintenant votre script de sauvegarde échoue.

0