Jalankan perintah saat boot sebagai root

9

Saya perlu menjalankan skrip bash saat boot sebagai superuser di Xubuntu. Saya tidak tahu harus mulai dari mana. Saya harus melakukan sesuatu yang dijelaskan dalam panduan Arch Linux. Panduan itu mengatakan dengan tepat:

Tambahkan berikut ini di akhir file: /etc/rc.sysinit

# Do my action
/etc/rc.d/do_my_action

/bin/dmesg >| /var/log/dmesg.log

Tapi saya tidak punya /etc/rc.sysinitdan /etc/rc.d/di Xubuntu. Saya yakin ada yang setara, kan?

lorenzo-s
sumber

Jawaban:

9

File yang Anda inginkan adalah /etc/rc.local. Script ini akan dijalankan di dekat atau di akhir proses boot. Dengan demikian, semuanya harus sudah pada saat ini.

Namun, seperti @ bodhi.zazen menunjukkan, Upstart mungkin menjadi pilihan terbaik untuk Anda. Lihat itu .

Catatan 1 : dalam 15,04 dan lebih baru, Ubuntu menggunakan systemddan bukan Pemula. Karena itu jika Anda ingin mengambil pendekatan layanan, lihat jawaban ini di sini oleh @muru

Catatan 2 : Di 16.10 tidak ada /etc/rc.localsecara default, tetapi jika Anda membuatnya dan membuatnya dapat dieksekusi ( sudo chmod u+x /etc/rc.local) itu akan berfungsi karena ada layanan systemd untuk menariknya jika ada. Jangan lupa untuk meletakkan baris dengan exit 0di akhir file untuk mencegah perintah yang gagal menyebabkan seluruh proses boot hang.

Scott Severance
sumber
Jadi, saya baru saja meletakkan kode itu di sini? Untuk saat ini, file itu hanya berisi exit 0. Dan jika saya bisa bertanya, saat boot ketika rc.localdijalankan, apakah sistem file sudah siap jadi saya juga bisa menulis log di suatu tempat untuk perintah yang ingin saya jalankan?
lorenzo-s
Sepertinya Anda mencoba menjalankan skrip boot (init). Ubuntu menggunakan pemula. rc.local akan menjalankan perintah, atau serangkaian perintah saat boot dan mungkin atau mungkin bukan opsi terbaik Anda. Apa yang sebenarnya ingin Anda lakukan?
Panther
@ lorenzo-s: Lihat hasil edit saya.
Scott Severance
Anda juga dapat menemukan jawaban ini bermanfaat: askubuntu.com/a/20347/3940
Takkat
1
Ok, saya memutuskan pindah my_scriptdari /usr/local/binke /usr/bin. Saya juga dapat menyimpan login /var/logmenggunakan my_script &>> /var/log/my_script. Terima kasih banyak.
lorenzo-s