Quên đi rc.local
.
Như tôi đã nói về CentOS 7 và về Debian 8 và về Ubuntu 15 :
Bạn đang sử dụng hệ điều hành systemd + Linux. /etc/rc.local
là một cơ chế tương thích ngược kép trong systemd, bởi vì nó là một cơ chế tương thích ngược cho một cơ chế mà chính nó là một cơ chế tương thích trong rc
bản sao hệ thống van Smoorenburg 5 .
Sử dụng /etc/rc.local
có thể đi sai lầm khủng khiếp. Mọi người đã rất ngạc nhiên bởi thực tế là systemd không chạy rc.local
theo cùng một cách, ở cùng một vị trí trong bootstrap, như họ đã từng sử dụng. (Hoặc sai lầm mong đợi: Nó không, trên thực tế, chạy cuối cùng . Trong hệ thống cũ, như hướng dẫn OpenBSD vẫn chỉ ra) Những người khác đã bị ngạc nhiên bởi thực tế rằng những gì họ thiết lập trong rc.local
mong đợi những cách cũ làm việc, là sau đó hoàn toàn hoàn tác bởi những người như mới udev
quy tắc, NetworkManager, systemd-logind
, systemd-resolved
, hoặc khác nhau "Kit" s.
Như được minh họa bởi " Tại sao` init 0` lại dẫn đến "Đối số dư thừa" khi cài đặt Arch? ", Một số hệ điều hành đã cung cấp systemd mà không có các tính năng tương thích ngược như trình systemd-rc-local-generator
tạo . Trong khi Debian vẫn giữ các tính năng tương thích ngược , Arch Linux xây dựng systemd với chúng bị tắt . Vì vậy, trên Arch và các hệ điều hành như nó dự kiến /etc/rc.local
sẽ hoàn toàn bị bỏ qua .
Quên đi rc.local
. Đó không phải là con đường để đi. Bạn có một hệ điều hành systemd + Linux. Vì vậy, hãy tạo một đơn vị dịch vụ systemd phù hợp và đừng bắt đầu từ một điểm có hai mức độ tương thích ngược. (Trên Ubuntu và Fedora, nó đã bị xóa ba lần, rc
bản sao của Hệ thống 5 Smoorenburg rc.local
sau đó đã được thay thế hai lần , hơn một thập kỷ trước, đầu tiên là khởi động và sau đó bởi systemd.)
Cũng nhớ quy tắc đầu tiên để di chuyển sang systemd .
Đây thậm chí không phải là một ý tưởng mới dành riêng cho systemd. Trên rc
các hệ thống van Smoorenburg và Upstart, điều cần làm là tạo một rc
kịch bản van Smoorenburg phù hợp hoặc tập tin công việc Upstart thay vì sử dụng rc.local
. Ngay cả các ghi chú thủ công của FreeBSD mà ngày nay người ta tạo ra một rc
kịch bản Mewburn thích hợp thay vì sử dụng /etc/rc.local
. Mewburn rc
được NetBSD 1.5 giới thiệu vào năm 2000.
/etc/rc.local
bắt đầu từ thời điểm phiên bản thứ bảy Unix và trước đó. Nó đã được thay thế bởi /etc/inittab
và một runlevel dựa trên rc
AT & T Unix System 3 (với một chút khác biệt /etc/inittab
trong AT & T Unix System 5) vào năm 1983 . Thậm chí đó là lịch sử.
Tạo định nghĩa dịch vụ gốc phù hợp cho hệ thống quản lý dịch vụ của bạn, cho dù đó là gói dịch vụ cho bộ công cụ nosh service-manager
và system-control
, /etc/rc.d/
tập lệnh cho Mewburn rc
, tệp đơn vị dịch vụ cho systemd, tệp công việc cho Upstart, thư mục dịch vụ cho runit / s6 / daemontools -encore, hoặc thậm chí là một /etc/init.d/
kịch bản cho van Smoorenburg rc
.
Trong systemd, các tệp đơn vị dịch vụ do quản trị viên thêm vào /etc/systemd/system/
thường đi vào (hoặc /usr/local/lib/systemd/system/
hiếm khi). Với người quản lý dịch vụ nosh, /var/local/sv/
là một nơi thông thường cho các gói dịch vụ địa phương. Mewburn rc
trên FreeBSD sử dụng /usr/local/etc/rc.d/
. Đóng gói file đơn vị sự nghiệp và bó dịch vụ, nếu bạn đang làm cho họ, đi ở những nơi khác nhau, mặc dù.
đọc thêm