Tôi sử dụng BTRFS. Tôi có thể xác nhận và giải thích một số điều câu trả lời này nói; và tôi có thể thêm một cái gì đó nhiều hơn.
Bạn có thể gắn bất kỳ ảnh chụp nhanh. Bạn có thể sửa đổi nó trừ khi nó được tạo bằng tùy chọn 'chỉ đọc'. Ảnh chụp chỉ là một subvolume, nó không "nhớ" những subvolume khác mà nó được tạo ra. Một subvolume nguồn và ảnh chụp nhanh của nó là tương đương ban đầu. Tốt hơn nên nghĩ về một ảnh chụp nhanh mới được tạo là "ngã ba" chứ không phải là "ảnh chụp nhanh", "bản sao", "trạng thái đóng băng" hoặc bất kỳ tên nào khác cho thấy trạng thái kém hơn so với "bản gốc".
Khi bạn rẽ nhánh một subvolume (tạo ảnh chụp nhanh), bạn có thể nghĩ đến ảnh chụp nhanh theo thời gian nếu bạn chọn không sửa đổi "bản sao" nữa (bằng cách tạo rõ ràng nó thành subvolume chỉ đọc hoặc đơn giản là không làm gì với nó , để nó một mình), trong khi "bản gốc" có thể vẫn còn được sử dụng. Tôi sử dụng ảnh chụp nhanh để sao lưu hệ thống của mình trước 'apt-get nâng cấp' nhưng tôi không bao giờ bận tâm tạo chúng 'chỉ đọc'. Quan điểm của tôi là: trạng thái Thời gian của họ không phải do một số siêu dữ liệu trên đĩa của tôi mà là do siêu dữ liệu trong đầu - tôi chỉ không sửa đổi chúng.
Ảnh chụp nhanh chia sẻ (ban đầu gần như tất cả) các khối dữ liệu với subvolume "gốc". Nếu một nội dung của một khối nhất định làm cho một tệp bị hỏng thì tệp đó sẽ bị hỏng trong mỗi ảnh chụp chia sẻ khối đó. Ghi đè (sửa đổi) tệp trong một trong các tệp con ánh xạ tệp đó thành các khối chỉ chứa nội dung mới trong ngữ cảnh của tệp con này; subvolume khác vẫn như cũ.
Nếu bạn tình cờ có một tệp bị hỏng được chia sẻ giữa nhiều subvolume và bạn muốn thay thế nó từ bản sao lưu thì bạn có thể:
- (phương pháp phổ biến) ghi đè lên toàn bộ tệp (hoặc hủy liên kết và tạo lại), điều này sẽ ánh xạ lại tất cả các phần của nó sang các khối khác;
- .
Làm điều này một cách độc lập trong nhiều subvolume sẽ gây ra ánh xạ lại độc lập, nó sẽ mất các khối không sử dụng nhiều lần thay vì chỉ một lần.
Để tránh điều này và làm cho các tệp được thay thế này trong nhiều tệp con chia sẻ tất cả các khối của chúng, hãy tiến hành như sau:
- Nếu nó chưa được gắn kết, hãy gắn root hệ thống tập tin BTRFS ở đâu đó:
mount -o subvol=/ …
. Bằng cách này, tất cả các subvolume có thể sẽ có sẵn trong một điểm gắn kết duy nhất.
- Thay thế tệp từ bản sao lưu trong bất kỳ subvolume nào.
- Đối với mọi subvolume khác, nơi tập tin cần được thay thế
- hủy liên kết (xóa) tệp,
- sau đó sao chép (
cp
) tệp đã được thay thế từ một subvolume khác với --reflink=always
Tùy chọn; điều quan trọng là phải làm điều này trong một điểm duy nhất.
- Bây giờ bạn có thể
umount
thư mục gốc của hệ thống tập tin BTRFS.