
나는 mount --bind
한 파일 시스템의 파일을 파일 시스템 ext4,rw
의 다른 파일에 "오버레이"하는 데 사용합니다 ext4,ro
. 예를 들어 는 /etc/hosts
읽기 전용 /
파티션에 있지만 쓰기 가능한 다른 파티션이 있습니다 /rw/etc/hosts
. 그래서 내가 할 때
# mount --bind /rw/etc/hosts /etc/hosts
모든 쓰기 항목은 /etc/hosts
다음으로 이동됩니다./rw/etc/hosts
이것은
CentOS 6.3
.
# mount -o ro /dev/sdc1 /ro
# mount -o rw /dev/sdc2 /rw
# mount --bind rw/test ro/test
# echo 1 > rw/test
# cat ro/test
1
# echo 2 > ro/test # [1]
# cat rw/test
2
하지만 CentOS 6.4
위의 단계를 반복했지만 다음 위치에 쓰려고 할 때 오류가 발생했습니다 ro/test
.
# echo 2 > ro/test # [1]
-bash: ro/test: Read-only file system
SELinux
비활성화되었습니다. 이것이 작동을 멈추게 할 수 있는 아이디어가 있습니까?
CentOS 6.3 커널: 2.6.32-279.22.1.el6.x86_64
CentOS 6.4 커널: 2.6.32-358.el6.x86_64
및2.6.32-358.2.1.el6.x86_64
답변1
이것이 작동을 멈추게 할 수 있는 아이디어가 있습니까?
아마도 fsfreeze 지원과 함께 커널에 도입된 버그일 것입니다. 내가 열었다BZ #951311이것을 추적하기 위해.
답변2
# mount --bind rw/test ro/test
# echo 1 > rw/test
디렉터리만 마운트할 수 있습니다.
echo를 사용하여 디렉토리에 쓸 수는 없습니다.
아마 당신은 원할 것입니다
# mount --bind rw ro