Saya suka menjalankan sistem tanpa pengawasan untuk penggunaan 'kios' setiap hari.
Namun, sistem dapat dimatikan kapan saja tanpa seseorang melakukan shutdown yang benar sebelumnya. Secara default, Ubuntu tidak diharapkan dimatikan karena kehilangan daya. Setelah reboot setelah kehilangan daya, fsck dapat dijalankan untuk memeriksa sistem file, dan fsck dapat memberitahu sistem untuk reboot setelah selesai. Jadi, bahkan jika tidak ada data konfigurasi yang rusak, mesin mungkin tidak bisa boot setelah kehilangan daya. Jadi saya menguji beberapa solusi:
ubah prioritas root mount fsck ke
0
(bidang terakhir padafstab
entri root) yang mencegah berjalanfsck
setelah setiap kehilangan daya. Namun, sistem dapat boot dengan root-mount read-only, yang tidak diharapkan oleh banyak layanan dan menghasilkan prompt login konsol sebagai gantinya login grafis.Ganti
errrors=remount-ro
oleherrors=continue
. Ini memberikan firasat buruk bahwa kehilangan data lebih lanjut dapat terjadi oleh sistem file yang tidak konsisten. Namun, denganfsck
diaktifkan kembali, itu harus meningkatkan kemungkinan boot sistem setelah kehilangan daya. Jadi saya turun 1).Konfigurasikan ulang grub2 untuk menggunakan batas waktu opsi default normal setelah boot gagal. Untuk itu, saya telah menambahkan
GRUB_RECORDFAIL_TIMEOUT=0
ke/etc/default/grub
.
Namun, sulit untuk mengetahui apakah peretasan ini membuat sistem kehilangan bukti daya. Ada ide? Ada lagi yang bisa dilakukan?
Jawaban:
Untuk aplikasi kios, masalah diselesaikan dengan menggunakan partisi root hanya baca. Selain itu, setiap perubahan yang dibuat atau disimpan pengguna dibatalkan pada saat reboot berikutnya.
Untuk menyediakan root yang dapat ditulisi untuk sebagian besar kebutuhan aplikasi, overlayfs dapat digunakan untuk overlay partisi readonly dengan tempfs ram yang dapat ditulis.
Ada skrip yang membantu membuat pengaturan seperti itu di bagian bawah https://help.ubuntu.com/community/aufsRootFileSystemOnUsbFlash . Script berisi instruksi untuk mengatur ini:
sudo chmod 0755 root-ro
sudo update-initramfs -u
Saya sarankan untuk menambahkan
GRUB_RECORDFAIL_TIMEOUT=0
ke/etc/default/grub
dan menjalankansudo update-grub
juga, jika menu boot mungkin muncul tanpa batas waktu.Setelah itu, reboot. Mesin kemudian mulai dalam mode hanya baca, yang dapat diperiksa oleh
mount
. Setiap perubahan yang diterapkan akan hilang pada reboot berikutnya. Untuk melakukan perubahan, instal perangkat lunak dan pembaruan, dll. Anda hanya perlu masuk ke menu GRUB, tekane
untuk mengubah baris perintah boot, dan menambahkandisable-root-ro=true
baris yang dimulai dengan kernel. Tekan F10 untuk melanjutkan booting. Anda kemudian dapat menggunakanmount
untuk mengkonfirmasi bahwa root telah dipasang dapat ditulis seperti biasa. Lakukan perubahan dan reboot, sistem hanya dapat dibaca lagi.sumber
Beberapa kali setelah reboot yang tidak bersih (mis. Kehilangan daya atau tombol reset ditekan atau bahkan panik kernel), sistem tidak mau boot meminta Anda untuk menekan "y" agar fsck memperbaiki partisi.
Jika Anda ingin menghindari ini, edit / etc / default / rcS dan ubah:
Untuk:
Ini akan memastikan perbaikan ini dijalankan secara otomatis tanpa disuruh Anda.
Kelemahannya adalah Anda dapat kehilangan data dan Anda mungkin ingin mengeluarkan hard drive dan mengkloningnya terlebih dahulu jika ada sesuatu yang penting yang tidak didukung.
Sebagai contoh jika hard drive controller Anda memiliki kesalahan dan fsck salah mengidentifikasi partisi sebagai rusak dan mencoba memperbaikinya, yang dapat menyebabkan kehilangan data yang dapat dihindari. Saya belum pernah mengalami ini sendiri dan telah berurusan dengan hampir seribu server selama 7 tahun terakhir - tetapi ini masih sesuatu yang perlu diingat.
sumber
Pada hari ini, untuk solusi read-only kios, Anda juga dapat menginstal paket
overlayroot
denganyang akan dengan mudah memberikan solusi lengkap seperti salah satu jawaban yang disetujui. Ini juga memungkinkan untuk perintah yang bermanfaat
yang akan masuk ke dalam shell yang memiliki basis disk read-only terpasang
/
. Maka dimungkinkan untuk membuat perubahan ke sistem yang dilindungi seperti dan misalnya digunakanapt-get
untuk menginstal paket ke disk yang sebelumnya hanya baca. Namun, setelah keluar dari shell, reboot sangat disarankan karena file yang ditimpa sementara pada RAM dapat mengaburkan yang baru diinstal.sumber