Pertanyaan Apakah reboot sama dengan init 6?


Apakah reboot sama dengan init 6 untuk ubuntu?

Saya menjalankan Ubuntu 12.04 di Amazon EC2. Ketika ssh'ed ke dalam kotak saya bisa mengetik runlevel dan saya mendapatkan:

N 2

Melihat ke man reboot Saya melihat bahwa:

Ketika dipanggil dengan --force atau ketika di runlevel 0 atau 6, alat ini memanggil reboot (2) system call itu sendiri dan langsung me-reboot sistem. Kalau tidak, ini hanya memanggil alat shutdown (8) dengan argumen yang tepat.

Jika saya membaca man shutdown 8 Saya melihat:

shutdown mengatur agar sistem diturunkan dengan cara yang aman. Semua pengguna yang masuk akan diberitahu bahwa sistem sedang menurun dan, dalam lima menit terakhir dari TIME, login baru dicegah.

Pemahaman dasar saya tentang perbedaan antara reboot dan init 6 aku s:

  • Pada distro lain dan mungkin distro yang lebih tua reboot hanya akan meng-unmount disk dan pada dasarnya menekan saklar daya tanpa menjalankan skrip shutdown
  • init 6 akan menjalankan semua skrip shutdown di /etc/init/rc.* karena mengurangi runlevel sistem
  • Pada versi Ubuntu yang lebih baru reboot perintah tanpa --force atau -f akan menjalankan perintah shutdown yang pada dasarnya akan melakukan hal yang sama init 6
  • Mungkin lebih baik untuk terbiasa menggunakan init 6 dari pada reboot karena lebih aman dan akan bekerja lebih baik cross-distro, tetapi perilaku default reboot telah diubah untuk mencoba dan mencegah kesalahan / dataloss jika seseorang menggunakannya.

Apakah itu benar? Jika tidak, apa yang hilang?


19
2017-08-13 20:59


asal




Jawaban:


Tidak ada alasan kuat untuk menggunakannya init 6 dari pada reboot, kecuali kalau:

  • Untuk beberapa alasan Anda kehilangan reboot dapat dieksekusi, atau
  • Anda dengan sengaja berusaha menghindari memberi tahu pengguna bahwa sistem sedang macet.

reboot (selama Anda tidak lari reboot --force) sebenarnya adalah cara "lebih lembut" untuk menutup.

Mempertimbangkan:

init 6 akan menjalankan semua skrip shutdown di /etc/init/rc.* karena mengurangi runlevel sistem

Tapi itu reboot perintah, disebut tanpa itu --force bendera, hanya langsung reboot sistem (via itu reboot panggilan sistem) ketika salah satu dari dua situasi ini berlaku:

  • Sistemnya masuk runlevel 0 (mode single user), jadi tidak ada pengurangan runlevel itu bisa terjadi, jadi tidak ada skrip shutdown yang dijalankan secara otomatis.
  • Sistem berada di runlevel 6. Apa init 6 apakah itu untuk menempatkan sistem di runlevel 6. Sekali lagi, tidak ada yang berjalan init 6 akan melakukan itu menjalankan reboot perintah tidak akan dilakukan.

Jika tidak, sudo reboot setara dengan sudo shutdown -r now. Ini melakukan semua hal baik sudo init 6 tidak, tetapi juga:

  • memberi tahu pengguna bahwa sistem sedang down.
  • mencegah masuk baru (meskipun mereka mungkin tidak akan berhasil).
  • lebih intuitif dan mendokumentasikan diri daripada sudo init 6.

Jika Anda menggunakan sistem hanya dengan Anda masuk, dan hanya login lokal, tidak ada yang salah dengan menggunakan init 6 untuk reboot. Jika itu adalah cara Anda memilih untuk reboot, maka dengan segala cara, silakan - Anda tidak merusak apa pun dengan melakukannya. Tetapi tidak ada yang secara objektif lebih baik daripada melakukannya dengan cara ini.

initDokumentasi sendiri mengatakan itu bukan cara normal untuk mematikan atau reboot sistem. Pertimbangkan itu kapan init dijalankan oleh pengguna (seperti saat Anda menjalankan sudo init 6), sebenarnya berjalan telinit (Lihat man init). telinit adalah apa yang sebenarnya mengubah runlevels. Dan man telinit memberitahu kita:

Biasanya Anda akan menggunakan matikan(8) alat untuk berhenti atau reboot   sistem, atau membawanya ke mode single-user.


20
2017-08-13 21:20



Saya memiliki Alienware X51 dell pc, di mana saya telah menginstal Ubuntu 13.04 dan kernel 3.11. Ketika saya melakukan $ init 6, reboot dan terkadang BIOS tetap tampil selamanya. APAKAH saya menggunakan perintah init 6 dan bukan reboot? - YumYumYum
@YumYumYum Saya tidak mengerti mengapa menggunakan init 6 akan menyebabkan ini. Ketika Anda menggunakan reboot dari pada init 6, apakah selalu melewati BIOS? - Eliah Kagan
Saya telah memperbarui firmware BIOS dari A00 ke A02, sejak saat itu reboot saya atau init 6 keduanya berfungsi jadi sepertinya masalah BIOS. Terima kasih. - YumYumYum
Lari reboot kadang-kadang terhenti pada Server Ubuntu saya 14,02 pengguna tunggal dan hanya login lokal. Apakah aman saya selalu lakukan sync diikuti oleh reboot -f? - user3549648