คุณจะปิดการใช้งานบริการพุ่งพรวดใน ubuntu 10.10 ได้อย่างไร?


27

ใน 10.10 พุ่งพรวดจะถูกใช้แทน sysvinit

เป็นไปได้ที่จะลบบริการพุ่งพรวดที่น่ารำคาญซึ่งคุณไม่ต้องการโดยการลบไฟล์ที่เหมาะสมใน /etc/init/blah.conf

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

เป็นตัวอย่างที่ใช้งานได้จริงคำตอบที่แสดงไว้ที่นี่เพื่อปิด gdm โดยใช้ rcconf ไม่ทำงานอีกต่อไป: ฉันจะป้องกัน GDM ไม่ให้ทำงานในตอนบูตบน Ubuntu ได้อย่างไร


nb เห็นได้ชัดว่าอูบุนตูบางรุ่นมีรายการ 'บริการ' ในเมนูของเดสก์ท็อปกราฟิกที่อนุญาตให้มีการกำหนดค่านี้ ที่ไม่ได้อยู่ในของฉัน ฉันกำลังมองหาโซลูชันบรรทัดคำสั่งโดยเฉพาะ
Doug

คำตอบการปรับปรุงมากที่สุดอยู่ในaskubuntu อ่านความคิดเห็นด้วย!
Marcello Nuccio

2
นี่คือตอนนี้เอกสารในวรรคปิดการใช้งานเริ่มต้นโดยอัตโนมัติ
Marcello Nuccio

@Marcello หืม ... มีจุดที่จะพูดแบบนั้นเหรอ? 'คำตอบที่อัปเดตล่าสุด' ยังคงเป็นคำตอบเดียวกัน ลบไฟล์หรือลบสองสามบรรทัดแรกด้วยตนเอง
ดั๊ก

โซลูชันใหม่ล่าสุดคือecho manual >> /etc/init/<service>.overrideและสิ่งนี้ถูกกล่าวถึงในข้อคิดเห็นเท่านั้น (และในเอกสารประกอบอย่างเป็นทางการ) ฉันไม่พบมันอย่างง่ายดายนั่นคือเหตุผลที่ฉันพูดถึงที่นี่
Marcello Nuccio

คำตอบ:


19

หากคุณดูใน /etc/init.d คุณจะสังเกตเห็นว่าบริการใด ๆ ที่กำหนดค่าผ่านทางพุ่งพรวดเป็นเพียงสัญลักษณ์เชื่อมโยงไปยัง / lib / init / upstart เพื่อลบออกจาก /etc/init.d เพียงลบลิงก์ - ไม่ใช่สคริปต์ .

หากคุณต้องการอินเทอร์เฟซนี้คุณสามารถติดตั้งchkconfigแพคเกจ ( apt-get install chkconfig) ซึ่งให้เครื่องมือบรรทัดคำสั่งที่มีประโยชน์:

# chkconfig --list
acpi-support              0:off  1:off  2:on   3:on   4:on   5:on   6:off
acpid                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
alsa-mixer-save           0:off  1:off  2:off  3:off  4:off  5:off  6:off
anacron                   0:off  1:off  2:off  3:off  4:off  5:off  6:off
apache2                   0:off  1:off  2:on   3:on   4:on   5:on   6:off
apparmor                  0:off  1:off  2:off  3:off  4:off  5:off  6:off  S:on 
apport                    0:off  1:off  2:off  3:off  4:off  5:off  6:off
atd                       0:off  1:off  2:off  3:off  4:off  5:off  6:off
.... and so on ....

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

# chkconfig -s <service> <state/runlevels>

ตัวอย่างเช่น:

# chkconfig -s gdm off

เพื่อปิดโดยสมบูรณ์

# chkconfig -s gdm on

เพื่อเปิดใช้งานด้วยค่าเริ่มต้นหรือ

# chkconfig -s gdm 34

เพื่อเปิดใช้สำหรับระดับการทำงาน 3 และ 4 เท่านั้น

คุณมักจะพบคำสั่งนี้ในระบบที่ใช้ RHEL (CentOS, Fedora เป็นต้น)

UPDATE

นี่เป็นเฉพาะอูบุนตูและ gdm / kdm / อะไรก็ตาม

เมื่อ gdm เริ่มทำงานจะเรียกใช้ไฟล์ config พุ่งพรวด /etc/init/gdm.conf

ไฟล์นี้จะอ้างอิง / etc / X11 / default-display-manager เพื่อดูว่าเป็นตัวจัดการการแสดงผลเริ่มต้นสำหรับระบบ - หรือไม่ถ้ามันเป็นจากนั้นก็จะเริ่ม

/ etc / X11 / default-display-manager ประกอบด้วย:

/usr/sbin/gdm

คุณสามารถแทนที่สิ่งนี้ด้วยเครื่องมือจัดการหน้าจออื่นหรือลบไฟล์ทั้งหมดและมันจะไม่เริ่ม gdm

บรรทัดจากไฟล์ /etc/init/gdm.conf:

[ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/gdm" ] || { stop; exit 0; }

มันพูดว่า "หากไฟล์ / etc / X11 / default-display-manager ไม่มีอยู่หรือถ้ามันไม่มี/usr/sbin/gdmแล้วออก"


นั่นไม่ได้ผล เช่นเดียวกับ rcconf, chkconfig ไม่ได้แสดงรายการ gdm เป็นบริการที่จะเริ่มในระดับการทำงานใด ๆ กระนั้นการเริ่มต้นใหม่มันโหลด chkconfig -s gdm off ไม่ได้ป้องกันไม่ให้เริ่มทำงาน
Doug

2
มีลิงค์ที่นี่ยังแนะนำว่า chkconfig ไม่ใช่เครื่องมือที่เหมาะสมในการใช้: ubuntuforums.org/showthread.php?t=1559266
Doug

ฉันไม่เคยชอบการเริ่มต้นของ Ubuntu และ Linux โดยทั่วไป ดูเหมือนจะยุ่งเหยิงและไร้เดียงสาเสมอ ให้ rcng ของ FreeBSD ทุกวัน อย่างไรก็ตาม - เฉพาะกับเครื่องมือจัดการหน้าจอของ Ubuntu คุณมีสิ่งที่ฉันแก้ไขแสดงให้เห็น ...
Majenko

+1 สำหรับหลังจากที่ถูกต้องแก้ไขโดยมีรายละเอียดสำหรับการพุ่งพรวด
Doug

5

ฉันพบเสมอว่าเครื่องมือsysv-rc-confมีประโยชน์มากมันมีอินเตอร์เฟสที่ดีมากและใช้งานง่าย

ติดตั้งแบบนี้:

sudo apt-get update
sudo apt-get install sysv-rc-conf

ใช้มันแบบนี้:

sudo sysv-rc-conf

1
ฉันไม่คิดว่ามันใช้งานได้สำหรับบริการพุ่งพรวดแม้ว่า ..
Rajat Gupta

3

เพียงแค่ดูman 5 initและคุณจะพบทางออกที่เหมาะสมมากขึ้น ตัวอย่างสั้น ๆ : สมมติว่าเรามีบริการที่เรียกว่า "foobar" ดังนั้นจะมีไฟล์ที่เรียกว่า/etc/init/foobar.confมีการกำหนดค่าพุ่งพรวด ตอนนี้คุณไม่ต้องการลบไฟล์นั้นหรือแก้ไขมัน - แต่ไม่ต้องการให้บริการนี้ทำงาน? ดังนั้นให้แทนที่ไฟล์ที่อยู่ติดกับ: /etc/init/foobar.override, ประกอบด้วย (หรือเป็นทางเลือกส่วนหัวที่มีคำอธิบายและ) แทนstart on/ stop onบรรทัดที่คุณวางบรรทัดด้วยคำเดียว: manual. วิธีนี้คุณแจ้งให้คนทั่วไปทราบโดยทั่วไปใช้foobar.confแต่แทนที่คำจำกัดความการเริ่มต้นเพื่อเริ่มให้บริการนั้นเมื่อมีการบังคับใช้ด้วยตนเอง (ผ่านservice foobar startในตัวอย่างของเรา)


2

คำแนะนำของฉันคือการแสดงความคิดเห็นออกทั้งหมด "เริ่มต้น" และ "หยุดที่" บรรทัด มันใช้งานได้ดีสำหรับฉันเมื่อฉันรัน "initctl show-config" เพื่อดูว่าการเริ่มต้นอัตโนมัติของโปรแกรมที่ฉันต้องการถูกปิดใช้งานหรือไม่


1

พุ่งพรวดเป็นผู้จัดการเริ่มต้นที่ขับเคลื่อนด้วยเหตุการณ์และ runlevels ไม่ได้เป็นกลไกหลักในการตัดสินใจเมื่อเริ่มบริการ แต่จะเริ่มบริการเมื่อความพึงพอใจต่อการพึ่งพาทั้งหมดของพวกเขาซึ่งจะช่วยให้เกิดความขนานมากขึ้นในระหว่างการบู๊ตซึ่งจะช่วยเร่งกระบวนการบูตให้เร็วขึ้น

เมื่อใช้ Ubuntu 11.04 ฉันสามารถปิดการใช้งาน GDM โดยแก้ไขไฟล์ /etc/init/gdm.conf และลบรายการ "เริ่มต้น" ทั้งหมด นี่คือการแก้ไขล่วงหน้าของฉัน:

start on (filesystem
          and started dbus
          and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
               or stopped udev-fallback-graphics))
stop on runlevel [016]

นี่คือการแก้ไขโพสต์ของฉัน:

start on
stop on runlevel [016]

1
แก้ไข; อย่างไรก็ตามนี่เป็นพื้นไม่ดีไปกว่าเพียงแค่การย้าย / ลบไฟล์ etc / init / gdm.conf ฉัน (ยังคง) ทึ่งที่การแก้ไขไฟล์ปรับแต่งด้วยตนเองดูเหมือนจะเป็นวิธีเดียวในการทำเช่นนี้
Doug

1

นี่คือทางออก:

http://ubuntuforums.org/showpost.php?p=9416839&postcount=3

@ Matt Jenkins

ฉันไม่เคยชอบการเริ่มต้นของ Ubuntu และ Linux โดยทั่วไป ดูเหมือนจะยุ่งเหยิง>> kludgy อยู่เสมอ ให้ rcng ของ FreeBSD ทุกวัน อย่างไรก็ตาม - เฉพาะสำหรับเครื่องมือจัดการการแสดงผลของ Ubuntu> คุณมีสิ่งที่ฉันแก้ไขแสดงให้เห็น ...

Arch Linux มีระบบเริ่มต้นที่ดี อย่างไรก็ตาม systemd จะพัดระบบเริ่มต้นอื่นออกจากดาวเคราะห์

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