J'ai le fichier /home/myuser/Desktop/rc/.netrc que je veux un lien dur vers / root , c'est-à-dire le répertoire personnel de l' utilisateur root . Quand je fais:
ln /home/user/Destkop/rc/.netrc /root
il donne l'erreur suivante:
ln: création d'un lien matériel
/root/.netrc' =>
.netrc ': lien multi-périphérique non valide
mais cela fonctionne quand je lie le fichier à la maison de myuser , c'est-à-dire à / home / myuser .
Alors, quel est le problème, pourquoi il dit cross-devices invalides alors qu'il n'y a qu'un seul système de fichiers ici?
PS. J'utilise RHEL6
mount | column -t
et jetez un œil. Ou, courirmountpoint -d /
,mountpoint -d /home
,mountpoint -d user
etmountpoint -d /root
. Vous devriez obtenir... is not a mountpoint
pour les trois derniers.mount | column -t
maiscolumn -t < /proc/mounts
./proc/mounts
est plus susceptible d'afficher toutes les montures d'un système que/etc/mtab
, d'où ilmount
tire ses informations. Cependant, il convient de noter que sur de nombreux systèmes modernes,/etc/mtab
et/proc/mounts
sont tous deux liés à/proc/self/mounts
.Réponses:
il est fort probable que votre
/home
répertoire ne se trouve pas sur la même partition que le/root
répertoire.Vous pouvez facilement vérifier cela avec des
cat /etc/fstab
liens physiques ne peuvent pas être créés entre différentes partitions, seuls les liens symboliques le peuvent.la source
Il me semble que la MEILLEURE façon n'est PAS d'utiliser un lien HARD mais d'utiliser un lien symbolique à la place. Vous constaterez que c'est beaucoup moins compliqué et les choses fonctionnent très bien. Les liens durs ont des problèmes intéressants si vous ne les connaissez pas.
Voir
man ln
et commander l'-s
option!Veuillez en général utiliser des liens symboliques au lieu de liens HARD.
la source