Cách khuyến nghị để vô hiệu hóa một dịch vụ trong Debian


10

Có "cách được đề xuất" để vô hiệu hóa dịch vụ trong Debian không? (Vô hiệu hóa = Dịch vụ được cài đặt nhưng sẽ không tự động khởi động khi máy khởi động.)

Tôi biết rằng bạn có thể update-rc.d -f service remove(về cơ bản loại bỏ các liên kết trong rcX.d), nhưng làm điều này bạn sẽ mất số thứ tự của dịch vụ ( SXXservicevới XX là số thứ tự), khiến cuộc sống khó khăn hơn khi bạn muốn kích hoạt lại dịch vụ. Tôi cũng biết rằng tôi chỉ có thể đổi tên các liên kết rcX.dđể chúng không bắt đầu bằng S(hoặc di chuyển chúng sang nơi khác), nhưng tôi tự hỏi liệu có cách nào "thực hành tốt nhất được Debian chấp thuận" để thực hiện việc này không.

Câu trả lời:


12

Có một cái nhìn vào trang man update-rc.d. Đoạn thứ ba của phần có tên Cài đặt init Script Liên kết đọc

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à định 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.

Hai câu cuối sẽ trả lời câu hỏi của bạn. :-)


ví dụ:sudo update-rc.d postgresql disable
Lluís

5

Bạn có thể thử tiện ích "sysv-rc-conf" để làm cho cuộc sống của bạn dễ dàng hơn một chút. Nó là công cụ chkconfig của hệ thống khác.

Chỉ cần gõ theo lời nhắc:

sudo apt-get cài đặt sysv-rc-conf

Chúc mừng!


Công cụ tốt, cảm ơn. Tôi thấy rằng nó cũng vô hiệu hóa chính xác các dịch vụ (tức là bằng cách đổi tên liên kết tượng trưng thành K ...).
Heinzi

2

Trên thực tế, sysv-rc-conflà cách tiếp cận được đề xuất ngay cả bởi trang man update-rc.d:

Xin lưu ý rằng chương trình này được thiết kế để sử dụng trong các tập lệnh bảo trì gói và theo đó, chỉ có chức năng rất hạn chế theo yêu cầu của các tập lệnh đó. Quản trị viên hệ thống không được khuyến khích sử dụng update-rc.d để quản lý runlevels. Họ nên chỉnh sửa các liên kết trực tiếp hoặc sử dụng các trình soạn thảo runlevel như sysv-rc-conf và bum thay thế.


0

Theo tôi hiểu, "thực hành tốt nhất Debian" là gỡ cài đặt gói . Bạn không nên cài đặt các gói nếu bạn không sử dụng chúng. Đây là lý do tại sao các gói Debian đều được cấu hình để bắt đầu cài đặt.

(Một vài gói có thể hữu ích để cài đặt mà không chạy thường có cài đặt trong /etc/default/<packagename>tệp cấu hình của chúng để tắt bắt đầu.)


2
bạn hiểu lầm rồi. "Không bắt đầu tự động khi khởi động" không ngụ ý "hoàn toàn không sử dụng gói". như một ví dụ đơn giản, tôi có thể muốn máy chủ SSH của mình bắt đầu bằng xinetd khi cần, thay vì khởi động như một daemon khi khởi động.
quack quixote
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.