שדרוג דביאן Etch לLenny

שדרגתי את השרת שמפעיל את הבלוג הזה ואת האתר של פיירסטטס מדביאן Etch לדביאן Lenny.
הסיבה היא שקצתי בחבילות ישנות, ספציפית יש לי בעיה באתר של פיירסטטס (שרץ על trac) שמאוד יכול להיות שנובעת מגרסא ישנה של python ו/או גרסא ישנה של sqlite.

בכל אופן, השדרוג לא היה חלק במיוחד, אבל נראה שהוא הסתיים בהצלחה.
באופן רגיל, שדרוג של הפצת דביאן מתבצע כך:
משנים את /etc/apt/sources.list ומחליפים כל אזכור של etch בlenny.
מבצעים apt-get update
מבצעים apt-get dist-upgrade
ומקווים לטוב.

במקרה שלי, הוספתי שני שלבים נוספים:
אני משתמש בסקריפט בשם ipkungfu שאחראי להגדיר את הפיירוואל של השרת. הממשק שלו הרבה יותר ידידותי מזה של iptables (והוא בסך הכל מעטפת שדואגת שאני לא אצטרך להשתמש בiptables ישירות).
מכיוון שאני יודע שהיה שינוי בתחביר מהגרסא הישנה שבEtch לגרסא שבLenny, דאגתי לכבות את הפיירוואל לפני העדכון כדי לא לנעול את עצמי מחוץ למערכת בטעות.
לא בטוח שזה מה שהיה קורה, אבל עדיף להיות בטוח.

כדי לצמצם את הזמן שהאתר היה למטה, הורדתי מבעוד מועד את כל החבילות על ידי הרצת:
apt-get dist-upgrade –download-only
שמוריד את מה שצריך אבל לא מתקין.

אחרי ההכנות האלו, הרצתי dist-upgdade רגיל בתקוה שההרפתקאה לא תהפוך לסופת חרא.
אחרי השדרוג, הבעיה הראשונה שהבחנתי בה היתה שהאפאצ'י מתלונן על זה:
[code]
apache2[Fri Oct 24 19:09:36 2008] [warn] NameVirtualHost *:80 has no VirtualHosts
[/code]
מסתבר שהחברים בדביאן החליטו להוסיף את ההצהרה על שימוש בהוסטים וירטואליים לקובץ הports.conf, מה שאמר שהיו שתי הצהרות כאלו.
הודעת השגיאה הסתומה שקיבלתי היא התוצאה.
הסרתי את ההגדרה שלי והבעיה נעלמה.

בעיה נוספת היא שtrac הפסיק לעבוד.
האמת היא שמכיוון שלא התקנתי את trac דרך apt-get הייתי מופתע אם הוא ההיה ממשיך לעבוד.
הסיבה הפעם היא שדביאן לני מתשמש בPython 2.5 ומכיוון שתוכניות פייתון מותקנות משום מה לתוך ספריה שספציפית לגרסאת הפייתון, הייתי צריך להתקין מחדש את trac לתוך פייתון 2.5.
עד כאן הכל טוב.

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

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

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

Debian live

מחר אני נוסע לאינטל חיפה כדי לבדוק את הביצועים של תוכנה שאנחנו מפתחים על הדור הבא של המעבדים של אינטל (ארכיטקטורת Nehalem), שישוחררו עוד כחודש וחצי.
אני הולך לבדוק מכונה עם שני מעבדים של ארבעה ליבות כל אחד, כאשר כל ליבה מריצה שני נימים (אינטל מחזירים את הHyperThreading) – ככה שבעצם המוכנה הזו תהיה שקולה למדי למכונה עם 16 ליבות.
הארכיטקטורה החדשה של נהלם צפויה לתת ביצועים טובים משמעותית לעומת הדור הנוכחי (לכל ליבה), בצריכת חשמל יותר נמוכה.
מומלץ מאוד לראות את הדמו.

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

חשבתי לעצמי שיהיה נחמד לבוא עם סביבה מוכנה במקום לבוא ולהתקין הכל במקום בסביבה זרה, ומה יותר מתאים לזה מLIVE CD + כונן קשיח נייד?
הבחירה הטבעית שלי היתה Knoppix, הורדתי את הISO, העלתי אותו בVirtualBox, שמתי את האפליקציה על הדיסק הנייד והתחלתי לנסות להפעיל אותה.
למרבה הצער היו מלא בעיות, כשהקש ששבר את ראש הגמל היה שlibstdc++ היה מגרסא לא מתאימה.
החלטתי לוותר על התענוג, וביגוני חיפשתי בגוגל "Debian live cd".
התוצאה המפתיעה היא שיש פרוייקט בשם Debian live!

כמו תמיד עם live cd, חיפשתי מאיפה מורידים את הISO, התחלתי להוריד, ולמרבה המזל מהירות ההורדה היתה כ20K בשניה.
למה מזל?
כי במהירות כזו, היה לי מספיק זמן כדי להסתכל קצת מסביב.

About

A Debian Live system is a Debian operating system that does not require a classical installer to use it. It comes on various media, including CD-ROM, USB sticks, or via netboot.

Why Debian Live?
Although the Debian Live project is about the framework to create your own customized Live system, we offer some prebuilt images. Currently, builds for three desktop environments (GNOME, KDE and Xfce) as well as the standard system are available.

אז דביאן לייב היא בעצם מערכת ליצירת Live CD – מגניב, אבל ראיתי כבר כאלו:
לפני כשנה וחצי הגשתי פרוייקט של מנוע שחמט על דיסק Knoppix מותאם אישית.
התהליך של יצירת דיסק Knoppix מותאם הוא די מיגע, וסיקרן אותי לדעת איך זה בדביאן לייב.

מסתבר שהתהליך הוא פשוט במיוחד. כדי ליצור דיסק בסיסי ועובד:
[code]
apt-get install live-helper
mkdir live-cd
cd live-cd
lh_config
lh_build
[/code]

במילים, מתקינים את live-helper, יוצרים ספרית עבודה, משתמשים בlh_config כדי ליצור קופיגורציה בסיסית, ובlh_build כדי לבנות ממנה ISO.
התהליך יכול לקחת זמן, ומומלץ להתקין את apt-cacher כדי לחסוך בזמני הורדה של חבילות דביאן.
אפשר לבדוק את הISO עם VirtualBox. המערכת שהוא מכיל היא בסיסית מאוד, אבל אפשר להתקין בתוכה מה שרוצים עם apt-get.
יש כמה דרכים להוסיף חבילות שיהיו מותקנות מראש בISO:
כדי להוסיף חבילות סטנדרטיות, בסך הכל צריך להוסיף את השם שלהן בLH_PACKAGES בקובץ config/chroot בספרייית הקונפיגורציה שיצרתם.
יש גם דרכים להוסיף חבילות מותאמות אישית, ואפשר גם להוסיף קבצים ספציפייים בקלות.
מי שהתקין את apt-cacher ירצה לשנות את מקורות ההתקנה של יצירת הISO, אפשר לעשות את זה על ידי עריכה של config/bootstrap.

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

אני ממליץ בחום על Debian live למי שצריך Live CD.
קל מאוד ליצור דיסקים איתו, והתוצאה היא מערכת דביאן לכל דבר, שעולה מCD/DVD.