Чим відрізняється fsck від e2fsck?


Відповіді:


29

fsck - лише оригінальна назва. Коли вони вийшли з новими файловими системами, їм знадобиться для кожного конкретний інструмент, efsck для ext, e2fsck для ext2, dosfsck, fsckvfat. Таким чином вони зробили fsck передній кінець, який просто дзвонить, залежно від того, що є відповідним інструментом.


Гм, так, мабуть, ви можете використовувати fsck "передній край" для деяких загальних завдань, але не для всього? Наприклад, параметр -c ( superuser.com/questions/20010/… ) згадується на довільній сторінці e2fsck, але на сторінці fsck.
Джонік

Чи є GPT fsck?
Джонатан

@Jonathan fsck перевіряє файлові системи, тоді як GPT - сама таблиця розділів. Напевно, є інструмент, який може перевірити це, але я не можу придумати його вгорі голови, крім дискової утиліти Mac (або дискутилу командного рядка). gptКоманда має параметр «відновити з резервної копії таблиці», принаймні , на Mac.
SilverWolf - Відновіть Моніку

15

fsck - обгортка для специфічної для файлової системи fsck. * сімейства інструментів. Вони можуть використовуватися взаємозамінно з одним застереженням (із сторінки fsck):

Параметри, які не розуміються під fsck, передаються в спеціальну перевірку файлової системи. Ці аргументи не повинні приймати аргументи, оскільки немає можливості для fsck вміти правильно здогадуватися, які аргументи приймають варіанти, а які ні.

Опції та аргументи, що слідують за цим, - трактуються як параметри, характерні для файлової системи, для передачі до перевірки для файлової системи.

Зверніть увагу, що fsck не розроблений для передачі довільно складних параметрів до шашок, характерних для файлової системи. Якщо ви робите щось складне, будь ласка, просто запустіть прапорець для файлової системи безпосередньо. Якщо ви передаєте fsck якийсь жахливо складний варіант та аргументи, і він не робить те, що ви очікуєте, не переймайтеся, повідомляючи про це як про помилку. Ви майже напевно робите щось, чого не слід робити з fsck.

Однак fsck обробляє більшість звичайних операцій у файловій системі.


5

У моїй системі я:

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ... (більше fsck.*інструментів для інших файлових систем, що не є)

Тепер жоден з них не символічні посилання , але e2fsckі fsck.ext2/3/4інструменти використовують один індексний дескриптор так, на самому ділі той же файл. (Можливо, що цей двійковий файл буде допитувати власне ім’я, коли він запущений, і поводитиметься по-різному стосовно імені, на яке він викликається, але я сумніваюся, що це так.)

Таким чином, ми тепер перейшли до двох інструментів:

  • fsck
  • e2fsck

І, як говорили інші, fsckце просто передній кінець, який викликає відповідний інструмент для відповідної файлової системи, який у даному випадку призначений e2fsckдля сімейної файлової системи ext.

Я припускаю, що в наявності різних fsck.ext2/3/4файлів є те, що 1. легко писати сценарії, які можуть обробляти всі типи файлової системи загально (вони можуть виводити назву інструмента fsck тривіально від типу файлової системи) та 2. для гнучкості, так що це тривіально розділити e2fsck на два чи більше незалежних інструментів у разі необхідності в майбутньому.


Дякую за довше пояснення, адже після прочитання відповіді @hyperslug я вже відчував серцевий напад :-) У мене файлова система ext3 і я запустив e2fsck.
greenoldman

Тепер жодне з них не є символічними посиланнями, але e2fsck та інструменти fsck.ext2 / 3/4 мають спільний ідентичний inode, тому насправді той самий файл. (Можливо, що цей двійковий файл буде допитувати власне ім’я, коли він запущений, і поводиться по-різному щодо імені, на яке воно викликається, але я сумніваюся, що це так.) - Чому б ні - це особливо * nix-ish спосіб робити речі і насправді може бути так!
SlySven

Ці альтернативні імена насправді є прикладами малопомітного жорсткого посилання (більшість людей знайомі з символічними посиланнями, але їхній складний брат також використовує це, хоча вони обмежені одним і тим же пристроєм .)
SlySven
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.