לאלו שעוקבים אחרי הבלוג הזה – פירסמתי כאן לאחרונה פוסט על מיני PC, והיתרונות מול PI-3. הזמנתי את ה-Wintel Pro CX-W8 ואחרי שבוע הוא הגיע אליי. בדיוק הגיע אליי גם וירוס מדבק (לא של מחשבים, אלא כזה שדופק את הגרון ומיתרי הקול) כך שהייתי ב"מעצר בית", אז אם כבר – אז כבר. התחלתי לשחק עם הצעצוע.
לפני שניכנס לעניינים טכניים, אני רוצה לאמר כמה דברים בנושא "פוליטי טכנולוגי". הצעצוע משמאל (זה שרכשתי) מבוסס על משפחת ה-Cherry Trail של אינטל, וכשזה מגיע ללינוקס, אינטל דווקא עושה עבודה מעולה בכל הקשור לכך שהציוד יפעל ויפעל טוב על הציוד שהם מוכרים, בין אם זה מעבדים, כרטיסי רשת, כונני SSD וכו'. לאינטל יש מספר צוותי לינוקס ובד"כ הדרייברים ללינוקס מופיעים מספר חודשים לפני שהציוד עצמו בכלל קיים בשוק ומפיצי הלינוקס מכניסים אותם לתוך ה-Kernel ומכירים בהם במסגרת ההפצה.
עד שזה מגיע ל-Cherry Trail. אין לי מושג ירוק מדוע, כאן אינטל החליטה לחזור 20 שנה אחורה לזמנים אפלים בהם אינטל תמכה רק ב-Windows, פה אינטל החליטה שה-Cherry Trail יתמך רק ב-Windows 10 ותו לא. אחת התקלות הידועות עקב החלטה תמוהה זו היתה שאנשים ניסו להריץ Kodi בגירסת OpenElec לדוגמא – הם היו מצליחים להתקין ולהריץ, אבל לא היה אפשרי לשמוע Audio דרך חיבור ה-HDMI. גם דרייברים ל-WIFI לא ממש עבדו, אבל בלינוקס כמו לינוקס – יש קהילה שלמה של מפתחים שיש להם פה ושם זמן פנוי והם הצליחו לבצע "השלמות" לתמיכה ב-Cherry Trail כך שהוא עובד די טוב עם לינוקס, למעט בעיה שעליתי עליה ושאינני מוצא לה פתרון – אם אתה מפעיל את הציוד עם לינוקס אך ללא שום חיבור USB לקופסא — הלינוקס עולה, אבל אינך יכול להתחבר אליו. ה"פתרון"? מצא איזה USB דונגל כלשהו שאינך משתמש ותקע אותו במכשיר – עכשיו הכל יעבוד.
ומ"פוליטיקה" נעבור לשלב הטכני.
מכיוון שמשפחת הרכיבים Cherry Trail היא די חדשה (ולמען האמת החל מלפני חודשיים אינטל הכריזה שכל משפחת Atom "מתה" והם פשוט עכשיו מוכרים את המלאי שהם יצרו) – הפצות לינוקס שונות מכירות חלקית בציוד, מכירות בצורה מלאה וכלל לא מכירות. (השימוש שלי במיני PC הזה הוא כ"שרת" ראשי שאמור להחליף כמה מכונות VM קטנטנות ועל כך פוסט זה), אז ניסיתי כמה הפצות לינוקס. מבחינתי הדברים החשובים לי שזה יכיר ב-eMMC (שזה ה"דיסק קשיח" בגודל 32 ג'יגה שנמצא על הלוח אם), וביציאת ה-LAN בצורה טובה ובחיבור ה-USB-3 שקיים בקופסא במצב USB-3. כל השאר לא ממש עניין אותי.
להלן הפצות הלינוקס שניסיתי והערותיי:
- אובונטו 16.04.01 – ההפצה מכירה בכל הציודים שקיימים בקופסא והיא מתקינה את עצמה בצורה לא רעה, אולם כפי הנראה ישנן בעיות עם דרייבר ה-LAN, התקנת העדכונים היתה מאוד איטית (למרות שלפי ההודעות מערכת הוא עבר ל-Mirror ישראלי). מכיוון שהמערכת התקינה את כל הדסקטופ + אופיס + 1001 דברים שאין לי צורך בהם, הפעלתי tasksel כדי לבחור רק התקנה של שרת SSH. בתגובה ה-tasksel מחק ערימות של דברים וביניהם גם את ה-kernel image (נו באמת, למה צריך שיהיה boot..). מי שמכיר Debian ו-Ubuntu בצורה עמוקה מכיר בוודאי את ה-preseed אבל לי לא היה שום חשק להתחיל לשחק עם זה. עברתי הלאה.
מסקנה: אם אתה מחפש לך לינוקס דסקטופ על המיני PC ואתה מכיר רק אובונטו – לך על זה. - אובונטו 16.04.01 גירסת Server – פה הדברים היו פשוטים. ההפצה לא מכירה לא ב-wifi, ולא ב-LAN. קצת מרגיז שקנוניקל לא יודעת לשחרר את אותם גרסאות קבצים בינאריים של הקרנל בצורה זהה לדסקטופ ולשרתים כמו שאר ההפצות לינוקס.
- OpenSuSE – לא מכיר ב-LAN. נקסט!
- Debian Jessie – כנ"ל.
- CentOS 7.2 – התחיל לעשות Boot ואחרי 5 שניות … Kernel Panic.
- Fedora 24 Workstation – עובד יפה, אם כי לא בדקתי Wifi (בין כה לא מומלץ לסמוך על ה-Wifi בקופסא – הוא בקושי קולט אות וגם אז – רק 2.4 ג'יגהרץ) אך כמו אובונטו דסקטופ – הוא מתקין יותר מדי שטויות שאני לא צריך.
- Fedora 24 Server – עובד יפה, התקנה של Minimal עבדה חלק.
החלטה שלי: לעבוד עם Fedora 24 Server. הכנסתי כתובת IP קבועה, DNS של גוגל ויאללה – לעבודה מרחוק.
במהלך היומיים עבודה (חולה, נו…) הרמתי על הקופסא את השרותים הבאים:
- שרות Active Directory עם שרות DNS פנימי. החלטתי ללכת "על הקצה" ולהשתמש ב-Samba 4.5 שיצא לפני ימים ספורים ובחבילות שקיימות כאן ל-Fedora 24 (שלא תעיזו להרים דבר כזה לפרודקשן או למקום אחר אם אין לכם הבנה טובה בלינוקס, אפילו הפעלת השרות מצריכה ידע בלינוקס, זה לא systemctl start smb!). אחרי כמה משחקים ונסיונות, ה-Samba הוכיח את עצמו כשרת AD מעולה ומכונות Windows 10,7, Server 2012R2 קיבלו אותו בשמחה מבלי לשנות מאומה. גם מבחינת DNS הוא הוכיח את עצמו כעובד מעולה ולעצלנים מבינינו – אפשר לנהל את ה-DNS דרך RSAT של Windows ואת ה-AD גם דרך Windows (אני מעדיף סקריפטיאדה בלינוקס)
- שרת Mail – הגדרתי SMTP לחשבון שלי בגוגל, אפשרתי קבלת מיילים מ-Class כתובות שלי בבית וגם הצלחתי עם mailx (בלי להתקין sendmail או postfix) בתחנות לשלוח מיילים.
- שרת NGINX – לשרת דברים סטטיים (בלי PHP או דברים כאלו)
- שרת TFTP – לשימוש PXE
- מערכת iPXE – ל-PXE יותר מתקדם (מה לעשות, TFTP די איטי, ואם משתמשים ב-UEFI אז הוא בכלל "זוחל" ו-iPXE מאפשר סקריפטיאדה נחמדה וקלה מאוד.
- שרת Transmission כולל ממשק Web – טורנטים, אתם יודעים
- NFS Client – הקבצים הסטטיים והטורנטים ישבו בשרת קבצים אחר, חבל להרוג את המיני PC באירוח קבצים מקומי עם mount ב-fstab כולל אופטימיזציה ל-NFS-3
- שרת NTP – שיהיה שעון מרכזי
בהמשך אני מתכנן:
- חיבור למודם סלולרי וסקריפטיאדה אם אין תקשורת דרך ה-DSL
- מעקב מצלמות (זה הולך להיות כאב ראש בכל הקשור ל-Detection. שום Detection לא מסתדר עם אור חלקי ו-2 חתולים משתוללים בבית) ו-Upload לענן + אפשרות שידור ישיר לפי דרישה.
- מיני קונטיינר קטן עם SSH שפועל עם מפתחות בלבד ו-Port Knocking – לחיבור מרחוק בעת הצורך.
סה"כ אחרי העבודה הזו נשאר במכונה 14 ג'יגה פנוי ומבחינת RAM יש פחות או יותר 1 ג'יגהבייט זכרון פנוי (תלוי בשרותים שמופעלים, יש כבר 14 סקריפטים ב-crontab).
מסקנות
קופסא שעולה 75$ עושה את העבודה בצורה לא רעה. יש לה UEFI מהגהינום (אין שם אפילו פונקציה להפעיל את הקופסא אוטומטית במקרה שהחשמל הפסיק וחזר) אבל נו .. זה יצרן סיני. האם הייתי קונה קופסא עם יותר RAM? אולי, אך לצערי כל קופסא שראיתי עם אותו מעבד או מעבד Atom X7 מכפילה את המחיר ל-150$ ומעלה ואני לא מוכן לשלם כפול בשביל עוד 2 ג'יגה זכרון.
האם אני ממליץ? כן, אם יש לך סבלנות וידע בלינוקס. האם Windows Server 2012R2 יעבוד על קופסא כזו? לא חושב, במיוחד עם כמות זכרון קטנה ודרייברים שאני לא בטוח שיהיו מוכנים להיות מותקנים על מערכת הפעלה כזו.
למי שרוצה פתרון שקצת יותר נתמך בלינוקס ושישמש כ"שרת" – חפשו קופסא כזו עם מעבד Celeron N3160 לדוגמא. שם אינטל בהחלט משקיעים בתיקון דרייברים ושחרור עדכונים (שמגיעים להפצות לינוקס, לקרנל ומשם למשתמשים)