ארכיון תגיות: Linux

השכמה מרחוק למחשב

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

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

שלב א' – הכנת המחשב לפעולת ההשכמה

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

במקרים מסויימים ניתן לשנות את הגדרות כרטיס הרשת גם דרך המחשב. בלינוקס, ניתן להריץ את הפקודה הבאה שתגדיר את כרטיס הרשת שיאזין לחבילות מידע של Wake On LAN:‫
sudo ethtool -s <nic device> wol g

שלב ב' – איתור מידע

כדי שתוכלו להדליק מחשב מסויים מרחוק עליכם לדעת את כתובת כרטיס הרשת שמחובר למחשב. כתובת זו צרובה על כרטיס הרשת וברמה העקרונית לא אמורים להיות שני כרטיסי רשת בעולם עם אותו הזיהוי (בפועל זה קורה לא פעם). כדי למצוא את כתובת ה־MAC של כרטיס הרשת יש להקליד ifconfig בשורת הפקודה (ipconfig/all ב־Windows) או להיכנס להגדרות כרטיס הרשת. כתובת כרטיס הרשת מופיעה בשורה שמתחילה ב־HWAddr.

אם אין ברשותכם גישה לאותו המחשב כדי לבדוק את כתובתו או שאתם לא מנהלים רישום מסודר של כל כתובות הרשת שלכם, ניתן לנסות להשיג את רשימת המחשבים ברשת עם כתובת ה־Ethernet שלהם דרך ציוד הרשת. במקרה שלי, ניווט לתפריט LAN Settings → DHCP lease table הביאה איתה את רישום כל כתובות המחשבים ברשת שקיבלו כתובת IP מהנתב, כולל כתובת ה־IP, כתובת ה־Ethernet ובחלק מהמקרים גם שמו של המחשב.

שלב ג' – הפעלת המחשב מרחוק

כדי להפעיל מרחוק מחשב שהוגדר להפעלה באמצעות Wake On LAN עליכם להצטייד בתוכנה תואמת. בלינוקס מדובר על פקודה בשם wakeonlan שנמצאת במאגרים בחבילה בשם זהה, ובמערכות הפעלה אחרות ניתן למצוא תוכנות עם שמות דומים.

הפעלה של מחשב שנמצא ברשת אחרת

באופן טכני כדי לאפשר את הפעולה התקינה של Wake On LAN נשלחת חבילת נתונים מיוחדת (הקרויה גם Magic Packet) ברשת המקומית. נתבים אינם מעבירים חבילת Broadcast הלאה, כלומר לא ניתן להפעיל מחשבים שנמצאים על רשת אחרת, ובמרבית המקרים העסק לא עובד כשהחבילה מחיבור אלחוטי גם אם באופן עקרוני מדובר באותה הרשת. כדי להתגבר על בעיה זו ניתן להפעיל תוכנה על מחשב מקומי ברשת שתפקידה יהיה לגשר בין הרשת החיצונית לפנימית.

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

מחשבים שמריצים Windows ומשתמשים בתוכנה השליטה מרחוק LogMeIn יכולים להוות שרתים מתווכים ומאפשרים להדליק מחשבים אחרים שנמצאים באותה רשת בהנחה שיש לנו הרשאות עליהם והתוכנה הצליחה לזהות שהם נמצאים באותה הרשת.

זהירות!

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

Why ubuntu sucks in keeping the distribution in good shape?

About a year ago, Canonical released Ubuntu 8.04LTS, codenamed "Hardy Heron". Hardy was the first Ubuntu version to introduce Firefox 3.0, the problem was that Mozilla Firefox 3.0 was released only some time after the Ubuntu release, which made Canonical include a beta version of Firefox in the official release.

As Linux has better software updates mechanisms than other operating systems, no one worried about Canonical's decision to include beta software, and it was good to people who update their systems on a daily/weekly basis, but a bad idea for users who use LiveCD Linux (newbies, people who use Linux just as an Emergency CD for their other-os installation etc.), and for people who are unable to update or prefer not to do it (offline users, people who are connected only to internal networks).

Ubuntu users indeed got the official Firefox release right after it was released by Mozilla, but Canonical forgot one important piece – translations. In the official Ubuntu release, they got Firefox 3.0 beta 5, and its equivalent translations, but while they kept updating the browser, they didn't update the translations, <!– @page { margin: 0.79in } P { margin-bottom: 0.08in } –>where a few string changes were made.

Speaking of the Firefox Hebrew translation, which I am proud to be a member of, we had one very visible bug which was fixed between 3.0 beta5 and 3.0 rc1 – the status bar text was not aligned correctly, bug 402240 in Mozilla bug tracker. Shortly after the Ubuntu release we got the same issue reported on Ubuntu, and thanks to good people who pointed me to the link I had the opportunity to see it and tell them about the upstream issue in Mozilla.

Ubuntu users are living in a closed eco-system. They use software from other projects ("upstream"), but for most of the time they don't send patches and fixes back to these projects, and bugs reported in the Ubuntu bug tracking system will be kept there. The project maintainers and members won't even know about these issues, which are making Ubuntu users suffer from some issues which are not relevant to other Linux users.

Canonical adds a menu item to report bugs on every 3rd-party software they use, but you guessed right, the reported bug will exist only in Ubuntu Launchpad. when I tell people they should report these bugs to Mozilla if they want them to be fixed, and point them to the real bug which was already reported – other call me a troll and ask me to leave.

Back to our story. Because Canonical are packaging the software by themselves, they don't always remember to pack everything often enough. They are updating the browser itself, but you can forget about translation updates, even if they important and might break the application in some cases of missing strings.

Time passed by, Mozilla released the official translation, and Ubuntu updated the browser from Beta5 to 3.0 GA. The translation is still broken, as they thought Beta5 is final. The issue was mentioned in a few community forums, and when we looked for translations, we found that the translation was hiding inside the Gnome packages!

Fast forward to May 2009. One year, two Ubuntu distributions released, 10 Firefox minor versions. Do you think Ubuntu fixed these issues? Think again. They just keep using the same broken translation packages for both Ubuntu 8.10 Interpid release and Ubuntu 9.04 Jaunty. Next Ubuntu release may fix this issue at least, as they may want to include Firefox 3.5 in the release, far ahead of such minor bug fixes.

How to make things better in the future? I have three ideas:
a. Ubuntu should not keep bug reports for 3rd party software locked inside their bug trackers. They should motivate users to look for bugs in the upstream systems or do it for them (even if "human routers" need to be used).
b. Ubuntu should not update software while keeping old translations. It is not important to update a translation when it has no diff from the previous version, but sometimes it is important, even for minor versions, and l10n maintainers don't need to request every distribution to push the updates to their repositories.
c. Mozilla should be more friendly to Linux users, including but not limited to better quality binaries (in other words – enable PGO), and helping distributions by providing the packages to the repositories.

פלאש לינוקס

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

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

זכור לי מקרה בו הייתי צריך להשתתף בכנס כלשהו בארץ, ולקחתי עימי לנסיעה מחשב נייד של IBM שהריץ Windows. במחשבי ThinkPad של IBM (כיום Lenovo) קיימת מחיצה נסתרת בדיסק הקשיח שמאפשרת במידת הצורך לאפס את מערכת ההפעלה; זה אמנם יציל אותנו במצבים בהם מערכת ההפעלה מפסיקה לתפקד (כפי שכתבתי – המחשב מריץ Windows), אבל האם זה יסייע לנו במשהו ברגע שתהיה קריסה כללית של הכונן הקשיח? מיותר לציין שבמקרה שלי זה אכן קרה למרות שיום קודם לכן ביצעתי את האיפוס למערכת ההפעלה, ולמערכת השחזור האוטומטי לקח כמה שעות טובות לסיים את תהליך השחזור והתקנת כל הרכיבים הנלווים (שהסתיים זמן רב לאחר סיום האירוע, כאשר אני אוכל צהריים בסניף של ארומה והלפטופ מקבל הזנת חשמל מהקיר).

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

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

זכרונות פלאש קיימים במספר וריאציות שונות – כהתקני Disk On Key, ככרטיסי זיכרון וכאלו המוטבעים בתוך חומרה ייעודית ("נגני MP3"). כרטיסי הזכרון הינם האפשרות המועדפת עלי שכן מדובר בזכרון רב-שימושי שניתן לשימוש גם במצלמות, טלפונים ונגנים, ומרבית המחשבים הניידים מהתקופה האחרונה מגיעים עם חריץ SD מובנה, ובמקרים אחרים ניתן לרכוש בעלות נמוכה מתאם USB שיאפשר שימוש בכרטיס בתור Mass Storage Device, בדומה ל־Disk On Key. במקרה של כרטיסי SD חשוב לזכור כי התקן הישן מוגבל לנפח של עד 2 ג'יגה, ולא כל התקן יוכל לקרוא כרטיסים בנפח גדול יותר ("SDHC").

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

My laptop harddrive is broken. God bless the LiveUSBs

ההרדיסק של הלפטופ שלי

ופה נכנסת אפשרות קטנה ומעניינת – להפעיל מהתקן פלאש את ה־Live CD, ובכך להנות מרכיב קומפקטי וזול (במיוחד אם קיבלתם אותו כמתנה מהבנק!), אבל משוכלל בהרבה מהדיסק המקורי. בחיפוש קצר בגוגל מצאתי liveusb-creator עבור משתמשי פדורה, ו־Ubuntu LiveUSB בעבור משתמשי אובונטו, ורשימה מפורטת יותר בוויקיפדיה, למרות שניתן בקלות יחסית לבנות מערכת שעולה מהתקן נשלף בקלות יחסית באמצעות כלים הקיימים במערכת ההפעלה.

בזכות שימוש בהתקן פלאש להפעלת המחשב הסורר נוכל להמשיך ולעבוד בצורה מתורבתת בזכות העובדה שניתן להגדיר מחיצה נפרדת הממוקמת מחוץ ל־LiveCD עצמו ובכך לאפשר למשתמש לשמור את ההגדרות שלו (Persistent Storage), ובמקביל המערכת עובדת במצב Live כך ששינוי הגדרות מערכת והתקנת חבילות נוספות יעלמו בהפעלה הבאה של המחשב.

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