Недійсне посилання між пристроями під час жорсткого посилання в тій же файловій системі


14

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

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

вона дає таку помилку:

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

але він працює, коли я жорстко посилаю файл на будинок myuser , тобто на / home / myuser .

Отже, у чому проблема, чому він говорить про недійсні крос-пристрої, коли тут є лише одна файлова система?

PS. Я використовую RHEL6


btw мій .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.
Hauke ​​Laging

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опцією та оформийте замовлення!

Будь-ласка, використовуйте символьні посилання замість HARD-посилань.


9
Хоча це може вирішити проблему, воно насправді не пояснює, чому це відбувається.
Бекс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.