fsck (Türkçe)

From ArchWiki

Çeviri Durumu: Bu makale, fsck makalesinin çevirisidir. Son çeviri tarihi (yıl-ay-gün şeklinde): 2024-04-26. Eğer makalenin İngilizce sürümünde değişiklik yapılmış ise çevirinin senkronize edilmesine yardımcı olabilirsiniz. Çevirmenliğe dair bilgi edinmek için Telegram grubumuzu ziyaret edebilirsiniz. Çevrilmiş tüm makelelere buradan erişebilirsiniz.

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:

  1. mkinitcpio, kök dosya sistemini fsck kancası aracılığıyla bağlamadan önce fsck seçeneği sunar. Bunu yaparsanız, uygun rw çekirdek parametresi aracılığıyla kökü yazma izinli olarak bağlamalısınız.[1]
  2. 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 ki defaults bağlama seçeneği rw 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.

Not: Diğer GNU/Linux dağıtımlarını kullananlar için alışılmış olan eski yöntemler, her dosya sisteminin köküne 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:

Uyarı: Bunu onarmak isteyip istemediğinizi sormayacak çünkü bunu çalıştırdığınızda cevap Evet olacaktır.
# 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

Not: Aşağıdaki komutlar tune2fs ve dumpe2fs, yalnızca ext2/ext3/ext4 dosya sistemleriyle çalışır.

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

  1. /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.
  2. fstab dosyanızı kontrol edin! Sadece kök bölümünün sonunda 1 olmalıdır, her şeyin geri kalanı ya 2 ya da 0 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