Неверная ссылка между устройствами при жесткой ссылке в одной файловой системе


14

У меня есть /home/myuser/Desktop/rc/.netrc файл, который я хочу, чтобы жесткая ссылка на / root , то есть домашний каталог пользователя root . Когда я делаю:

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

это дает следующую ошибку:

ln: создание жесткой ссылки /root/.netrc' =>.netrc ': недопустимая ссылка между устройствами

но это работает, когда я жестко связываю файл с домом myuser , то есть с / home / myuser .

Итак, в чем проблема, почему он говорит недопустимые кросс-устройства, когда здесь только одна файловая система?

PS. Я использую RHEL6


Кстати, мои права доступа .netrc равны 600, как и должно быть
Эльвин Асланов

1
Вы уверены, что эти два каталога находятся в одной файловой системе? Беги mount | column -tи посмотри. Или бежать mountpoint -d /, mountpoint -d /home, mountpoint -d user, и mountpoint -d /root. Вы должны получить ... is not a mountpointза последние три.

2
Пожалуйста, не пересекайте сообщения на нескольких сайтах StackExchange.

@EvanTeitelman Настоящий взгляд не таков, mount | column -tно column -t < /proc/mounts.
Хауке Лэнг

1
@HaukeLaging: Ты прав. /proc/mountsс большей вероятностью покажет все монтирования в системе, чем /etc/mtab, откуда mountберется информация. Хотя стоит отметить, что на многих современных системах /etc/mtabи то /proc/mountsи другое связано /proc/self/mounts.

Ответы:


8

скорее всего, ваш /homeкаталог не находится в том же разделе, что и /rootкаталог.

Вы можете легко проверить это с помощью cat /etc/fstab жестких ссылок, которые не могут быть созданы между различными разделами, могут только символические ссылки.


4

Мне кажется, ЛУЧШИЙ способ - НЕ использовать HARD-ссылку, а вместо этого использовать символическую ссылку. Вы найдете, что это будет гораздо меньше хлопот, и все работает просто отлично. Жесткие ссылки имеют некоторые интересные проблемы, если вы не знаете о них.

Смотрите man lnи оформите -sопцию!

Пожалуйста, в общем используйте символические ссылки вместо жестких ссылок.


9
Хотя это может решить проблему, на самом деле это не объясняет, почему это происходит.
Bex
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.