ในการลบไฟล์บริการ จำเป็นอย่างยิ่งที่จะต้องเข้าใจชุดของไดเร็กทอรีที่มีไฟล์บริการนั้น
โดยทั่วไปไฟล์บริการจะถูกจัดเก็บไว้ในไดเร็กทอรีเฉพาะหลายไดเร็กทอรี ขึ้นอยู่กับวัตถุประสงค์และใครเป็นผู้ติดตั้ง รายการไดเรกทอรีได้รับด้านล่าง
/lib/systemd/system | ไฟล์บริการจากแพ็คเกจที่ดาวน์โหลด |
/etc/systemd/system | ไฟล์บริการโดยผู้ดูแลระบบ |
~/.config/systemd/users | บริการไฟล์โดยผู้ใช้ทั่วไป |
ดังนั้น หากมีการดาวน์โหลดแพ็คเกจและให้บริการ daemon และบริการต่างๆ ไฟล์เหล่านี้จะถูกจัดเก็บไว้ใน /lib/systemd/system ไดเรกทอรี ที่ /etc/systemd/system ไดเร็กทอรีมีไฟล์บริการที่สร้างโดยผู้ดูแลระบบและมีเพียงผู้ใช้ sudo เท่านั้นที่สามารถแก้ไขได้ ในขณะที่ ~/.config/systemd/users ไดเร็กทอรีมีไฟล์บริการที่สร้างโดยผู้ใช้ปกติ
วิธีการเข้าถึงไฟล์บริการ
ขั้นตอนแรกของการลบไฟล์บริการคือการค้นหาเส้นทางที่แน่นอนของไฟล์นั้น หากต้องการค้นหาเส้นทางให้ใช้ สถานะ systemctl คำสั่งพร้อมชื่อบริการ
สถานะ systemctl - บริการ-ชื่อ -หากต้องการค้นหาชื่อบริการ คุณสามารถแสดงรายการบริการที่ทำงานอยู่ทั้งหมดได้
systemctl รายการหน่วยไฟล์ --พิมพ์ =บริการ --สถานะ = กำลังวิ่งหากคุณต้องการแสดงรายการบริการทั้งหมด ให้ใช้คำสั่ง systemctl ด้วย -พิมพ์ และ -สถานะ ตัวเลือก.
systemctl รายการหน่วยไฟล์เช่น การหาเส้นทางหน่วยของ myservice.service ฉันจะรันคำสั่งสถานะ
สถานะ systemctl myservice.serviceผลลัพธ์จะแสดงเส้นทางของไฟล์หน่วยใน โหลดแล้ว ส่วน.
เมื่อเราได้รับเส้นทางของบริการแล้ว เราจะดำเนินการลบมันในขั้นตอนต่อไป
คำเตือน: ก่อนที่จะลบไฟล์เซอร์วิสออกจากระบบ จำเป็นอย่างยิ่งที่จะต้องมีความเข้าใจอย่างสมบูรณ์เกี่ยวกับไฟล์เซอร์วิสของระบบและความสำคัญของไฟล์เหล่านั้นสำหรับระบบ การลบไฟล์บริการที่สำคัญออกจากระบบอาจทำให้เกิดความเสียหายอย่างถาวร
วิธีการลบไฟล์บริการ
หากต้องการลบบริการบน Linux ให้ทำดังนี้ ระบบ และ RM จะใช้ยูทิลิตี้บรรทัดคำสั่ง ใช้ systemctl เพื่อหยุดและปิดใช้งานบริการ จากนั้นจึงใช้งาน RM เพื่อลบไฟล์บริการออกจากไดเร็กทอรีที่เกี่ยวข้อง
หากต้องการลบไฟล์บริการ ให้ทำตามลำดับคำสั่งด้านล่าง
ซูโดะ systemctl หยุดบริการ-NAMEซูโดะ systemctl ปิดการใช้งานชื่อบริการ
ซูโดะ RM - lib - ระบบ - ระบบ - บริการ-ชื่อ #บริการจากแพ็คเกจที่ดาวน์โหลดมา
ซูโดะ RM - ฯลฯ - ระบบ - ระบบ - บริการ-ชื่อ #บริการโดยผู้ดูแลระบบ
ซูโดะ RM - - .กำหนดค่า - ระบบ - ผู้ใช้ - บริการ-ชื่อ #บริการโดยผู้ใช้ทั่วไป
ซูโดะ systemctl daemon-รีโหลด
ซูโดะ การรีเซ็ต systemctl ล้มเหลว
ประการแรก แนะนำให้หยุดบริการเพื่อให้แน่ใจว่าบริการจะไม่ทำงานในระหว่างการลบ แม้ว่าการปิดใช้งานจะป้องกันไม่ให้เริ่มต้นใหม่อีกครั้งก็ตาม จากนั้นจะต้องปิดการใช้งานซึ่งจะป้องกันไม่ให้บริการเริ่มทำงานโดยอัตโนมัติ การปิดใช้งานบริการจะลบลิงก์สัญลักษณ์ที่สร้างขึ้นใน .ต้องการ/ หรือ . กำหนดให้มี/ ไดเรกทอรี หลังจากนั้นให้ลบไฟล์บริการโดยใช้นามสกุล RM คำสั่งจากไดเร็กทอรีที่เกี่ยวข้อง
โหลดการกำหนดค่า systemd ใหม่โดยใช้ daemon-รีโหลด และการดำเนินการ รีเซ็ตล้มเหลว สั่งการ. คำสั่งรีเซ็ตล้มเหลวจะรีเซ็ตบริการทั้งหมดที่มีสถานะล้มเหลว
ตัวอย่าง
ในตัวอย่างนี้ เราจะลบบริการที่สร้างโดยผู้ดูแลระบบ ชื่อบริการคือ myservice.service และถูกวางไว้ใน /etc/systemd/system ไดเรกทอรี
ตรวจสอบสถานะของบริการ
สถานะ systemctl myservice.service
บริการกำลังทำงานอยู่ สังเกตเส้นทางตรงข้ามกับ โหลดแล้ว ส่วนและ ปิดการใช้งาน บริการ.
ซูโดะ systemctl ปิดการใช้งาน myservice.service
นอกจากนี้ยังจะลบลิงก์สัญลักษณ์ออกจาก /etc/systemd/system ไดเรกทอรี
จากนั้นให้ลบไฟล์บริการโดยใช้นามสกุล RM เส้นทางไฟล์คำสั่งและบริการ
ซูโดะ RM - ฯลฯ - ระบบ - ระบบ - myservice.serviceตอนนี้ให้โหลดการกำหนดค่า systemd อีกครั้งเพื่อใช้การเปลี่ยนแปลง
systemctl daemon-รีโหลดนั่นแหละ! บริการถูกลบออกและไม่ได้อยู่ในระบบของคุณอีกต่อไป ตรวจสอบโดยการตรวจสอบสถานะการบริการ
บทสรุป
การลบบริการถือเป็นข้อบังคับหากบริการทำงานอยู่ แม้ว่าจะไม่จำเป็นอีกต่อไปก็ตาม สามารถใช้ทรัพยากรระบบได้หากปล่อยทิ้งไว้โดยไม่มีใครดูแล ในคู่มือนี้ ฉันได้กล่าวถึงวิธีการทั้งหมดในการลบบริการออกจาก Linux ขั้นแรก ระบุชื่อบริการและเส้นทาง จากนั้นปิดใช้งาน หลังจากนั้น ให้ลบไฟล์บริการออกจากไดเร็กทอรีที่เกี่ยวข้องและโหลดการกำหนดค่า systemd อีกครั้งเพื่อให้ขั้นตอนเสร็จสมบูรณ์