Score:5

วิธีเปลี่ยนชื่อบริการ systemd โดยไม่ส่งผลกระทบต่อกระบวนการ (ไม่หยุด/เริ่มใหม่)

ธง eg

มีเหตุผลหลายประการที่ต้องเปลี่ยนชื่อบริการ systemd ในการผลิต ตัวอย่างเช่น:

  • เพื่อแยกความแตกต่างจากสิ่งใหม่ให้ดีขึ้น
  • เพราะเจ้านายสั่งไว้
  • เนื่องจากสคริปต์ดั้งเดิม
  • ...

สมมติว่าบริการทั่วไปใหม่ที่สร้างขึ้นใน /etc/systemd/system/foo.service และเปิดใช้งานและเริ่มต้นดังต่อไปนี้: [1]

systemctl daemon-โหลดซ้ำ
เปิดใช้งาน systemctl -- ตอนนี้ foo

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

ในสถานการณ์ปกติ คุณสามารถทำได้ดังนี้:

mv foo.service bar.service
systemctl daemon-โหลดซ้ำ
systemctl ปิดใช้งาน foo
แถบเปิดใช้งาน systemctl

จากนั้นคุณจะได้รับ:

  • systemctl สถานะ foo: วิ่ง ไม่พบ พิการ
  • แถบสถานะ systemctl: ไม่ได้ทำงาน เปิดใช้งาน

ดังนั้นคุณอาจต้องการแก้ไขด้วย:

systemctl หยุด foo
แถบเริ่มต้น systemctl

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

ในระยะสั้น คุณจะใช้วิธีใดในการเปลี่ยนชื่อบริการ systemd ในการผลิต

เงื่อนไขในอุดมคติคือการมีบริการทั้งสองที่เข้ากันได้แบบย้อนหลัง ดังนั้นการหยุด ฟู ยังหยุด บาร์ และในทางกลับกัน.


Score:7
ธง cn

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

  1. สร้าง symlink ด้วยชื่อใหม่ที่ต้องการซึ่งชี้ไปยังไฟล์บริการที่มีอยู่ (และ systemctl daemon-โหลดซ้ำ).
    ระบบ ถือว่า symlinks ไปยังหน่วยเป็นนามแฝง แทนที่จะแยกหน่วย หมายความว่าชื่อทั้งสองจะหมายถึงหน่วยเดียวกัน (สถานะเดียวกัน เหมือนกันทุกอย่าง)
  2. วางแผนที่จะเปลี่ยนบริการระหว่างช่วงเวลาบำรุงรักษาถัดไปของคุณ

โพสต์คำตอบ

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