Đầu tiên và quan trọng nhất, và tôi nhận ra rằng đó không phải là một trong những thuật ngữ từ câu hỏi của bạn, bạn phải hiểu siêu dữ liệu . Một cách ngắn gọn và bị đánh cắp từ Wikipedia, siêu dữ liệu là dữ liệu về dữ liệu. Đó là để nói rằng siêu dữ liệu chứa thông tin về một phần dữ liệu. Ví dụ, nếu tôi sở hữu một chiếc xe hơi thì tôi có một bộ thông tin về chiếc xe nhưng đó không phải là một phần của chính chiếc xe. Thông tin như số đăng ký, nhãn hiệu, kiểu máy, năm sản xuất, thông tin bảo hiểm, v.v. Tất cả thông tin đó được gọi chung là siêu dữ liệu. Trong siêu dữ liệu hệ thống tệp Linux và UNIX tồn tại ở nhiều cấp độ tổ chức như bạn sẽ thấy.
Các superblock về cơ bản là hệ thống tập tin siêu dữ liệu và xác định loại tập tin hệ thống, kích thước, trạng thái và thông tin về cấu trúc dữ liệu khác (siêu dữ liệu siêu dữ liệu). Superblock rất quan trọng đối với hệ thống tệp và do đó được lưu trữ trong nhiều bản sao dự phòng cho mỗi hệ thống tệp. Superblock là một cấu trúc siêu dữ liệu rất "cao cấp" cho hệ thống tệp. Ví dụ: nếu siêu khối của phân vùng, / var, bị hỏng thì hệ thống tệp được đề cập (/ var) không thể được gắn bởi hệ điều hành. Thường gặp trong sự kiện này, bạn cần chạyfsck
sẽ tự động chọn một bản sao dự phòng của siêu khối và cố gắng khôi phục hệ thống tệp. Bản thân các bản sao lưu được lưu trữ trong các nhóm khối trải qua hệ thống tệp với lần đầu tiên được lưu trữ ở độ lệch 1 khối từ khi bắt đầu phân vùng. Điều này rất quan trọng trong trường hợp cần phục hồi thủ công. Bạn có thể xem thông tin về các bản sao lưu siêu khối bằng lệnh dumpe2fs /dev/foo | grep -i superblock
hữu ích trong trường hợp có nỗ lực khôi phục thủ công. Chúng ta hãy giả sử rằng lệnh dumpe2fs xuất ra dòng Backup superblock at 163840, Group descriptors at 163841-163841
. Chúng tôi có thể sử dụng thông tin này và kiến thức bổ sung về cấu trúc hệ thống tệp để cố gắng sử dụng bản sao lưu siêu khối này : /sbin/fsck.ext3 -b 163840 -B 1024 /dev/foo
. Xin lưu ý rằng tôi đã giả sử kích thước khối là 1024 byte cho ví dụ này.
Một inode tồn tại trong hoặc trên một hệ thống tệp và biểu thị siêu dữ liệu về một tệp. Để rõ ràng, tất cả các đối tượng trong một hệ thống Linux hoặc UNIX là các tệp; tập tin thực tế, thư mục, thiết bị, vv Xin lưu ý rằng, trong số các siêu dữ liệu có trong một nút, không có tên tệp như con người nghĩ về nó, điều này sẽ quan trọng sau này. Một inode chứa thông tin cơ bản về quyền sở hữu (người dùng, nhóm), chế độ truy cập (đọc, viết, thực thi quyền) và loại tệp.
Một nha khoa là chất keo giữ các nút và các tệp với nhau bằng cách liên kết các số inode với tên tệp. Nha khoa cũng đóng một vai trò trong bộ nhớ đệm thư mục, lý tưởng nhất là giữ các tệp được sử dụng thường xuyên nhất để truy cập nhanh hơn. Truyền tải hệ thống tệp là một khía cạnh khác của nha khoa vì nó duy trì mối quan hệ giữa các thư mục và các tệp của chúng.
Một tập tin , ngoài việc là những gì con người thường nghĩ đến khi được trình bày với từ này, thực sự chỉ là một khối dữ liệu tùy ý liên quan đến logic. So sánh rất buồn tẻ khi xem xét tất cả các công việc được thực hiện (ở trên) để theo dõi chúng.
Tôi hoàn toàn nhận ra rằng một vài câu không cung cấp giải thích đầy đủ về bất kỳ khái niệm nào trong số này, vì vậy xin vui lòng hỏi thêm chi tiết khi và khi cần thiết.