Score:1

ระบบอัตโนมัติ systemd เพื่ออัปเดต symlink หน่วยที่เปิดใช้งานเมื่ออัปเดตหน่วย

ธง us
THX

มีวิธีใน 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

Michael Hampton avatar
cz flag
ตามกฎทั่วไป คุณควรใช้การแทนที่แทนที่จะพยายามแทนที่ทั้งหน่วย สิ่งนี้จะไม่เกิดขึ้นหากคุณทำเช่นนั้น
us flag
THX
@MichaelHampton โชคไม่ดีที่ฉันไม่ถือว่าการแก้ไข/เขียนทับของ systemctl ใช้ไม่ได้กับเครื่องที่อยู่ภายใต้การควบคุมของการจัดการการกำหนดค่าเช่นหุ่นกระบอก ansible เป็นต้น
Michael Hampton avatar
cz flag
เอ๊ะ? นั่นคือสิ่งที่พวกเขาดีสำหรับ!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา