החזקת APT או מסלול שדרוג: החזרת לקוח VPN לאחור
השוו החזקת חבילה זמנית מול תיקון קדימה לאחר רגרסיה בלקוח VPN, כולל מה ההחזקה מקפיאה, מה היא מתעלמת ממנו וכיצד לצאת ממנה.
עדכוני לקוח שוברים מנהרות, גרסאות ישנות ממשיכות לעבוד, וזה משאיר שני תיקונים ברורים. האחד מחזיק את החבילה במקומה וממתין לתיקון; השני מתקדם מיד להסדר נתמך. הם אינם שווים בבטיחותם, ואף אחד מהם אינו אסטרטגיית תחזוקה בלי מוצא. השוו אותם לפי מה שהם באמת מקפיאים לפני שתבחרו.
שני תיקונים לרגרסיה אחת
החזקת חבילה משאירה את הגרסה העובדת מותקנת ומונעת מ-APT להזיז אותה. היא קונה זמן, משאירה משתמשים מחוברים ומשאירה את הבאג הבסיסי ללא שינוי. התקדמות פירושה מציאת המהדורה הנתמכת שמתקנת את הרגרסיה, או החלפת בעל החיבור במשהו שההפצה עדיין מתחזקת. זה דורש יותר עבודה מראש ומסיר את הסיכון הקבוע.
הבחירה תלויה בשלוש עובדות שצריכות להיות בידיכם לפני ההחלטה: איזה רכיב עבר רגרסיה, האם קיימת מהדורה מתוקנת, וכמה זמן ניתן לסבול את המצב הזמני.
קבעו את הכשל לפני שתבחרו באחד מהם
עדכון ליבת NetworkManager, עדכון תוסף VPN ורגרסיה של עוזר פתרון נראים זהים מנקודת המבט של המשתמש ויש להם מועמדים שונים להחזרה. תעדו את החבילות, הגרסאות והשגיאה החדשה הראשונה במדויק.
apt-cache policy network-manager network-manager-openvpn
dpkg -l | grep -E 'network-manager|openvpn|wireguard'
מטא-נתוני החבילה עלולים להיות מיושנים אם הרשימות לא רועננו, לכן קראו אותם כרמז ואמתו מול הגרסה המותקנת בפועל. אל תיקחו גרסת יעד מפוסט בפורום; אותה מחרוזת גרסה ממהדורה אחרת עשויה לשאת סט תלויות שונה.
השוו מה ההחזקה מכסה
החזקה מונעת התקנה, שדרוג או הסרה אוטומטיים של חבילה. אבל היא אינה מקפיאה את התלויות שלה, אינה מתקנת חיבור ואינה הופכת קובץ בינארי ישן לבטוח. הפער הזה הוא כל ההשוואה. אם הרגרסיה הגיעה מספרייה שהלקוח מקושר אליה, החזקת הלקוח לא משנה דבר בזמן שהספרייה ממשיכה לזוז.
sudo apt-get -s install network-manager=1.42.4-1
apt-mark showhold
קודם כל הדמו את ההורדה בגרסה וקראו את השינויים המוצעים במלואם. הורדה שמסירה תלות ששולחן העבודה זקוק לה היא תקרית אחרת, וההדמיה היא המקום הזול ביותר לגלות אותה. אם החזקה היא באמת הגבול הזמני הנכון, כתבו אותה כהחלטה עם בעלים, סיבה ותנאי הסרה. החזקה בלי בעלים הופכת לתשתית קבועה שאיש לא מעז לגעת בה.
השוו את מסלולי היציאה
המסלול קדימה הוא תיקון של ההפצה או הספק, שמוחל לאחר אימות על חיבור עצמאי. זה משאיר את המערכת בתוך זרם העדכונים הנתמך וסוגר את החשיפה. מסלול ההגירה מחליף את הלקוח או המארח במשהו שההפצה עדיין מתחזקת. זה יותר עבודה ולעיתים קרובות התשובה הכנה היחידה כאשר לרכיב שעבר רגרסיה אין מהדורה מתוקנת באותו ענף.
sudo apt-mark unhold network-manager
sudo apt update
sudo apt full-upgrade
בכל יציאה שתבחרו, אמתו את הפרופיל המדויק, נתיב האימות, המסלולים, התנהגות ה-DNS וההתחברות מחדש לפני שתכריזו שסיימתם. מנהרה שעולה פעם אחת אינה אותו דבר כמו מנהרה ששורדת השהיה, שינוי רשת ואתחול. שמרו את ראיות הכשל לדוח הבאג: גרסאות חבילות, קטעי יומן, מבנה הפרופיל בלי סודות. לעולם אל תצרפו מפתחות פרטיים או אישורים כדי להפוך דוח לשלם יותר.
מה הרשומה חייבת להכיל
כתבו את ההחלטה בארבע שורות: מה עבר רגרסיה, מה הוחזק או שונה, מי הבעלים של המצב הזמני ומה מסיר אותו. הוסיפו את האימות שביצעתם, כי המהנדס הבא יחזור עליו.
החזקה עם תאריך יציאה היא גבול החזרה מנוהל. החזקה בלי תאריך היא הורדת גרסה בלתי מוסברת שהפכה בשקט לחלק מהתשתית.