הפעם השניה בה ניסיתי לשדרג את סלאקוור 11 היתה אתמול, כשפורסמה בלינמגזין הידיעה על שחרור RC1. כתוב בה כי ניתן "להתקין עם slap get”. מיד וידאתי כי המקור של slackpkg (המותקן אצלי) מכוון ל current והרצתי slacpkg update ואחריו slackpkg upgrade-all, וכמו אצל אותו קוסם, לא עברו יותר מעשרים דקות ונשארתי ללא סלאקוור...
רק אז הבחנתי כי כתוב slap get... ב-slap get הפסקתי להשתמש עוד בימי סלאקוור 10.2 אחרי שנטען כלפיה שחלק מהחבילות שהיא מספקת הן באיכות ירודה.
בעצם הייתי צריך לדעת, כי אותו דבר עצמו קרה לי לפני כחודש – ולקח לי אז זמן להבחין בכך שבעצם מדובר בשידרוג לאחת הביטות של גרסה 12. בקושי רב מגשש באפלה הצלחתי להשמיש אותה איך שהוא – ובסופו של דבר התקפלתי, “שפכתי" את האימג' של סלאקוור שהכנתי מראש חזרה למחיצה שלה וגלגלתי את הגלגל לאחור.
לשמחתי הרבה, שעות אחדות לאחר מכן הופיע, באחת התגובות לאותה ידיעה, קישור למדריך שדרוג סלאקוור.
מיהרתי להדפיס אותו ו"לשפוך" פעם נוספת את האימאג' לאותה מחיצה. כעבור כרבע שעה כבר הייתי מוכן להתחלת השדרוג, ועכשיו, ככלות שעתיים עבודה – אני כבר כותב מהמערכת המשודרגת.
אבל לפני שהתחיל השדרוג, הורדתי את הספריה הבאה (גודלה 1.5 ג'יגה):
ftp://ftp.belnet.be/packages/slackware
/slackware-current/slackware
ושמרתי אותה בספריית הבית. ההורדה היתה מהירה, קצת למעלה משעה.
עכשיו החל השדרוג:
צעד ראשון, התקנת קרנל חדש. כאן עשה פטריק כמה צעדים משמעותיים בהתרחקות מהמסורת.
בגרסאות קודמות הגיעה סלאקוור תמיד עם גרסאות רבות של קרנל – כולן בגודל 1.2 מגה – כדי שיוכלו לעלות על דיסקט. הצורך בגרסאות רבות נבע מכך שפטריק לא דגל ב initrd , ולכן היה צורך בקרנל שונה לכל צירוף של חומרה שנזקקת לזיהוי ראשוני, בטרם מתחילה העלאת המערכת. וכך היה קרנל scsi וקרנל ide וקרנל raid וקרנל bare.i ועוד ועוד – ומשתמשים פוטנציאליים רבים לא מצאו בהם את ידיהם ואת רגליהם ונואשו מסלאקוור עוד בטרם התחילו.
והנה, התמעט כבר מספרם של המחשבים המצוידים בכונן דיסקטים. אמצעי איכסון חדשים כגון DoK הופיעו ומחיר הג'יגה צנח בצונחים. וכך, אבד הטעם לקדש את ה 1.2 מגה ואפילו פטריק נכנע והקרנלים החדשים שברו את מחסום ה1.2. אחד מהם אפילו מגיע ל 3.9 מגה.
יש "בסך הכל" שלשה: generic שאמור להתאים לכל המקרים הסטנדרטים (ומחייבים אתכם להחליט אם אתם מקרה סטנדרטי או לא) generic-smp שהוא ברירת המחדל ומתאים למחשבים מרובי-מעבדים אך לא רק להם.
עם שני קרנלים אלה יש להתקין גם initrd. ויש גם קרנל ענק –huge - שמכיל כל מודול שעשויים להזדקק לו באיתחול והוא אינו זקוק ל initrd.
מתוך ידיעה ברורה שלא אני ולא מחשב הנסיונות שלי סטנדרטיים בחרתי בקרנל הענק. התקנתי אותו בקלילות באמצעות ה pkgtool, ואיתחלתי. הצעד הראשון הסתיים בהצלחה:
הצעד הבא היה לעבור למצב משתמש יחיד על ידי הפקודה telinit1. שוב בעזרת pkgtool עדכנתי את glibc-solibs הנמצא בתת-ספריה a. ה pkgtool הוא כלי מימי הביניים אבל חמוד. מרגישים איתו כמו בנסיעה במכונית עתיקה אבל משופצת ומתוחזקת היטב. הוא גם בודק את חתימת החבילה, גם מאפשר לקרוא את קובץ ההסברים וההנחיות המצורף אליה וכמובן מתקין במהירות רבה. אחרי כן עידכנתי את pkgtool עצמו ואת sed.
השלב הבא היה הסרת כל החבילות שהותקנו בזמנן מתת-הספריה x. זה כבר נעשה באמצעות pkgtool החדש. יחד איתן הסרתי עוד חבילות ממשפחת X המצויינות במדריך.
עכשיו יש לשדרג (נחשו איך?) את החבילות aaa_base ו aaa_elflibs ואחריהן... את כל היתר!
אחרי השדרוג יש להסיר את כל החבילות הישנות שנותרו במערכת, באמצעות... pkgtool. זה ארוך ומשעמם אבל קל.
בזה הסתיים השדרוג. התעצלתי לבנות קובץ xorg.conf חדש והעתקתי את זה של סוזה – לשתי ההפצות יש עכשיו xorg מסדרה 7.2.
נותר עוד להתקין את הדרייבר הקינייני של nVidia – זה הכרחי כי אני משתמש במחשב זה ב TwinView.
לשם כך יש צורך במקור הקרנל אבל חבילה קיימת רק לקרנל smp.
מה עושים? מתברר שפטריק הטוב הכין סקריפט מיוחד להמרת קוד המקור לקרנלים שאינם smp. הוא נמצא ב slackware-current/extra/linux-2.6.21.5-nosmp-sdk ושמו patch-to-non-smp.sh. הרצתו עשתה את הטריק ואחר-כך התקנת nvidia בדרך המקובלת עברה ללא קושי.
ואז – סלאקוור החדשה עלתה כמו גדולה. תכנת הדואר מסודרת כאן כך שתמשוך דואר מיד עם עלייתה, אבל היא הפיקה הודעת שגיאה, האחת והיחידה עד כה - שלא נמצאה libgpg.
הנה הפתרון:
בדיקות זריזות הראו כי ישומים שאינם נכללים בבסיס החבילות של סלאקוור (ואי לכך פרשתי או קימפלתי ממקורות חיצוניים) כגון אופן אופיס ו-mplayer - ממשיכים לתפקד כאילו לא אירע דבר. ובנימה אופטימית זו אני מסיים את כתיבת הסקירה שנכתבה באופן אופיס לצלילי mplayer על סלאקוור 12 החדש.

רק אז הבחנתי כי כתוב slap get... ב-slap get הפסקתי להשתמש עוד בימי סלאקוור 10.2 אחרי שנטען כלפיה שחלק מהחבילות שהיא מספקת הן באיכות ירודה.
בעצם הייתי צריך לדעת, כי אותו דבר עצמו קרה לי לפני כחודש – ולקח לי אז זמן להבחין בכך שבעצם מדובר בשידרוג לאחת הביטות של גרסה 12. בקושי רב מגשש באפלה הצלחתי להשמיש אותה איך שהוא – ובסופו של דבר התקפלתי, “שפכתי" את האימג' של סלאקוור שהכנתי מראש חזרה למחיצה שלה וגלגלתי את הגלגל לאחור.
לשמחתי הרבה, שעות אחדות לאחר מכן הופיע, באחת התגובות לאותה ידיעה, קישור למדריך שדרוג סלאקוור.
מיהרתי להדפיס אותו ו"לשפוך" פעם נוספת את האימאג' לאותה מחיצה. כעבור כרבע שעה כבר הייתי מוכן להתחלת השדרוג, ועכשיו, ככלות שעתיים עבודה – אני כבר כותב מהמערכת המשודרגת.
אבל לפני שהתחיל השדרוג, הורדתי את הספריה הבאה (גודלה 1.5 ג'יגה):
ftp://ftp.belnet.be/packages/slackware
/slackware-current/slackware
ושמרתי אותה בספריית הבית. ההורדה היתה מהירה, קצת למעלה משעה.
עכשיו החל השדרוג:
צעד ראשון, התקנת קרנל חדש. כאן עשה פטריק כמה צעדים משמעותיים בהתרחקות מהמסורת.
בגרסאות קודמות הגיעה סלאקוור תמיד עם גרסאות רבות של קרנל – כולן בגודל 1.2 מגה – כדי שיוכלו לעלות על דיסקט. הצורך בגרסאות רבות נבע מכך שפטריק לא דגל ב initrd , ולכן היה צורך בקרנל שונה לכל צירוף של חומרה שנזקקת לזיהוי ראשוני, בטרם מתחילה העלאת המערכת. וכך היה קרנל scsi וקרנל ide וקרנל raid וקרנל bare.i ועוד ועוד – ומשתמשים פוטנציאליים רבים לא מצאו בהם את ידיהם ואת רגליהם ונואשו מסלאקוור עוד בטרם התחילו.
והנה, התמעט כבר מספרם של המחשבים המצוידים בכונן דיסקטים. אמצעי איכסון חדשים כגון DoK הופיעו ומחיר הג'יגה צנח בצונחים. וכך, אבד הטעם לקדש את ה 1.2 מגה ואפילו פטריק נכנע והקרנלים החדשים שברו את מחסום ה1.2. אחד מהם אפילו מגיע ל 3.9 מגה.
יש "בסך הכל" שלשה: generic שאמור להתאים לכל המקרים הסטנדרטים (ומחייבים אתכם להחליט אם אתם מקרה סטנדרטי או לא) generic-smp שהוא ברירת המחדל ומתאים למחשבים מרובי-מעבדים אך לא רק להם.
עם שני קרנלים אלה יש להתקין גם initrd. ויש גם קרנל ענק –huge - שמכיל כל מודול שעשויים להזדקק לו באיתחול והוא אינו זקוק ל initrd.
מתוך ידיעה ברורה שלא אני ולא מחשב הנסיונות שלי סטנדרטיים בחרתי בקרנל הענק. התקנתי אותו בקלילות באמצעות ה pkgtool, ואיתחלתי. הצעד הראשון הסתיים בהצלחה:
bash-3.1$ uname -a
Linux atlason 2.6.21.5 #2 Tue Jun 12 15:48:07 CDT 2007 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linuxהצעד הבא היה לעבור למצב משתמש יחיד על ידי הפקודה telinit1. שוב בעזרת pkgtool עדכנתי את glibc-solibs הנמצא בתת-ספריה a. ה pkgtool הוא כלי מימי הביניים אבל חמוד. מרגישים איתו כמו בנסיעה במכונית עתיקה אבל משופצת ומתוחזקת היטב. הוא גם בודק את חתימת החבילה, גם מאפשר לקרוא את קובץ ההסברים וההנחיות המצורף אליה וכמובן מתקין במהירות רבה. אחרי כן עידכנתי את pkgtool עצמו ואת sed.
השלב הבא היה הסרת כל החבילות שהותקנו בזמנן מתת-הספריה x. זה כבר נעשה באמצעות pkgtool החדש. יחד איתן הסרתי עוד חבילות ממשפחת X המצויינות במדריך.
עכשיו יש לשדרג (נחשו איך?) את החבילות aaa_base ו aaa_elflibs ואחריהן... את כל היתר!
אחרי השדרוג יש להסיר את כל החבילות הישנות שנותרו במערכת, באמצעות... pkgtool. זה ארוך ומשעמם אבל קל.
בזה הסתיים השדרוג. התעצלתי לבנות קובץ xorg.conf חדש והעתקתי את זה של סוזה – לשתי ההפצות יש עכשיו xorg מסדרה 7.2.
נותר עוד להתקין את הדרייבר הקינייני של nVidia – זה הכרחי כי אני משתמש במחשב זה ב TwinView.
לשם כך יש צורך במקור הקרנל אבל חבילה קיימת רק לקרנל smp.
מה עושים? מתברר שפטריק הטוב הכין סקריפט מיוחד להמרת קוד המקור לקרנלים שאינם smp. הוא נמצא ב slackware-current/extra/linux-2.6.21.5-nosmp-sdk ושמו patch-to-non-smp.sh. הרצתו עשתה את הטריק ואחר-כך התקנת nvidia בדרך המקובלת עברה ללא קושי.
ואז – סלאקוור החדשה עלתה כמו גדולה. תכנת הדואר מסודרת כאן כך שתמשוך דואר מיד עם עלייתה, אבל היא הפיקה הודעת שגיאה, האחת והיחידה עד כה - שלא נמצאה libgpg.
הנה הפתרון:
root@atlason:~# slackpkg search libgpg
The list below shows all packages with the selected pattern.
[ installed ] - kdepim-3.5.7-i486-1
[ installed ] - gpgme-1.1.4-i486-1
[uninstalled] - libgpg-error-1.5-i486-1
root@atlason:~# slackpkg install libgpg-error
Looking for libgpg-error in package list. Please, wait... DONEבדיקות זריזות הראו כי ישומים שאינם נכללים בבסיס החבילות של סלאקוור (ואי לכך פרשתי או קימפלתי ממקורות חיצוניים) כגון אופן אופיס ו-mplayer - ממשיכים לתפקד כאילו לא אירע דבר. ובנימה אופטימית זו אני מסיים את כתיבת הסקירה שנכתבה באופן אופיס לצלילי mplayer על סלאקוור 12 החדש.
