มีวิธีใน systemd ในการอัปเดตเป้าหมายที่มีอยู่หรือไม่ต้องการ symlink เมื่ออัปเดตหน่วยเป็นเวอร์ชันที่ใหม่กว่าในลำดับชั้นของพาธการโหลดหน่วย
บน CentOS 3.10.0-1160.36.2.el7.x86_64 ด้วย systemd@ 219-78 ฉันมีหน่วยบริการที่เปิดใช้งานสำหรับผู้ใช้หลายคนเป็นเป้าหมายโดยใช้หน่วยเริ่มต้น
นั่นคือ symlink
/etc/systemd/system/multi-user.target.wants/foo.service
ชี้ไปที่หน่วยดั้งเดิมของแพ็คเกจ
/usr/lib/systemd/system/foo.service
ในภายหลัง ฉันปรับใช้ยูนิตเวอร์ชันที่แก้ไขแล้วกับ
/etc/systemd/system/foo.service
หลังจากวิ่ง systemd daemon-โหลดซ้ำ, systemd รู้ในหลักการเกี่ยวกับหน่วยที่อัปเดต อย่างไรก็ตาม หลังจากรีบูตโหนดแล้ว หน่วยบริการเดิมก็เริ่มทำงานอีกครั้งโดย ระบบ เนื่องจาก symlink ไม่ได้รับการอัพเดต
ฉันต้องปิด/เปิดใช้งานหน่วยอย่างชัดเจน เช่น ลบและตั้งค่า symlink อีกครั้งเพื่อชี้ไปยังตำแหน่งของหน่วยที่อัปเดต
มีวิธีอัปเดต symlink เป้าหมายโดยอัตโนมัติในทำนองเดียวกันหรือไม่ โหลด daemonเมื่อใดที่หน่วยได้รับการอัปเดตหลังจากวางเวอร์ชันหน่วยให้สูงขึ้นในลำดับชั้นเส้นทางของ sytemd