동일한 파일 시스템에서 하드 링크하는 동안 유효하지 않은 교차 ​​장치 링크


14

나는이 /home/myuser/Desktop/rc/.netrc의 난에 하드 링크하려는 파일 / 루트 의 즉, 홈 디렉토리 루트 사용자. 내가 할 때 :

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

다음과 같은 오류가 발생합니다.

ln : 하드 링크 /root/.netrc' =>.netrc 만들기 : 잘못된 교차 장치 링크

그러나 파일을 myuser 의 집, 즉 / home / myuser에 하드 링크하면 작동합니다 .

그렇다면 문제가 무엇입니까, 여기에 파일 시스템이 하나만있을 때 유효하지 않은 교차 ​​장치라고 말하는 이유는 무엇입니까?

추신. RHEL6을 사용하고 있습니다


BTW 내에 .netrc 권한은 그것이 있어야로, 600
엘빈 Aslanov

1
두 디렉토리가 동일한 파일 시스템에 있는지 확인 하시겠습니까? 실행 mount | column -t하고 살펴보십시오. 또는, 실행 mountpoint -d /, mountpoint -d /home, mountpoint -d user,와 mountpoint -d /root. 당신은 ... is not a mountpoint마지막 3에 도착해야합니다 .

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
문제를 해결할 수는 있지만 이것이 왜 발생하는지 실제로 설명하지는 않습니다.
Bex
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.