update-rc.d
ban đầu được sử dụng bởi các kịch bản nâng cấp gói. remove
được gọi khi gỡ cài đặt gói và xóa tất cả các liên kết, defaults
được gọi khi cài đặt gói enable
hoặc disable
có thể được sử dụng tùy thuộc vào debconf và rất hữu ích cho sysadmin. Việc dọn dẹp remove
trên thực tế không hữu ích để vô hiệu hóa một dịch vụ. Từ trang người đàn ông:
Một lỗi quản trị hệ thống phổ biến là xóa các liên kết với ý nghĩ rằng điều này sẽ "vô hiệu hóa" dịch vụ, nghĩa là điều này sẽ ngăn dịch vụ bắt đầu. Tuy nhiên, nếu tất cả các liên kết đã bị xóa thì lần tiếp theo gói được nâng cấp, tập lệnh postinst của gói sẽ chạy lại update-rc.d và điều này sẽ cài đặt lại các liên kết tại các vị trí mặc định của nhà máy. Cách chính xác để vô hiệu hóa các dịch vụ là cấu hình dịch vụ như đã dừng trong tất cả các đường chạy trong đó nó được khởi động theo mặc định. Trong hệ thống init System V, điều này có nghĩa là đổi tên các liên kết tượng trưng của dịch vụ từ S thành K.
sudo update-rc.d postgresql disable
sẽ làm những gì bạn muốn, bởi vì nó giữ các symlink RC.d nhưng với tiền tố K (bị giết, bị dừng). Hoàn nguyên nó với một enable
. Một số dịch vụ hỗ trợ bị vô hiệu hóa từ /etc/defaults/$service
tệp của họ , nhưng đáng buồn là có ngoại lệ. Các cách khác để vô hiệu hóa một dịch vụ là chmod -x /etc/init.d/$service
tệp hoặc chèn một tệp exit 0
ở trên cùng của nó.
file-rc
. Thay vì quản lý các liên kết tượng trưng, tôi quản lý một tệp văn bản với các cấu hình runlevel của mình.