GNU/Linux >> Belajar Linux >  >> Linux

Periksa dan Perbaiki Kesalahan Sistem File Dengan Perintah fsck di Linux

Terkadang hal buruk terjadi pada sistem yang baik.

Untungnya, Anda adalah pengguna Linux dan Anda memiliki fsck (pemeriksaan sistem file) untuk membantu sistem file yang berpotensi rusak. Utilitas ini digunakan untuk memeriksa dan (opsional) memperbaiki sistem file.

Ada beberapa skenario di mana Anda mungkin ingin menggunakan fsck. Biasanya, Anda ingin menjalankan perintah ini jika sistem Anda tidak bisa boot, perangkat (drive eksternal atau media penyimpanan) tidak berfungsi dengan baik, atau jika Anda telah melihat bukti kerusakan file.

Fsck sebenarnya adalah "front-end" untuk sejumlah pemeriksa khusus sistem file seperti fsck.vfat, fsck.ext2, dll. Ini tidak perlu ditentukan, tetapi Anda mungkin dapat menemukan opsi lebih lanjut di man halaman perintah yang lebih tepat ini.

Pengantar perintah fsck

Perintah fsck mengikuti pola yang mirip dengan kebanyakan perintah Linux.

fsck [options] [filesystem]

Jika Anda tidak menentukan sistem file, sistem akan menganalisis file fstab Anda (/etc/fstab ) untuk dipindai oleh perangkat.

Anda perlu menjalankan perintah sebagai pengguna root atau menggunakannya dengan sudo.

Anda dapat menggunakan perintah fdisk atau df untuk membuat daftar hard drive di Linux. Dengan cara ini, Anda dapat menentukan perangkat mana yang akan diperiksa dengan perintah fsck.

Disk /dev/nvme0n1: 238.49 GiB, 256060514304 bytes, 500118192 sectors
Disk model: THNSN5256GPUK NVMe TOSHIBA 256GB        
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 014A45DC-22A2-4FC0-BEEA-25A6F2406380

Device            Start       End   Sectors   Size Type
/dev/nvme0n1p1     2048   1050623   1048576   512M EFI System
/dev/nvme0n1p2  1050624  98563270  97512647  46.5G Linux filesystem
/dev/nvme0n1p3 98564096 500117503 401553408 191.5G Linux filesystem

Lepaskan perangkat sebelum menjalankan fsck

Jangan jalankan fsck pada perangkat yang terpasang, Anda harus meng-unmount target terlebih dahulu untuk menghindari kerusakan pada file Anda.

Jika Anda mencoba menjalankan fsck pada perangkat yang terpasang, Anda akan melihat kesalahan seperti ini:

[email protected]:~$ sudo fsck /dev/sda3
fsck from util-linux 2.34
e2fsck 1.45.5 (07-Jan-2020)
/dev/sda3 is mounted.
e2fsck: Cannot continue, aborting.

Menjalankan fsck pada drive yang normal dan sehat terlihat seperti ini:

[email protected]:~$ sudo fsck /dev/sda2
fsck from util-linux 2.34
fsck.fat 4.1 (2017-01-24)
/dev/sda2: 5 files, 1967/1972 clusters

Sementara fsck menerima nama perangkat seperti /dev/sda , Anda dapat memilih untuk memasukkan UUID untuk menghindari kebingungan dengan pemasangan dan pelepasan perangkat. UUID adalah nilai tetap yang ditetapkan untuk perangkat Anda dan tidak akan terpengaruh oleh perubahan sistem ini.

Memahami kode keluar untuk perintah fsck

Ini adalah daftar kode yang mungkin dikembalikan dari fsck setelah memeriksa disk. Kode keluar Anda akan menjadi jumlah dari kode-kode ini jika Anda menganalisis satu disk. Jika Anda menggunakan fsck di beberapa perangkat, ini akan mengembalikan bit-bijaksana ATAU dari dua jumlah.

  • 0 - Tidak ada kesalahan
  • 1 - Kesalahan sistem file diperbaiki
  • 2 - Sistem harus di-boot ulang
  • 4 - Kesalahan sistem file tidak diperbaiki
  • 8 - Kesalahan operasional
  • 16 - Kesalahan penggunaan atau sintaks
  • 32 - Fsck dibatalkan oleh permintaan pengguna
  • 128 - Kesalahan perpustakaan bersama

Anda dapat memeriksa kode keluar dari perintah yang dijalankan terakhir menggunakan echo $? perintah.

Penggunaan praktis dari perintah fsck

Sekarang setelah Anda sedikit familiar dengan perintah fsck, mari kita lihat kasus penggunaan praktis dari perintah ini.

Memperbaiki disk USB dan perangkat lepas-pasang lainnya

Untuk tujuan kami, mari kita asumsikan bahwa Anda telah mengidentifikasi perangkat bermasalah /dev/sdb .

Pertama, Anda perlu memastikan bahwa drive telah dilepas:

sudo umount /dev/sdb

Sekarang jalankan perintah fsck:

sudo fsck /dev/sdb

Periksa output untuk setiap kesalahan. Jika tidak ada yang ditampilkan, periksa kode keluar dengan echo $? .

Ada juga beberapa tanda opsi yang dapat kami tambahkan untuk memungkinkan beberapa koreksi otomatis. Perintah-perintah ini tidak standar, dan Anda harus memverifikasi jenis sistem file dan membandingkan dokumentasi dari halaman manual tertentu.

Meskipun demikian, secara umum Anda dapat menggunakan -p untuk memungkinkan fsck menerapkan perbaikan secara otomatis.

sudo fsck -p /dev/sdb

Demikian pula, -y akan menerapkan koreksi untuk setiap kerusakan sistem file yang terdeteksi.

Perbaiki sistem file root

Anda tidak dapat meng-unmount partisi root saat sistem aktif. Jika Anda menduga sistem file utama Anda rusak, Anda harus menggunakan pendekatan lain di sini.

Sebenarnya ada beberapa opsi berbeda yang dapat Anda gunakan. Anda dapat menjalankan fsck saat boot, dalam mode penyelamatan, atau menggunakan live cd bertema pemulihan.

Banyak distribusi Linux akan secara otomatis memaksa fsck saat start up setelah sejumlah upaya boot gagal. Jika Anda lebih suka mengambil tindakan sendiri, Anda dapat menjadwalkan sistem untuk melakukannya sendiri.

Sebagian besar versi Linux modern menampilkan alat yang disebut tune2fs.

sudo tune2fs -c 1 /dev/sda

Anggap perangkat root Anda adalah dev/sda , ini adalah perintah yang akan Anda masukkan.

Sekarang, yang sebenarnya terjadi adalah Anda mengubah pengaturan sistem sehingga fsck dijalankan setiap n jumlah sepatu bot (1 dalam contoh). Anda juga dapat mengatur ini ke interval waktu standar. Opsinya adalah d ya, dengan eeks, atau m seterusnya.

Katakanlah Anda ingin fsck dijalankan setiap kali Anda boot jika belum ada pemeriksaan dalam seminggu. Anda bisa menggunakan -i untuk menentukan interval dan perintahnya akan terlihat seperti ini.

sudo tune2fs -i 1w /dev/sda	

Jika Anda menggunakan systemd, Anda dapat memaksa menjalankan fsck pada boot berikutnya dengan memasukkan yang berikut:

fsck.mode=force
fsck.repair=yes

Kesimpulan

Anda selalu dapat membuka halaman manual untuk informasi lebih lanjut. Cukup gunakan man fsck di terminal.

Saya harap Anda mempelajari sesuatu yang baru tentang perintah fsck. Jika Anda memiliki komentar atau pertanyaan, silakan tinggalkan di bawah.


Linux
  1. Perintah JQ di Linux dengan Contoh

  2. Linux - Bagaimana Cara Memaksa Pemeriksaan Sistem File Root (dan Opsional A Fix) Saat Boot?

  3. Cara mengecek OS dan versi menggunakan perintah Linux

  1. Periksa proses Java di Linux dengan perintah jps

  2. Tonton perintah dan tugas dengan perintah jam tangan Linux

  3. Periksa status file di Linux dengan perintah stat

  1. Cara Menggunakan Perintah fsck untuk Memeriksa dan Memperbaiki Sistem File

  2. Periksa Ruang Disk di Linux Menggunakan Perintah df dan du

  3. 10 Contoh Perintah Fsck Linux untuk Memeriksa dan Memperbaiki Sistem File