câu trả lời của sự hỗn loạn là những gì một số tài liệu nói. Nhưng đó không phải là những gì systemd thực sự làm. (Nó không phải những gì van Smoorenburg rc
đã làm, một trong hai. Các van Smoorenburgrc
chắc chắn hầu hết không bỏ qua LSB tiêu đề, trong đó insserv
sử dụng để tính toán orderings tĩnh, cho người mới bắt đầu.) Các tài liệu freedesktop, chẳng hạn như trang "không tương thích", thực chất là sai, trên những điều này và những điểm khác (Các HOME
biến môi trường trên thực tế là thường được thiết lập, chẳng hạn. Điều này đã hoàn toàn không có cơ sở ở bất cứ đâu trong một thời gian dài. Nó bây giờ ghi trong cuốn hướng dẫn, ít nhất, nhưng điều đó freedesktop WWW trang vẫn chưa được sửa chữa.)
Định dạng dịch vụ gốc cho systemd là đơn vị dịch vụ . Quản lý dịch vụ đúng cách của systemd chỉ hoạt động theo các khía cạnh mà nó đọc từ một trong chín thư mục nơi .service
các tệp (toàn hệ thống) có thể sống. /etc/systemd/system
, /run/systemd/system
, /usr/local/lib/systemd/system
, Và /usr/lib/systemd/system
bốn của những thư mục.
Khả năng tương thích với rc
các tập lệnh van Smoorenburg đạt được với một chương trình chuyển đổi, được đặt tên systemd-sysv-generator
. Chương trình này được liệt kê trong /usr/lib/systemd/system-generators/
thư mục và do đó được systemd tự động chạy sớm trong quy trình bootstrap ở mỗi lần khởi động và một lần nữa mỗi khi systemd được hướng dẫn tải lại cấu hình của nó sau này.
Chương trình này là một trình tạo , một loại tiện ích phụ trợ có nhiệm vụ tạo các tệp đơn vị dịch vụ một cách nhanh chóng, trong một tmpfs nơi có thêm ba trong số chín thư mục đó (chỉ dành cho các máy phát điện). systemd-sysv-generator
tạo các đơn vị dịch vụ chạy rc
tập lệnh van Smoorenburg từ đó /etc/init.d
, nếu nó không tìm thấy đơn vị dịch vụ hệ thống gốc có tên đó đã tồn tại ở sáu địa điểm khác.
quản lý dịch vụ systemd chỉ biết về các đơn vị dịch vụ. Các đơn vị dịch vụ được tạo tự động (lại) này được viết để gọi các rc
tập lệnh van Smoorenburg . Họ có, trong số những thứ khác:
[Đơn vị]
SourcePath = / etc / init.d / wibble
[Dịch vụ]
ExecStart = / etc / init.d / wibble bắt đầu
ExecStop = / etc / init.d / wibble dừng
Sự khôn ngoan nhận được là các rc
tập lệnh van Smoorenburg phải có tiêu đề LSB và được chạy song song mà không tôn trọng các ưu tiên do /etc/rc?.d/
hệ thống áp đặt . Điều này là không chính xác trên tất cả các điểm.
Trên thực tế, họ không cần phải có tiêu đề LSB và nếu họ không systemd-sysv-generator
thể nhận ra các tiêu đề bình luận RedHat cũ hạn chế hơn ( description:
, pidfile:
v.v.). Ngoài ra, trong trường hợp không có tiêu đề LSB, nó sẽ quay trở lại nội dung của các /etc/rc?.d
trang trại liên kết tượng trưng, đọc các ưu tiên được mã hóa thành tên liên kết và xây dựng trước / sau khi đặt hàng từ chúng, tuần tự hóa các dịch vụ. Không chỉ các tiêu đề LSB không phải là một yêu cầu, và không chỉ chúng tự mã hóa trước / sau khi sắp xếp thứ tự các thứ đến một mức độ, hành vi dự phòng trong sự vắng mặt hoàn toàn của chúng thực sự là hoạt động không song song đáng kể.
Lý do /etc/rc3.d
không quan trọng là có lẽ bạn đã kích hoạt tập lệnh đó thông qua một /etc/rc?.d/
thư mục khác . systemd-sysv-generator
được dịch là được liệt kê trong bất kỳ /etc/rc2.d/
, /etc/rc3.d/
và /etc/rc4.d/
vào một người gốc Wanted-By
mối quan hệ với nhân systemd multi-user.target
. Các cấp độ chạy là "lỗi thời" trong thế giới hệ thống, và bạn có thể quên chúng.
đọc thêm