it-swarm-korea.com

fsck와 e2fsck의 차이점은 무엇입니까?

Linux 디스크 오류 검사 도구 fsck와 e2fsck의 차이점은 무엇입니까?

31
Fred Hamilton

fsck는 원래 이름입니다. 새로운 파일 시스템이 나오면 각 파일 시스템에 대한 특정 도구, 즉 ext의 경우 efsck, ext2의 경우 e2fsck, dosfsck, fsckvfat가 필요합니다. 그래서 그들은 fsck를 적절한 도구를 호출하는 프런트 엔드로 만들었습니다.

32
hyperslug

fsck는 파일 시스템 별 fsck. * 도구 제품군의 래퍼입니다. fsck 맨 페이지에있는 한 가지주의 사항과 상호 교환하여 사용할 수 있습니다.

Fsck에서 이해하지 못하는 옵션은 파일 시스템 별 검사기로 전달됩니다. 이 인수는 인수를 받아서는 안됩니다. fsck가 어떤 인수가 옵션을 받는지 그렇지 않은지 제대로 추측 할 수있는 방법이 없기 때문입니다.

-뒤에 오는 옵션 및 인수는 파일 시스템 별 검사기로 전달되는 파일 시스템 별 옵션으로 처리됩니다.

Fsck는 파일 시스템 별 검사기에 임의로 복잡한 옵션을 전달하도록 설계되지 않았습니다. 복잡한 일을하고 있다면 파일 시스템 별 검사기를 직접 실행하십시오. 끔찍하게 복잡한 옵션과 인수를 fsck에 전달했는데 예상 한대로 수행되지 않으면 귀찮게하지 마십시오. 버그로보고합니다. fsck로하지 말아야 할 일을 거의 확실히하고 있습니다.

그러나 fsck는 파일 시스템에서 대부분의 정상적인 작업을 처리합니다.

15
user4358

내 시스템에는 다음이 있습니다.

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ... (다른 비 확장 파일 시스템 용 fsck.* 도구 추가)

이제 이들 중 어느 것도 심볼릭 링크가 아니지만 e2fsckfsck.ext2/3/4 도구는 모두 동일한 inode를 공유하므로 실제로 동일한 파일입니다. (이 바이너리가 실행될 때 자체 이름을 조사하고 호출 된 이름에 대해 다르게 동작 할 수 있지만 이것이 사실인지 의심합니다.)

따라서 이제 두 가지 도구 만 사용합니다.

  • fsck
  • e2fsck

그리고 다른 사람들이 말했듯이 fsck은 해당 파일 시스템에 적합한 도구를 호출하는 단순한 프런트 엔드입니다.이 경우에는 ext family 파일 시스템에 대해 e2fsck입니다.

다양한 fsck.ext2/3/4 파일이있는 이유는 1. 모든 파일 시스템 유형을 일반적으로 처리 할 수있는 스크립트를 작성하기 쉬우 며 (파일 시스템 유형에서 fsck 도구 이름을 사소하게 추론 할 수 있음) 2. 유연성이 있으므로 나중에 필요할 경우 e2fsck를 두 개 이상의 독립적 인 도구로 분할하는 것이 간단합니다.

5
Paul Ruane