Chạy lệnh khi khởi động với quyền root


9

Tôi cần chạy một tập lệnh bash vào lúc khởi động với tư cách là siêu người dùng trong Xubfox. Tôi không biết bắt đầu từ đâu. Tôi phải làm một cái gì đó được mô tả trong hướng dẫn Arch Linux. Hướng dẫn đó nói chính xác:

Thêm phần sau vào cuối tệp: /etc/rc.sysinit

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

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

Nhưng tôi không có /etc/rc.sysinit/etc/rc.d/trong Xubfox. Tôi chắc chắn có những cái tương đương, phải không?

Câu trả lời:


9

Các tập tin bạn muốn là /etc/rc.local. Kịch bản này sẽ được chạy gần hoặc ở cuối quá trình khởi động. Vì vậy, mọi thứ nên được lên vào thời điểm này.

Tuy nhiên, như @ bodhi.zazen đã chỉ ra, Upstart có thể là lựa chọn tốt nhất cho bạn. Kiểm tra nó ra .

Lưu ý 1 : trong 15.04 trở lên, Ubuntu sử dụng systemdvà không khởi động. Do đó, nếu bạn muốn thực hiện một cách tiếp cận dịch vụ, hãy xem câu trả lời này tại đây bởi @muru

Lưu ý 2 : Trong 16.10 không có /etc/rc.localmặc định, nhưng nếu bạn tạo nó và làm cho nó có thể thực thi được ( sudo chmod u+x /etc/rc.local) thì nó sẽ hoạt động vì có một dịch vụ systemd để kéo nó vào nếu nó tồn tại. Đừng quên đặt một dòng exit 0ở cuối tập tin để ngăn chặn mọi lệnh thất bại khiến toàn bộ quá trình khởi động bị treo.


Vì vậy, tôi chỉ cần đặt mã đó ở đây? Hiện tại, tập tin đó chỉ chứa exit 0. Và nếu tôi có thể hỏi, khi khởi động khi rc.localđược thực thi, hệ thống tập tin đã sẵn sàng để tôi cũng có thể viết nhật ký ở đâu đó cho lệnh mà tôi muốn chạy chưa?
lorenzo-s

Có vẻ như bạn đang cố chạy một kịch bản khởi động (init). Ubuntu sử dụng mới nhất. RC.local sẽ chạy một lệnh hoặc một loạt các lệnh khi khởi động và có thể hoặc không thể là lựa chọn tốt nhất của bạn. Bạn đang cố gắng để làm chính xác ?
Panther

@ lorenzo-s: Xem chỉnh sửa của tôi.
Scott Severance

Bạn cũng có thể thấy câu trả lời này hữu ích: Askubfox.com/a/20347/3940
Takkat

1
Ok, tôi giải quyết di chuyển my_scripttừ /usr/local/bintới /usr/bin. Tôi cũng có thể lưu đăng nhập /var/logbằng cách sử dụng my_script &>> /var/log/my_script. Cảm ơn rât nhiều.
lorenzo-s
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.