Trên hệ thống Arch Linux của tôi (Linux Kernel 3.14.2), các liên kết gắn kết không tôn trọng tùy chọn chỉ đọc
# mkdir test
# mount --bind -o ro test/ /mnt
# touch /mnt/foo
tạo ra các tập tin /mnt/foo
. Các mục có liên quan trong /proc/mounts
là
/dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0
Các tùy chọn gắn kết không phù hợp với lựa chọn của tôi yêu cầu, nhưng làm phù hợp với cả đọc / ghi hành vi của các ràng buộc gắn kết và các tùy chọn để sử dụng ban đầu gắn /dev/sda2
trên/
/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
Tuy nhiên, nếu tôi nhắc lại mount thì nó tôn trọng tùy chọn chỉ đọc
# mount --bind -o remount,ro test/ /mnt
# touch /mnt/bar
touch: cannot touch ‘/mnt/bar’: Read-only file system
và các mục có liên quan trong /proc/mounts/
/dev/sda2 /mnt ext4 ro,relatime,data=ordered 0 0
trông giống như những gì tôi có thể mong đợi (mặc dù trong thực tế tôi sẽ mong đợi để xem đường dẫn đầy đủ của test
thư mục). Mục nhập /proc/mounts/
cho gắn kết gốc của /dev/sda2/
on /
cũng không thay đổi và vẫn đọc / ghi
/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
Hành vi này và công việc xung quanh đã được biết đến từ ít nhất là năm 2008 và được ghi lại trong trang củamount
Lưu ý rằng các tùy chọn gắn kết hệ thống tệp sẽ giữ nguyên như các tùy chọn trên điểm gắn kết ban đầu và không thể thay đổi bằng cách chuyển tùy chọn -o cùng với --bind / - rbind. Các tùy chọn gắn kết có thể được thay đổi bằng lệnh remount riêng
Không phải tất cả các bản phân phối hành xử giống nhau. Arch dường như không thể tôn trọng các tùy chọn trong khi Debian tạo cảnh báo khi gắn kết liên kết không chỉ có giá trị gắn kết
mount: warning: /mnt seems to be mounted read-write.
Có nhiều báo cáo cho rằng hành vi này đã được "sửa" trong Debian Lenny và Squeeze mặc dù nó dường như không phải là một bản sửa lỗi chung và nó vẫn không hoạt động trong Debian Wheezy. Khó khăn gì liên quan đến việc tạo liên kết gắn kết tôn trọng tùy chọn chỉ đọc trên giá trị gắn kết ban đầu?
mount -t bind
và một kịch bản helper tại bugs.launchpad.net/ubuntu/+source/mountall/+bug/519380
/etc/mtab
. Sau khi gắn kết ban đầu, mục nhập cho biết giá trị gắn kết là rw và sau khi kết thúc, nó báo ro, do đó, nó báo cáo chính xác trạng thái của giá treo. Nó chỉ là lệnh mount thất bại.
mount --bind -o ro
, cả hai đều phát ra một thông báo mount: warning: «mountpoint» seems to be mounted read-write.
Vì vậy, có vẻ như Debian đã đánh rơi hoặc mất bản vá tại một số điểm ... công trình, mặc dù.