טוב מאוחר מלעולם לא
מאת יחזקאל בתאריך כ״ד באייר תשע״ב (15 ביולי 2010)
אזהרה: הפוסט מכיל לא מעט ג'יבריש טכני. הפוסט מוגש לקורא/ת כפי שהוא (AS IS) ללא אחריות נוספת מצד הכותב. (למעשה, אם למישהו יש שאלות אני תמיד שמח לענות.)
צדק בוריס כשטען שבעיות טכנולוגיות הן התמריץ הכי חזק שלי לכתוב פוסט, מזכיר לי קצת את מה שאמר אלוןאיתן.
סוף סוף החלטתי לעדכן את מערכת ההפעלה מאובונוטו 9.10 לגרסה החדשה, אובונטו 10.04. לא עדכנתי מיד כשהיא יצאה (בשונה ממעברים קודמים שלי) כי הפריע לי השדרוג של LyX, עורך טקסט שאני משתמש בו באופן קבוע, לגרסה 1.6.5 שיש בה באג מעצבן שמפריע לכתיבה השוטפת. כשיצאה אובונטו 10.04 כבר הייתה גרסה 1.6.6 ל־LyX (כעת יש כבר 1.6.7), אבל כידוע לכולנו, בהפצות לא ממהרים לעדכן חבילות כאלה כשלא מדובר על בעיות אבטחה. מאז הספקתי לעבור להשתמש בגרסה 2 שעדיין בפיתוח, אני מעדכן מידי כמה ימים מה־svn, מקמפל (למעט הקימפול הראשון, כעת זה לא לוקח יותר מדקותיים) ומשתמש כרגיל. יש לציין שהיא עובדת בצורה יציבה למדי, ובינתיים הבאגים שנתקלתי בהם די נסבלים.
טוב, אם אני לא תלוי בהפצה לגבי LyX, למה לא לשדרג? אז הנה, שדרגתי. הפעלתי את כלי השדרוג, אישרתי לו את השינויים, ונתתי לו לישון על זה לילה. בבוקר רק הייתי צריך לאשר כמה שינויים בקובצי ההגדרות, עוד כמה הגדרות אחרונות שרצו (כי בקשות האישור תוקעות את כל התהליך) והנה מערכת חדשה מחכה. כלומר, לא לחלוטין, שינויי האייקונים ניכרו מיד (עשו אותם הרבה יותר יפים!), אבל ברור שהרבה דברים אחרים יופיעו רק אחרי אתחול של מנהל החלונות, ועדכון הקרנל ממילא מחייב הפעלה מחדש אם רוצים שהוא ישפיע, אז יאללה, הפעלה מחדש.
ו-בום, אני מקבל את ההודעה הבאה מיד כשמנהל האתחול (grub) עולה:
the symbol 'grub_puts_' not found
ואז שורת פקודה עם המנחה:
grub rescue >
מה עושים עכשיו? אני מכיר קצת את הפקודות של גראב, אבל במצב הזה לא הייתה זמינה שום עזרה, לא דרך פקודת help ולא על ידי לחיצת טאב (להשלמה אוטומטית). קצת ניסיונות ומשחקים הראו לי שכנראה לא אצא מזה ככה. זה הזמן להעלות מערכת מ־Live CD. איפה הבעיה? יש לי דיסק של אובונטו 8.10. ישנה מידי מכדי להועיל משתי סיבות: א. היא לא תומכת במחיצות מסוג ext4, אלה שכיום הן כבר ברירת המחדל. ב. יש בה את גראב בגרסתו הישנה, 0.97, לעומת 1.98 (או פשוט grub2) הנוכחית, ולא בא לי להסתבך עם לעדכן את הגראב חזרה אחרי שכתוב שלו עם גרסה ישנה. אבל זה מה שיש ועם זה ננצח, חשבתי כשהמערכת עולה לה מהדיסק.
לא אלאה אתכם בכל הניסיונות שעשיתי, אבל בסופו של דבר נמצא הפתרון. הורדתי את גראב כקוד מקור, קימפלתי (למרבה המזל התלויות נדרשות בגרסאות שקיימות ב־8.10, כך שלא היה צורך להסתבך יותר מידי, רק להתקין כמה שהיו חסרות), התקנתי, והנה יש את התוכנות שמשמשות להתקנת מנהל האתחול בפועל על הדיסק.
כעת אני מניח שיכלתי להתקין ישירות לדיסק הקשיח, מחיצת boot שלי עדיין ב־ext3 (מן הסתם בדיוק לכאלה מקרים) והייתי אמור להצליח להעלות אותה, אבל משום מה לא זה מה שעשיתי, קשה לי כעת להבין למה בדיוק. מה שכן עשיתי היה להתקין את גראב על כרטיס זיכרון שהוצאתי מהמצלמה (זה מחשב נייד ויש חריץ לכרטיסי זיכרון).
sudo grub-install –root-directory=/media/CANON_DC /dev/sdb
(אלה השמות של הכונן הזה ושל התיקייה בה אובונטו טענה אוטומטית את הכונן) וההתקנה עברה בשניות, בלי למחוק שום דבר מהכרטיס (אין צורך בפירמוט).
הפעלה מחדש, הכוונה של המחשב לאתחול מכרטיס הזיכרון (במקרה של המחשב הזה, לחיצה על F9 מעלה תפריט לבחירת התקן האתחול, לא צריך לשנות באופן קבוע ב־BIOS את סדר האתחול) והנה שורת פקודה רגילה של grub. [ג'יבריש גרוע עוד יותר, ליודעי גראב בלבד] בחירה במחיצה הנכונה כ־root, טעינה של הקרנל ושל ה־initrd [/ג'יבריש גרוע עוד יותר], והנה המערכת עולה לה. קצת בעיות עם מנהל החלונות, אין לחלונות שורת תפריט, במקום זה התפריט משתלב לו בפאנל העליון במקום התפריט הראשי, זה אמנם שינוי שמתוכנן לקרות בגרסאות הבאות של אובונטו (בהשראת מק), אבל בצורה שעובדת… כנראה שזה היה באשמת compiz, אבל לך תדע. ממילא כל מה שהייתי צריך היה טרמינל, ולמצבים כאלה יש בלינוקס מסופים וירטואליים. עברתי לאחד כזה (קונטרול+אלט+F1, אם לא הכרתם עד היום), התקנתי מחדש את גראב (פקודה דומה לזו שהתקינה לי אותו על כרטיס הזיכרון, עם התוספת –recheck כדי לוודא שקובץ מיפוי ההתקנים ייווצר מחדש. כן, שכחתי לציין, הוא זה שגורם לשגיאה שהוזכרה בתחילת הפוסט. הפעלה מחדש של המערכת והכל עולה חלק, גם בעיית התפריטים הסתדרה לה איכשהו.
בחלונות זה לא היה קורה! (שם הייתי צריך כנראה להתקין מחדש את כל המערכת או משהו.)
רגע לפני פרסום הפוסט: במקרה מצאתי עוד מישהו שנתקל בבעיה הזו כבר מזמן, במקרה שלו היה לו דיסק של אובונטו 9.10 והפתרון היה קל יותר.
ה׳ באב תש״ע (16 ביולי 2010) @ 12:16
טוב לראות אותך חוזר.
נראה לי שנסחפת. לקמפל את הגראב, אתחול מכרטיס זכרון?
יכולת להוריד חבילה מוכנה של הגראב או פשוט להוריד אובנטו מעודכנת.
בכלל תמיד טוב שיהיה בבית דיסק התקנה מעודכן, אני מקווה שעכשיו סדרת לעצמך אחד כזה.
ה׳ באב תש״ע (16 ביולי 2010) @ 14:08
חתול,
ממש לא נסחפתי. חבילה מוכנה? מתי ניסית לאחרונה להוריד חבילה שהוכנה בשביל גרסה אחת של אובונטו ולהתקין אותה לגרסה ישנה יותר? תצטרך לעדכן עוד חצי מערכת בגלל שהתלויות די קשיחות בדרישות של הגרסאות.
להוריד אובונטו מעודכנת? כלומר הורדה של יותר משעה של קובץ תמונת דיסק מלא ואז לבזבז על זה דיסק, במקום הורדה של חציה דקה וקימפול של עוד פחות מחמש דקות? אולי אתה זה שנסחף?
אני מקווה לסדר לעצמי בקרוב משהו מוצלח יותר מאשר סתם דיסק מעודכן, איזה DVD עם מולטי־בוט. בינתיים לא לחוץ לי, הרי ראיתי שאפשר להסתדר.