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