Linux'ta fsck Komutu Nasıl Kullanılır
Yayınlanan: 2022-01-29
Tüm önemli verilerimiz şu ya da bu türden bir dosya sisteminde bulunur ve dosya sistemi sorunlarının olması kaçınılmazdır. Linux'ta dosya sistemi hatalarını bulmak ve düzeltmek için fsck komutunu kullanabiliriz.
Dosya Sistemleri Yazılımdır
Dosya sistemleri, bir bilgisayarın en kritik bileşenlerinden biridir. Dosya sistemi olmadan bilgisayar, bu sürücü ister dönen bir mekanik plaka isterse katı hal sürücüsü olsun, sabit sürücüde herhangi bir veri depolayamaz. Aslında, işletim sisteminin sabit sürücüye kurulabilmesi için önce bir dosya sisteminin oluşturulması gerekir. İşletim sistemi dosyalarının saklanması için bir şeyler olması gerekir. Böylece kurulum işlemi sırasında bir dosya sistemi oluşturulur.
Dosya sistemleri yazılım tarafından oluşturulur, yazılım tarafından yazılır ve yazılım tarafından okunur. Bildiğiniz gibi, tüm karmaşık yazılımlarda hatalar vardır. Verilerimiz bizim için kritik öneme sahip, bu nedenle dosya sistemlerine ve bunları oluşturan ve kullanan yazılımlara çok güveniyoruz. Bir şeyler ters giderse, dosya sisteminin bölümlerine ve hatta tüm bölüme erişimi kaybedebiliriz.
Modern günlük kaydı dosya sistemleri, ani güç kaybından veya sistem çökmesinden kaynaklanabilecek sorunları ele almada daha iyidir. Güçlüler ama yenilmez değiller. Dahili tabloları karışırsa, her dosyanın sürücüde nerede bulunduğunu, boyutunu, adını ve üzerlerinde hangi dosya izinlerinin ayarlandığını kaybedebilirler.
fsck komutu, dosya sistemlerinizin sağlıklı olup olmadığını kontrol etmenizi sağlar. Herhangi bir sorun bulursa, genellikle sizin için de çözebilir.
Ön Kontrol Kontrollerini Yapın
fsck kullanmak sudo ayrıcalıkları gerektirir. Bir dosya sisteminde değişiklik yapabilen herhangi bir komut, dikkatli bir şekilde ele alınmalı ve ne yaptığını bilenlerle sınırlandırılmalıdır.
Pilotlar bir uçağa atlayıp onu çalıştırmaz ve uçup uçup şuradaki uçuk maviye uçmazlar. Ön kontrol kontrolleri yapıyorlar. Aksi takdirde yapılacak çok fazla tehlike var. Bu geliştirmek için iyi bir alışkanlık. fsck kullanmadan önce, onu doğru sürücüde kullanacağınızdan emin olmanız gerekir. Bu yüzden fsck ile herhangi bir şey yapmadan önce biraz keşif yapacağız.
fdisk ile başlayacağız ve onu less içine aktaracağız. Belirli bir bölüm hakkında bilgi istemiyoruz. -l (liste) seçeneğini kullanarak fdisk , varsa “/proc/partitions” dosyasında bulduğu tüm aygıtlardaki bölüm tablolarını listeler.
sudo fdisk -l | az

/dev/sda ve /dev/sdb için girdileri görebiliriz. Bilgisayarınızda bulunabilecek diğer girdileri görmek için dosyayı kaydırabilirsiniz.

/dev/sda üzerindeki bölümler /dev/sda1 , /dev/sda2 ve /dev/sda3 olarak listelenir. Yani ilk sürücüde üç bölümümüz var. parted komutunu kullanarak biraz daha fazla bilgi görebiliriz. Bölme tablolarını terminal penceresinde görüntülemek için 'print' seçeneğini kullanacağız.
sudo ayrıldı /dev/sda 'baskı'

Bu sefer, her bölümdeki dosya sistemi türü de dahil olmak üzere bazı ek bilgiler alıyoruz.

Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 34,4 GB Sektör boyutu (mantıksal/fiziksel): 512B/512B Bölme Tablosu: gpt Disk Bayrakları: Sayı Başlangıç Bitiş Boyut Dosya sistemi Ad Bayraklar 1 1049kB 2097kB 1049kB bios_grub 2 2097kB 540MB 538MB fat32 EFI Sistem Bölümü önyüklemesi, esp 3 540MB 34,4GB 33,8GB dahili4
Bu test bilgisayarında üç sürücü vardır. Bunlar, diğer iki sürücü /dev/sdb ve /dev/sdc için sonuçlardır. Bu dosya sistemlerinin “Ad” alanı olmadığını unutmayın.
sudo ayrıldı /dev/sdb 'baskı'
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 21,5 GB Sektör boyutu (mantıksal/fiziksel): 512B/512B Bölme Tablosu: msdos Disk Bayrakları: Sayı Başlangıç Bitiş Boyut Tip Dosya sistemi Bayraklar 1 1049kB 21,5 GB 21,5 GB birincil dahili 4
sudo ayrıldı /dev/sdc 'yazdır'
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 21,5 GB Sektör boyutu (mantıksal/fiziksel): 512B/512B Bölme Tablosu: msdos Disk Bayrakları: Sayı Başlangıç Bitiş Boyut Tip Dosya sistemi Bayraklar 1 1049kB 21,5 GB 21,5 GB birincil dahili 3
İkinci ve üçüncü sürücüler aynı boyutta olur ve her birinin tek bir bölümü vardır. Ancak ikinci sürücüdeki dosya sistemi ext4 ve üçüncü sürücüdeki dosya sistemi daha eski ext3 .
Bir bölüm tanımlayıcısını fsck ve o bölümdeki dosya sistemini kontrol ediyor. Ancak fsck bağlı bir dosya sisteminde çalıştıramayız. Sürücünün bağlantısını kesmemiz gerekiyor. Bunu yapmak için, bölümün ve dolayısıyla dosya sisteminin monte edildiği bağlama noktasını bilmemiz gerekir.
Bunu df komutunu kullanarak kolayca bulabiliriz.
df /dev/sdb1
df /dev/sdc1

fsck Komutunu Kullanma
İhtiyacımız olan tüm bilgilere sahibiz. Yapacağımız ilk şey, kontrol edeceğimiz dosya sisteminin bağlantısını kesmek. Dosya sistemi üzerinde /dev/sdb /dev/sdb1 olan ilk ve tek bölümü üzerinde çalışacağız. Bunun bir ext4 dosya sistemi olduğunu ve “/run/mount/dave/sata2” dizinine monte edildiğini daha önce görmüştük.
umount komutunu kullanacağız. "Umount" da "n" olmadığını unutmayın.
sudo umount /run/mount/dave/sata2

umount ile hiçbir haber iyi haber değildir. Sessizce komut istemine dönerseniz, gitmeye hazırız.
sudo fsck /dev/sdb1

Bu dosya sisteminin temiz olduğu bildiriliyor. Bu, dosya sisteminin hata veya sorun olmadığını bildirdiği anlamına gelir. Daha derin bir dosya sistemi denetimi otomatik olarak yapılmaz. Ayrıca fsck kabuğa döndürdüğü dönüş koduna da bakabiliriz.
yankı $?

Sıfırın dönüş değeri hata olmadığını gösterir. Olası dönüş kodları şunlardır:
- 0 : Hata yok
- 1 : Dosya sistemi hataları düzeltildi
- 2 : Sistem yeniden başlatılmalıdır
- 4 : Dosya sistemi hataları düzeltilmeden bırakıldı
- 8 : Operasyonel hata
- 16 : Kullanım veya sözdizimi hatası
- 32 : Kontrol, kullanıcı isteğiyle iptal edildi
- 128 : Paylaşılan kitaplık hatası
Dosya sisteminin temiz olarak bildirilmesine rağmen, -f (zorla) seçeneğini kullanarak bir dosya sistemi kontrolünün gerçekleşmesini zorlayabiliriz.
sudo fsck /dev/sdb1 -f


Bu sefer, kontrolün tamamlanması daha uzun sürer, ancak dosya sisteminin daha kapsamlı bir testini gerçekleştirir. Dosya sistemimiz gerçekten temizdi ve hiçbir hata bildirilmedi. Testler yürütülürken sorunlar bulunursa, fsck sorunu çözmesine veya hatayı yok saymasına izin vermeniz istenir.
Testi tamamladığınızda, dosya sistemini yeniden bağlamanız gerekir. Bunu yapmanın en kolay yolu -a (tümü) seçeneğiyle mount kullanmaktır. Bu, dosya sistemleri listesi için “/etc/fstab”ı kontrol eder ve hepsinin normal bir önyüklemeyi takip ediyormuş gibi monte edildiğinden emin olur.
sudo mount -a

Bir bölümde ne tür bir dosya sisteminin olduğunu fsck söylememiz gerekmediğine dikkat edin; yardımcı program, dosya sistemini inceleyerek bunu belirler. Bu, bir ext4 bölümü olan /dev/sdb1 üzerinde kullandığımız komutun tamamen aynısını kullanarak, test bilgisayarımızdaki ext3 dosya sistemi olan /dev/sdc1 üzerinde bir dosya sistemi kontrolünü zorlayabileceğimiz anlamına gelir.
sudo fsck /dev/sdc1 -f

Dosya sistemini düzeltmeye doğrudan dalmak istemeyebilirsiniz. Atlamadan önce bakmayı tercih edebilirsiniz. fsck hiçbir şeyi düzeltmemesini ve sorunları terminal penceresine bildirmesini isteyebilirsiniz. -N (kuru çalışma) seçeneği tam da bunu yapar:
sudo fsck -N /dev/sdb1

Bunun tersi, fsck herhangi bir hata bulup bulmadığını sormaya zahmet etmemesini ve devam edip onları düzeltmesini söylemektir. Bunu yapmak için -y (istem yok) seçeneğini kullanın.
sudo fsck -y /dev/sdb1
Kök Bölümünde fsck Kullanımı
Takılı bir bölümde fsck kullanamazsınız, ancak bilgisayarınızı başlatmak için kök bölümün takılması gerekir. Peki kök bölümde fsck nasıl çalıştırabiliriz? Cevap, önyükleme işlemini kesmek ve fsck kurtarma modunda çalıştırmaktır.
Bilgisayarınız açılırken bir "Shift" tuşunu basılı tutun. Zamanlamayı doğru yaptıysanız, Linux'ta önyükleme yapmazsınız. Önyükleme işlemi siyah beyaz bir menüde duracaktır. Bu makale için kullanılan test makinesi Ubuntu'yu çalıştırıyordu, ancak diğer dağıtımlar, görünümleri değişse de aynı tür menüye sahiptir. Ekran görüntülerinde “Ubuntu” yazan yerde, dağıtımınızın adı olacaktır.

“Ubuntu için Gelişmiş seçenekler” menü öğesinin seçilmesi için vurgu çubuğunu “Yukarı Ok” ve “Aşağı Ok” tuşlarıyla hareket ettirin. Bir sonraki ekrana geçmek için “Enter” tuşuna basın.

“(kurtarma modu)” ile biten seçeneği seçin. Örneğimizde, “Ubuntu, Linux 5.11.0-20-generic (kurtarma modu)” şeklindedir. "Enter" tuşuna basın.
Kurtarma menüsünü göreceksiniz. “fsck tüm dosya sistemlerini kontrol et” seçeneğini seçin ve vurguyu “Tamam” düğmesine taşımak için “Sekme” tuşuna basın. Enter'a bas."

Kök bölümün, “/etc/fstab” dosyanızda tanımlanan diğer bölümlerle birlikte monte edileceğine dair bir bildirim göreceksiniz.

Vurguyu "Evet" düğmesine taşımak için "Sekme" tuşuna basın ve "Giriş" düğmesine basın.
fsck etkileşimli modda çalıştığını göreceksiniz. Sorunlar varsa, fsck bunları düzeltmesine izin vermeniz veya yok saymanız istenir. Dosya sistemleri kontrol edildiğinde kurtarma menüsünü tekrar göreceksiniz.
“Devam” seçeneğini seçin, vurguyu “Tamam” düğmesine taşımak için “Sekme” tuşuna basın ve “Giriş” tuşuna basın. Önyükleme işlemi devam edecek ve Linux'ta ön yükleme yapacaksınız.
Kurtarma modu önyüklemesi bazı sürücüleri etkileyebilir, bu nedenle Linux'ta önyükleme yapar yapmaz bir kez daha yeniden başlatmak iyi bir uygulamadır. Bu, bilgisayarınızın standart biçimde çalışmasını sağlar.
İşler Ters Gittiğinde
Güvenlik ağlarının bir nedeni vardır. fsck komutunu öğrenin. Bir gün öfkeyle kullanma ihtiyacı doğarsa, şimdiden alıştığınıza memnun olacaksınız.
| Linux Komutları | ||
| Dosyalar | tar · pv · kedi · tac · chmod · grep · diff · sed · ar · adam · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · birleştirme · jq · katlama · uniq · dergictl · kuyruk · stat · ls · fstab · yankı · daha az · chgrp · chown · rev · bak · diziler · tür · yeniden adlandır · zip · unzip · mount · umount · yükle · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · yama · dönüştürmek · rclone · parçalamak · srm | |
| süreçler | takma ad · ekran · üst · güzel · renice · ilerleme · strace · systemd · tmux · chsh · geçmiş · at · toplu · ücretsiz · hangi · dmesg · chfn · usermod · ps · chroot · xargs · tty · pembemsi · lsof · vmstat · zaman aşımı · duvar · evet · öldür · uyku · sudo · su · zaman · groupadd · usermod · gruplar · lshw · kapatma · yeniden başlatma · durdurma · güç kapatma · passwd · lscpu · crontab · tarih · bg · fg | |
| ağ | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · kazmak · parmak · nmap · ftp · curl · wget · kim · whoami · w · iptables · ssh-keygen · ufw |
İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar



