rw 파티션에서 마운트 --바인드 후에도 파일은 여전히 ​​읽기 전용입니다.

rw 파티션에서 마운트 --바인드 후에도 파일은 여전히 ​​읽기 전용입니다.

나는 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_642.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

관련 정보