Saya bekerja dengan sistem di mana kami ingin memungkinkan pengguna untuk bermain-main dengan tanggal dan waktu jika mereka mau, dan di mana reboot dapat terjadi secara sewenang-wenang. Ini baik-baik saja, kecuali untuk satu hal: jika ada banyak waktu melompat mundur, kesalahan berikut muncul saat reboot:
Checking filesystems
IMAGE2: Superblock last mount time (Tue Mar 1 17:32:48 2011,
now = Thu Feb 24 17:34:29 2011) is in the future.
IMAGE2: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
... dan kemudian boot hang menunggu input konsol pengguna, dan bahkan setelah akses konsol diperoleh, memerlukan kata sandi root untuk melanjutkan.
Ini jelas kurang ideal. Apakah ada cara untuk melewati pemeriksaan atau memaksa pemeriksaan terjadi secara otomatis saat reboot?
Google hanya menyediakan bantuan yang mengharuskan menjalankan fsck secara manual jika / saat ini terkena, yang bukan yang saya cari. Menjalankan fsck secara manual setelah mengatur waktu tidak berfungsi karena sistem file masih terpasang pada saat itu, dan hanya menonaktifkan fsck sepenuhnya kurang dari ideal.
Saya menggunakan RedHat 6.
Pembaruan : Solusi yang saat ini saya gunakan adalah meretas fstab untuk menonaktifkan pemeriksaan fsck saat reboot. Saya telah mencoba mengedit waktu pemasangan terakhir pada disk yang digunakan debugfs
, yang berfungsi dengan baik untuk drive ext3, tetapi tampaknya gagal secara tidak konsisten pada ext4.
Saya ragu ada cara untuk menghapus pemeriksaan ini secara khusus, singkat dengan memodifikasi kode sumber. Mengabaikan semua kesalahan dari fsck kedengarannya berbahaya, bagaimana jika ada masalah lain?
Oleh karena itu saya akan menyarankan solusi berikut: ubah skrip boot untuk mengatur tanggal sistem ke beberapa waktu di masa depan (katakanlah 2038-01-18 pada mesin 32-bit) sesaat sebelum menjalankan fsck, dan membacanya kembali dari perangkat keras jam setelahnya (
hwclock --hctosys
, dengan lebih banyak opsi yang diperlukan tergantung pada perangkat keras Anda dan penggunaan GMT di jam perangkat keras.)sumber
Ini terdengar seperti itu harus dijalankan di mesin virtual, di mana Anda dapat memiliki lebih banyak kontrol (atau kembali ke snapshot).
sumber
Berikut adalah solusi yang bekerja sangat baik untuk saya:
Buat /etc/e2fsck.conf:
Lebih lanjut tentang perbaikan ini di sini:
http://stillstup.blogspot.com/2010/02/superblock-last-mount-time-is-in-future.html
sumber