Benim Ubuntu her açılışta fsck çalıştırıyor


19

Her önyüklemede aynı:

/dev/sda1: clean, 908443/38690816 files, 44176803/154733312 blocks

Ubuntu'nun dosya sistemi tutarlılığını sağlamak için kullandığı bir seçenek mi yoksa HDD'imde bir sorun mu var? fsckönyükleme sırasında 30 saniye kadar sürer ve bu nedenle aksi takdirde gereken süre üç katına çıkar.

Tam çıktı (kısmen Almanca):

Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
fsck von util-linux 2.20.1
/dev/sda1: sauber, 908443/38690816 Dateien, 44176803/154733312 Blöcke
udevd[623]: unknown key 'SYSFS{idVendor}' in /lib/udev/rules.d/45-libticables.rules:6

udevd[623]: invalid rule '/lib/udev/rules.d/45-libticables.rules:6'

 * Starting mDNS/DNS-SD daemon                                                 [ OK ]
 * Starting Reload cups, upon starting avahi-daemon to make sure remote queues are populated                                                                   [ OK ]
 * Starting configure network device security                                  [ OK ]
 * Starting bluetooth daemon                                                   [ OK ]
 ####* Starting all other stuff

Hangi Ubuntu sürümünü kullanıyorsunuz? Sisteminiz temiz bir şekilde kapanıyor mu?
ubfan1

Kükrüyor x64 = 13.04 64bit. Kapatma diyebildiğim kadar temiz çalışıyor (Kapatma günlük dosyası nerede?)
s3lph

1
Fsck diyor vermedi hacim temiz olduğunu, çalıştırın.
psusi

Ancak kontrol bileşeninin temiz olduğunu söylemek için çalışması gerekiyor, değil mi?
s3lph

Yanıtlar:


25

/ dev / sda1: temiz, 908443/38690816 Dosyalar, 44176803/154733312 Bloklar

Bu mesajı üreten çizgidir bu :

/* Print the summary message when we're skipping a full check */
log_out(ctx, _("%s: clean, %u/%u files, %llu/%llu blocks"),

"Tam kontrolü" atlar, ancak dergiye bazı hızlı testlerin temiz olduğundan ve yetim inode olmadığından emin olun:

cat /var/log/boot.log 
fsck from util-linux 2.20.1
fsck from util-linux 2.20.1
/dev/sda1: clean, 260598/771552 files, 1684682/3080192 blocks
/dev/sdb10: recovering journal
/dev/sdb10: Clearing orphaned inode 142568 (uid=1000, gid=1000, mode=0100664, size=32768)
/dev/sdb10: Clearing orphaned inode 138527 (uid=1000, gid=1000, mode=0100600, size=9580)
/dev/sdb10: clean, 54957/991232 files, 3498365/3958006 blocks

Bu normal ve beklenen bir durumdur. Gerçek bir kapsamlı kontrol olsaydı, çok daha fazla zaman alacaktı, ancak genellikle bir saniye veya daha az sürüyor. Systemd systemd-fsck(8)manuel sayfası, tam bir kontrolün tetiklendiği koşullara sahiptir:

systemd-fsck-root.service, kök dosya sistemindeki dosya sistemi denetimlerinden sorumludur, ancak yalnızca initramfs'de kök dosya sistemi işaretlenmemişse. systemd-fsck @ .service, diğer tüm dosya sistemleri ve initramfs içindeki kök dosya sistemi için kullanılır.

Dosya sistemi için passno in / etc / fstab sıfırdan büyük bir değere ayarlanırsa, bu hizmetler önyükleme sırasında başlatılır. Kök dosya sistemi denetimi diğer dosya sistemlerinden önce gerçekleştirilir. Diğer dosya sistemleri, aynı dönen diskte olmaları dışında paralel olarak kontrol edilebilir.

systemd-fsck belirli dosya sistemleri hakkında herhangi bir ayrıntı bilmez ve her dosya sistemi tipine (/sbin/fsck.*) özgü dosya sistemi denetleyicilerini çalıştırır. Bu yardımcı, dosya sisteminin gerçekte son kontrolden bu yana geçen zamana, montaj sayısına, kirli bağlantıyı kaldırma vb.

Testlerin çalıştırılacak hiçbir şeyin yanında olmadığını kontrol edebilirsiniz (systemd kullanıyorsanız):

sudo systemd-analyze blame | grep fsck
          1.608s systemd-fsck@dev-disk-by\x2duuid-408535fe\x2d28e6\x2d4d82\x2dbb59\x2d9810ead089a3.service
            87ms systemd-fsck@dev-mapper-vlhome\x2dlvhome.service

Bağlantınızdaki q öğesine verilen yanıt, davranışı değiştirerek kontrol edebileceğinizi belirtir /etc/fstab. Sadece bu "hızlı" testi ne zaman yapacağımı ayarlamak 0veya 1sistemime söyleyebilir miyim?
s3lph

@the_Seppi hayır, fstab'daki fsck'i devre dışı bırakamazsınız ama sipariş, bu diğer cevabım bunu açıklıyor, sadece sonuna kadar okudum.
Braiam

Son basamağı 0 olarak değiştirmenin mount
s3lph

@the_Seppi evet, haklısın 1ve 2kontrol edilecek siparişi belirle ama 0hiçbiri bunun gerekli olmadığını söylemiyor. Ama sonra her iki değeri de 0 var ve yine de çek olsun.
Braiam

2
Launchpad'de bildirilen bir hata var: uptart hatası # 1504688 . Yorum # 17'de olası bir çözüm içermektedir .
azurkin

1

Sadece udevd ile ilgili bir sonraki konsol mesajının 30 saniye sürmediğinden değil 30 saniye sürdüğünden emin misiniz? Başka bir deyişle, udevd bir konsol mesajı göstermeden önce libticables şey üzerinde çalışmak için zaman aşımı 30 saniye alıyor?

Kaldırmayı (veya geçici olarak başka bir yere taşımayı) deneyin

/lib/udev/rules.d/45-libticables.rules

ve bunun yardımcı olup olmadığına bakın.


Hayır kesinlikle fsck. Running /scripts/init-bottom ...doneHakkında 3s de yazdırılır, fsck-temiz 30s yaklaşık olarak.
s3lph

Ne tür bir dosya sistemi kullanıyorsunuz?
Joseph Santaniello

EXT4
s3lph

Duraklama "fsck von ..." yazmadan önce mi yoksa "/ dev / sda ..." dan önce mi?
Joseph Santaniello

/ Dev / sda1'i nereye monte ediyorsunuz? noauto,x-systemd.automountFstab seçeneklerine / home veya başka bir şeyse : eklemeyi deneyebilirsiniz . Böylece sistem şu şekilde erişilene
Joseph

0

Her çizme bu fsck kötü saat nedeniyle bana oldu. Görünüşe göre systemd-fsck @, systemd-timesyncd'den önce çalışır ve pil destekli bir RTC olmadan, fsck çalıştırıldığında sistem zamanı yanlıştır.

Systemd-timesynd'yi devre dışı bırakarak, journalctl'de bulunan pre-sync değerine saat ayarlayarak ve fsck'i çalıştırarak tam kontrolü (hızlı bir şekilde fsck çıkışına sahip olmak yerine) tetikleyen şey olduğunu doğruladım. Daha sonra e2fsck, son süper blok yazma süresinin gelecekte olduğunu algıladıktan sonra tam bir kontrol yapmaya devam eder:

fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Superblock last write time (Mon Jun 19 00:48:11 2017,
    now = Tue Jan 31 20:09:28 2017) is in the future.
Fix<y>? yes
Pass 1: Checking inodes, blocks, and sizes
...

Tam kontrol için bu tetikleyicinin, burada görülen dumpe2fs -hdiğer cevaplarda bahsedilen son kontrolden bu yana maksimum montaj sayısı ve zaman aralığının diğer tetikleyicileri ile ilgisi olmadığını unutmayın .

Saati ayarlamadan (yani timesyncd'nin senkronize etmesine izin vermeden), fsck'in tam bir kontrol yapmayacağını, ancak bir 'dosya sistemi temizleme' mesajı ile hızlı bir şekilde çıkacağını unutmayın.

Geçici bir çözüm olarak, 'pass' alanını 0 olarak ayarlayarak / etc / fstab içinde fsck'i devre dışı bıraktım. Sonunda, bu cihaz için pil destekli bir RTC satın alacağım.


-1

Aramalarım, Ubuntu'nun varsayılan maksimum bağlama sayısının -1 olarak ayarlandığı sonucuna varıyor. Bu, fsck'in montaj sayısına bakılmaksızın hiçbir zaman önyükleme üzerinde çalışmayacağı anlamına gelir. Sizinkini komutla kontrol edebilirsiniz -

sudo dumpe2fs -h /dev/sda8 | grep -i 'mount count'

Kullanarak gereksiniminizi artırabilirsiniz tune2fs. Tipik bir örnek şöyledir -

sudo tune2fs -c 30 -i 1w /dev/sda8

İsteğinize göre özelleştirin.


1
Hayır, bu, değerin çekirdek ve e2fsck tarafından göz ardı edileceği anlamına gelir: linux.die.net/man/8/tune2fs "Maks. Bağlama sayısı 0 veya -1 ise, dosya sisteminin bağlanma sayısı dikkate alınmaz e2fsck (8) ve çekirdek tarafından. "
HappyCactus

Benim kötüm, gönderiyi değiştirecek.
Vivek Ji
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.