วิธีที่แนะนำในการปิดการใช้งานบริการใน Debian


10

มี "วิธีที่แนะนำ" เพื่อปิดใช้งานบริการใน Debian หรือไม่? (ปิดใช้งาน = มีการติดตั้งบริการ แต่จะไม่เริ่มโดยอัตโนมัติเมื่อเครื่องบู๊ต)

ฉันรู้ว่าคุณสามารถupdate-rc.d -f service remove(ซึ่งโดยทั่วไปจะลบลิงค์ในrcX.d) แต่การทำเช่นนี้คุณจะสูญเสียหมายเลขลำดับของบริการ ( SXXserviceโดยที่ XX เป็นหมายเลขลำดับ) ทำให้ชีวิตยากขึ้นเมื่อคุณต้องการเปิดใช้บริการอีกครั้ง ฉันรู้เช่นกันว่าฉันสามารถเปลี่ยนชื่อลิงก์rcX.dเพื่อไม่ให้เริ่มต้นด้วยS(หรือย้ายไปที่อื่น) แต่ฉันสงสัยว่ามีวิธี "วิธีปฏิบัติที่ดีที่สุดที่ได้รับการอนุมัติโดยเดเบียน" หรือไม่

คำตอบ:


12

ดูที่หน้า man update-rc.d ย่อหน้าที่สามของส่วนชื่อการติดตั้งเริ่มต้นสคริปต์ลิงค์อ่าน ...

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

ประโยคสองประโยคสุดท้ายควรตอบคำถามของคุณ :-)


ตัวอย่างเช่น:sudo update-rc.d postgresql disable
Lluís

5

คุณสามารถลองใช้ยูทิลิตี้ "sysv-rc-conf" เพื่อทำให้ชีวิตของคุณง่ายขึ้น มันเป็นมากกว่าเครื่องมือ chkconfig ของระบบอื่น ๆ

เพียงพิมพ์ที่ promp:

sudo apt-get install sysv-rc-conf

ไชโย!


เครื่องมือที่ดีขอบคุณ ฉันเห็นว่ามันยังปิดการใช้งานบริการอย่างถูกต้อง (เช่นโดยการเปลี่ยนชื่อ symlink เป็น K ... )
Heinzi

2

ที่จริงแล้วsysv-rc-confเป็นแนวทางที่แนะนำแม้โดย update-rc.d man page:

โปรดทราบว่าโปรแกรมนี้ออกแบบมาเพื่อใช้ในสคริปต์ผู้ดูแลแพ็คเกจและดังนั้นจึงมีเพียงฟังก์ชันการทำงานที่ จำกัด มากที่สคริปต์ดังกล่าวต้องการ ผู้ดูแลระบบไม่ได้รับการสนับสนุนให้ใช้ update-rc.d เพื่อจัดการ runlevels พวกเขาควรแก้ไขลิงค์โดยตรงหรือใช้บรรณาธิการ runlevel เช่น sysv-rc-conf และ bum แทน


0

ขณะที่ผมเข้าใจมัน "Debian ปฏิบัติที่ดีที่สุด" คือการถอนการติดตั้งแพคเกจ คุณไม่ควรติดตั้งแพ็คเกจหากไม่ได้ใช้งาน นี่คือเหตุผลที่แพ็คเกจ Debian ได้รับการกำหนดค่าให้เริ่มการติดตั้ง

(แพ็คเกจไม่กี่แพ็คเกจที่อาจมีประโยชน์ในการติดตั้งโดยไม่ต้องใช้งานมักจะมีการตั้งค่าใน/etc/default/<packagename>ไฟล์กำหนดค่าเพื่อปิดการเริ่มต้น)


2
คุณเข้าใจผิด "ไม่เริ่มโดยอัตโนมัติเมื่อบูต" ไม่ได้หมายความว่า "ไม่ได้ใช้แพ็คเกจเลย" เป็นตัวอย่างง่าย ๆ ฉันอาจต้องการเซิร์ฟเวอร์ SSH ของฉันเริ่มต้นโดย xinetd ตามต้องการแทนที่จะเริ่มเป็น daemon ตอนบูต
ต้มตุ๋น quixote
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.