Thư mục của ubfox có /etc/init.d
chính xác tương đương (về mặt chức năng) với những gì tôi cho là chuẩn hơn /etc/rc.d/
(ít nhất là trên vòm) không? Có bất kỳ lý do cụ thể nào được sử dụng init.d thay vì RC.d cho các tập lệnh khởi động không?
Thư mục của ubfox có /etc/init.d
chính xác tương đương (về mặt chức năng) với những gì tôi cho là chuẩn hơn /etc/rc.d/
(ít nhất là trên vòm) không? Có bất kỳ lý do cụ thể nào được sử dụng init.d thay vì RC.d cho các tập lệnh khởi động không?
Câu trả lời:
Ubuntu sử dụng /etc/init.d
để lưu trữ các tập lệnh SysVinit vì Ubuntu dựa trên Debian và đó là những gì Debian sử dụng. Mũ đỏ sử dụng /etc/rc.d/init.d
. Tôi quên những gì Slackware sử dụng. Không có một vị trí tiêu chuẩn.
Ubuntu đang trong quá trình chuyển đổi từ SysVinit sang Upstart , sử dụng các tệp cấu hình trong /etc/init
.
/etc/init.d
. Quá trình chuyển đổi để /etc/init/*.conf
bắt đầu sau (8.04 vẫn là tất cả kiểu SysV, 10.04 đã chuyển đổi).
/etc/init.d là vị trí lịch sử cũ cho SVR4. Tôi quên tại sao redhat thêm cấp /etc/rc.d/. Tôi nghĩ cách ly mọi thứ với RC.d, nhưng sau đó cần thêm một loạt các liên kết tượng trưng để tương thích ngược. Vì vậy, có /etc/init.d trong redhat, chỉ cần nó liên kết ở nơi khác.
Vì vậy, vị trí tiêu chuẩn là /etc/init.d, mặc dù đó có thể là một liên kết tượng trưng không phải là một thư mục thực.
Có một số bản phân phối Linux thực sự cũ đã sao chép BSD bằng /etc/rc.local nhưng gần như không còn ai sử dụng nó nữa.
Trong lịch sử, /etc/rc.d
cây thư mục biểu thị một hệ thống init theo truyền thống khởi tạo hệ thống 4.4 BSD, thường được gọi là rc
hệ thống init. Tất cả hệ thống BSD hiện đại (Miễn phí / Mở / Net) và Slackware Linux đều tuân theo truyền thống này.
Cây /etc/init.d
thư mục biểu thị hệ thống init System V (SysV) theo truyền thống khởi tạo hệ thống AT & T UNIX, SunOS, Solaris. Điều này thường được gọi là hệ thống SysV init. Debian thích hợp vẫn theo truyền thống này trong loạt Wheezy, nhưng dự định sử dụng SystemD trong sê-ri Jessie. Trong lịch sử, RedHat và các công cụ phái sinh đã sử dụng SysV init, nhưng không còn nữa.
Ngoài ra, theo thời gian, các tính năng của cả hai chương trình init đã được phân phối.
Trên thực tế, ít nhất là trong CentOS 6.8 Santiago, /etc/init.d
chỉ là một liên kết mềm /etc/rc.d
.
PuppyLinux có cả /etc/rc.d và /etc/init.d , không phải là một liên kết tượng trưng. Thế nào là một liên kết tượng trưng là /etc/rc.d/init.d , mà liên kết lên một mức độ để /etc/init.d (Tôi đang nhìn vào một Puppy-- Slackware-based cũng có dựa trên Ubuntu và hương vị khác .) Có mỗi README.txt, giải thích cách tiếp cận của họ.
Ok, /etc/init.d
là một nơi mà bạn có thể nhanh chóng triển khai một tập lệnh init. Bước thứ hai để kích hoạt tập lệnh này là chạy một chkconfig
lệnh trên nó. Giả sử bạn chạy chkconfig --add <yourscript>
, các liên kết tượng trưng sẽ được tạo giữa /etc/init.d/<yourscript>
và/etc/rc.d/rcX.d/S50<script>
ví dụ. X trong RCX.d đại diện cho số runlevel của tập lệnh và S50 đại diện cho loại tập lệnh (có hai loại này, S & K, S báo cho hệ thống khởi động tập lệnh khi khởi động và K báo cho hệ thống biết thoát khỏi tập lệnh một cách duyên dáng khi bạn tắt máy. Số sau S / K đại diện cho thứ tự xảy ra, trong trường hợp bạn có một số tập lệnh phụ thuộc vào người khác đang hoạt động trước). Theo mặc định, nếu không có runlevel được chỉ định bên trong tập lệnh hoặc khi bạn ban hành lệnh runlevel, CentOS6 tạo tập lệnh S50 cho runlevels 2,3,4,5 và K50 cho runlevels 0,1,6.
/etc/rc.d
mà tôi đã thấy ... Tôi nghi ngờ nó có thể được sử dụng trong bsd.