Fsck ve e2fsck arasındaki fark nedir?


30

Linux disk hata kontrol araçları fsck ve e2fsck arasındaki fark nedir?

Yanıtlar:


29

fsck sadece orijinal addır. Yeni dosya sistemleri ile ortaya çıktıklarında, her biri için özel bir araca ihtiyaçları olacaktı: ext için efsck, ext2 için e2fsck, dosfsck, fsckvfat. Böylece, hangisini uygun araç olarak çağıran ön ucu fsck yaptılar.


Hmm, görünüşe göre fsck "front-end" i ortak görevler için kullanabilirsin, ama her şey için değil mi? Örneğin, -c seçeneği ( superuser.com/questions/20010/… ) e2fsck man sayfasında, ancak fsck'in içinde belirtilmiştir.
Jonik

GPT fsck var mı?
Jonathan

@Jonathan fsck dosya sistemlerini kontrol ederken, GPT bölüm tablosunun kendisidir. Muhtemelen bunları kontrol edebilecek bir araç var, ama Mac'in Disk Yardımcı Programından (veya komut satırı diskutil'den) başımın üstünden birini düşünemiyorum. gptKomut Mac üzerinde en azından bir "kurtarma yedekleme tablodan" seçeneğini var.
SilverWolf - Monica

15

fsck , dosya sistemine özgü fsck. * araçlar ailesi için bir sarıcıdır . Bir ihtarla değiştirilerek kullanılabilirler (fsck sayfasından):

Fsck tarafından anlaşılmayan seçenekler dosya sistemine özgü denetleyiciye iletilir. Bu argümanların argüman almaması gerekir, çünkü fsck'in hangi argümanların seçeneklerini aldığını ve hangilerinin almadığını doğru bir şekilde tahmin edebilme imkanı yoktur.

- işaretini takip eden seçenekler ve argümanlar, dosya sistemine özgü denetleyiciye iletilmek üzere dosya sistemine özgü seçenekler olarak değerlendirilir.

Fsck’in dosya sistemine özgü denetleyicilere keyfi olarak karmaşık seçenekler sunmak için tasarlanmadığını lütfen unutmayın. Karmaşık bir şey yapıyorsanız, lütfen doğrudan dosya sistemine özgü denetleyiciyi çalıştırın. Eğer fsck'i biraz karmaşık bir seçenek ve argümanla iletirseniz ve beklediğiniz şeyi yapmazsanız, bunu bir hata olarak bildirmekten çekinmeyin. Neredeyse kesinlikle fsck ile yapmamanız gereken bir şey yapıyorsunuz.

Bununla birlikte, fsck bir dosya sistemindeki normal işlemlerin çoğunu idare eder.


5

Benim sistemimde var:

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ... ( fsck.*diğer, harici dosya sistemleri için daha fazla araç)

Bunlardan Şimdi hiçbiri sembolik bağlantılar vardır ama e2fsckve fsck.ext2/3/4araçları tüm pay aynı inode yüzden aslında aynı dosya bulunmaktadır. (Bu ikilinin çalıştırıldığında kendi adını sorgulaması ve çağrıldığı ad için farklı davranması mümkündür, ancak durumun bu olduğundan şüpheliyim.)

Yani şimdi sadece iki araca düştük:

  • fsck
  • e2fsck

Ve diğerlerinin de söylediği gibi, söz konusu fsckdosya sistemi için uygun aracı çağıran basit bir ön uçtur; bu durumda e2fsckbir ext aile dosya sistemi içindir.

Çeşitli fsck.ext2/3/4dosyalara sahip olma nedeninin, tüm dosya sistemi türlerini genel olarak işleyebilecek komut dosyaları yazmanın kolay olduğunu düşünüyorum (fsck aracı adını önemsizce dosya sistemi türünden çıkardırabilirler) ve 2. esneklik için önemsizdir. e2fsck'i gelecekte gerekirse, iki veya daha fazla bağımsız araca bölmek.


Uzun açıklama için teşekkür ederim, çünkü @hyperslug cevabını okuduktan sonra zaten kalp krizi geçiriyordum.
greenoldman

Şimdi bunların hiçbiri sembolik bağlar değil ama e2fsck ve fsck.ext2 / 3/4 araçlarının tümü aynı inode'u paylaşıyor, bu yüzden aslında aynı dosya. (Çalıştırıldığında bu ikilinin kendi adını sorgulayabilmesi ve çağrıldığı ad için farklı davranması mümkündür, ancak durumun böyle olduğundan şüpheliyim.) - Neden olmasın - bu özellikle * nix-ish yolu şeyler yapmak ve aslında böyle olabilir!
SlySven

Bu alternatif isimler aslında daha az lekeli olan sert linke örnektir (çoğu insan sembolik linklere aşinadır, ancak sert kardeşleri aynı cihaza sınırlı olsalar da kullanırlar .)
SlySven
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.