Flatpak

בשבוע שעבר כתבתי על AppImage. הפעם אכתוב על Flatpak. מהי טכנולוגיית Flatpak  ומה היא מאפשרת?

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

להמשיך לקרוא Flatpak

AppImage

בהמשך למאמר הקודם, הפעם אכתוב על AppImage:

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

דוגמא: אם תורידו את תוכנת Etcher מאתר המפתח תיווכחו שאתם מורידים קובץ דחוס (zip). חילוץ הקבצים יחלץ קובץ בודד: etcher-electron-1.4.4-x86_64.AppImage (שימו לב לסיומת AppImage). מתן הרשאות ריצה (במקרה הזה לא צריך) מאפשר הרצה מיידית של התוכנה.

מהיכן ניתן להוריד עוד קבצי AppImage? באתר של AppImage יש רשימה ארוכה של תוכנות שארוזות בפורמט AppImage.

כיצד אורזים חבילות AppImage? באתר AppImage יש הסבר מקיף כיצד לארוז תוכנות בפורמט זה.

מהן החסרונות של AppImage? היא מכניסה חולאים של מערכת ההפעלה Windows לתוך Linux. אם מישהו יצליח לפרוץ לאתר המפתח ולשנות את קובץ התוכנה הוא יוכל בקלות לשתול וירוסים/סוסים טרויאנים. יתכן בכלל שהמפתח, משיקולים שלו, יחליט לתת לתוכנה "יכולות נוספות" ובעצם לפגוע במה שבלינוקס מאוד מתגאים וזה תחום אבטחת המידע.

לכן אם משתמשים ב- AppImage חשוב מאוד לבדוק את חתימת הקובץ (זה כאמור לא תמיד יעזור). במקרה של Etcher אפילו לא מצאתי היכן נמצאת חתימת הקובץ…

לסיכום: אולי רעיון נוח אבל אני לא אוהב אותו (בעיקר בגלל נושא אבטחת המידע).

AppImages, Snappy ו- Flatpak

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

בסדרת המאמרים הבאה אסקור מספר כלים שפותחו לנושא: AppImage, Snap  ו- FlatPak. לכלים יתרונות וחסרונות כך שמי שמתעניין בנושא ימצא עיניין במאמרים אלו.

בניית אתר אינטרנט בבית – חלק שני (אחרון)

את החלק הראשון סיימתי בכך שהחלטתי לארח את האתר אצלי בבית. אז מה הצעד הבא?

בחירת חומרה לשרת מארח: תופעת מזעור המחשבים עזרה מאוד לבחירה שעשיתי. אני בחרתי להשתמש ב- Raspberry Pi כשרת מארח. הוא לא תופס מקום, אין לו מאווררים ולכן איננו מרעיש. גם צריכת החשמל שלו נמוכה ולא מלווה בתוספת משמעותית לחשבון החשמל

Raspberry Pi

את ה- PI התקנתי במארז פשוט:

המארז של Raspberry Pi

 

להמשיך לקרוא בניית אתר אינטרנט בבית – חלק שני (אחרון)

בקרת ג'ובים בלינוקס

בקרת ג'ובים פירושה היכולת לעצור (stop), להקפיא (suspend) ולחדש ריצה של תהליכים.

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

$ sleep 10 &
[1] 17029
$

הסבר: המספר 1 (מוקף בסוגריים מרובעים) זה מס' ה- Job (נקרא JID או Job ID) ו- 17029 זה מספר התהליך (PID או Process ID).

הצגת טבלת הג'ובים שרשומה במערכת:

$ jobs
[1]+ Running sleep 10 &

 

להמשיך לקרוא בקרת ג'ובים בלינוקס

הקלדה אוטומטית בלינוקס

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

  • ctl+shift+e – מקליד באופן אוטומטי את כתובתי האלקטרונית
  • ctl+shift+s – מקליד באופן אוטומטי את החתימה שלי (שם, טלפון, כתובת)

בעבר השתמשתי, ואף כתבתי, על – autokey. למרות שמדובר בכלי מצוין, לי הוא מרגיש מעט "כבד" ולכן עברתי להשתמש בפתרון קל הרבה יותר: xdotool (מקלדת וירטואלית).

להמשיך לקרוא הקלדה אוטומטית בלינוקס