מדיניות הפעלה מחדש שהוספה למנהרה אחת מתחילה לחול על כל מנהרה במחשב. זו אינה תקלה של systemd; זהו ההבדל בין drop-in של מופע ל-drop-in של תבנית. הנתיב שתחתיו אתם כותבים את הקובץ קובע כמה שירותים יירשו אותו.

בחרו את ההיקף לפני ההגדרה. שתי התיקיות נראות כמעט זהות, ורק אחת מהן מוגבלת למופע שהתכוונתם אליו.

התסמין: עריכה אחת, כל המנהרות

drop-in ייעודי למופע יושב תחת תיקייה הנקראת על שם המופע המלא, למשל [email protected]. drop-in של תבנית יושב תחת [email protected], עם סימן ה-@ ובלי שם מופע ביניהם. הראשון חל רק על office. השני חל על כל שירות שנוצר מהתבנית הזו.

צורת התבנית אינה מגיעה לתבנית [email protected] נפרדת, ואינה מגיעה לשירותים לא קשורים שיש בהם openvpn בשם.

בחרו את התיקייה שמתאימה להיקף

שתי התיקיות נמצאות תחת /etc/systemd/system/. השמטת הרכיב האחרון system יוצרת נתיב ש-systemd אינו קורא כעקיפת מערכת, וזו דרך שקטה לגרום לקובץ שנראה תקין לא לעשות דבר. כתבו את הנתיב המלא פעם אחת והשתמשו בו שוב.

drop-in זקוק גם לכותרת המדור הנכונה. הגדרות שירות שייכות תחת [Service]. קובץ עם הגדרות אבל בלי מדור מתעלמים ממנו או נדחה, והיחידה ממשיכה להתנהג כמו קודם בזמן שהקובץ יושב שם ונראה סמכותי.

שמרו את המטרה בשם הקובץ אם אתם מוסיפים יותר מ-drop-in אחד. הסדר הלקסיקוגרפי קובע את המיזוג, ושם שמספר מה הקובץ עושה הופך את הסדר הזה לקריא.

קראו את היחידה הממוזגת לפני הכתיבה

קראו את היחידה הממוזגת לפני שתכתבו משהו. systemctl cat [email protected] מדפיס את היחידה הראשית ואת כל drop-in שחל, לפי סדר המיזוג. השוו אותה למופע שני כשאתם שוקלים שינוי תבנית. ההשוואה הזו מראה בדיוק אילו שירותים יירשו את העריכה.

קובץ מופע אינו מוחק הגדרות תבנית. שניהם ממוזגים, ולכן ערך תבנית ששכחתם יכול עדיין לחול.

גם drop-in אחרים בעלי שם, הגדרות זמן ריצה ותצורה שמסופקת על ידי חבילות משתתפים. אל תניחו שהקובץ שערכתם אחרון הוא כל היחידה. הפלט הממוזג הוא היחידה.

הרחיקו את מדיניות היחידה מהפרופיל

הפרידו בין מדיניות היחידה לתצורת VPN. הנחיית פרופיל אינה הופכת לתחביר systemd תקף מפני שהיא יושבת תחת [Service]. גם הגדרת הפעלה מחדש אינה שייכת לקובץ .ovpn.

ההפרדה הזו היא גם הסיבה לכך שמדיניות הפעלה מחדש אינה אותו דבר כמו השחזור העצמי של עמיתים ש OpenVPN מבצע בעצמו. החליטו איזו התנהגות אתם רוצים לפני בחירת היקף.

החילו אותו ואמתו את המופע

לאחר השינוי, טענו מחדש את ההגדרות של המנהל עם systemctl daemon-reload. הטעינה מחדש הזו אינה מפעילה מחדש את המנהרה; היא רק קוראת שוב קובצי יחידה. אחר כך החילו את פעולת מחזור החיים שייעדתם על המופע המדויק.

אמתו בקריאה חוזרת של היחידה הטעונה ובצפייה בהתנהגות ששיניתם. הפעלה מחדש שנושאת עבודה פעילה ראויה להפסקה מתוכננת, לא לבדיקה מהירה במנהרת ייצור. תעדו את מטרת העקיפה ואת היקפה לצד הפריסה כדי שהאדם הבא ידע אם הקובץ נועד לשיתוף.

אם המדיניות אכן משותפת, העבירו אותה לתבנית במכוון ובדקו מופע שני לפני שאתם מכריזים שסיימתם.מדריך היחידות של systemd מתעד את קדימות ה-drop-in ואת סדר המיזוג.

מאמרים קשורים