답변:
당근 빠따 지. 를 실행하면 특정 파일 시스템 객체를 가리키는 아이 노드ln -s
인 심볼릭 링크를 만들 수 있습니다. 이것이 심볼릭 링크가 파일 시스템을 통과 할 수 있고 하드 링크가 불가능한 이유입니다. 하드 링크에는 자체 아이 노드가 없습니다.
로 파일 시스템을 마운트 하면 장치 또는 파일 시스템에 대한 --bind
두 번째 마운트 지점 이 생성 됩니다.
심볼릭 링크를 리디렉션으로 구상하면 --bind
마운트 된 파일 시스템을 데이터에 대한 다른 게이트웨이를 만드는 것으로 구상하십시오 .
심볼릭 링크와 바인드 마운트는 완전히 다른 볼 게임입니다.
--bind
마운트는 좀 더 강력한 나에게 보인다 아마 조금 더 빠른 심볼릭 링크 작업을보다. 반면, 성능 저하가 적기 때문에 (링크가 존재하는 경우) 심볼릭 링크를 사용하는 데 심각한 결점이 없습니다.
편집 : 나는 이것에 대해 생각하고 있었고 성능 적중은 원래 생각했던 것보다 약간 클 수 있습니다. 많은 다른 파일을 읽는 응용 프로그램이있는 경우 열려있는 모든 새 파일에는 추가 읽기가 필요합니다. 여기에있는 일부 연구 에 따르면 내 가정이 정확하다고 제안하므로 IO 무거운 응용 프로그램을 실행하는 경우 --bind
symlink 솔루션 위에 마운트 하는 옵션을 고려하십시오 .
일반적이지 않은 이유는 아마도 심볼릭 링크가에 표시되는 ls
반면, 바인드 마운트는 / proc / mounts 또는 / etc / mtab (마운트 명령이 수행하는 경우 수행하는 동작)을 볼 때만 볼 수 있기 때문입니다. 매개 변수없이 실행 됨). 그 외에는 문제가 없다고 생각합니다. 그래도 관심이 있습니다.
추가 : 또 다른 문제 ln -s
는 일부 응용 프로그램의 경우 경로가 역 참조 될 때 특정 항목이 특정 위치에 "예상"될 경우 응용 프로그램이 멈출 수 있다는 것입니다.
mount
인수없이 호출하면의 내용을 인쇄합니다.의 내용은와 /etc/mtab
약간 다릅니다 /proc/mounts
. (특히, /proc/mounts
에 (심볼릭 링크 /proc/self/mounts
) 항상 읽기 과정을 볼 마운트 위치를 보여줍니다.)
ln -s
바인드 마운트와 의 큰 차이점 중 하나는 바인드 마운트를 사용하여 읽기 전용 파일 시스템을 "수정"할 수 있다는 것입니다. 예를 들어에 CD가 마운트 되어 있고 올바른 버전 /mnt/application
으로 바꾸려면 다음 /mnt/application/badconfigfile.conf
과 같이하십시오.
mount -o bind /path/to/correct/file.conf /mnt/application/badconfigfile.conf
대상 파일 시스템을 수정할 수 없으므로 symlink를 사용하여 동일한 변경에 영향을 줄 수 없습니다.
이는 NFS (또는 일종의 클러스터 파일 시스템)를 통해 공통 소프트웨어 제품군을 배포하고 한 시스템에서 호스트 별 변경을 수행하려는 경우에도 유용합니다. 대상 시스템에서 바인드 마운트를 사용하여 필요에 따라 파일 또는 디렉토리를 대체 할 수 있습니다.