วิธีการหยุด daemon จากการเริ่มการบูทเครื่องใน Debian


16

มี daemons สองสามตัวที่ฉันปิดการใช้งานตั้งแต่เริ่มบูตเครื่อง ตัวอย่างเช่นฉันใช้ต่อไปนี้:

 sudo update-rc.d -f postgresql remove

ฉันไม่แน่ใจด้วยซ้ำว่าคำสั่งนั้นถูกต้องและจำไม่ได้ว่ามาจากไหน

อย่างไรก็ตามเมื่อใดก็ตามที่ฉันอัพเกรดpostgresqlการตั้งค่าจะหายไป (เช่น daemon เริ่มทำงานเมื่อรีบูต)


1
ใน Debian กับ sysvinit file-rcผมชอบ แทนที่จะจัดการ symlink ฉันจัดการไฟล์ข้อความด้วยการกำหนดค่าระดับ runlevel ของฉัน
Gilles 'หยุดชั่วร้าย'

คำตอบ:


22

update-rc.dถูกใช้ครั้งแรกโดยสคริปต์อัพเกรดแพ็คเกจ removeเรียกว่าเมื่อถอนการติดตั้งแพคเกจและลบลิงก์ทั้งหมดdefaultsเรียกว่าในการติดตั้งแพคเกจenableหรือdisableอาจใช้ขึ้นอยู่กับ debconf และเป็นประโยชน์ต่อ sysadmins removeในความเป็นจริงการล้างข้อมูลไม่ได้มีประโยชน์ในการปิดใช้งานบริการ จากหน้าคน:

ข้อผิดพลาดในการดูแลระบบทั่วไปคือการลบลิงค์ที่คิดว่าสิ่งนี้จะ "ปิดใช้งาน" บริการนั่นคือจะเป็นการป้องกันไม่ให้บริการเริ่มทำงาน อย่างไรก็ตามหากลิงก์ทั้งหมดถูกลบไปในครั้งถัดไปที่มีการอัพเกรดแพ็คเกจสคริปต์ postinst ของแพคเกจจะเรียกใช้ update-rc.d อีกครั้งและจะติดตั้งลิงก์ในตำแหน่งเริ่มต้นจากโรงงาน วิธีที่ถูกต้องในการปิดการใช้งานบริการคือการกำหนดค่าบริการเป็นหยุดใน runlevels ทั้งหมดที่เริ่มต้นโดยค่าเริ่มต้น ในระบบเริ่มต้นระบบ V หมายถึงการเปลี่ยนชื่อลิงค์สัญลักษณ์ของบริการจาก S เป็น K

sudo update-rc.d postgresql disableจะทำสิ่งที่คุณต้องการเพราะมันจะเก็บ symlink rc.d แต่มีคำนำหน้า K (ฆ่าหยุด) enableย้อนกลับไปด้วย บริการบางอย่างสนับสนุนการปิดการใช้งานจาก/etc/defaults/$serviceไฟล์ของพวกเขาแต่น่าเสียดายที่มีข้อยกเว้น วิธีอื่นในการปิดใช้งานบริการคือการ chmod -x /etc/init.d/$serviceไฟล์หรือแทรกexit 0ที่ด้านบนของมัน


6

เพื่อชี้แจงทางออกที่ดีที่สุดคล้ายกับคำตอบของ Tobu

  1. อย่าใช้update-rc.dกับremoveตัวเลือก
  2. ใช้update-rc.dกับdisableตัวเลือกแทน

ตัวอย่าง: update-rc.d postgresql disable


นอกจากนี้คุณยังสามารถหา (และปิดใช้งาน) อื่น ๆ systemctlบริการที่เฉพาะเจาะจงมากขึ้นด้วย

ตัวอย่าง: systemctl disable pppd-dns.service


+1 สำหรับคำแนะนำที่จะไม่ใช้ตัวเลือกการลบ
PYK

3

Tobu ที่ถูกต้องอย่างแน่นอน sysv-rc-confแต่เพื่อความสมบูรณ์มีเครื่องมือที่จะให้ภาพรวมสมาร์ท: สำหรับการคัดลอกและ Patse:

apt-get install sysv-rc-conf

การรันsysv-rc-confคุณจะเห็นว่าสคริปต์ใดทำงานในระดับใด คุณสามารถเปิด / ปิดการใช้บริการผ่านและเลิกกับspaceq


2
ฉันชอบrcconfมันใน repos มาตรฐาน โปรดจำไว้ว่าไม่มีสิ่งใดที่จะทำงานร่วมกับการพุ่งพรวดซึ่งเป็นค่าเริ่มต้นบน Ubuntu แม้ว่าสิ่งต่างๆมากมายยังคงใช้ init ดั้งเดิมอยู่
JM Becker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.