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