2014-10-08 14 views
21

Từ những gì tôi đã hiểu, thư mục /etc/init.d chứa các tập lệnh được init thực thi lúc khởi động. Có phải chỉ dành cho Debian hoặc cho Ubuntu 14.04 không?ubuntu 14.04 /etc/init.d/ vs/etc/init/start service khi khởi động

Tôi tự hỏi vì tôi có một số tập lệnh trong thư mục init.d nhưng dường như chúng không chạy khi máy chủ khởi động. Có nhật ký để kiểm tra không?

Ví dụ, khi tôi cài đặt người giám sát (apt-get install supervisor), nó đã tạo một tập lệnh init trong /etc/init.d/supervisor được cho là bắt đầu nhưng khi tôi khởi động máy chủ, người giám sát không chạy. Tôi có một số ví dụ khác để nó dường như không liên quan đến kịch bản giám sát.

Ngoài ra, sự khác nhau giữa /etc/init.detc/init là gì? Tôi bị bối rối.

Cảm ơn

+0

Bạn đã tìm hiểu cách tự khởi động người giám sát? – DmitryR

+0

Có một câu trả lời chính xác hơn/chính xác hơn ở đây: http://askubuntu.com/questions/5039/what-is-the-difference-between-etc-init-and-etc-init-d – phazei

Trả lời

26

Các tập lệnh trong /etc/init.d/ là tập lệnh kiểm soát dịch vụ. Kiểm soát có nghĩa là họ chăm sóc bắt đầu, dừng lại và hành động tương tự.

Chúng là không được thực thi tự động khi khởi động. Thay vào đó, bạn phải gán tập lệnh cho runlevels, được thực hiện bằng lệnh update-rc.d trên hệ thống dựa trên Debian (Ubuntu).

Ví dụ, để thêm dịch vụ giám sát của bạn cho tất cả các runlevel mặc định, bạn sẽ thực hiện

sudo update-rc.d supervisor defaults 

Ngoài ra, bạn đang yêu cầu cho sự khác biệt giữa /etc/init.d/etc/init:

  • /etc/init.d chứa tập lệnh dịch vụ,
  • /etc/init chứa cấu hình cho các tập lệnh này (mô tả. phụ thuộc, sau/hành động trước). Tuy nhiên, IIRC, /etc/init là cụ thể cho SysV init.
+1

oh ok, tôi hiểu sai mục đích của init script rồi. Khi tôi đọc tài liệu giám sát, có vẻ như việc sử dụng tập lệnh init sẽ làm cho giám sát chạy tự động khi khởi động: http://supervisord.org/running.html#running-supervisord-automatically-on-startup Tôi đã thử '' ' Lệnh sudo update-rc.d''' nhưng tôi nhận được thông báo này '' 'Các liên kết khởi động/dừng hệ thống cho /etc/init.d/supervisor đã tồn tại.'''. Tại sao nó không hoạt động? – Michael

+0

Ngoài ra, tôi đã nghiên cứu thêm và tìm thấy dịch vụ '' '--status-all''', tôi có thể thấy các dịch vụ được khởi động ở hệ điều hành khởi động (những cái có dấu" + "ở trước chúng) và người giám sát không phải vì nó có dấu "-". :/ – Michael

+0

Ok, đó là một chút lạ. Bạn có thể làm như sau: Tạo một bài mới (và có thể tốt hơn trên [Unix/Linux SE] (http://unix.stackexchange.com/)) mô tả hiện tượng đó. Bởi vì sẽ dễ dàng hơn để thảo luận điều này trong một bài đăng mới và có khả năng thu hút nhiều người đọc hơn. – lxg

Các vấn đề liên quan