วิธีควบคุม Linux Start-Up Services และ Daemons

วิธีควบคุม Linux Start-Up Services และ Daemons

เพิ่งบูทเครื่อง แต่ระบบของคุณยังรู้สึกช้าและอืดอาด? Linux ใช้งานแอปพลิเคชันจำนวนมาก 'ในพื้นหลัง' ที่คุณอาจไม่รู้ด้วยซ้ำ นี่คือวิธีการควบคุมพวกเขา





ลินุกซ์ สตาร์ทอัพ

เราทุกคนรู้วิธีฝึกฝน: คุณกดปุ่มเปิดปิดบนคอมพิวเตอร์ของคุณ รอสักครู่ แล้วกลับมาเข้าสู่ระบบที่ดูดี แต่จะเกิดอะไรขึ้นในช่วงเวลานั้น? ผู้ใช้ Linux รุ่นเก่าจะจำหน้า (และหน้า และ PAGES) ของข้อความวินิจฉัยที่จะเลื่อนดู ข้อความเหล่านี้มีข้อมูลเกี่ยวกับไดรเวอร์ที่กำลังโหลด พบระบบไฟล์ และกระบวนการต่างๆ ที่เริ่มต้นขึ้น





แพ็คเกจ amazon แจ้งว่าส่งแล้ว แต่ไม่

มาดูกันว่าเกิดอะไรขึ้นระหว่าง 'power-on' และ 'desktop log-in'





  1. เมื่อคุณเปิดคอมพิวเตอร์ ไบออสจะโหลดขึ้นมา นี่คือซอฟต์แวร์ที่จัดทำโดยผู้ผลิตฮาร์ดแวร์ (แยกจากระบบปฏิบัติการ) และมีการตั้งค่าบนอุปกรณ์ที่คุณต้องการเริ่มเซสชันของคุณ
  2. BIOS ขึ้นอยู่กับการตั้งค่าเหล่านั้น ผ่านการควบคุมไปยังดิสก์ที่มีอยู่จริงของคอมพิวเตอร์ตัวใดตัวหนึ่งโดยเฉพาะไปยัง bootloader . แม้ว่าโปรแกรมโหลดบูตสามารถตั้งค่าให้รวมข้อมูลการกำหนดค่าได้ งานหลักคือการส่งผ่านการควบคุมไปยังระบบปฏิบัติการ มีอินเทอร์เฟซสำหรับเลือกจากระบบปฏิบัติการต่างๆ หากคอมพิวเตอร์ของคุณมีมากกว่าหนึ่งเครื่อง GRUB เป็นโปรแกรมโหลดบูตมาตรฐานสำหรับลีนุกซ์รุ่นใหม่ล่าสุด
  3. เมื่อ bootloader เริ่มระบบปฏิบัติการ Linux เคอร์เนล (หรือหัวใจของระบบปฏิบัติการ) ถูกโหลด ซึ่งจะเชื่อมโยงกับฮาร์ดแวร์ของคุณ และจากนั้นจะเริ่มกระบวนการเดียวที่เราจะเรียกว่า a กระบวนการเริ่มต้น .
  4. นี้ กระบวนการเริ่มต้น มีหน้าที่รับผิดชอบในการเริ่มกระบวนการอื่น ๆ ทั้งหมดในระบบ ซึ่งรวมถึงแอปพลิเคชันเซิร์ฟเวอร์ (รวมถึงกระบวนการ X Server ที่คุณ เข้าสู่ระบบเดสก์ท็อปที่สวยงาม จะปรากฏขึ้น) ที่เรียกว่า 'ภูต' (โปรแกรมที่รออยู่เบื้องหลังสำหรับเหตุการณ์เฉพาะ เช่น ถ้วย ภูตการพิมพ์) และอื่นๆ (เช่น the cron daemon ที่รันโปรแกรมตามกำหนดเวลา)

นี่เป็นขั้นตอนสุดท้ายที่เกี่ยวข้องกับเรา โดยการตั้งค่าการปรับการกำหนดค่า คุณสามารถควบคุมได้อย่างแม่นยำว่าจะเริ่มต้นอะไรโดยค่าเริ่มต้น

Daemons กับ Services

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



เหตุใดจึงต้องเล่นซอกับการตั้งค่าเหล่านี้

ทำไมคุณถึงต้องกังวลกับสิ่งเหล่านี้เลย? ปล่อยให้เป็นค่าเริ่มต้นไว้ดีกว่าไหม

การรู้วิธีกำหนดค่าสิ่งที่จะเริ่มต้นเมื่อคอมพิวเตอร์บูทสามารถให้ประโยชน์สองประการ:





  • ประการแรก มันสามารถปรับปรุงประสิทธิภาพ จำเวลาที่คุณติดตั้ง Apache เพื่อลองใช้เว็บแอปใหม่นั้นได้ไหม เลขที่? ลองเดาสิ เว้นแต่คุณจะถอนการติดตั้งว่าเว็บเซิร์ฟเวอร์กำลังทำงานในพื้นหลัง และใช้ RAM อันมีค่า การปรับการตั้งค่าการเริ่มต้นหมายความว่าคุณสามารถปล่อยให้มันติดตั้งได้ แต่เพียงแค่เริ่มต้นเมื่อคุณต้องการ (ดูเคล็ดลับการเพิ่มประสิทธิภาพอื่นๆ ที่นี่ )
  • นอกจากนี้ บางโปรแกรมเหล่านี้อาจก่อให้เกิดปัญหาด้านความปลอดภัย ตัวอย่างเช่น Apache ดังกล่าวจะเปิดให้ติดต่อกับพอร์ต 80 ในขณะที่กำลังทำงานอยู่ หากมีปัญหาด้านความปลอดภัยกับ Apache การเปิดพอร์ตนั้นสู่โลกอาจทำให้ระบบของคุณตกอยู่ในความเสี่ยง ดีกว่าที่จะเริ่มต้นเซิร์ฟเวอร์เมื่อคุณต้องการและปิดตัวลงทันทีที่คุณทำเสร็จ

กระบวนการเริ่มต้นปัจจุบัน

ระบบ Linux ในปัจจุบันใช้ระบบเริ่มต้นหลักสองสามระบบ ดังอธิบายด้านล่าง

ในนั้น

ยาวระบบเริ่มต้นมาตรฐาน, ในนั้น ติดตามประวัติย้อนกลับไปถึงระบบ Unix ดั้งเดิมที่ใช้ Linux (ชื่อที่ถูกต้องคือ SysVInit ซึ่งมาจาก System V Unix) ระบบ init ขึ้นอยู่กับชุดของสคริปต์เริ่มต้นที่เก็บไว้ใน /etc/init.d หรือ /etc/rc.d ไดเร็กทอรีและแนวคิดของ 'runlevels' ตัวอย่างเช่น การแจกแจงแบบเดสก์ท็อปจะเริ่มต้นคุณใน 'runlevel 5' ซึ่งกำหนดเป็น 'โหมดผู้ใช้หลายคนพร้อมระบบเครือข่าย + ตัวจัดการการแสดงผล X' นี่คือเหตุผลที่เมื่อคุณเริ่มต้นหนึ่งในการกระจายเหล่านี้ คุณจะลงเอยด้วยการเข้าสู่ระบบเดสก์ท็อปกราฟิกที่ใช้ระบบ X ทันที





NS ในนั้น ระบบยึดมั่นในปรัชญา Unix โดยทำสิ่งเดียวและทำได้ดี ข้อโต้แย้งที่เปล่งออกมาโดยผู้เสนอของระบบก็คือ มันไม่ได้พยายามทำมากเกินไป ซึ่งแตกต่างจากทางเลือกอื่นๆ ต่อไปนี้

พุ่งพรวด

NS พุ่งพรวด ระบบคือความพยายามของ Canonical ในการเปลี่ยนความชรา ในนั้น ระบบ. มันให้ความเข้ากันได้กับ ในนั้น ระบบแต่ยังให้คุณสมบัติเพิ่มเติม รองรับ 'เหตุการณ์' เพื่อให้สามารถตอบสนองต่อการเปลี่ยนแปลงในระบบ เช่น การเสียบฮาร์ดแวร์ใหม่ นอกจากนี้, พุ่งพรวด สามารถทำงานร่วมกับผู้สูงอายุได้ ในนั้น การกำหนดค่าโดยให้การสนับสนุนย้อนหลังสำหรับแพ็คเกจและซอฟต์แวร์รุ่นเก่า

อย่างไรก็ตาม เมื่อ Debian (แหล่งต้นน้ำสำหรับแพ็คเกจ Ubuntu) ได้เปลี่ยนเป็น ระบบ , Canonical ตัดสินใจทำเช่นเดียวกัน การเปิดตัว Ubuntu 15.04 (Vivid Vervet) เป็นรุ่นแรกที่มีระบบเริ่มต้นใหม่เป็นค่าเริ่มต้น

ระบบ

มันจุดชนวนให้เกิดสงครามเปลวเพลิงครั้งใหญ่ครั้งหนึ่งในสมัยของเรา ในแง่ของการรับรู้ข้อบกพร่องของการเริ่มต้น (ซึ่งเน้น ที่นี่ ), ระบบ (หรือ ระบบภูต ) ได้รับการพัฒนา สิ่งนี้ใช้ระบบใหม่ทั้งหมดโดยมีเป้าหมายในการเริ่มบริการ 'เมื่อตรงตามเงื่อนไขทั้งหมด' เช่นเดียวกับ Upstart มันยังคงสามารถรองรับ ในนั้น - สคริปต์สไตล์ที่จัดเตรียมโดยแพ็คเกจจำนวนมาก โดยมีเพียงไม่กี่ตัว ข้อยกเว้นที่โดดเด่น .

สังเกตในภาพด้านบนว่าไดเร็กทอรีมีชื่อเช่น 'this.thing ต้องการ .' สิ่งนี้แสดงให้เห็นว่า systemd's พฤติกรรม 'ตามต้องการ' - เมื่อมีบางสิ่งที่ 'ต้องการ' เข้าถึงบลูทูธและตรงตามเงื่อนไข ระบบ จะเริ่มให้บริการสำหรับมัน

เครื่องมือในการจัดการภูต/บริการ

แม้ว่าจะไม่เคยเจ็บที่จะเรียนรู้วิธีการทำเช่นนั้นจากบรรทัดคำสั่ง (ตรวจสอบ บริการ คำสั่งสำหรับ ในนั้น / พุ่งพรวด , และ sysctl สำหรับ ระบบ ) ด้านล่างนี้คือแอปพลิเคชันผู้ช่วยสำหรับบริหารจัดการบริการของคุณ แม้ว่าคุณอาจจำเป็นต้องปรับแต่งการกำหนดค่า แต่โดยรวมแล้ว คุณจะต้องการเช่นกัน เปิดใช้งาน หรือตั้งค่าให้ทำงานโดยอัตโนมัติตามค่าเริ่มต้น หรือ ปิดการใช้งาน พวกเขา. โปรดทราบว่าบริการที่ปิดใช้งานยังคงสามารถเริ่ม (และหยุดในภายหลัง) ได้ทุกเมื่อที่คุณต้องการ

init.d

สำหรับผู้ใช้หลายคน rcconf เครื่องมือ (ร่วมกับที่กล่าวข้างต้น) บริการ ) จะทำทุกอย่างที่คุณต้องการ อินเทอร์เฟซผู้ใช้แบบข้อความ (TUI) แสดงรายการบริการที่มีอยู่ทั้งหมด คุณสามารถใช้ปุ่มลูกศรเพื่อเลื่อนขึ้นและลงรายการ และใช้แป้นเว้นวรรคเพื่อสลับว่าบริการควรเริ่มต้น (ด้วยเครื่องหมายดอกจัน) หรือไม่ ใช้แป้น Tab เพื่อย้ายไปมาระหว่างรายการและ ตกลง / ยกเลิก ปุ่มและแถบพื้นที่เพื่อเลือก

ปริมาณมากเกินไปสำหรับ fat32

ติดตั้งใน Ubuntu ด้วยสิ่งต่อไปนี้:

sudo apt-get install rcconf

เร้ดแฮทได้พัฒนา เครื่องมือกำหนดค่าบริการ แอปกราฟิกที่ปรากฏในอนุพันธ์ของมันตามค่าเริ่มต้น เช่น CentOS และ Fedora มันมีรายการที่คล้ายกันกับ rcconf ด้านบนและให้รายการที่คล้ายกันกับความสามารถในการตรวจสอบและยกเลิกการเลือกบริการเพื่อตั้งค่าให้ทำงานเป็นค่าเริ่มต้นหรือไม่ นอกจากนี้ยังมีปุ่มต่างๆ ที่ให้คุณเริ่ม/หยุด/เริ่มบริการเหล่านั้นได้

เครดิตภาพ: Red Hat และ CentOS

ระบบ

นักพัฒนา KDE ได้สร้างโมดูลสำหรับพวกเขา การตั้งค่าระบบ แอปพลิเคชั่นควบคุม ระบบ บริการ ตั้งอยู่ใต้ การดูแลระบบ หมวดหมู่ ช่วยให้คุณดูสถานะ เปิด/ปิด และแก้ไขการกำหนดค่าของบริการ (หรือ 'หน่วย') นอกจากนี้ยังมีตัวแก้ไขสำหรับ ระบบ ไฟล์การกำหนดค่า

ติดตั้งใน Ubuntu ด้วยสิ่งต่อไปนี้:

sudo apt-get install kde-config-systemd

ผู้จัดการระบบ เป็นแอพที่ใช้ GTK ที่มีอยู่ในที่เก็บบางแห่ง (รวมถึง Fedora และ Arch) ในขณะที่ผู้ใช้ Ubuntu สามารถคว้าไฟล์ .DEB ได้จากหน้า GitHub [ไม่มีให้ใช้งานอีกต่อไป] UI นั้นแตกต่างออกไปเล็กน้อยเนื่องจากเขียนในภาษา Rust แต่ก็ง่ายพอที่จะค้นหาการควบคุมเพื่อเปิดใช้งาน/ปิดใช้งาน และเริ่ม/หยุดบริการ ในขณะที่บานหน้าต่างตรงกลางขนาดใหญ่ช่วยให้คุณแก้ไขการกำหนดค่าได้

เมื่อคุณดาวน์โหลดแพ็คเกจแล้ว คุณสามารถติดตั้งด้วย:

sudo dpkg -i systemd-manager-download.deb

นอกจากนี้สำหรับเดสก์ท็อปที่ใช้ GTK แล้ว the ระบบadm เครื่องมือช่วยให้คุณสามารถเริ่ม/หยุด/เริ่มบริการใหม่ได้ ติดตั้งใน Ubuntu ด้วยสิ่งต่อไปนี้:

sudo apt-get install systemd-ui

อนาคตคือ systemd

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

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

แบ่งปัน แบ่งปัน ทวีต อีเมล 3 วิธีในการตรวจสอบว่าอีเมลจริงหรือปลอม

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

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • ลินุกซ์
  • เทคโนโลยีอธิบาย
  • ลินุกซ์
เกี่ยวกับผู้เขียน Aaron Peters(31 บทความที่ตีพิมพ์)

Aaron เชี่ยวชาญด้านเทคโนโลยีอย่างลึกซึ้งในฐานะนักวิเคราะห์ธุรกิจและผู้จัดการโครงการมาเป็นเวลาสิบห้าปีแล้ว และเป็นผู้ใช้ Ubuntu ที่ภักดีมาเกือบตราบเท่าที่ (ตั้งแต่ Breezy Badger) ความสนใจของเขารวมถึงโอเพ่นซอร์ส แอปพลิเคชันสำหรับธุรกิจขนาดเล็ก การผสานรวมของ Linux และ Android และการประมวลผลในโหมดข้อความธรรมดา

เพิ่มเติมจาก Aaron Peters

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก