הכל עושה Segmentation fault ב-OpenBSD? הפוסט ה-501

אז לפני שמישהו מאשים אותי בסנסציוניות, התשובה העקרונית לשאלה בכותרת היא “לא” 🙂

דבר ראשון, מסתבר שזהו הפוסט ה-501. הפוסט על איך הלכתי לפגישה עם לקוח כשאני לא מגולח היה הפוסט ה-500. מזל טוב וכו’ וכו’.

לפני שני פוסטים כתבתי על זה שהתקנתי OpenBSD 4.1, ושהסיבה שהתקנתי לא את הגרסה האחרונה היא שלא מצאתי מראה ישראלית, והמראות בחו”ל היו איטיות להחריד. הסתבר לי בנתיים שהסיבה היא חלקית באשמתי. ניסיתי לגשת ב-FTP. מצד שני, הסיבה שניסיתי לגשת ב-FTP היתה שזה מה שהוראות ההתקנה מרמזות שצריך לעשות. מי שמחפש עוד יכול למצוא גם רשימת מראות ב-HTTP, אבל צריך לחפש בשביל זה.

וזו כל הנקודה לגבי OpenBSD, כך נראה. הם מצפים ממך לחפש. זה לא בדיוק שהם user hostile, כמו שהתהליכים שעברו על רוב הפצות הלינוקס בעשור האחרון, של להפוך את ההפצה ליותר ידידותית, פסחו לחלוטין על OpenBSD. אני אודה ואתוודא שחלק מהבעיה קשורה בהתקנה שלי. התקנתי על מכונה וירטואלית (VirtualBox, מתוך כוונה לא “ללכלך” את הקרנל שלי במה שצריך בשביל VMWare), והיא כברירת מחדל יצרה כרטיס רשת שמסוגל להתחבר החוצה תמיד, בכל מצב, מייד, אבל לא מאפשר לגשת את המכונה בשום צורה. מצד שני, אני לא התקנתי סביבה גרפית כי אמרת “אני?? לא צריך!”. זה אומר שכל מה שהיה לי היה ה-console הקטן שמגיע (אם OpenBSD תומך ב-Virtual Consoles, אני עוד לא מצאתי איך עוברים בינהם). היום ישבתי להגדיר את הרשת בצורה יותר נורמלית, ואני כבר עובד ב-SSH מתוך סביבה נורמלית יותר.

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

אלא שכל זה לא מסביר התנהגות אחת תמוהה. כשניסיתי לקמפל את הפרוייקט שלשמו התקנתי OpenBSD, גיליתי שאני לא מצליח לעבור את השלב שבו מריצים configure. ה-shell עושה core dump! זה משהו שלעולם לא אמור לקרות. פשוט אף פעם.

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

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

עכשיו רק נשארה הדילמה. כמו שאני רואה, יש לי את האופציות הבאות מולי:
1. להחליף מערכת וירטואלית. יש לי רשיון חוקי של VMware Workstation.
2. לבחור מערכת אחרת בתור המערכת הלא לינוקסאית שעליה אני בודק את fakeroot-ng. אולי OpenSolaris?
3. להתקין על מחשב מלא. טוב, לא באמת.

ועל מה זה fakeroot-ng, ולמה צריך את זה, אני כבר אכתוב בפעם אחרת (פוסט 502?).

שחר

מאת

שחר שמש

מייסד–שותף וחבר ועד בתנועה לזכויות דיגיטליות מייסד שותף בעמותת „המקור”. פעיל קוד פתוח. מפתח שפת התכנות Practical

10 תגובות בנושא “הכל עושה Segmentation fault ב-OpenBSD? הפוסט ה-501”

  1. אתה יכול בבקשה להסביר איך ניתן להגדיר את הרשת בVirtualBox כך שיהיה ניתן להתחבר פנימה?

  2. כן, אבל לאור זה שעברה שנה מאז ששאלת, אולי זה כבר לא רלוונטי….

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

    שנה טובה
    שחר

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

  4. הייתי עושה את זה מלכתכילה אלמלי אני עובד על Debian Etch, שעובד עם 2.6.18.

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

    מצד שני, אני לא כל כך מוכן לשדרג את כל המערכת ל-Testing בגלל שיש לי Build scripts שלא בטוח שיעבדו עליו. כבר נכוויתי בזה בעבר. אולי כש-fakeroot-ng יתמוך ב-chroot כמו שצריך (מה שלא נראה רחוק כמו שזה נראה בעבר) אז אני אשדרג.

    שחר

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

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

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

    כמו שאמרתי, אני כנראה אעבור ללני בקרוב. פשוט כבר אין ברירה. אני חושש ממה יקרה מהדברים שרק על אטצ’ נבנים כמו שצריך, אבל פשוט אין ברירה.

    שחר

  7. ליבי איתך. אם המסך מבריק לך מידי אני אשמח לקבל את הלפטופ 🙂

    אני אומר שתעבור לLenny, אני חושב שהקרנל שם מספיק חדש בשביל KVM.

  8. אז למה לא להשתמש פשוט ב־qemu?

    כדי לקבל ביצועים יותר סבירים אתה יכול להשתמש ב־kqemu החופשי מ־Lenny או בגרסאות היותר ישנות שלו מ־non-free .

    אני נוטה להריץ qemu עם:

    -monitor stdio -vnc 0

    ולהתחבר אליו עם vncviewer .

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

  10. qemu עם kqemu כבר די סביר. יותר טוב מ־virtualbox שלא עובד.

    (לקח לי זמן להבין שאי־אפשר להגיב כאן ללא ג’אווה-סקריפט ולא מדובר על תקלה באתר)

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

Bear