문제

나는 그것이 파일 시스템을 파일에 걸릴 수없는 단단한 링크의 조건이라는 것을 알고 있습니다. 이것이 NFS 마운트에 적용됩니까? 다음 디렉토리 구조가 주어지면 디렉토리 B의 파일을 가리키는 디렉토리 A에서 하드 링크를 만들 수 있습니까?

/root
    /A
    /B  <-NFS mount

예를 들어, 실행하고 싶습니다 ln /root/B/file.txt /root/A/linkedfile.txt

도움이 되었습니까?

해결책

글쎄, 그 이후로 /B 별도의 파일 시스템 (장착 된 NFS 파일 시스템)입니다. /A, 그것들은 같은 파일 시스템에 있지 않기 때문입니다.

하드 링크가 데이터 사본 만 넣으십시오 바늘 해당 데이터에 동일한 "주소 공간"에 있어야합니다.

다른 팁

하드 링크가 무엇인지 정확히 이해하는 것이 좋습니다.

일반적으로 Unix와 같은 시스템에서 디렉토리의 파일 이름은 Inode 번호를 가리 킵니다. 본질적으로 파일의 숫자. "하드 링크"는 동일한 inode 번호로 다른 파일 이름을 만드는 것입니다. 이제 동일한 번호가 매겨진 파일을 가리키는 다른 이름이 필요합니다.

그러나이 두 이름 사이에는 직접적인 연결이 없다는 점에 주목하십시오. 관계는 Name1과 Name2 모두 inode 번호가 12756으로 설정되어 있다는 것입니다. 그러나 "내 손에있는 것은 두 파일 사이의 링크입니다"라고 말할 수있는 것은 없습니다. ID 번호를 공유하는 두 개의 데이터베이스 항목에 불과합니다. ID 번호를 공유하는 파일 이름에 대해 쿼리 (시스템의 모든 파일 항목을 걷는 것이기 때문에 느리게)를 수행 할 수 있습니다.

따라서 "두 파일 시스템 간의 하드 링크"를 만드는 것은 아무 의미가 없습니다. 두 파일 시스템은 다른 번호 체계 (시스템 1의 Inode 1234, System 2의 1234, 완전히 다른 파일을 가리 킵니다)를 가지고 있기 때문에 유일한 것입니다. 저장 해야하는 것은 이름+InodeNumber입니다.해야 할 일은 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top