fsck (Türkçe)
fsck, (file system check) "dosya sistemi kontrolü" anlamına gelir ve bir veya daha fazla Linux dosya sistemini kontrol etmek ve isteğe bağlı olarak onarmak için kullanılır. Normalde, fsck programı, toplamda gerekli olan süreyi azaltmak için farklı fiziksel disk sürücülerindeki dosya sistemleriyle paralel olarak başa çıkmaya çalışacaktır (bkz. fsck(8)).
Arch Linux önyükleme işlemi, fsck prosedürünü sizin için kolaylıkla halleder ve her önyüklemede sürücü(ler)inizdeki tüm ilgili bölümleri otomatik olarak kontrol eder. Dolayısıyla, genellikle komut satırına başvurmanıza gerek yoktur.
Önyükleme zamanı kontrolü
Dosya sistemi kontrolü iki şekilde yapılabilir:
- mkinitcpio, kök dosya sistemini
fsckkancası aracılığıyla bağlamadan önce fsck seçeneği sunar. Bunu yaparsanız, uygunrwçekirdek parametresi aracılığıyla kökü yazma izinli olarak bağlamalısınız.[1] - systemd, fsck geçiş numarası 0'dan büyük olan tüm dosya sistemlerini fsck yapacaktır (ya #fstab seçenekleri ile ya da kullanıcı tarafından sağlanan birim dosyası ile). Kök dosya sistemi için, başlangıçta
roçekirdek parametresiyle sadece okunur olarak bağlanmalıdır ve ardından yalnızca fstab dosyasından yeniden yazma izinli olarak bağlanır (unutmayın kidefaultsbağlama seçeneğirwanlamına gelir).
İlk seçenek önerilen varsayılan seçenektir ve Kurulum Kılavuzu'nu takip ederseniz sonuç olarak bu seçeneğe ulaşırsınız. Eğer bunun yerine ikinci seçeneği tercih ederseniz, mkinitcpio.conf dosyasından fsck kancasını kaldırmalı ve çekirdek komut satırında ro kullanmalısınız. fsck'yi tamamen devre dışı bırakmak için çekirdek parametresi fsck.mode=skip kullanılabilir.
Kontrole zorlamak
base mkinitcpio kancasını kullanırsanız, çekirdek parametresi olarak fsck.mode=force geçerek önyükleme zamanında fsckyi zorlayabilirsiniz. Bu, makinenizde bulunan tüm dosya sistemlerini kontrol edecektir.
Alternatif olarak, systemd systemd-fsck@.service(8) sağlar, bu da initramfs içinde kontrol edilmemiş tüm yapılandırılmış dosya sistemlerini kontrol eder. Ancak, bu şekilde kök dosya sistemi kontrol edilirse, dosya sisteminin yeniden bağlanması nedeniyle önyükleme sürecinde bir gecikmeye neden olur.
forcefsck adında bir dosya yazmak veya shutdown komutunu -F bayrağı ile kullanmak sadece eski SysVinit ve erken Upstart sürümleri için çalışıyor, systemd ile çalışmıyor. Yukarıda bahsedilen çözüm dolayısıyla Arch Linux için tek çalışan çözümdür.Tüm onarım sorularına otomatik olarak evet cevabı verme
Önyükleme zamanı fsck kontrolleri,
"UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY." (BEKLENMEYEN TUTARSIZLIK; fsck'Yİ MANUEL OLARAK ÇALIŞTIRIN.) diyebilir.
Bu durum, dosya sistemini düzeltmek için bazı değişikliklerin uygulanması gerektiğinde ortaya çıkar ve bu değişiklikler tamamen güvenli olarak kabul edilmediği için fsck'nin manuel olarak çalıştırılmasını gerektirir.
fsck, tüm önerilen değişiklikleri otomatik olarak uygulamak için (yani tüm sorulara evet cevabı vermek için) fsck.repair çekirdek komut satırı seçeneğini yes olarak ayarlayarak ayarlanabilir. (Diğer olası değerler no ve preen'dir.) Bu seçeneklerin anlamı için belgelere systemd-fsck@.service(8) bakın.
Tavsiye ve taktikler
Hasarlı blokları onarmaya çalışma
Bir ext2/ext3/ext4 veya FAT dosya sisteminin hasarlı kısımlarını otomatik olarak onarmak için şunu çalıştırın:
# fsck -a
Hasarlı blokları etkileşimli olarak onarma
Bu, önyükleme bölümündeki dosyalar değiştiğinde ve günlük güncellemesi düzgün yapılamadığında kullanışlıdır. Bu durumda, önyükleme bölümünü bağlayın ve hasarlı kısımları onarmak için aşağıdaki kodu çalıştırın:
# fsck -r sürücü
Kontrol sıklığını değiştirme
Varsayılan olarak, fsck her 30 önyüklemede bir dosya sistemi kontrol eder (her bölüm için ayrı ayrı sayılır). Kontrol sıklığını değiştirmek için şunu çalıştırın:
# tune2fs -c 20 /dev/sda1
Bu örnekte, 20 iki kontrol arasında önyükleme sayısıdır.
1 bunu her önyüklemede tarama yapar, 0 taramayı tamamen durdurur.
Belirli bir bölüm için sıklık numarasını ve mevcut bağlama sayısını görmek isterseniz, şunu kullanın:
# dumpe2fs -h /dev/sda1 | grep -i 'mount count'
fstab seçenekleri
fstab, bir sistem yapılandırma dosyasıdır ve Linux çekirdeğine hangi bölümlerin (dosya sistemlerinin) nereye bağlanacağını ve dosya sistemi ağacındaki konumunu söylemek için kullanılır.
Tipik bir /etc/fstab girişi şöyle görünebilir:
/dev/sda1 / ext4 defaults 0 1 /dev/sda2 /other ext4 defaults 0 2 /dev/sda3 /win ntfs-3g defaults 0 0
Altıncı sütun (kalın) fsck seçeneğidir.
-
0— kontrol etme. -
1— kontrol edilecek ilk dosya sistemi (bölüm);/(kök bölümü)1olarak ayarlanmalıdır. -
2— kontrol edilecek diğer tüm dosya sistemleri.
Sorun Giderme
Ayrı /usr bölümünde fsck çalıştırılamıyor
-
/etc/mkinitcpio.confdosyasında gereken kancaların olduğundan ve bu dosyayı düzenledikten sonra initramfs görüntünüzü yeniden oluşturduğunuzdan emin olun. -
fstab dosyanızı kontrol edin! Sadece kök bölümünün sonunda
1olmalıdır, her şeyin geri kalanı ya2ya da0olmalıdır. Diğer yazım hataları için dikkatlice inceleyin.
ext2fs: dış günlük yok
Bir ext(3/4) dosya sistemi, normal onarımın ötesinde hasar görebilecek durumlar olabilir (güç kesintisi nedeniyle). Genellikle, fsck'nin dış günlük bulamadığını belirten bir uyarı olacaktır. Bu durumda, aşağıdaki komutları çalıştırın:
Klasörüne göre bölümü bağlamayı kaldırın
# umount klasör
Bölüme yeni bir günlük yazın
# tune2fs -j /dev/bölüm
Bölümü onarmak için bir fsck çalıştırın
# fsck -p /dev/bölüm