Sự khác biệt giữa fsck và e2fsck là gì?


30

Sự khác biệt giữa các công cụ kiểm tra lỗi đĩa linux fsck và e2fsck là gì?

Câu trả lời:


29

fsck chỉ là tên gốc. Khi họ đưa ra các hệ thống tệp mới, họ sẽ cần một công cụ cụ thể cho từng hệ thống, efsck cho ext, e2fsck cho ext2, dosfsck, fsckvfat. Vì vậy, họ đã tạo ra fsck mặt trước mà chỉ cần gọi bất kỳ là công cụ thích hợp.


Hmm, vậy rõ ràng bạn có thể sử dụng fsck "front-end" cho một số tác vụ thông thường, nhưng không phải cho tất cả mọi thứ? Ví dụ: tùy chọn -c ( superuser.com/questions/20010/, ) được đề cập trong trang man e2fsck nhưng trong fsck.
Jonik

Có một fsck GPT?
Jonathan

@Jonathan fsck kiểm tra các hệ thống tập tin, trong khi GPT là bảng phân vùng. Có lẽ có một công cụ có thể kiểm tra những thứ đó, nhưng tôi không thể nghĩ ra một công cụ nào khác ngoài đầu của tôi ngoài Tiện ích đĩa của Mac (hoặc đĩa sử dụng đĩa lệnh). Các gptlệnh không có một "phục hồi từ bản sao lưu bảng" tùy chọn, ít nhất là trên Mac.
SilverWolf - Phục hồi Monica

15

fsck là một trình bao bọc cho nhóm công cụ fsck dành riêng cho hệ thống tập tin . Chúng có thể được sử dụng thay thế cho nhau với một cảnh báo (từ trang chủ fsck):

Các tùy chọn không được hiểu bởi fsck được chuyển đến trình kiểm tra dành riêng cho hệ thống tệp. Các đối số này không được đưa ra các đối số, vì không có cách nào để fsck có thể đoán đúng các đối số nào có các tùy chọn và không.

Các tùy chọn và đối số tuân theo - được coi là các tùy chọn dành riêng cho hệ thống tệp được chuyển đến trình kiểm tra dành riêng cho hệ thống tệp.

Xin lưu ý rằng fsck không được thiết kế để chuyển các tùy chọn phức tạp tùy ý cho người kiểm tra cụ thể theo hệ thống tệp. Nếu bạn đang làm một cái gì đó phức tạp, xin vui lòng chỉ cần thực hiện trình kiểm tra cụ thể hệ thống tập tin trực tiếp. Nếu bạn vượt qua fsck một số tùy chọn và đối số phức tạp khủng khiếp và nó không thực hiện được những gì bạn mong đợi, đừng bận tâm đến việc báo cáo đó là một lỗi. Bạn gần như chắc chắn đang làm một việc mà bạn không nên làm với fsck.

Tuy nhiên, fsck sẽ xử lý hầu hết các hoạt động bình thường trên một hệ thống tệp.


5

Trên hệ thống của tôi, tôi có:

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ... (Nhiều fsck.*công cụ hơn cho các hệ thống tập tin không mở rộng khác)

Bây giờ không ai trong số đó là những liên kết tượng trưng nhưng e2fsckfsck.ext2/3/4công cụ tất cả chia sẻ cùng một inode để thực sự là cùng một tập tin. (Có thể nhị phân này sẽ thẩm vấn tên của chính nó khi nó được chạy và hành xử khác với tên mà nó được gọi, nhưng tôi nghi ngờ đây là trường hợp.)

Vì vậy, bây giờ chúng tôi chỉ còn hai công cụ:

  • fsck
  • e2fsck

Và, như những người khác đã nói, fsckchỉ đơn giản là một giao diện người dùng gọi công cụ thích hợp cho hệ thống tập tin được đề cập, trong trường hợp này là e2fsckdành cho hệ thống tập tin gia đình ext.

Tôi cho rằng lý do để có các fsck.ext2/3/4tệp khác nhau là vì 1. dễ dàng viết các tập lệnh có thể xử lý tất cả các loại hệ thống tệp một cách tổng quát (chúng có thể suy ra tên công cụ fsck một cách tầm thường từ loại hệ thống tệp) và 2. để linh hoạt, vì vậy nó rất tầm thường để chia e2fsck thành hai hoặc nhiều công cụ độc lập nếu cần thiết trong tương lai.


Cảm ơn bạn đã giải thích lâu hơn, vì sau khi đọc câu trả lời @hyperslug tôi đã cảm nhận được cơn đau tim :-) Tôi có hệ thống tập tin ext3 và tôi đã chạy e2fsck.
greenoldman

Bây giờ không có cái nào trong số này là các liên kết tượng trưng nhưng e2fsck và các công cụ fsck.ext2 / 3/4 đều có chung một inode nên thực sự là cùng một tệp. (Có thể là nhị phân này sẽ thẩm vấn tên của chính nó khi nó được chạy và hành xử khác với tên mà nó được gọi, nhưng tôi nghi ngờ đây là trường hợp.) - Tại sao không - đây là một cách đặc biệt làm mọi thứ và thực sự có thể là trường hợp!
SlySven

Những cái tên thay thế đó thực sự là ví dụ của liên kết cứng được phát hiện ít hơn (hầu hết mọi người đều quen thuộc với các liên kết tượng trưng nhưng người anh em khó tính hơn của họ cũng sử dụng nó mặc dù họ bị giới hạn trong cùng một thiết bị .)
SlySven
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.