Fsck -p (preen) làm gì trên ext4?


16

Tôi đang đọc một bài đăng trên blog về sửa chữa hệ thống tập tin và tác giả đã đăng một câu hỏi hay, fsck -pđược cho là sẽ tự động sửa các lỗi nhỏ mà không cần sự can thiệp của con người. Nhưng chính xác thì nó sẽ sửa cái gì khi nó được yêu cầu làm mờ hệ thống tập tin? Nó sẽ sửa lỗi gì, và điều gì sẽ khiến nó dừng lại và nói với người dùng rằng anh ta hoặc cô ta phải chạy fsck tương tác? Có một danh sách của một số loại?

Tôi đã ở trên Google và tất cả những gì tôi tìm thấy là trang nam, trang này không thực sự cho biết cái gì -psẽ khắc phục hoặc cái gì kích hoạt cờ thực hành. Tôi đặc biệt quan tâm đến hệ thống tập tin ext4.

Câu trả lời:


18

Câu trả lời cho câu hỏi của bạn nằm trong e2fsck/problems.ctệp của mã nguồn e2fspross . Tìm kiếm PR_PREEN_OKcờ sẽ giúp bạn bắt đầu.

Vì việc xử lý lỗi hoàn toàn có liên quan nhiều hơn một chút, do vô số các điều kiện lỗi khác nhau có thể xảy ra, bạn nên xem xét kỹ hơn về mã nếu bạn lo ngại về một trường hợp cụ thể. Tuy nhiên, các danh sách dưới đây được trích xuất từ ​​các nhận xét cho các điều kiện lỗi và sẽ cung cấp cho bạn tổng quan sơ bộ về các hiệu ứng của chế độ màn hình.

Các lỗi / cảnh báo sau đây hiện đang được xử lý tự động khi -pcờ được chỉ định:

  • Di dời gợi ý
  • Nhật ký inode không hợp lệ
  • Nhật ký superblock bị hỏng
  • Cờ superblock has_journal rõ ràng nhưng có một tạp chí
  • Cờ Superblock cần_recovery được đặt nhưng không có nhật ký
  • Sửa đổi hệ thống tập tin là 0, nhưng cờ tính năng được đặt
  • Gợi ý siêu khối cho siêu khối ngoài
  • mô tả nhóm N được đánh dấu chưa được khởi tạo mà không có bộ tính năng.
  • bitmap nhóm N chưa được khởi tạo nhưng bitmap inode đang sử dụng.
  • Mô tả nhóm N có số lượng inodes không sử dụng không hợp lệ.
  • Khối bitmap nhóm cuối cùng chưa được khởi tạo.
  • Cờ test_fs được đặt (và ext4 khả dụng)
  • Thời gian gắn kết cuối cùng là trong tương lai (mờ nhạt)
  • Thời gian viết cuối cùng là trong tương lai (sai lệch)
  • Tổng kiểm tra nhóm (câu hỏi chốt) không hợp lệ.
  • Thư mục gốc có dtime set
  • Inode dành riêng có chế độ xấu
  • Inode đã xóa không có thời gian
  • Inode đang sử dụng, nhưng thiết lập thời gian
  • Thư mục không dài
  • Inode có i_size không chính xác
  • Inode có i_blocks không chính xác
  • Superblock xấu trong nhóm
  • Mô tả nhóm xấu trong nhóm
  • Khối tuyên bố không có lý do
  • Lỗi phân bổ các khối để di chuyển siêu dữ liệu
  • Lỗi phân bổ bộ đệm khối trong quá trình di chuyển
  • Di chuyển thông tin nhóm siêu dữ liệu từ X sang Y
  • Di chuyển thông tin nhóm metatdata đến X
  • Chặn lỗi đọc trong quá trình di chuyển
  • Chặn lỗi ghi trong quá trình di chuyển
  • Cờ không thay đổi được đặt trên thiết bị hoặc ổ cắm inode
  • Kích thước khác không cho thiết bị, fifo hoặc inode ổ cắm
  • Sửa đổi hệ thống tập tin là 0, nhưng cờ tính năng được đặt
  • Nhật ký inode không được sử dụng, nhưng chứa dữ liệu
  • Tạp chí có chế độ xấu
  • Cờ INDEX_FL được đặt trên hệ thống tệp không phải HTREE
  • Cờ INDEX_FL được đặt trên một thư mục không
  • Nút gốc không hợp lệ trong thư mục HTREE
  • Phiên bản băm không được hỗ trợ trong thư mục HTREE
  • Cờ không tương thích trong nút gốc HTREE
  • HTREE quá sâu
  • inode không hợp lệ-> i_extra_isize
  • mục nhập không hợp lệ-> e_name_len
  • mục nhập không hợp lệ-> e_value_offs
  • mục nhập không hợp lệ-> e_value_block
  • mục nhập không hợp lệ-> e_value_size
  • mục nhập không hợp lệ-> e_hash
  • inode thiếu EXTENT_FL, nhưng là một inode phạm vi
  • Inode không nên có bộ EOFBLOCKS_FL
  • Mục nhập thư mục đã bị xóa hoặc không sử dụng inode
  • Thư mục filetype không được đặt
  • Thư mục filetype được đặt trên hệ thống tập tin
  • Nút gốc HTREE không hợp lệ
  • Giới hạn HTREE không hợp lệ
  • Số lượng HTREE không hợp lệ
  • Nút bên trong HTREE có các giá trị băm không theo thứ tự trong bảng
  • Inode được tìm thấy trong nhóm nơi _INODE_UNINIT được đặt
  • Inode được tìm thấy trong khu vực inodes không sử dụng nhóm
  • i_blocks_hi nên bằng không
  • / mất + không tìm thấy
  • Inode không độ dài không bị ràng buộc
  • Inode ref đếm sai
  • Đệm ở cuối bitmap inode không được đặt.
  • Đệm ở cuối bitmap khối không được đặt.
  • Chặn tiêu đề khác biệt bitmap
  • Khối không được sử dụng, nhưng được đánh dấu trong bitmap
  • Khối được sử dụng, nhưng không được đánh dấu sử dụng trong bitmap
  • Chặn chênh lệch bitmap kết thúc
  • Tiêu đề khác biệt bitmap bitode
  • Inode không được sử dụng, nhưng được đánh dấu bằng bitmap
  • Inode được sử dụng, nhưng không được đánh dấu sử dụng trong bitmap
  • Inode bitmap kết thúc
  • Số lượng inodes miễn phí cho nhóm sai
  • Thư mục tính cho nhóm sai
  • Inodes miễn phí đếm sai
  • Số khối miễn phí được tính cho nhóm sai
  • Khối miễn phí đếm sai
  • Phạm vi khối không được sử dụng, nhưng được đánh dấu trong bitmap
  • Phạm vi khối được sử dụng, nhưng không được đánh dấu sử dụng trong bitmap
  • Phạm vi inode không được sử dụng, nhưng được đánh dấu bằng bitmap
  • Phạm vi inode được sử dụng, nhưng không được đánh dấu được sử dụng trong bitmap
  • (Các) nhóm N đang sử dụng nhưng nhóm được đánh dấu BLOCK_UNINIT
  • Nhóm N inode đang sử dụng nhưng nhóm được đánh dấu INODE_UNINIT
  • Tái tạo nhật ký nếu cờ E2F_FLAG_JOURNAL_INODE được đặt

Các điều kiện lỗi sau đây khiến quá trình fsck không tương tác bị hủy bỏ, ngay cả khi -pcờ được đặt:

  • Chặn bitmap không trong nhóm
  • Inmap bitmap không trong nhóm
  • Bảng inode không trong nhóm
  • Kích thước hệ thống tập tin là sai
  • Số lượng inode trong superblock là không chính xác
  • Hurd không hỗ trợ tính năng filetype
  • Tạp chí có một loại siêu khối không xác định
  • Hỏi xem chúng ta có nên xóa tạp chí không
  • Nhật ký siêu khối có một cờ tính năng chỉ đọc không xác định
  • Nhật ký siêu khối có một bộ cờ tính năng không tương thích không xác định
  • Tạp chí có số phiên bản không được hỗ trợ
  • Hỏi xem chúng ta có nên chạy tạp chí không
  • Các khối dành riêng w / o resize_inode
  • Resize_inode không được bật, nhưng thay đổi kích thước inode là khác không
  • Thay đổi kích thước inode không hợp lệ
  • Thời gian gắn kết cuối cùng là trong tương lai
  • Thời gian viết cuối cùng là trong tương lai
  • mô tả nhóm N checksum là không hợp lệ.
  • Thư mục gốc không phải là một nút
  • Chặn xung đột bitmap với một số khối fs khác
  • Inode bitmap xung đột với một số khối fs khác
  • Bảng inode xung đột với một số khối fs khác
  • Khối bitmap nằm trên một khối xấu
  • Inmap bitmap nằm trên một khối xấu
  • Blocknumber bất hợp pháp inode
  • Số khối trùng lặp siêu dữ liệu fs
  • Inode có các khối bất hợp pháp (câu hỏi chốt)
  • Quá nhiều khối xấu trong inode
  • Số khối bất hợp pháp trong inode khối xấu
  • Inode khối xấu có các khối bất hợp pháp (câu hỏi chốt)
  • Khối xấu được sử dụng làm khối xấu gián tiếp
  • Sự không nhất quán không thể được sửa chữa nhanh chóng
  • Dấu nhắc khối chính không tốt
  • Bỏ qua tin nhắn nhắc nhở
  • Cờ tưởng tượng được đặt trên một nút khi hệ thống tập tin không hỗ trợ nó
  • Cờ nén được đặt trên một nút khi hệ thống tập tin không hỗ trợ nó
  • Đối phó với các nút là một phần của danh sách liên kết mồ côi
  • Xử lý các nút là một phần của danh sách liên kết mồ côi bị hỏng (câu hỏi chốt)
  • Lỗi đọc khối thuộc tính mở rộng
  • Khối thuộc tính mở rộng không hợp lệ
  • Số tham chiếu thuộc tính mở rộng không chính xác
  • Nhiều khối EA không được hỗ trợ
  • Lỗi va chạm phân bổ EA
  • Tên thuộc tính mở rộng xấu
  • Giá trị thuộc tính mở rộng xấu
  • Inode quá lớn (câu hỏi chốt)
  • Thư mục quá lớn
  • Tập tin thường xuyên quá lớn
  • Symlink quá lớn
  • Khối xấu có khối gián tiếp xung đột với khối hệ thống tệp
  • Thay đổi kích thước inode không thành công
  • Inode dường như là một thư mục
  • Lỗi trong khi đọc phạm vi cây
  • Thất bại trong việc lặp lại phạm vi
  • Khối khởi đầu xấu trong phạm vi
  • Mức độ kết thúc vượt quá hệ thống tập tin
  • Cờ EXTENT_FL được đặt trên hệ thống tệp không có phạm vi
  • Inode có phạm vi rộng, siêu chặn thiếu tính năng INCOMPAT_EXTENT
  • Liên kết tượng trưng nhanh có EXTENT_FL được đặt
  • Mức độ không theo thứ tự
  • Inode có nút phạm vi không hợp lệ
  • Nhân bản / khối xấu?
  • Số inode xấu cho '.'
  • Mục nhập thư mục có số inode xấu
  • Mục nhập trực tiếp là liên kết đến '.'
  • Các mục nhập thư mục đến inode hiện nằm trong một khối xấu
  • Mục nhập thư mục chứa một liên kết đến một thư mục
  • Mục nhập thư mục chứa một liên kết đến các lệnh gốc
  • Mục nhập thư mục có các ký tự không hợp lệ trong tên của nó
  • Còn thiếu '.' trong thư mục inode
  • Thiếu '..' trong thư mục inode
  • Mục đầu tiên trong thư mục inode không chứa '.'
  • Mục thứ hai trong thư mục inode không chứa '..'
  • i_faddr nên bằng không
  • i_file_acl nên bằng không
  • i_dir_acl nên bằng không
  • i_frag nên bằng không
  • i_fsize nên bằng không
  • Inode có chế độ xấu
  • thư mục bị hỏng
  • tên tệp quá dài
  • Thư mục inode có một khối bị thiếu (lỗ)
  • '.' không phải là NULL chấm dứt
  • '..' không phải là NULL chấm dứt
  • Thiết bị nhân vật bất hợp pháp inode
  • Thiết bị chặn trái phép inode
  • Bản sao '.' nhập cảnh
  • Mục nhập trùng lặp
  • Rec_len cuối cùng là sai
  • Lỗi đọc khối thư mục
  • Lỗi ghi khối thư mục
  • Mục nhập thư mục cho '.' là lớn Chia tay?
  • Inode bất hợp pháp
  • Inode ổ cắm bất hợp pháp
  • Thư mục filetype không chính xác
  • Tên tệp thư mục là null
  • Liên kết tượng trưng không hợp lệ
  • i_file_acl (khối thuộc tính mở rộng) là xấu
  • Hệ thống tập tin chứa các tệp lớn, nhưng không có cờ như vậy trong sb
  • Xóa thư mục HTREE không hợp lệ
  • Khối xấu trong nút bên trong htree
  • Tìm thấy thư mục trùng lặp
  • Tên tệp không phải là duy nhất
  • i_blocks_hi nên bằng không
  • Khối HTREE bất ngờ
  • Root inode không được phân bổ
  • Không có phòng bị mất + tìm thấy
  • Thư mục chưa được kết nối
  • .. nhập không chính xác
  • Mất + không tìm thấy thư mục
  • Inode không bị ràng buộc
  • Siêu chặn tham nhũng
  • Những mảnh vỡ không được hỗ trợ
  • Lỗi xác định kích thước thiết bị vật lý của hệ thống tập tin
  • Tạp chí bên ngoài có (không được hỗ trợ) nhiều hệ thống tập tin
  • Không thể tìm thấy tạp chí bên ngoài
  • Tạp chí bên ngoài có siêu khối xấu
  • Superblock có một tạp chí xấu UUID
  • Lỗi phân bổ bitmap inode
  • Lỗi phân bổ bitmap khối
  • Lỗi phân bổ thông tin liên kết icount
  • Lỗi phân bổ mảng khối thư mục
  • Lỗi trong khi quét inodes
  • Lỗi trong khi lặp qua các khối
  • Lỗi trong khi lưu trữ thông tin đếm inode
  • Lỗi trong khi lưu trữ thông tin khối thư mục
  • Lỗi trong khi đọc inode (để xóa)
  • Lỗi phân bổ cấu trúc refcount
  • Lỗi đọc khối Thuộc tính mở rộng trong khi sửa lỗi đếm
  • Lỗi ghi khối Thuộc tính mở rộng trong khi sửa lỗi đếm
  • Lỗi phân bổ cấu trúc phân bổ khu vực EA
  • Lỗi trong khi quét inodes
  • Lỗi phân bổ bitmap inode
  • Lỗi nội bộ: không thể tìm thấy dir_info
  • Lỗi phân bổ cấu trúc icount
  • Lỗi lặp lại trên các khối thư mục
  • Lỗi giao dịch inode
  • Lỗi điều chỉnh EA refcount
  • Lỗi phân bổ bitmap inode
  • Lỗi tạo thư mục gốc
  • Root inode không phải là thư mục; hủy bỏ
  • Không thể tiến hành mà không có một nút gốc.
  • Lỗi nội bộ: không thể tìm thấy dir_info
  • Lỗi lập trình: điểm cuối bitmap không khớp
  • Lỗi nội bộ: kết thúc lỗi của bitmap
  • Lỗi sao chép trong bitmap inode thay thế
  • Lỗi sao chép trong bitmap khối thay thế

Nô-ê nếu bạn biết điều này, Có thể tạo / tiêm tất cả các lỗi này (hoặc bất cứ điều gì có thể)? Tôi đang cố gắng điều tra nguyên nhân của những lỗi này và giải pháp có thể của những lỗi này.
AnkurTank
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.