Mengapa kita memerlukan fungsi reboot di binari yang berbeda?
shutdown -r
dan
reboot
Atau apakah mereka berbeda dalam sesuatu?
Mengapa kita memerlukan fungsi reboot di binari yang berbeda?
shutdown -r
dan
reboot
Atau apakah mereka berbeda dalam sesuatu?
Jawaban:
Kami tidak perlu keduanya, tetapi kami memiliki keduanya karena sejarah Unix, dan banyaknya versi.
Dari halaman manual masing-masing:
shutdown lebih bertujuan umum, dan lebih kuat, sedangkan reboot lebih ramah dan mudah diingat.
shutdown memungkinkan Anda untuk menentukan argumen temporal (untuk memulai kembali dalam 5 menit, misalnya) dan memungkinkan Anda untuk melakukan banyak hal selain reboot, termasuk:
Namun, jika Anda hanya ingin me-reboot sistem sekarang, lebih mudah untuk mengetik rebootdaripada shutdown -r now.
shutdownpenggunaan sekarang sebagai default. Jangan mencoba untuk mendapatkan bantuan untuk shutdown shutdown -h, terutama tidak pada server di suatu tempat di pusat data.
Kedua perintah melakukan sesuatu yang berbeda, namun mereka akhirnya dapat saling memanggil, itulah sebabnya mereka tampaknya melakukan hal yang sama!
rebootakan meminta kernel untuk memicu reboot perangkat keras. Namun, itu hanya akan melakukan ini jika sistem siap untuk dimatikan - semua daemon dan proses pengguna harus dihentikan, sistem file di-unmount, dll. Jadi ia memeriksa runlevel sistem, dan jika bukan 0 atau 6, maka ia akan benar-benar memanggil yang shutdownperintah untuk Anda.
shutdownmenyebabkan runlevel sistem diubah. Perubahan runlevel (ke 0 untuk berhenti atau 6 untuk reboot) menjalankan banyak skrip di /etc/rc0.d atau rc6.d yang mematikan daemon, unmount filesystems, dll. Akhirnya skrip ini memanggil haltatau reboot- kali ini sistem berada dalam runlevel yang benar dan mereka memerintahkan kernel untuk reboot (atau menghentikan).
Selain apa yang ditulis iconoclast, ada perbedaan penting antara kedua program: shutdownada di /sbin, sementara rebootada di/usr/bin .
Mengapa ini penting, Anda bertanya? Saya akan memberitahu Anda.
Hal-hal di bawah ini /usradalah hal-hal yang tidak harus tersedia sampai sistem di-boot cukup jauh sehingga sistem berfungsi minimal. Direktori tingkat atas yang secara tradisional tidak pernah dipasang pada filesystem terpisah - /bin, /etc, /sbin, dll - yang diharapkan akan tersedia sementara sistem mencapai keadaan ini minimal berguna. Ada berbagai implikasi dari desain ini; misalnya, itu adalah gaya yang buruk untuk menulis klausa "stop" dari skrip init SysV yang menggunakan program di /usr/binjika ada alternatif di /binatau /sbin.
shutdownadalah utilitas utama, yang selalu tersedia. rebootadalah utilitas kenyamanan saja.
rebootada di /sbindalam Debian (dengan SysVinit) dan Ubuntu (dengan pemula).