Có thể xóa các tập tin khi hệ thống tập tin khác được gắn trên đường dẫn?


18

Vừa viết một câu trả lời về việc di chuyển / usr sang một phân vùng mới, tôi đã tự hỏi về việc xóa các tập tin một khi một phân vùng mới đã được gắn kết. Để sử dụng ví dụ từ câu hỏi, có thể gắn phân vùng mới vào /usrvà sau đó xóa tất cả các tệp trong /usrphân vùng gốc để giải phóng không gian trên phân vùng gốc.

Câu trả lời:


24

Không trực tiếp , nhưng có một cách xung quanh đó: mount --bindlà bạn của bạn:

# Existing directory with a couple files in it
root@nkubuntu1004:~/test# ls testdir
bar  foo

# Mount a filesystem over existing directory
root@nkubuntu1004:~/test# mount -o loop testfs testdir
root@nkubuntu1004:~/test# ls testdir
lost+found

# Bind mount root filesystem to another directory
root@nkubuntu1004:~/test# mount --bind / bindmnt

# Can now get to contents of original directory through the bind mount
root@nkubuntu1004:~/test# ls bindmnt/root/test/testdir/
bar  foo

# Remove a file
root@nkubuntu1004:~/test# rm bindmnt/root/test/testdir/bar
root@nkubuntu1004:~/test# ls bindmnt/root/test/testdir/
foo
root@nkubuntu1004:~/test# ls testdir
lost+found

# Unmount filesystem
root@nkubuntu1004:~/test# umount testdir

# Observe the change having taken effect
root@nkubuntu1004:~/test# ls testdir
foo
root@nkubuntu1004:~/test#

Xem thêm man mount- tìm kiếm "liên kết gắn kết".


Câu trả lời tuyệt vời - Tôi sẽ chỉ thêm một liên kết đến một phiên bản trực tuyến của trang người đàn ông gắn kết .
Hamish Downer
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.