ארכיון הקטגוריה: המקור

רשימת פוסטים שיוצגו בפלנטה של המקור

ספריית ממשק לשולחן עבודה – nana pro

אני די מאסתי ב־Qt. הספרייה פותרת את כל הבעיות של שנת 2003 (ספרית STL חסרה וספריות רשת לא קיימת – למשל). ולא פותרת את הבעיות של שנות 2020 – איך אני משתמש מנהל חבילות כדי לקבל את הספרייה (לא נכון – כבר מתחיל להיפתר – גרסה 6 מתחילה לתמוך ב־cmake/conan). הפסרייה עושה פורק לחלק גדול מהדברים שב־standard c++ library – אני מבין את הצורך ההיסטוריה בפתרונות האלו – אבל כרגע אין בהם צורך. כמו כן – הספרייה מספיק גדולה וכדי להתחיל לחפש אלטרנטיבה. אז אני מחפש וכרגע אני בודק את nana-pro.

זאת ספרייה די וותיקה, והמטרה שלה היא רק לעשות ממשק משתמש – ולא להתעסק בבעיות רשת, או להמציא container חדש או string מחדש. היא משתמשת ב־C++‎17. אז אני בדקתי אותה.

הדברים הטובים:

  • הקוד אין לו תלויות נוספות (למעט libpng/libjpeg והם אופציונאלים).
  • יש דוגמאות באתר.
  • הקוד משתמש ב־cmake כדי להיבנות, אז קל להוסיף אותו בתור תת ספרייה בפרוייקט שלך.
  • אני הצלחתי להשתמש ב־FetchContent_Declare כדי למשוך את הקוד – פחות אידיאלי אבל שמיש (מתקמפל בלינוקס וחלונות). בעזרת conan הצלחתי להשתמש ב־libpng בלינוקס. היה קצת מלחמות בחלונות – אז נטשתי את הרעיון. אבל לפי דעתי פתיר.
  • הצורך להשתמש ב־C++‎ רגיל ללא תוספות … זה מרענן. אם כי ב־std::filesystem יש חוסרים (ביחס למה שאני רגיל מ־Qt). אפשר לכתוב פונצקיות עזר ולקוות שבעתיד זה ייכנס לתקן.
  • הצלחתי לכתוב תוכנית מלאה – ללא מחלקות. הכל כתוב בתוך main file. וזה קונסצפט מעניין. הצורך לבנות מחלקות עבור על פעולה במקום להשתמש ב־std::function הוא … מיושן (כן, אני יודע איך המימוש של lambda הוא בקומפילר).
  • כתיבה אל הממשק עצמו אפשרית מתוך כל thread.
  • יש להם thread manager ממש מגניב. למשל – לשים callback שירוץ ב־thread הוא רק לעטוף את הפונקציה שלך בפונקציה אחרת. ככה ה־callback שלך לא יחסום את הלולאה הראשית. (זה החלק הכי אהוב עליי בספרייה הזאת).

הדברים הרעים:

  • כשאתה מוסיף widget אל טאב למשל – הטאב לא מקבל עליו אחריות. במקרה שלי – אני עשיתי משהו בתוך callback, וכאשר ה־callback הסתיים ה־widget שלי נעלם כי יצא מה־scope. בסוף הפתרון היה לשמור את ה־widget החדש במערך גלובאלי.
  • הפקד של tab control לא ממש חביב עליי. אני לא יכול לבקש “תגיד לי מי מציג את T” (הפקד עצמו הוא מבוסס תבנית, אני השתמשתי ב־std::string בתור הבסיס שלו). בסוף חיפשתי בכל הלשוניות הזמינות. O(n) … אבל n הוא קטן לכן סתם מסריח.
  • הצורה שבה הם מנהלים את ה־layout מאוד ייחודית. לא בטוח שאני מחבב אותה – כי אין אפשרות ליצור משהו ויזואלי (זה מרגיש כמו לכתוב HTML אבל בלי שמות תגיות). יש עורך גראפי – אבל לא ממש “עובד בשבילי”. קשה לתאר.
  • הפקד טקסט הוא… איטי בצורה חסרת שימוש. אם אני גולל עם הגלגלת של העכבר – אני רואה את הפקד מגיב אחרי חצי שנייה ועוד גולל.
  • אין מספיק קוד זמין ברשת ללמוד ממנו, ולכן לעשות דברים מורכבים זה לימוד איטי.
  • הקוד בחלקו הגדול כתוב ב־headers ומשתמש ב־templates בצורה כבדה – וזה מקשה מאוד על הבנה של הקוד, וכשיש לך בעיות קומפילציה… לך תבין מה הבעיה באמת.
  • התיעוד מפוזר. יש את הפרויקט הראשי, ויש עוד חלק מצוות הפיתוח שיש לו תיעוד משלו. אתה צריך לעבור בין השנייה.

לסיכום:

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

אני שים את הקוד פה שכתבתי. אני כמעט בטוח שהקוד ייזנח. אני ממקבל pr אם מישהו רוצה.
https://github.com/elcuco/nana-ide

Share Button

ביי ביי WWW – ברוך הבא Gemini

לחלק מהאנשים נמאס מהווב, והחליטו לעשות לו ריבוט. כתבו פרוטוקול להעברת מידע חדש במקום HTTP (S) ותסדיר תצוגה חדש במקום HTML. הפרוייקט נקרא Gemini. הינה אתר הבית שלו בווב המיושנת: https://gemini.circumlunar.space/

יש שם הוראות התקנה לתוכנת “גלישה”, אני התקנתי משהו שהיה כתוב ב־go וזה נתן לי ממשק טקסטואלי. התקנה של שניות בודדת והתוכנה מגיבה מאוד מהר הפרוטוקול ממש.

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

פתרון יותר טוב לבעייה שהם מציגים הוא לגרום לדפדפנים להציג markdown בצורה native ואז לבנות אתרים שרק שולחים markdown. יש לנו שרתים טובים להעברת המידע, יש לנו עורכים טובים בשביל התוכן. אין טעם לעשות “עוד אחד”.

אין מה לראות – תמשיכו הלאה.

Share Button

המסע אל אנדרואיד – חודשיים עם /e/ – מה לא עובד – חלק 15

אני לא אוהב ביקורות של “הינה מכשיר, קיבלתי אותו לבדיקה היום”. אי אפשר ללמוד כלום מיום עבודה. אז הינה ביקורת אחרי חודשיים:

  • העורך החדש של וורדפרס ממש מעצבן. הוא מנסה להמציא את עצמו מחדש על ידי זה שמציג לי עמוד לבן … מה הקטע? הרי גם ככה אתם מגבילים את איזור העריכה על “פיפס קטן באמצע המסך שלי”.. אז למה לא לשים שם את סרגילי העריכה שאני אדע מה לעשות? (לא קשור, אבל הייתי חייב להוציא מהמערכת)
  • ה־Launcher שמגיע כברירת מחדל הוא bliss. הוא פשוט מאוד, ומנסה להידמות לאפל. זה לא רע, אבל לא מצאתי בו דרך איך לשנות את הרקע. אז החלפתי אל Lawnchair. התקנתי את הגרסה מה־Google Play, כי הגרסה שב־F-Droid ישנה (אולי? זה לא ממש מובן לי).
  • אני תקוע עם שלוש חנויות שונות, וזה ממש מצב דפוק:
    • החנות ברירות המחדל של /e/ שנקראת “Apps”. היא טובה כי היא system application ולכן יכולה להתקין תוכנות בשקט (וגם לשדרג ברקע). אבל, התוכן שלה הוא נוצר ידנית על ידי הצוות ולכן לא הכל מוצג שם.
    • F-Droid, כי אני באמת סומך על החבר’ה האלו.
    • Aurora (מותקן מתוך FDroid), כדי להתקין דברים אחרים. מה גם, שבחנות המקורית אין תמיד את הגרסה האחרונה.
  • היומן המקורי שמותקן הוא fork של Etar, וזה בסדר. אבל, הוא לא כולל widget לשים בעמוד הראשי (אני משתמש בזה לדעת מה הלוז שלי להיום).
  • EBay, האפליקציה, מקריסה את microG ולכן לא שמישה כלל.
  • Out of milk לא רוצה להתחבר כלל לחשבון GMail שלי. בסוף הפעלתי עם חשבון חדש – עם המייל של /e/.
  • Netflix לא מצליחה לשדר אל ה־chromecast שיש לי בבית. אבל עובדת מצויין למעט זה (בניגוד למה שכתוב ברשת). התקנתי דרך Aurora Store.
  • התוכנה לניגון מוסיקה (Music שהיא פורק של eleven) אחרי פעם אחת של השמעת שיר, היא די נתקעת ולא משמיעה מוסיקה שוב. סוגר אותה בכוח ופותח – והיא עובדת שוב.
  • התוכנה לקבלת SMS היא פורק של QKSMS (זמינה ב־F-Droid וב־PlayStore). היא עובדת. אין תלונות.
  • יש דפדפן מובנה כאן. לא טרחתי איתו. המשכתי ישירות אל פיירפוקס. הוא עובד בצורה שקופה. מעיין שהוא מציג כברירת מחדל מנוע חיפוש שלהם – לא חקרתי מה זה).
  • בפוסט קודם כתבתי על יישומי GMail צד שלישי. בסוף עברתי חזרה אל Bluemail כי הוא מתחבר גם ליומנים של גוגל (רואים אותם דרך Etar שדיברתי עליו מקודם).
  • הפתעה נעימה (מאוד!) היא אפליקציית ניווט מובנית שנקראת Magic Earth. היא משתמשת באחורי הקלעים ב־OSM וזה המימוש הכי טוב שמצאתי למנוע הזה. היא זמינה לאפל (מוזר… מעכשיו זה זמין גם למחשבים!) וגם לאנדרואיד. התוכנה היא לא תוכנה חפשית, אבל למרות זאת אני ממליץ עליה.

לגולש ברוך שכתב פה הודעה בפוסט קודם:

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

הבעייה שלי היא … המסביב. איך מגבים Whatsup. איך מוחקים/מאתרים מרחוק את המכשיר כשהוא נאבד. התמיכה ב־Chromecast היא חסרה לי. השלוש חנויות שאני נאלץ להתמודד איתן זה מעיק.

Share Button

המסע של אנדרואיד – הפצת אנדרואיד שונה – /e/ – חלק 14

כל מי שיחק עם הטלפון שלו מכיר את LineageOS. היא התחילה בשם CyanogenMOD על ידי משתמש ג’נטו לשעבר. הוא רצה לבנות מחדש את הסלולרי שלו – בדיוק כמו המחשב. אבל… אנדרואיד זה לא AOSP ולכן צריך להוסיף מלא תוספות של גוגל המוכרים אצלנו בתור gapps. וזה… מאוד קינייני והופך את הסלולרי למכונת מעקב של גוגל.

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

אני כבר כמה שנים מנסה להתקין רום כזה על המכשיר שלי, וכיום מצאתי הפצה חדשה של אנראויד בשם /e/ שכוללת אותו by-default (קישור למאמר וויקיפדיה שלהם כאן). היוצר של ההפצה הוא גאל דובאל (היוצר המקורי של מנדרייק -> מנדריבה). הוא רוצה להמשיך מה שעשה בדסקטופ – אל המכשירים הסלולרים. הוא מספק הפצה (פורק) של LineageOS והתקין עליו microG ועשה rebranding והטמעה של כמה תוכנות חופשיות אל תוך ההפצה. ההפצה היא מאוד opinionated אבל לדעתי היא עושה את זה בטוב טעם.

המכשיר בשימוש כמה שבועות, ולא ראיתי דברים רבים שחסרים. אבל יש… הינה רשימה:

  • שליחה של ווידאו אל Chromecast. לצערי, מכשירי הזרמה כאלו הפכו מצרך חשוב וגוגל דאגו שזה יהיה בכח בית (כל ממיר של יס או הוט כולל רכיב כזה). התוכנות רואות את הטלויזיה אבל לא מצליחות לשדר בפועל.
  • שימוש ב-Android Wear. יש לי שעון ישן שקניתי ביד2, ודווקא מרוצה (אני רוצה לכתוב על זה בעתיד). אבל גוגל חיברו את זה עמוק – עמוק. החיבור לא עובד כלל.
  • וואסטאפ… עובד מצויין. אבל, גיבויים הם מקומיים. הייתי שמח שהם יעלו אל NextCloud. עוד לא מצאתי איך להגדיר ספריית סנכרון שנייה.
  • קריאת ג’יימייל – האימייל הזה מחובר אח חצי עולם… אני לא אזרוק אותו לפח. כרגע משתמש ב-Spark שעובד לא רע. בדקתי גם את TypeApp או Bluemail (שתיהן אותה תוכנה, למרות שהשמות שונים). כל התוכנות הללו לא מצריכות חיבור של microg אל החשבון גוגל – זה טוב.
  • לא בדקתי את android auto, אבל בספק אם יעבוד כמו שצריך בצורה אנונימית. בארץ כבר מוכרים מכוניות עם תמיכה בזה – וזה ליגה.
  • בעייה עם יומנים – אם אני יוצר פגישה, אין לי אפשרות לשתף אותה מתוך ה-Nextcloud שלי. מצד שני – אם שולחים פגישה לג’ימייל שלי – אין לי מושג איך להציג את את אצלי, ללא חיבור אל microg. (וזה מה שבסופו של דבר ישבור אותי ו אני כחבר את המכשיר לחשבון גוגל שלי).

נכון לעכשיו – מבחינתי, המכשיר נשאר עם ה־ROM הזה, אבל אני חייב להודות, שהוא פשרה לעומת מכשיר שמריץ את התוכנה המלאה של אנדרואיד. אני אנסה להפעיל את החיבור למשתמש שלי בגוגל שם, להתקין תוכנות “מקוריות” ולנסות שוב. יש מלא דברים קטנים שבורים… אבל בתור משתמש קצה, אין לי בעייה לוותר עליהם. מזכיר לי הרצה של לינוקס באמצע שנות ה־2010, עם כמה יישומי wine. זה עובד, אבל עקום.

Share Button

אתר נשבר – ושוחזר מגיבוי ישן

לפני שבועיים האתר נשבר לגמרי. כאילו apt לא עבד, וכאשר נאלצתי להתקין מחדש את libc-bin כדי ש-ldconfig יעבוד פשוט מחקתי ושחזרתי מגיבוי.

לצערי – הגיבוי היה ישן, ואיבדתי חודשיים של תוכן (גם דברים אחרים שיש במחשב הזה נעלמו).

המלצה ישנה: תגבו ותאמתו את הגיבויים. אני מניח שיש לנו יותר זמן כעת.

Share Button

המסע של אנדרואיד – המכשיר הכי גרוע Essential PH1 – חלק 13

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

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

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

מה כן יש? עדכונים. באיכות טובה למדי ופעם בחודש. המכשיר שוחרר עם אנדרואיד 7, ביום ששוחררה 8 לפיקסלים המכשיר כבר הייתה לו גרסה (שעה לפני גוגל – על הפרינציפ) וכך גם אנדרואיד 9 וגם 10 (!). המצלמה הייתה בעייתית מאוד בגרסאות הראשונות של המכשיר – אבל בשנת 2018 המצלמה השתפרה פלאים.

לא הכל נוצץ – אנדרואיד 9 הכניסה זליגת זכרון (הפתרון – להפעיל את המכשיר פעם ביום או יומיים. באנדרואיד 10 – אנשים מתלוננים על צריכת סוללה מוגברת וגם על בעיות קליטה.

שיהיה ברור: אני לא מדבר על משהו תיאורתי. יש לי שני מכשירים כאלו בבית (שחור כמו של בטמן, ולבן). הבעייה הכי קשה אצלי – היא המסך מגע שלו. או שאני מקבל נגיעות מדומות, או שיש איזורים שבהם אין מגע כלל עד שאני מכבה את המסך ומדליק מחדש (למשל האיזור של האות “ש” – מה שגרם בהתחלה להרבה תקלדות). באחד המכשירים – בעת שניסיתי להחליף מגן זכוכית, הקילוף של הישן פשוט ניתק את המסך מהגוף. כמו כן – אחד המכשירים עם גרסה 9 – כי 10 מתחממת, מבזבזת סוללה.

זה מכשיר שאי אפשר להמצליץ עליו. מצד שני – הם ממש ממש זולים כרגע, והמפרט שלהם טוב גם כיום. המעבד והזכרון שלהם עומדים במה שמצופה ממכשיר כיום. חפשו ב-EBay. אני ממליץ על השחור – הוא יותר יפה מהלבן. ומי שקונה – שידע: יש פחות מ-200,000 מכשירים כאלו בעולם. זה כמעט פריט לאספנים.

עריכה: הפוסט הזה יושב אצלי הטיוטות כמה חודשים .. ומאז החברה נסגרהhttps://www.essential.com/blog/essential-update. היא שיחררה כמה שיותר קוד – אבל המכשיר פשוט פריט לאספנים. יש מלא רומים חלופיים וחלקם ממש טובים. ואני מתכנן לדבר על זה בקרוב, כי פה יש אתגר שלא חוויתי במכשיר אחר עד עכשיו.

Share Button

המסע אל אנדרויד 12 – MotoX 2014 – הסוף – לא?

לאחר שהמכשיר האחרון שלי נשבר לו המסך (פעמיים… לא היה חודש טוב) והסוללה לא עבדה, עברתי אל מכשיר חדש: MotoX 2014 victara.

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

הייתה לו גרסה מעולה של CyanogenMod/LineageOS. אני נהנתי מאוד מהמכשיר… עד שהוא פיזית מת. הסוללה שלו מחזיקה 4 שעות, ואין להחליף אותה בארץ (כל המכשיר מודבק. להוציא את הסוללה זה סיפור מטורף ולאחריו המכשיר לא חוזר לאותו מצב).

אבל לא על זה אני רוצה לספר – אלא על משהו שלא צפיתי. המתחזק של ה־ROM הזה ב־Lineage פרש, אז המכשיר הפסיק להיות מכשיר “רשמי”. ואז גם TWRP הפסיקו לתחזק את ה-Recovery… זה אומר שהקהילה של המכשיר נעלמה. ואז… באמת אתה מרגיש בודד.

כן – גם בתוכנה חופשית קהילתית – אנחנו ניתקל חומרע שנהיית obsolete אחרי מספר מועט של שנים. מפליא מאוד.

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

https://wiki.lineageos.org/devices/victara  https://download.lineageos.org/victara

Share Button

cool

E: Some index files failed to download. They have been ignored, or old ones used instead.
root@chrx:~# apt update 
Get:1 http://mirror.isoc.org.il/pub/debian testing InRelease [117 kB]
E: Repository 'http://mirror.isoc.org.il/pub/debian testing InRelease' changed its 'Codename' value from 'buster' to 'bullseye'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Do you want to accept these changes and continue updating from this repository? [y/N] y
Hit:2 http://packages.microsoft.com/repos/vscode stable InRelease
Share Button

כרומבוק – מחשב מיותר – חלק 4 – דביאן

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

שלב ראשון:

מכבים את המקורות של אובונטו, ושמים את אלו של דביאן (שימו לב ל-# בתחילת שורה):

root@chrx:~# cat /etc/apt/sources.list
# deb http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse
#deb http://mirror.isoc.org.il/pub/ubuntu/ cosmic main restricted universe multiverse
#deb http://mirror.isoc.org.il/pub/ubuntu/ cosmic-updates main restricted universe multiverse

deb http://mirror.isoc.org.il/pub/debian/ testing main contrib non-free

שלב שני -עדכון מקורות:

root@chrx:~# apt update --allow-insecure-repositories
root@chrx:~# apt install debian-keyring
root@chrx:~# apt update

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

שלב שלישי: שידרוג ראשוני

כגעת נתחיל משידרוג של apt ושל עוד חבילות בסיס:

root@chrx:~# apt install apt libc6 systemd

אני לא בטוח שהאחרון היה בו צורך, אבל ניחא. השידורג הזה עובד. ואז, הכיף מתחיל.

שלב רביעי: שידרוג מלא

root@chrx:~# apt distupgrade

פה, יש בעיות. זה יעבוד חלקית – אבל חלק מהחבילות לא יותקנו. למה? קבצים עברו מחבילה אל חבילה, וזה יוצר התנגשויות. הפתרון שלי – להתחיל בלהסיר את החבילות שיוצרות את שבירה, ואז לנסות לשדרג שוב. וזה עובד טיפה, וכשזה לא עובד – מנסים שוב עם aptitude. זאת תוכנה ישנה שמחליפה את apt/apt-get, מה שטוב בה – זה שהיא יודעת להתמודד טוב עם המצבים הללו, ולהסיר ולהתקין דברים במקום. זה בגדול עשה את העבודה. לאחר השידרוג, והתקנה של קרנל של דביאן, קיבלתי את זה:

root@chrx:~# echo "`dpkg -l | wc -l` / `dpkg -l | grep ubuntu | wc -l`"
1997 / 172

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

היו לי שתי בעיות:

הראשונה – משהו מה, כעת אני לא יכול להפעיל wayland אלא תקוע ב־xorg. מקווה שזה בגלל החבילות המעורבות.

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

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

Share Button

הרצאה בקבוצת Haifa::C++

קודם כל, מסתבר שלחיפאים יש קבוצה שנפגשת פעם בחודש, ומדברים על C++. החודש העברתי הרצאה אודות Qt5. מי שנמצא באיזור מוזמן למפגשים שלהם: https://www.meetup.com/Haifa-CPP/

השקפים (וקוד לדוגמה) זמין כאן:

https://github.com/elcuco/qt-lecture-2018-08/

אני רוצה להודות לכל מי שבא, במיוחד לערן על הארגון וליאהו על הפיצות:

Share Button