วิธีแสดงรายการบริการ / daemons เริ่มต้นที่ boot _and_ ตรวจสอบการโหลด


32

ฉันต้องการให้แน่ใจว่าบริการสั่งซื้อใดเริ่มต้นในระหว่างกระบวนการบูตในระบบที่ใช้ Debian (โดยเฉพาะ Debian Squeeze)

ขอบคุณล่วงหน้า.

คำตอบ:


37

ในระยะสั้น:

ls /etc/rc*.d

สิ่งนี้แสดงให้คุณเห็นว่าอะไรคือจุดเริ่มต้นของการวิ่งเลเวลและภายในแต่ละระดับลำดับจะถูกกำหนดโดยตัวเลขหลังตัวอักษร (K คือ Kill, S เริ่มต้น)

คุณสามารถกำหนดค่าสิ่งที่เริ่มต้นในแต่ละระดับ runlevel ด้วย sysv-rc-conf ซึ่งสามารถติดตั้งได้ด้วย apt

เช่นในระบบของฉัน apache2 มีการเชื่อมโยงใน rc5.d เป็น "S20apache2" ลิงก์ในไดเรกทอรีเดียวกันกับ S19 จะเริ่มต้นก่อนที่จะมีบางอย่างที่ S21 เริ่มต้นหลังจากนั้น

อ่านเพิ่มเติม:


ขอบคุณมาก แต่ฉันต้องแน่ใจว่าตัวอย่างเช่น chilli เริ่มก่อน bind9 แต่ทั้งคู่มีคำนำหน้า S21 ฉันแก้ไขไฟล์ / etc / init / เฉพาะที่ต้องการ - เริ่ม: และ Required-Stop: ส่วนและฉันได้รัน update-rc.d สำหรับพวกเขาแล้ว ความคิดใดที่จะผิดพลาด?
user155872

คุณอาจต้องการ insserv มากกว่า update-rc.d Chili เป็นแอป bespoke หรือใน repo Debian หรือไม่? ถ้ามันเป็นแพ็คเกจ Debian ที่ถูกต้องคุณไม่จำเป็นต้องแก้ไขสคริปต์ init แต่ถ้าเป็น Bespoke ลองใช้ X-Start-Before แทนที่จะเป็น Required-Start (แล้วเปิดใช้งานด้วย insserv) Link: wiki.debian.org/LSBInitScripts
Alex Forbes

โอเคขอบคุณ. ฉันได้เรียนรู้เกี่ยวกับ insserv และอีกสิ่งหนึ่ง: "เครื่องหมายดอลลาร์เนื่องจากเป็นสิ่งอำนวยความสะดวกเสมือนที่กำหนดไว้ล่วงหน้ามิฉะนั้นชื่อของสคริปต์การบูต System V ที่พบใน /etc/init.d/ ควรใช้แม้ว่าจะไม่มีดอลลาร์ ลงชื่อหรือนามสกุล. sh ที่เป็นไปได้ " และตอนนี้คำนำหน้าถูกต้อง ขอบคุณ :)
user155872

19

จะrcconfและSysV-rcconfสาธารณูปโภคช่วยเหลือ?

# aptitude install rcconf sysv-rc-conf

หลังจากนั้นคุณสามารถเรียกพวกเขาโดยการพิมพ์หรือrcconfsysv-rc-conf

rcconf SysV-RC-conf


9

คุณสามารถแสดงรายการบริการทั้งหมดและสถานะของบริการด้วยคำสั่งง่ายๆ

service --status-all

จากคู่มือ:

บริการ - สถานะทั้งหมดทำงานสคริปต์เริ่มต้นทั้งหมดตามลำดับตัวอักษรด้วยคำสั่งสถานะ สถานะคือ [+] สำหรับการเรียกใช้บริการ [-] สำหรับบริการที่หยุดและ [? ] สำหรับบริการที่ไม่มีคำสั่ง 'สถานะ' ตัวเลือกนี้เรียกสถานะสำหรับงาน sysvinit เท่านั้น งานพุ่งพรวดสามารถสอบถามในลักษณะที่คล้ายกันกับรายการ initctl


1
ฉันไม่คิดว่านี่จะเป็นส่วนหนึ่งของ "คำสั่งอะไร" ของคำถาม
kmarsh

2
และสิ่งนี้ก็ไม่ได้บอกด้วยว่าอันใดที่เปิดใช้งานอยู่ (เริ่มการบู๊ต)
kiltek

ฉันมีสคริปต์ที่แสดงในคำสั่งนี้ แต่ไม่ได้เริ่มต้น
Owl

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

ใน Debian rcconf ควรทำตามขั้นตอนเพื่อกำหนดค่า stop / start ของบริการที่มีอยู่แล้ว

ฉันใช้มันตลอดเวลากับ Debian Jessie และ Wheezy


คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับวิธีการใช้เครื่องมือที่คุณกล่าวถึงอีกเล็กน้อยได้ไหม?
womble
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.