ฉันจะหยุด Apache2 ไม่ให้เริ่มโดยอัตโนมัติเมื่อบูตได้อย่างไร ฉันไม่สามารถหาตัวเลือกที่ปิดใช้งานการเริ่มต้นอัตโนมัติเมื่อฉันเปิดเครื่อง
update-rc.d
ได้เติมช่องว่างนี้แล้ว
ฉันจะหยุด Apache2 ไม่ให้เริ่มโดยอัตโนมัติเมื่อบูตได้อย่างไร ฉันไม่สามารถหาตัวเลือกที่ปิดใช้งานการเริ่มต้นอัตโนมัติเมื่อฉันเปิดเครื่อง
update-rc.d
ได้เติมช่องว่างนี้แล้ว
คำตอบ:
ภายใต้โฟลเดอร์/etc/init.d/
คุณจะพบสคริปต์เริ่มต้นทั้งหมดสำหรับบริการบู๊ตต่างๆเช่น apache2, ระบบเครือข่าย ฯลฯ
ขึ้นอยู่กับว่าคอมพิวเตอร์เริ่มทำงานในระดับใดบริการต่าง ๆ จะเริ่มขึ้น ดังนั้นจาก/etc/init.d/
แต่ละโฟลเดอร์ "บริการ" เชื่อมโยงกับหนึ่ง / หลาย / ไม่มีโฟลเดอร์วิ่งระดับชื่อจากไปrc0.d
rc6.d
เพื่อให้ง่ายขึ้นมีเครื่องมือสำหรับการลบ / เพิ่มลิงค์เหล่านี้ดังนั้นการลบหรือเพิ่มสคริปต์ไปยังและจากการเริ่มต้นขึ้น
หากต้องการปิดใช้งาน apache2 เพียงพิมพ์:
sudo update-rc.d apache2 disable
สิ่งนี้ปิดใช้งาน apache2 เมื่อเริ่มต้น แต่ไม่ถูกลบเพื่อให้สามารถเปิดใช้งานได้อีกครั้ง ในการลบสคริปต์เริ่มทำงาน apache2 ให้ทำดังนี้:
หากต้องการลบ apache2 เพียงพิมพ์:
sudo update-rc.d -f apache2 remove
The script you are attempting to invoke has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs. (...)
sudo update-rc.d apache2 disable
ใช้
คุณสามารถปิดการใช้งานโดย:
sudo update-rc.d apache2 disable
จากนั้นหากคุณต้องการเปิดใช้งานอีกครั้ง:
sudo update-rc.d apache2 enable
ขึ้นอยู่กับโครงการที่ฉันกำลังดำเนินการอยู่มันมีประโยชน์ที่จะมีบริการที่สะดวกหากฉันต้องการเปิดใช้งานอีกครั้ง
enable
ทำให้ฉันมีข้อผิดพลาดเช่นrunlevel arguments (none) do not match LSB Default-Start values
แต่sudo update-rc.d apache2 defaults
ดูเหมือนจะเปิดใช้งานได้สำเร็จ
sudo update-rc.d apache2 enable
เล่นตามที่คาดไว้สำหรับฉัน
error: no runlevel symlinks to modify, aborting!
- อย่างไรก็ตาม apache2 กำลังทำงานและเริ่มใหม่อัตโนมัติ
update-rc.d: error: no runlevel symlinks to modify, aborting!
ด้วยsystemd
ตอนนี้เราสามารถใช้systemctl
คำสั่งเพื่อป้องกันไม่ให้บริการเริ่มต้นโดยอัตโนมัติเมื่อบูต
นี่คือตัวอย่าง:
sudo systemctl disable apache2
คุณจะยังสามารถเริ่มและหยุดบริการได้ แต่จะไม่เริ่มต้นเมื่อเริ่มระบบ
update-rc.d: error: no runlevel symlinks to modify, aborting!
ให้สร้าง simlink ที่หายไปด้านล่างใหม่ จากนั้นลองอีกครั้ง: /etc/rc0.d/K01 <service> /etc/rc1.d/K01 <service> /etc/rc2.d/S99 <service> /etc/rc3.d/S99 <service> / etc / rc4.d / S99 <service> /etc/rc5.d/S99 <service> /etc/rc6.d/K01 <service>
คิดว่าฉันแค่เพิ่มคำตอบโดย @gsullins และ @tododachi สำหรับผู้อ่านในอนาคตที่ใช้คำตอบที่ยอมรับ
หากคุณเคยใช้:
sudo update-rc.d apache2 remove
คุณสามารถใช้อาร์กิวเมนต์defaults
เพื่อเพิ่ม apache2 กลับสู่ autostart
sudo update-rc.d apache2 defaults
จากนั้นคุณสามารถเปิด / ปิดการใช้งาน
sudo update-rc.d apache2 disable
sudo update-rc.d apache2 enable