เรียกใช้คำสั่งเมื่อบูตในฐานะรูท


9

ฉันจำเป็นต้องเรียกใช้สคริปต์ทุบตีตอนบูตเป็น superuser ใน Xubuntu ฉันไม่รู้ว่าจะเริ่มจากตรงไหน ฉันต้องทำสิ่งที่อธิบายไว้ในคู่มือ Arch Linux คำแนะนำนั้นบอกว่า:

เพิ่มต่อไปนี้ในตอนท้ายของไฟล์: /etc/rc.sysinit

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

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

แต่ฉันไม่ได้มี/etc/rc.sysinitและ/etc/rc.d/ใน Xubuntu ฉันแน่ใจว่ามีสิ่งที่เทียบเท่าใช่มั้ย

คำตอบ:


9

/etc/rc.localไฟล์ที่คุณต้องการคือ สคริปต์นี้จะทำงานใกล้หรือในตอนท้ายของกระบวนการบูต ดังนั้นทุกอย่างควรจะขึ้นในเวลานี้

อย่างไรก็ตามตามที่ @ bodhi.zazen ชี้ให้เห็นว่าความพุ่งพรวดอาจเป็นตัวเลือกที่ดีที่สุดสำหรับคุณ ลองดูสิ

หมายเหตุ 1 : ใน 15.04 และใหม่กว่า Ubuntu ใช้systemdและไม่พุ่งพรวด ดังนั้นหากคุณต้องการใช้บริการให้ดูคำตอบนี้ที่นี่โดย @muru

หมายเหตุ 2 : ใน 16.10 ไม่มี/etc/rc.localค่าเริ่มต้น แต่ถ้าคุณสร้างและทำให้มันปฏิบัติการ ( sudo chmod u+x /etc/rc.local) มันจะทำงานได้เพราะมี systemd บริการเพื่อดึงมันถ้ามันมีอยู่ อย่าลืมใส่บรรทัดด้วยexit 0ท้ายไฟล์เพื่อป้องกันคำสั่งที่ล้มเหลวทำให้กระบวนการบูตทั้งหมดหยุดทำงาน


ดังนั้นฉันแค่ใส่รหัสนั้นที่นี่? exit 0สำหรับตอนนี้ไฟล์ที่มีเพียง และถ้าฉันสามารถถามได้ว่าเมื่อบูตเมื่อrc.localมีการดำเนินการเป็นระบบไฟล์พร้อมดังนั้นฉันยังสามารถเขียนบันทึกที่ไหนสักแห่งสำหรับคำสั่งที่ฉันต้องการเรียกใช้?
lorenzo-s

ดูเหมือนว่าคุณกำลังพยายามเรียกใช้สคริปต์การเริ่มระบบ (init) Ubuntu ใช้พุ่งพรวด rc.local จะเรียกใช้คำสั่งหรือชุดคำสั่งในการบูตและอาจเป็นตัวเลือกที่ดีที่สุดของคุณหรือไม่ก็ได้ คุณพยายามทำอะไรกันแน่
Panther

@ lorenzo-s: ดูการแก้ไขของฉัน
Scott Severance

คุณอาจพบคำตอบนี้มีประโยชน์: askubuntu.com/a/20347/3940
Takkat

1
ตกลงฉันจะแก้ไขย้ายmy_scriptจากไป/usr/local/bin /usr/binฉันสามารถบันทึกการ/var/logใช้my_script &>> /var/log/my_scriptด้วย ขอบคุณมาก.
lorenzo-s
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.