Qual é a diferença entre as ferramentas de verificação de erro do disco linux fsck e e2fsck?
Qual é a diferença entre as ferramentas de verificação de erro do disco linux fsck e e2fsck?
Respostas:
fsck é apenas o nome original. Quando eles lançaram novos sistemas de arquivos, precisariam de uma ferramenta específica para cada um, efsck para ext, e2fsck para ext2, dosfsck, fsckvfat. Então eles fizeram do fsck o front end que apenas chama a que for a ferramenta apropriada.
gpt
comando tem uma opção "recuperar da tabela de backup", pelo menos no Mac.
O fsck é um invólucro para a família de ferramentas fsck. * específica do sistema de arquivos . Eles podem ser usados de forma intercambiável com uma ressalva (da página de manual do fsck):
As opções que não são entendidas pelo fsck são passadas para o verificador específico do sistema de arquivos. Esses argumentos não devem receber argumentos, pois não há como o fsck conseguir adivinhar corretamente quais argumentos têm opções e quais não.
As opções e argumentos a seguir a - são tratados como opções específicas do sistema de arquivos a serem passadas para o verificador específico do sistema de arquivos.
Observe que o fsck não foi projetado para passar opções arbitrariamente complicadas a verificadores específicos do sistema de arquivos. Se você estiver fazendo algo complicado, execute o verificador específico do sistema de arquivos diretamente. Se você passar ao fsck alguma opção e argumentos terrivelmente complicados, e ele não fizer o que você espera, não se preocupe em denunciá-lo como um bug. Você certamente está fazendo algo que não deveria estar fazendo com o fsck.
No entanto, o fsck manipulará a maioria das operações normais em um sistema de arquivos.
No meu sistema eu tenho:
fsck
fsck.ext2
fsck.ext3
fsck.ext4
e2fsck
fsck.*
ferramentas para outros sistemas de arquivos não ext)Agora, nenhum desses são links simbólicos, mas todas e2fsck
as fsck.ext2/3/4
ferramentas compartilham o mesmo inode, portanto, na verdade, são o mesmo arquivo. (É possível que esse binário interrogue seu próprio nome quando for executado e se comporte de maneira diferente para o nome com o qual é chamado, mas duvido que seja esse o caso.)
Portanto, agora estamos com apenas duas ferramentas:
fsck
e2fsck
E, como outros já disseram, fsck
é simplesmente um front end que chama a ferramenta apropriada para o sistema de arquivos em questão, que neste caso é e2fsck
para um sistema de arquivos da família ext.
Presumo que a razão para ter os vários fsck.ext2/3/4
arquivos seja: 1. é fácil escrever scripts que possam lidar com todos os tipos de sistema de arquivos genericamente (eles podem deduzir o nome da ferramenta fsck trivialmente do tipo de sistema de arquivos) e 2. para flexibilidade, para que seja trivial dividir o e2fsck em duas ou mais ferramentas independentes, se necessário no futuro.