Có một hệ thống tập tin giống như git?


27

Git lưu trữ nội dung duy nhất trong repo của nó dựa trên hàm băm được tính toán của bất kỳ tệp nào. Nếu thư mục của tôi có hai bản sao của cùng một tệp ở đâu đó bên trong nó, git sẽ chỉ thực sự lưu trữ nó một lần.

Tôi tự hỏi nếu khái niệm tương tự này đã được thực hiện ở cấp hệ điều hành như một loại hệ thống tập tin?

Nếu một hệ thống tập tin hoạt động theo cách này theo mặc định, nó sẽ giúp ích rất nhiều cho các vấn đề địa ngục . Về cơ bản, nó sẽ liên kết tự động thay mặt bạn. Bất kỳ ứng dụng nào cũng có thể được đóng gói (như một cái bình) trong một thư mục với tất cả các phụ thuộc của nó và không có chi phí lưu trữ thêm.

Những người đam mê Ruby chia sẻ các thư viện bằng cách xuất bản chúng dưới dạng rubygems. Tuy nhiên, nỗ lực chia sẻ đá quý này đã dẫn đến những cơn ác mộng triển khai dẫn đến khái niệm Nhà cung cấp Mọi thứ sao chép tất cả các phụ thuộc vào các thư mục cục bộ để tránh những cơn ác mộng như vậy.


2
Tôi không phải là một chuyên gia, nhưng hãy kiểm tra ZFS .
ForeverWintr

Câu trả lời:


21

Những gì bạn đang tìm kiếm được gọi là "sự trùng lặp". Mặc dù thường được các nhà cung cấp sản phẩm lưu trữ chuyên dụng triển khai, hệ thống tập tin ZFS cũng thực hiện nó. Hầu hết các hệ điều hành có nguồn gốc từ Unix có thể sử dụng ZFS và do đó tôi khuyên bạn nên sử dụng nó làm nơi đầu tiên để xem xét.


1
Tôi thấy "sự trùng lặp" có thể được thực hiện ở cấp độ tệp, đó là điều tôi đặc biệt quan tâm.
Mario

3

Mạng Thiết bị, Inc. đã có khả năng lưu trữ như thế này trong nhiều năm, trên thực tế, họ đã khiếu nại với Sun microsystems cho hệ thống tệp ZFS của họ và làm những gì Aaron Miller đang đề cập trong câu trả lời được chấp nhận của mình. Đối với những gì nó có giá trị, các khiếu nại đã được giải quyết với Oracle sau khoảng 3 năm.

Tôi đã sử dụng điều này như một giải pháp công ty từ năm 2000, và nó hoạt động tốt. Chi phí lưu trữ sau khi 'bản sao' đầu tiên xuất hiện khi có sự thay đổi trong tệp. Mặt khác, với nhiều 'bản sao' chỉ tăng một chút cho không gian tên.

Tôi không nghĩ rằng điều này trả lời câu hỏi về "cấp độ hệ điều hành" mà là về "cấp độ hệ thống tệp".


0

Hệ thống tệp Apple mới (APFS, được đặt tên như vậy vì đã có AFS là một thứ khác) thực hiện phép thuật "tự động liên kết cứng" / "sao chép" này. macOS 10.13 hỗ trợ nó nguyên bản (trên hầu hết các máy Mac) cũng như iOS 11.

Điều đó đã được nói, tôi không cảm thấy như thế là đủ để làm cho nó "git like", vì nếu nó là "git like" thì nó cũng sẽ có một tổng kiểm tra mật mã về trạng thái cấu trúc thư mục của tôi tại các thời điểm nhất định sao cho đúng lúc Tôi có thể chắc chắn rằng không ai đã hack máy tính của tôi hoặc sửa đổi các thư mục hệ thống của tôi. Trên thực tế, tôi sử dụng git repos để theo dõi một số thư mục hệ thống quan trọng trên máy Mac của mình, như các tệp cấu hình Apache, LaunchDaemons, LaunchAgents và một vài thứ khác - theo cách đó khi tôi cài đặt phần mềm hoặc chạy máy chủ của mình trong một lúc bị vặn lên

APFS cũng hỗ trợ rất nhiều cho việc giảm tải mọi thứ từ hệ thống tệp lên đám mây khi chúng chưa được sử dụng trong một thời gian, nhưng chúng vẫn trông giống như chúng ở đó và sẽ quay trở lại từ đám mây theo yêu cầu.

Bạn luôn có thể xây dựng một Hackffy và làm quen với nó. BSD rất vui.

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.