קו דק מפריד בין בטחון עצמי מופרז לטיפשות
השרת של Whatsup.org.il הריץ אובונטו 6.06 LTS במשך תקופה ארוכה, אך תקופת התמיכה, 5 שנים, פגה לפני זמן רב ואובונטו שחררו מספר גרסאות LTS מאז.
כאשר משדרגים שרתים כדאי מאוד שתהיה גישה פיזית למכונה במקרה שמשהו ישתבש (דברים רבים עשויים להשתבש ואכן משתבשים בפועל) והמכונה לא תאתחל כראוי. אך היה לנו קשה להגיע לחוות השרתים של בזק בינלאומי אשר מארחת אותנו.
בנוסף, כאשר שרת נמצא בפיגור כל כך גדול של גרסאות, כדאי פעמים רבות לגבות את הכל ולבצע התקנה נקיה ־ גם כאן גישה פיזית די נדרשת.
לאחר שגררנו את רגלינו במשך זמן רב, נמאס לי. במה שאפשר לתאר כעודף ביטחון עצמי או טיפשות, החלטתי לבצע את השדרוגים מעל חיבור ssh מגרסה 6.06 דרך גרסאות ה-LTS הבאות עד לאחרונה, 12.04.
התהליך ארך מספר שבועות, עם הפסקות ארוכות בין שדרוג אחד למשנהו.
למרבה הצער לא הכל הלך חלק. do-release-upgrade בגרסה 6.06 היה שבור ובנוסף מאגרי הגרסה (הנדרשים בתהליך השדרוג) לא היה זמינים בשרתי אובונטו הרגילים, שם הפקודה מנסה למצוא אותם, אלא עברו אל old-releases.
הבעיות הנ"ל דרשו התערבות ידנית: הוספת sleep לקוד השדרוג, בזמן שהתהליך המתין לבצע מספרים שינויים ידניים בקבצי תצורה לתיקון הבעיות ואז לתת לו להמשיך (די דומה לתהליך המתואר בשאלה #62184, למרות הגרסאות השונות).
במהלך אחד השדרוגים הצלחתי למחוק את ה-cluster הראשי של PostgreSQL (אשר משמש כבסיס הנתונים לאתרים נוספים המתארחים בשרת, כמו debian.org.il). בסיס הנתונים שוחזר מהגיבוי (כן, יש לנו כאלה, הודות ליהודה).
לאחר השדרוג לגרסה 12.04 שירות ה-lighttpd הפסיק לעבוד. פתרון קל נמצא בבאג #1067315 (מוזר מדוע לא טופלה הבעיה, נראית די פשוטה לפתרון).
השדרוג מ־PHP4 ל־PHP5 גבה קורבנות ממערכת הפוסט ניוק המחורבנת שפועלת על השרת (כמו הוויקי) ודרש מספר תיקוני קוד בחלקים שונים של המערכת.
לאחר מספר התקפי לב קרובים השרת מריץ את ה-LTS האחרון והאתרים במצב שמיש. האם הייתי עושה זאת שוב? לא בטוח, אך ההכרח הוא אבי ההמצאה ;-)
Translations