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
fsck
kancası 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 kidefaults
bağlama seçeneğirw
anlamı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ü)1
olarak 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.conf
dosyası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
1
olmalıdır, her şeyin geri kalanı ya2
ya da0
olmalı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