Fsck -p (preen) ext4'te ne yapar?


16

Dosya sistemi onarımı hakkında bir blog yazısı okuyordum ve yazar iyi bir soru gönderdi… fsck -pinsan müdahalesi olmadan küçük hataları otomatik olarak düzeltmesi gerekiyordu. Ancak dosya sistemini temizlemeyi söylendiğinde tam olarak ne düzelecek? Hangi hataları düzeltir ve durmasına ve kullanıcıya fsck'i etkileşimli olarak çalıştırması gerektiğini söylemesi ne olur? Bir tür liste var mı?

Etrafta dolaşıyordum ve bulduğum tek şey, manüel olarak -pdüzeltecek şeyleri neyin düzelteceğini veya neyin tetiklediğini söylemiyor . Özellikle ext4 dosya sistemi ile ilgileniyorum.

Yanıtlar:


18

Sorunuzun cevabı e2fsprogs kaynak kodunun e2fsck/problems.cdosyasında yatıyor . Aradığım bayrak başlamak gerekir.PR_PREEN_OK

Tam hata işleme biraz daha dahil olduğundan, ortaya çıkabilecek farklı hata durumlarının çokluğu nedeniyle, belirli bir durumla ilgili endişeleriniz varsa koda daha yakından bakmanız önerilir. Bununla birlikte, aşağıdaki listeler yorumlardan hata koşullarına çıkarılmıştır ve size ekran modunun etkileri hakkında kabaca bir genel bakış sunmalıdır.

-pBayrak belirtildiğinde şu hatalar / uyarılar şu anda otomatik olarak ele alınmaktadır :

  • İpucunu yeniden konumlandır
  • Günlük inode geçersiz
  • Günlük süper bloğu bozuk
  • Superblock has_journal bayrağı açık ancak günlüğü var
  • Superblock needs_recovery bayrağı ayarlandı ancak günlük mevcut değil
  • Dosya sistemi revizyonu 0, ancak özellik bayrakları ayarlandı
  • Harici süper blok için süper blok ipucu
  • grup tanımlayıcı N, özellik seti olmadan başlatılmamış olarak işaretlendi.
  • grup N blok bitmap başlatılmamış ancak inode bitmap kullanımda.
  • Grup tanımlayıcı N'de geçersiz kullanılmayan inode sayısı var.
  • Son grup bloğu bitmap'i başlatılmadı.
  • Test_fs bayrağı ayarlanır (ve ext4 kullanılabilir)
  • Son montaj zamanı gelecekte (geçiştirilmiş)
  • Son yazma zamanı gelecekte (geçiştirilmiş)
  • Blok grubu sağlama toplamı (mandal sorusu) geçersiz.
  • Kök dizinde dtime ayarlandı
  • Ayrılmış inode kötü modda
  • Silinen inode sıfır dtime'a sahip
  • Kullanılmayan inode, ancak dtime ayarlandı
  • Sıfır uzunluklu dizin
  • Inode yanlış i_size içeriyor
  • Inode yanlış i_blocks'a sahip
  • Gruptaki kötü süper blok
  • Gruptaki bozuk blok grubu tanımlayıcıları
  • Blok sebepsiz talep edildi
  • Meta verilerin yerini değiştirmek için bloklar ayrılırken hata oluştu
  • Yer değiştirme işlemi sırasında blok arabelleği ayırma hatası
  • Meta veri grubu bilgilerinin X'ten Y'ye taşınması
  • Meta veri grubu bilgilerinin X konumuna taşınması
  • Yer değiştirme işlemi sırasında blok okuma hatası
  • Yer değiştirme işlemi sırasında blok yazma hatası
  • Bir aygıt veya soket inode üzerinde ayarlanmış değişken bayrak
  • Cihaz, fifo veya soket inode için sıfır olmayan boyut
  • Dosya sistemi revizyonu 0, ancak özellik bayrakları ayarlandı
  • Günlük inode kullanımda değil, veri içeriyor
  • Derginin bozuk modu var
  • HTREE olmayan bir dosya sisteminde ayarlanmış INDEX_FL bayrağı
  • Dizin olmayan bir dizinde ayarlanmış INDEX_FL bayrağı
  • HTREE dizininde geçersiz kök düğüm
  • HTREE dizininde desteklenmeyen karma sürüm
  • HTREE kök düğümünde uyumsuz bayrak
  • HTREE çok derin
  • geçersiz inode-> i_extra_isize
  • geçersiz ea girişi-> e_name_len
  • geçersiz ea girişi-> e_value_offs
  • geçersiz ea girişi-> e_value_block
  • geçersiz ea girişi-> e_value_size
  • geçersiz ea girişi-> e_hash
  • inode EXTENTS_FL eksik, ancak bir dereceye kadar inode
  • Inode'da EOFBLOCKS_FL ayarlanmamış olmalıdır
  • Dizin girişi silinmiş veya kullanılmamış inode
  • Dizin dosya türü ayarlanmadı
  • Dosya sisteminde ayarlanan dizin dosya türü
  • Geçersiz HTREE kök düğümü
  • Geçersiz HTREE sınırı
  • Geçersiz HTREE sayısı
  • HTREE iç düğümünün tabloda bozuk karmaları var
  • _INODE_UNINIT öğesinin ayarlandığı grupta inode bulundu
  • Grup kullanılmayan inode alanında inode bulundu
  • i_blocks_hi sıfır olmalı
  • / kayıp + bulunamadı
  • Serbest sıfır uzunluktaki inode
  • Inode ref sayısı yanlış
  • İnode bitmap'in sonunda dolgu ayarlanmamış.
  • Blok bitmap'in sonunda dolgu ayarlanmamış.
  • Blok bitmap farklılıkları üstbilgisi
  • Blok kullanılmadı, ancak bitmap olarak işaretlendi
  • Blok kullanıldı, ancak bitmapte kullanıldı olarak işaretlenmedi
  • Blok bitmap farkları sona eriyor
  • Inode bitmap farklılıkları başlığı
  • Inode kullanılmıyor, ancak bitmap olarak işaretlendi
  • Kullanılan inode, ancak bitmap'te işaretlenmemiş
  • Inode bitmap farkları sona eriyor
  • Grup yanlış için ücretsiz inode sayısı
  • Yanlış grup için dizin sayısı
  • Ücretsiz inode yanlış sayılır
  • Grup yanlış için ücretsiz blok sayısı
  • Serbest bloklar yanlış sayılıyor
  • Blok aralığı kullanılmadı, ancak bitmap olarak işaretlendi
  • Kullanılan blok aralığı, ancak bitmap'te işaretlenmemiş
  • İnode aralığı kullanılmıyor, ancak bitmap ile işaretli
  • Kullanılan inode aralığı, ancak bitmap'te işaretlenmemiş
  • N Grubu bloklar kullanılıyor ancak grup BLOCK_UNINIT olarak işaretlendi
  • Grup N inode (lar) kullanımda ancak grup INODE_UNINIT olarak işaretlendi
  • E2F_FLAG_JOURNAL_INODE bayrağı ayarlanmışsa günlüğü yeniden oluşturun

Aşağıdaki hata koşulları, -pbayrak ayarlanmış olsa bile etkileşimli olmayan fsck işleminin durdurulmasına neden olur :

  • Blok bitmap'i grupta değil
  • Grupta olmayan inode bitmap
  • Grupta olmayan inode tablosu
  • Dosya sistemi boyutu yanlış
  • Süperbloktaki inode sayısı yanlış
  • Hurd, filetype özelliğini desteklemiyor
  • Journal'ın bilinmeyen bir süper blok türü var
  • Günlüğü temizlememiz gerekip gerekmediğini sorun
  • Günlük süperbloğu bilinmeyen bir salt okunur özellik işaret kümesine sahip
  • Günlük süperbloğu bilinmeyen bir uyumsuz özellik işaret kümesine sahip
  • Günlükte desteklenmeyen sürüm numarası var
  • Dergiyi yine de çalıştırmamız gerekip gerekmediğini sorun
  • Resize_inode içermeyen ayrılmış bloklar
  • Resize_inode etkin değil, ancak yeniden boyutlandırma inode sıfır değil
  • Yeniden boyutlandırma inode geçersiz
  • Son montaj zamanı gelecekte
  • Son yazma zamanı gelecekte
  • grup tanımlayıcı N sağlama toplamı geçersiz.
  • Kök dizin bir inode değil
  • Diğer bazı fs bloğu ile bitmap çakışmalarını engelle
  • Inode bitmap diğer bazı fs bloğu ile çakışıyor
  • Inode tablosu diğer bazı fs bloğu ile çakışıyor
  • Blok bitmap'i bozuk bir blokta
  • Inode bitmap bozuk bir blokta
  • İnode içindeki geçersiz blok numarası
  • Blok numarası fs meta verisiyle çakışıyor
  • Inode'un yasadışı blokları var (mandal sorusu)
  • İnode çok fazla kötü blok
  • Bozuk blok inode'unda geçersiz blok numarası
  • Hatalı blok inode yasadışı bloklara sahip (mandal soru)
  • Kötü blok dolaylı blok olarak kullanılır
  • Tutarsızlık düzeltilemez istemi
  • Birincil blok istemi hatalı
  • Mesaj istemini bastır
  • Dosya sistemi desteklemediğinde inode üzerinde ayarlanmış görüntü bayrağı
  • Dosya sistemi desteklemediğinde bir inode üzerinde ayarlanan sıkıştırma bayrağı
  • Yetim bağlantılı listenin bir parçası olan inode'larla ilgilen
  • Bozuk yetim bağlantılı listesinin bir parçası olan inode'larla başa çık (mandal sorusu)
  • Genişletilmiş öznitelik bloğu okunurken hata oluştu
  • Geçersiz genişletilmiş öznitelik bloğu
  • Genişletilmiş özellik referans sayısı yanlış
  • Birden fazla EA bloğu desteklenmiyor
  • EA ayırma çakışması hatası
  • Hatalı genişletilmiş özellik adı
  • Hatalı genişletilmiş özellik değeri
  • İnode çok büyük (mandal soru)
  • Dizin çok büyük
  • Normal dosya çok büyük
  • Symlink çok büyük
  • Bozuk blok, dosya sistemi bloğuyla çakışan dolaylı blok içeriyor
  • Yeniden boyutlandırma inode başarısız oldu
  • inode bir dizin gibi görünüyor
  • Genişlik ağacı okunurken hata oluştu
  • Kapsamları yineleme hatası
  • Kapsamlı olarak kötü başlangıç ​​bloğu
  • Dosya sisteminin ötesinde uzantı sona eriyor
  • Dahili olmayan bir dosya sisteminde ayarlanan EXTENTS_FL bayrağı
  • inode'da uzantılar var, süper blok eksik INCOMPAT_EXTENTS özelliği
  • Hızlı simge bağlantısı EXTENTS_FL ayarlandı
  • Uzantılar bozuk
  • Inode'da geçersiz bir düğüm var
  • Yinelenen / bozuk blokları klonla?
  • '.' İçin hatalı inode numarası.
  • Dizin girişinde hatalı inode numarası var
  • Directry girişi '.'
  • Şimdi kötü bir blokta bulunan inode'a dizin giriş noktaları
  • Dizin girişi bir dizine bağlantı içeriyor
  • Dizin girişi kök yönlendiriciye bir bağlantı içeriyor
  • Dizin girişinin adında geçersiz karakterler var
  • Eksik '.' dizinde inode
  • Dizin inode'unda '..' eksik
  • Dizin inode'undaki ilk girdi '.' İçermiyor
  • Dizin inode'unda ikinci girdi '..' içermiyor
  • i_faddr sıfır olmalı
  • i_file_acl sıfır olmalı
  • i_dir_acl sıfır olmalı
  • i_frag sıfır olmalı
  • i_fsize sıfır olmalı
  • inode kötü moda sahip
  • dizin bozuk
  • dosya adı çok uzun
  • Dizin inode eksik bir bloğa (delik) sahip
  • '' NULL sonlandırılmadı
  • '..' NULL sonlandırılmadı
  • Geçersiz karakter cihazı inode
  • Geçersiz blok cihazı inode
  • Çiftleme '.' giriş
  • Yinelenen '..' girişi
  • Son rec_len yanlış
  • Dizin bloğu okunurken hata oluştu
  • Dizin bloğu yazma hatası
  • '.' İçin dizin girişi. büyüktür. Bölünmüş?
  • Geçersiz FIFO inode
  • Geçersiz soket inode
  • Dizin dosya türü yanlış
  • Dizin dosya adı boş
  • Geçersiz simge bağlantısı
  • i_file_acl (genişletilmiş özellik bloğu) bozuk
  • Dosya sistemi büyük dosyalar içeriyor, ancak sb'de böyle bir bayrak yok
  • Geçersiz HTREE dizinini temizle
  • Htree iç düğüm kötü blok
  • Yinelenen dizin girişi bulundu
  • Benzersiz olmayan dosya adı bulundu
  • i_blocks_hi sıfır olmalı
  • Beklenmedik HTREE bloğu
  • Kök inode tahsis edilmedi
  • Kayıp oda bulunamadı + bulunamadı
  • Bağlı olmayan dizin inode
  • .. giriş yanlış
  • Kayıp + bir dizin bulunamadı
  • Eksiz inode
  • Süper blok bozuk
  • Parçalar desteklenmiyor
  • Dosya sisteminin fiziksel aygıt boyutunu belirleme hatası
  • Harici günlükte (desteklenmeyen) birden çok dosya sistemi var
  • Harici günlük bulunamıyor
  • Harici dergide kötü süper blok var
  • Superblock kötü bir UUID günlüğüne sahip
  • İnode bitmap'i ayırma hatası
  • Blok bitmap'i ayırma hatası
  • İcount bağlantı bilgileri ayrılırken hata oluştu
  • Dizin bloğu dizisi ayrılırken hata oluştu
  • Düğümler taranırken hata oluştu
  • Bloklar üzerinden yineleme yapılırken hata oluştu
  • İnode sayısı bilgileri kaydedilirken hata
  • Dizin engelleme bilgileri saklanırken hata oluştu
  • İnode okunurken hata (temizlemek için)
  • Yeniden sayım yapısını ayırma hatası
  • Yeniden sayım düzeltilirken Genişletilmiş Özellik bloğu okunurken hata oluştu
  • Yeniden sayım düzeltilirken Genişletilmiş Özellik bloğu yazılırken hata oluştu
  • EA bölgesi tahsis yapısı tahsis edilirken hata oluştu
  • Düğümler taranırken hata oluştu
  • İnode bitmap'i ayırma hatası
  • Dahili hata: dir_info bulunamadı
  • Icount yapısı ayrılırken hata oluştu
  • Dizin blokları üzerinde yineleme hatası
  • İnode ayrılırken hata oluştu
  • EA sayımı ayarlanırken hata oluştu
  • İnode bitmap'i ayırma hatası
  • Kök dizin oluşturulurken hata meydana geldi
  • Kök inode dizin değildir; durduruluyor
  • Kök inode olmadan devam edilemez.
  • Dahili hata: dir_info bulunamadı
  • Programlama hatası: bitmap uç noktaları eşleşmiyor
  • Dahili hata: bitmap'in yavaşlaması
  • Değiştirme inode bitmap'inde kopyalama hatası
  • Yedek blok bit eşleminde kopyalama hatası

Noah bunu biliyorsan, Tüm bu hataları (/ hangisi mümkün ise) oluşturmak / enjekte etmek mümkün mü? Bu hataların nedenini ve bu hataların olası çözümlerini araştırmaya çalışıyorum.
AnkurTank
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.