Làm cách nào để sửa đổi tệp thấp hơn thông qua thư mục OverlayFS?


8

Tôi muốn OverlayFS của Linux hoạt động giống như AUFS khi ghi vào tệp thấp hơn. Tôi muốn nó viết qua thư mục thấp hơn. Ví dụ, tôi có hai tệp có tên L/lowerU/upper.

mount -t overlay -o lowerdir=L,upperdir=U,workdir=W overlay X

Điều này hợp nhất LUvào một thư mục OverlayFS duy nhất có tên X. Vì vậy, bây giờ hai tập tin có thể truy cập là X/lowerX/upper.

Sau đó, tôi sửa đổi tệp thấp hơn thông qua thư mục OverlayFS. Đây là nơi nó hành xử sai với tôi:

echo 'This is a modification' >> X/lower

Nó không thực sự sửa đổi các tập tin thấp hơn L/lower. Thay vào đó, nó tạo ra một tập tin phía trên mới được gọi U/lowervà viết sửa đổi của tôi ở đó. Đây không phải là điều tôi muốn. Tôi muốn Xphục vụ như một điểm truy cập duy nhất, thuận tiện cho mục đích chỉnh sửa.

Làm thế nào tôi có thể thực hiện sửa đổi để X/lowerviết qua L/lower?


thấp hơn là chỉ đọc. đó là cách nó hoạt động. bạn có thể gắn đệ quy lớp phủ lên trên lớp phủ, mặc dù.
mikeerv

Tôi đã đăng một vài câu trả lời cho câu hỏi của riêng tôi ( unix.stackexchange.com/q/393930 ) bao gồm chủ đề này.
ejm

Là chuyển đổi vai trò của trên và dưới là một lựa chọn? Hay bạn cần viết cho cả trên và dưới? Trong trường hợp đó, sáp nhập có thể phù hợp hơn. Sáp nhập không thể làm COW, mặc dù.
MAV

@MAV, điều tôi muốn lúc đó là ghi quyền truy cập vào các tệp trong cả hai LU, thông qua X- 'một điểm truy cập duy nhất, thuận tiện cho mục đích chỉnh sửa' - những gì AUFS đã cho tôi.
Michael Allan

Câu trả lời:


1

Bạn có thể ghi vào thư mục bên dưới bằng cách không sử dụng lớp phủ được tạo để truy cập tệp (thư mục "X" trong trường hợp này). Làm điều đó với:

echo 'This is a modification' >> L/lower

Điều đó sẽ không được thực hiện thông qua lớp phủ, tuy nhiên, đó là những gì tôi hỏi về. Tôi muốn X/lowertrở thành một điểm truy cập duy nhất cho mục đích chỉnh sửa bất kể tập tin thực sự nằm trong L/hay trong U/; Vì vậy, rõ ràng hợp nhất hai thư mục trong khi thực sự giữ chúng cách xa nhau.
Michael Allan

Câu trả lời này là sai khi cho rằng bạn không ngắt kết nối lớp phủ trước. Điều đó thậm chí còn được ghi lại rõ ràng và chính thức : "Thay đổi hệ thống tệp cơ bản trong khi một phần của hệ thống tệp lớp phủ được gắn kết không được phép. Nếu hệ thống tệp cơ bản bị thay đổi, hành vi của lớp phủ không được xác định, mặc dù nó sẽ không gây ra sự cố hoặc bế tắc . "
MAV
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.