it-swarm-vi.com

Mục đích của thư mục bị mất + tìm thấy trong Linux và Unix là gì?

Có một thư mục gốc của hệ điều hành Linux và Unix có tên là /lost+found/

Nó dùng để làm gì? Trong hoàn cảnh nào tôi sẽ tương tác với nó? Làm thế nào tôi có thể tương tác với nó?

670
Wesley

Nếu bạn chạy fsck , lệnh kiểm tra và sửa chữa hệ thống tệp, nó có thể tìm thấy các đoạn dữ liệu không được tham chiếu ở bất kỳ đâu trong hệ thống tệp. Cụ thể, fsck có thể tìm thấy dữ liệu trông giống như một tệp hoàn chỉnh nhưng không có tên trên hệ thống - một inode không có tên tệp tương ứng. Dữ liệu này vẫn đang sử dụng hết dung lượng, nhưng không thể truy cập bằng bất kỳ phương tiện thông thường nào.

Nếu bạn bảo fsck sửa chữa hệ thống tệp, nó sẽ biến các tệp gần như bị xóa này thành tệp. Vấn đề là, tập tin đã có tên và vị trí một lần, nhưng thông tin đó không còn nữa. Vì vậy, fsck gửi tệp vào một thư mục cụ thể, được gọi là lost+found (sau mất và tìm thấy tài sản).

Các tệp xuất hiện trong lost+found thường là các tệp đã bị hủy liên kết (nghĩa là tên của chúng đã bị xóa) nhưng vẫn được mở bằng một số quy trình (vì vậy dữ liệu chưa bị xóa) khi hệ thống tạm dừng (hoảng loạn hạt nhân hoặc mất điện). Nếu đó là tất cả những gì đã xảy ra, những tập tin này dự kiến ​​sẽ bị xóa, bạn không cần phải quan tâm đến chúng.

Các tập tin cũng có thể xuất hiện trong lost+found vì hệ thống tập tin ở trạng thái không nhất quán do lỗi phần mềm hoặc phần cứng. Nếu đó là trường hợp, đó là cách để bạn tìm các tệp bị mất nhưng việc sửa chữa hệ thống được quản lý để cứu vãn. Các tệp có thể chứa hoặc không chứa dữ liệu hữu ích và ngay cả khi chúng có thể không đầy đủ hoặc đã lỗi thời; tất cả phụ thuộc vào mức độ thiệt hại của hệ thống tập tin.

Trên nhiều hệ thống tập tin, lost+found thư mục là một chút đặc biệt bởi vì nó mở ra một chút không gian cho fsck để gửi các tệp ở đó. (Không gian không dành cho dữ liệu tệp, mà fsck để nguyên vị trí; nó dành cho các mục nhập thư mục mà fsck phải tạo ra.) Nếu bạn vô tình xóa lost+found, không tạo lại nó với mkdir, sử dụng mklost+found nếu có.

Thư mục lost+found (Không bị mất + Đã tìm thấy) là cấu trúc được sử dụng bởi fsck khi có thiệt hại cho hệ thống tệp (không phải cho thiết bị phần cứng, nhưng cho fs). Các tệp thường bị mất do hỏng thư mục sẽ được liên kết trong thư mục lost+found Của hệ thống tệp đó bằng số inode. Một số trong số này có thể bị mất thư mục hoặc mất tập tin hoặc thậm chí mất thiết bị. Mỗi hệ thống tệp nên có thư mục lost+found, Nhưng bạn có thể đang xem một hệ thống chỉ có một hệ thống tệp. Nói chung, bạn nên hy vọng rằng thư mục trống; nhưng nếu có tham nhũng, hãy biết ơn rằng trong nhiều điều kiện, các tệp có thể được phục hồi sau khi fsck đặt chúng ở đây.

65
Arcege

Từ "Phân cấp hệ thống tập tin Linux", phần / mất + tìm thấy " :

Như đã được giải thích trước đó trong phần tổng quan về FSSTND, Linux luôn phải trải qua một lần tắt máy thích hợp. Đôi khi hệ thống của bạn có thể bị sập hoặc mất điện có thể làm hỏng máy. Dù bằng cách nào, ở lần khởi động tiếp theo, việc kiểm tra hệ thống tập tin dài bằng fsck sẽ được thực hiện. Fsck sẽ đi qua hệ thống và cố gắng khôi phục bất kỳ tệp bị hỏng nào mà nó tìm thấy. Kết quả của hoạt động khôi phục này sẽ được đặt trong thư mục này. Các tập tin được phục hồi không có khả năng hoàn thành hoặc có ý nghĩa nhiều nhưng luôn có khả năng một cái gì đó đáng giá được phục hồi. Mỗi phân vùng có thư mục bị mất + tìm thấy riêng. Nếu bạn tìm thấy các tập tin trong đó, hãy cố gắng di chuyển chúng trở lại vị trí ban đầu của chúng. Nếu bạn tìm thấy thứ gì đó giống như liên kết tượng trưng bị hỏng với 'tệp', bạn phải cài đặt lại tệp/s từ RPM tương ứng, vì hệ thống tệp của bạn bị hỏng nặng đến mức các tệp bị cắt xén ngoài khả năng nhận biết. Dưới đây là một ví dụ về thư mục/mất + tìm thấy. Như bạn có thể thấy, phần lớn các tập tin chứa ở đây là trong các ổ cắm thực tế. Đối với phần còn lại của các tệp khác, chúng được tìm thấy là các tệp hệ thống và tệp cá nhân bị hỏng. Những tập tin này đã không thể được phục hồi.

38
bhupal