У меня есть /home/myuser/Desktop/rc/.netrc файл, который я хочу, чтобы жесткая ссылка на / root , то есть домашний каталог пользователя root . Когда я делаю:
ln /home/user/Destkop/rc/.netrc /root
это дает следующую ошибку:
ln: создание жесткой ссылки
/root/.netrc' =>
.netrc ': недопустимая ссылка между устройствами
но это работает, когда я жестко связываю файл с домом myuser , то есть с / home / myuser .
Итак, в чем проблема, почему он говорит недопустимые кросс-устройства, когда здесь только одна файловая система?
PS. Я использую RHEL6
mount | column -t
и посмотри. Или бежатьmountpoint -d /
,mountpoint -d /home
,mountpoint -d user
, иmountpoint -d /root
. Вы должны получить... is not a mountpoint
за последние три.mount | column -t
ноcolumn -t < /proc/mounts
./proc/mounts
с большей вероятностью покажет все монтирования в системе, чем/etc/mtab
, откудаmount
берется информация. Хотя стоит отметить, что на многих современных системах/etc/mtab
и то/proc/mounts
и другое связано/proc/self/mounts
.Ответы:
скорее всего, ваш
/home
каталог не находится в том же разделе, что и/root
каталог.Вы можете легко проверить это с помощью
cat /etc/fstab
жестких ссылок, которые не могут быть созданы между различными разделами, могут только символические ссылки.источник
Мне кажется, ЛУЧШИЙ способ - НЕ использовать HARD-ссылку, а вместо этого использовать символическую ссылку. Вы найдете, что это будет гораздо меньше хлопот, и все работает просто отлично. Жесткие ссылки имеют некоторые интересные проблемы, если вы не знаете о них.
Смотрите
man ln
и оформите-s
опцию!Пожалуйста, в общем используйте символические ссылки вместо жестких ссылок.
источник