Cách liệt kê các dịch vụ / trình nền bắt đầu khi khởi động _and_ kiểm tra thứ tự tải của chúng


32

Tôi muốn chắc chắn các dịch vụ theo thứ tự nào được bắt đầu trong quá trình khởi động trong các hệ thống dựa trên Debian (cụ thể là Debian Squeeze).

Cảm ơn trước.

Câu trả lời:


37

Nói ngắn gọn:

ls /etc/rc*.d

Điều này cho bạn thấy những gì bắt đầu từ runlevel, và trong mỗi cấp độ, thứ tự được xác định bởi số sau chữ cái (K là Kill, S là bắt đầu).

Bạn có thể cấu hình những gì bắt đầu tại mỗi runlevel với sysv-rc-conf, có thể cài đặt bằng apt.

ví dụ: trên hệ thống của tôi, apache2 được liên kết với nhau trong RC5.d là "S20apache2". Một liên kết trong cùng thư mục với S19 sẽ bắt đầu trước nó, một cái gì đó với S21 sẽ bắt đầu sau nó.

Đọc thêm:


Cảm ơn bạn rất nhiều nhưng tôi cần chắc chắn rằng ví dụ ớt được bắt đầu trước bind9 nhưng cả hai đều có tiền tố S21. Tôi đã chỉnh sửa phần / etc / init / tập tin Bắt buộc-Bắt đầu: và Bắt buộc-Dừng: và tôi đã chạy update-rc.d cho họ. Bất kỳ ý tưởng những gì có thể đi sai?
dùng155872

Bạn có thể muốn bảo mật hơn là update-rc.d. Chili là một ứng dụng bespoke hoặc trong repo Debian? Nếu đó là gói Debian được tạo đúng cách, bạn không cần phải chỉnh sửa tập lệnh init của nó, nhưng nếu nó được đặt trước, hãy thử X-Start-Before thay vì Bắt buộc-Bắt đầu (và sau đó bật với bảo mật). Liên kết: wiki.debian.org/LSBInitScripts
Alex Forbes

OK, cảm ơn bạn. Tôi đã tìm hiểu về bảo mật và một điều nữa: "ký hiệu đô la, vì chúng là các tiện ích ảo được xác định trước. Nếu không, tên của các tập lệnh khởi động System V, được tìm thấy trong /etc/init.d/, mặc dù không có đô la ký hoặc có thể .sh mở rộng. " Và bây giờ tiền tố là chính xác. Cảm ơn :)
user155872

19

Các tiện ích RCconfsysv-rc-conf có giúp được không?

# aptitude install rcconf sysv-rc-conf

Sau đó, bạn có thể chạy chúng bằng cách gõ rcconfhoặc sysv-rc-conf.

RC sysv-RC-conf


9

Bạn có thể liệt kê tất cả các dịch vụ và trạng thái của chúng bằng lệnh đơn giản này:

service --status-all

Từ hướng dẫn:

dịch vụ --status-all chạy tất cả các tập lệnh init, theo thứ tự bảng chữ cái, với lệnh trạng thái . Trạng thái là [+] để chạy các dịch vụ, [-] cho các dịch vụ bị dừng và [? ] cho các dịch vụ không có lệnh 'status'. Tùy chọn này chỉ gọi trạng thái cho các công việc sysvinit; công việc mới bắt đầu có thể được truy vấn theo cách tương tự với danh sách initctl.


1
Tôi không nghĩ rằng điều này giải quyết phần "thứ tự" của câu hỏi.
kmarsh

2
và điều này cũng không thực sự cho biết cái nào được bật (bắt đầu khi khởi động)
kiltek

Tôi có các tập lệnh hiển thị trong lệnh này, nhưng chúng không khởi động.

4
for i in `find /etc/rc*.d -name S*`; do basename $i | sed -r 's/^S[0-9]+//'; done | sort | uniq

Sample output:

acpid
anacron
avahi-daemon
boa
bootlogd
bootlogs
bootmisc.sh
checkfs.sh
checkroot-bootclean.sh
checkroot.sh
cryptdisks
cryptdisks-early
dbus
delayed-services
hostname.sh
hwclock.sh
keyboard-setup
killprocs
kmod
lightdm
mountall-bootclean.sh
mountall.sh
mountdevsubfs.sh
mountkernfs.sh
mountnfs-bootclean.sh
mountnfs.sh
mtab.sh
pppd-dns
procps
qemu-kvm
rc.local
rmnologin
rsyslog
single
sleep
stop-bootlogd
stop-bootlogd-single
udev
udev-mtab
x11-common

1

Trên Debian RCconf nên thực hiện thủ thuật, chỉ để định cấu hình dừng / bắt đầu các dịch vụ đã có.

Tôi sử dụng nó mọi lúc trên Debian Jessie và Wheezy.


Bạn có thể giải thích thêm một chút về cách sử dụng công cụ bạn đã đề cập không?
womble
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.