וידאו עם HTML-5 מול Flash

בימים האחרונים עולה ברשת שוב הויכוח האם HTML-5 יכול “להרוג” את פלאש מבחינת וידאו.  גם גוגל וגם חברות אחרות נמצאות בתוך הקלחת הזו, אז חשבתי לתרום קצת מנסיוני בתחום הוידאו ולהסביר מס’ דברים. במאמר הפעם אני לא אכנס לעניין המקודדים (Codecs)..

בעקרון יש בגדול 2 שיטות לשידור וידאו: שיטה פשוטה ושיטה מתוחכמת.

השיטה הפשוטה היא השיטה שידועה לכולם: לוקחים קובץ וידאו, זורקים אותו לתוך שרת ה-WEB (בין אם זה Apache או IIS), בדף עצמו מטמיעים תוכנת נגן כלשהי (נגן פלאש, Quicktime או Windows Media Player) וכשהמשתמש לוחץ על Play, הנגן מבקש דרך HTTP את קובץ המדיה, הוא מאחסן כמה שניות ומתחיל לפרוס את הקובץ ולנגן אותו תוך כדי שהוא אוגר עוד ועוד וידאו ומנגן אותו. בשיטה זו אתרים פשוטים רבים עובדים (רוב אתרי הפורנו לדוגמא). החסרון בשיטה זו שאם יש איטיות בתקשורת בין שרת ה-WEB לדפדפן שלך, אתה תקבל הרבה הודעות Buffering, והוידאו “יתקע” למשך מס’ שניות עד שהנגן יאגור עוד תוכן ורק אז ינגן אותו. חסרון נוסף הוא שאין גמישות מבחינת הקידוד (תיכף ארחיב על כך) והחסרון המשמעותי ביותר: קשה לקבל מידע מפורט כמה זמן משהו נוגן, היכן המשתמש עצר את הוידאו וכו’. היתרון, לעומת זאת, הוא שאין צורך בשרת מיוחד כדי לנגן את הוידאו וכל שרת WEB יוכל להעביר את הוידאו לנגן.

השיטה המתוחכמת היא שיטה שבה משתמשים בשרת מדיה יעודי (כמו Quicktime Server, או Flash Media Server, או Windows Media Services וישנם עוד כמה שרתים כאלו). בשיטה זו לא משתמשים בשרת ה-Web הרגיל אלא משתמשים בשרת מיוחד ובפרוטוקול נפרד (MMS במיקרוסופט, RTSP אצל אפל, Real Network, או RTMP ב-Flash). השימוש בפרוטוקול ובשרת נותנים גמישות רבה יותר. אפשרות לשלוח Bitstream יותר גבוה או נמוך בהתאם למהירות התקשורת של הצד הצופה. אם לדוגמא התקשורת בין שרת המדיה ללקוח גבוהה, אפשר לשדר גירסה עם קידוד ביטים יותר גבוה, ואם מהירות התקשורת באמצע השידור נוחתת, אפשר לשנות מיידית את השידור לגירסה שמתאימה יותר למהירות הנוכחית. אפשר לשלב פרסומת דינמית מותאמת או כל אלמנט טכני אחר באמצע השידור (לדוגמא, החלפת תוכן הדף). אפשר לקבל סטטיסטיקות הרבה יותר מפולחות ומדויקות מי צפה במה וכמה זמן, איך היתה איכות השידור, כמה פעמים הוידאו עצר ועוד ועוד.

סטיב ג’ובס הוא “אנטי” פלאש בגלל כל מיני סיבות והוא דוחף את HTML-5 כתחליף לפלאש, אך התחליף האמיתי בכל הנוגע לוידאו מבחינתו של ג’ובס הוא Quicktime וללקוחות מעוניינים: Quicktime Server (שהמקודדים היוקרתיים שלו עולים כסף), כך שמבחינת אפל, הרווח פשוט יותר גדול כי כך אפשר לעקוף מתחרה ולהרוויח פלח שוק ורווח פיננסי כמובן, אך HTML-5 ותמיכת הוידאו שלו לא עוקפת את מה שיש לפלאש להציע. HTML-5 לא תומך ב-Stream עם מהירות ביטים משתנה, הוא לא תומך בתוכן מוגן, הוא לא תומך בפידבק בחזרה למקרין התוכן ואין בו הרבה דברים למה שפלאש מציע בתחום ניגון הוידאו (ועוד לא הזכרתי את עניין ה-HD). זו הסיבה לדוגמא שיוטיוב לא הולכים מחר לזרוק את Flash לטובת HTML-5. הם יאפשרו ניגון בפורמט HTML-5 אך עדיין ברירת המחדל תהיה פלאש וגוגל מכירים בכך ש-HTML-5 לא יהרוג את פלאש.

לסיכום: HTML-5 בהחלט יכול לעזור בניגון קבצי וידאו פשוטים משרת WEB דרך הדפדפן, אך בשלב זה ל-HTML-5 אין פתרון שמתאים לגופי שידור אינטרנט גדולים כמו Cast-up בארץ, או HULU בחו”ל. פלאש ישאר איתנו זמן רב, גם אם סטיב ג’ובס מתנגד לו.

לנוקיה נפל האסימון

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

אני שמח להודיע כי לנוקיה סוף סוף נפל האסימון.

זוכרים את Maemo, מערכת ההפעלה הלינוקסאית שהיתה בטאבלטים הקטנים של נוקיה ולאחר מכן עברה ל-N900? אז מעכשיו אפשר לאמר עליה פחות או יותר קדיש. נוקיה נוטשת את Maemo ועוברת במכשירי ה”עלית” (דגמי N) למערכת הפעלה לינוקסאית אחרת, הלו היא ה-Meego, שהוא תוצר שיתוף פעולה בין Intel ל-Nokia, כך שהמכשיר הבא המתוכנן בימים אלו (ה-N9) והלאה ירוצו עם מערכת Meego.

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

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

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

נקודה נוספת ומעניינת: מיקרוסופט במשך שנים נלחמה בלינוקס כדי לדחוק אותו החוצה מכל מקום, בין אם בשרתים, במערכות משובצות, וכמובן בטלפון, ועכשיו מגיע המצב שלינוקס תופס אחיזה מאוד רצינית בשוק: מצד אחד אנדרואיד שהוא לינוקס, ומצד שני בקרוב אינטל ונוקיה עם Meego שהוא גם לינוקס. אגב, תגובתה של מיקרוסופט לכל עניין הלינוקס והתחרות? Windows Phone 7 עם “חידושים” כמו ביטול Multitasking, נעילת המכשיר להתקנות חיצוניות (רק דרך החנות) וביטול… Cut & Paste.. אין ספק, מיקרוסופט מעתיקים לא רק את התכונות של האייפון, אלא גם מקצצים רבות בפונקציות הכרחיות. אחלה דרך!

הצעת החוק הבעייתית למימוש של ח"כ אורלב

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

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

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

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

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

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

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

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

  • שם מלא של המבקש, כתובת וטלפון של המבקש וכתובת האימייל שלו
  • לינק למאמר הכולל את הטוקבק הפוגע
  • מספר הטוקבק הפוגע וכינוי האדם הפוגע (בכדי לוודא כי מדובר באותו טוקבק)

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

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

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

והנה התחילו הצרות של אייפון 4

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

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

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

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

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

מוגש כחומר למחשבה למתלהבים שרוצים לרכוש אייפון 4 עכשיו.

הצעת החוק של זבולון אורלב בקשר לטוקבקים

תודות לעוזר הפרלמנטרי של הח”כ הנכבד, קיבלתי את הקובץ של הצעת החוק. אני מצרף אותו כאן.

לשון הרע – נוסח סופי שהונח

התייחסות לדברים – בפוסט הבא.

השדרוג לוורדפרס 3.0

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

לחצתי, התוכנה טענה את הקובץ, היה כתוב Updating ו…זהו. שום הודעה אם הצליח או לא הצליח. נפל? לא נפל? כלום. החלטתי ללחוץ על “לוח בקרה” ולראות אם השדרוג הצליח.

והוא הצליח. בערך…

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

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

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

לתשומת לב המשתמשים ב-כרום 6 ב-DEV: עקב באג מעצבן בכרום, בעריכת טקסט עברי בוורדפרס (בכתיבת פוסט), הסמן בטקסט מתעקש להיות באמצע האות ולא משמאל לאות. עם השועל זה לא קורה.

אם יהיו לי עוד עדכונים, אעדכן פוסט זה.

חובבי הלינוקס ו-Command Line – התעוררו

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

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

מכיוון שהמפתחים שם משתמשים כל הזמן בלינוקס, החליטו 2 מפתחים להרים פרוייקט חדש שיכול מאוד לעניין את חובבי ה-Command Line בינינו ושמשתמשים בשרותי גוגל השונים:

הפרוייקט נקרא: GoogleCL

מה הפרויקט הזה נותן? משהו פשוט: גישה לרוב השרותים שגוגל נותנת דרך ה-command line. אתה יכול להוסיף פגישה ביומן, להעלות פוסט לבלוג, להעלות וידאו ליוטיוב והכל ישירות משורת הפקודות ב-Shell שלך, מה שאומר שאפשר לשלב זאת בסקריפטים, כך לדוגמא אם יש לך ערוץ וידאו ביוטיוב ובדיוק סיים העורך לערוך קובץ בעורך וידאו, תוכל לבקש ממנו לשים את הקובץ המוגמר בתיקיה כלשהי וסקריפט שלך יסרוק את התיקיה ובפקודה אחת יעלה את הוידאו. רוצה לראות איזה פגישות מחכות לך ליום יומיים הקרובים? פקודה אחת והכל מופיע לפניך, ויש תיעוד לכל הפקודות והפרמטרים כמובן.

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

  • אלו שמשתמשים בפדורה 12 ומעלה, או OpenSUSE או מנדרייק מהשנה האחרונה, יכול להתקין בעזרת הכלי האהוב עליו את python-gdata ולאחר מכן להוריד מהאתר בלינק למעלה את קובץ ה-tar.gz האחרון, לפתוח אותו ופשוט לעקוב אחר ההוראות בקובץ INSTALL
  • לאלו המשתמשים בהפצות היותר יציבות כמו CentOS או RHEL או SLED/SLES (של SuSE): יש צורך להתקין python 2.6 ולהתקין את gdata-python-client ואחריו את GoogleCL.

כיצד לשתף מדפסת מלינוקס ל-Windows

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

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

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

לאחר שהגדרנו את המדפסת בלינוקס, אנו צריכים להגדיר את שרות ההדפסה CUPS כדי שיתן שרות למחשבים אחרים. לשם כך נבצע את הצעדים הבאים. יש צורך לבצע את הצעדים כ-root, כך שאפשר או לעבור למשתמש root ע”י פקודת su או להשתמש ב-sudo. כל אחד והעדפותיו:

  • נפתח בעורך טקסטים את הקובץ etc/cups/cupsd.conf/
  • נבדוק אם קיימת פקודת Listen (היא נמצאת בד”כ ב-10 שורות הראשונות, תלוי בכלי שכתב את הקונפיגורציה, ההפצה וכו’) ואם היא קיימת, נבדוק אם המילה localhost מופיעה. אם כן, נסיר אך ורק את המילה localhost. פעולה זו תאפשר לשרות CUPS להיכנה לא רק למחשב המקומי אלא גם למחשבים אחרים.
  • בהמשך הקובץ קיימת השורה </ Location> ומתחתיה שורת Order allow,deny (יכול להיות שביניהם קיימת שורת הערה שמתחילה ב # – אפשר להתעלם מהשורה, זו רק שורת הערה). נוסיף שורה לאחר ה-Order ובה נבקש מ-CUPS לאפשר שרות למחשבים אחרים בכתובות שלנו הפנימיות בבית. לדוגמא, אם המחשבים בבית נמצאים בכתובת 192.168.1.10, 192.168.1.11 וכו’, אז נוכל להוסיף את ההרשאה כך: .Allow from 192.168.1 (שימו לב לנקודה לאחר ה-1, הנקודה הזו אומרת ל-CUPS לתת שרות לכל המחשבים בכתובות שמגיעות אחרי 192.) שתתווסף לפני שורת <Location/>, כך שההגדרה בסוף תראה כך:Order allow,deny

</Location>

Order allow,deny

.Allow From 192.168.1

</Location>

  • נשמור את הקובץ, נצא מעורך הטקסטים ונתחיל את שרות ה-CUPS מחדש. בהפצות כמו פדורה/רד-האט/סנטוס אפשר לבצע זאת עם הפקודה service cups restart (שוב, אפשר עם פקודת su או sudo). באובונטו, דביאן וכו’ אפשר לבצע זאת עם פקודת etc/init.d/cupsys restart/
  • כעת אנו צריכים לבדוק אם חומת האש בלינוקס שלנו חוסמת את הגישה או שהיא פותחת את הפורט (בברירת המחדל הפורט פתוח ו-CUPS לא מאפשרת גישה מרחוק). נריץ את הפקודה הבאה: netstat -l -t | grep ipp
  • אם הפורטים עבור CUPS פתוחים, סביר להניח שתראה שורה או 2 המציינות LISTEN לשרות IPP שהוא השרות של ה-CUPS. במידה ולא, תצטרך להשתמש בכלי של ההפצה שלך כדי להגדיר את הפורט. שוב, בד”כ אותו פורט פתוח.

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

  • ראשית נפתח דפדפן כלשהו ב-Windows, ונגלוש לשרת CUPS בלינוקס. במקרה שלי לדוגמא הכתובת היא: http://192.168.1.102:631 – אם הכל תקין, אנחנו נקבל דף של CUPS. בדף נבחר Printers ושם נראה את רשימת המדפסות שלנו. כאן יש ללחוץ על המדפסת שאנחנו רוצים לשתף.
  • יש להיכנס ללוח הבקרה, ל-printers and faxes ולבחור Add Printer. יופיע חלון, יש ללחוץ Next
  • בחלון תישאל שאלה: מדפסת מקומית או רשת? אנחנו נבחר רשת.
  • עתה אנו נצטרך להכניס את הכתובת שנמצאת כרגע בדפדפן: בחלון נלחץ על אופציה שלישית וב-URL נעתיק את הכתובת הנוכחית מהדפדפן ונלחץ Next.
  • לאחר מס’ שניות Windows יציג חלון בו נצטרך להחליט לגבי דרייבר למדפסת. אין צורך שתחפשו או תשתמשו בדרייבר של המדפסת שלכם. במקום זאת, בחרו מתוך תפריט Manufacturer את Generic ומתוך Printers את MS Publisher Imagesetter ולאחר מכן לחצו על Next.
  • Windows ישאל אם אתם רוצים את המדפסת הזו כמדפסת ברירת מחדל. תחליטו אם כן או לא ולחצו Next
  • ברכותיי. המדפסת התווספה. כדי לבדוק שהדברים תקניים יש לבחור את המדפסת בלוח בקרה, ללחוץ על Properties ואז לבחור Print test page. אם הכל עבר בצורה תקינה, אתם אמורים לקבל מהמדפסת דף עם הלוגו של Windows עם גירסת ה-Windows וכמה פרטים טכניים. אם זה מה שקיבלתם, אז הכל תקין.

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

בהצלחה

וירוס ללינוקס?

יצא לי לקרוא לפני מס’ ימים את כתבתו של ניב ליליאן על סוס טרויאני שנמצא בתוכנת שרת IRC (בשם UnrealIRCd) ותהייתו האמנם ללינוקס אין וירוסים.

נתחיל בעובדה פשוטה אחת: האם אפשר לכתוב וירוס שירוץ על לינוקס? התשובה היא חד משמעית: כן. תמיד אפשר לכתוב סקריפט שיעשה נזקים גדולים, שידע לטעון דברים אחרים (אם יש תקשורת החוצה) ואם הסקריפט ינצל פרצות קיימות ידועות שלא נסגרו, יהיה אפשר עם הסקריפט לתת למשתמש רגיל הרשאות root ומכאן והלאה הנזק שניתן לגרום יהיה ממשי ומבעית. אפשר יהיה לגרום לוירוס לרוץ כל פעם שמשתמש מתחבר לשרת ב-ssh לדוגמא ע”י הוספת שורה אחת ב-bashrc / bash_profile (תלוי בנסיבות), אפשר יהיה לגרום לסקריפט להשתמש להשתמש במפתחות שנמצאות בתיקית ssh. כדי לחדור למחשבים אחרים ו”להדביק” אותם.

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

  • תוכניות שנכתבות ב-bash/tcsh או ב-perl או python וכו’ כשהן מורדות דרך דפדפן אינן מסוגלות לרוץ לאחר ההורדה. בשביל שקובץ יוכל לרוץ, חייב להיות לאותו קובץ ביט דלוק בהרשאות שלו ואות ביט נקרא Executable (או בקיצור: x). בלי הביט הזה, אם ננסה לפתוח אותו דרך מנהלי הקבצים של KDE או GNOME, יפתח עורך טקסטים עם תוכן הקובץ. הוא פשוט לא ירוץ, ובשביל להריץ אותו יש צורך בהרצאה ידנית: או להפעיל את הביט של executable לגבי הקובץ ואז להפעיל, או להשתמש ב-sh (או בפקודה שצריך, בהתאם לשפה שבה נכתבה התוכנה, כמו perl או python או php וכו’), כלומר אין אפשרות שאדם שלא מכיר לינוקס יוריד סקריפט, ילחץ עליו והסקריפט ירוץ אחרי הקלקה.
  • קיימים קבצי “חבילות” בינאריות כמו RPM או DEB להפצות לינוקס שונות, אולם גם כאן ישנם אמצעי מניעה ואזהרה. רוב המשתמשים מתקינים תוכנות אך ורק דרך מאגרים רשמיים (repositories) וכל מאגר חתום בחתימה מיוחדת שאותה יש לייבא לפני שימוש במאגר חיצוני. אמצעי מניעה נוסף הוא הצורך בסיסמת root על מנת להתקין קבצים בינאריים אלו. אין סיסמא, אין התקנה.
  • המאגרים שהזכרתי בסעיף הקודם מנוהלים ע”י אנשים אחראים ובמקרים רבים אותם מנהלים הם הם אלו שבונים את החבילות הבינאריות ולא כל טלאי קוד עלום מוכנס כך סתם לתוך החבילות הבינאריות, כך שהסיכוי לכך שחבילה בינארית תצא עם קוד זדוני הוא די קטן.
  • מודעות לאבטחה: בניגוד ליצרניות מערכות הפעלה אחרות שלוקחות את עניין אבטחה המידע כאקט שיווקי ורק לאחר מכן יישומי, יצרני ההפצות לוקחים את עניין האבטחה מאוד ברצינות ומיישמים זאת בהפצות השונות של לינוקס. התקנת CentOS או Fedora לדוגמא ישאלו לאחר סיום ההתקנה איזה שרותים הינך רוצה להריץ ועל איזה יציאת רשת הינך “סומך”, כדי שהמערכת תכתוב אוטומטית חוקים לחסום את השאר. בניגוד למיקרוסופט שמציגים חלון השואל אם לפתוח פורט לאפליקציה (והמשתמשים, גם כשאין להם מושג מה החלון אומר, לוחצים “yes”), בלינוקס אתה צריך לפתוח פורט ידנית בחומת האש לאפליקציה אם היא צריכה תקשורת מבחוץ פנימה, ובמקרים מסויימים גם צריך לשנות את חומת האש לשם התקשרות מבפנים החוצה.

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

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

בקצרה: VLC עם פדורה 13

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

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

*** glibc detected *** vlc: free(): invalid pointer: 0x02ae3ff0 ***

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

הפתרון? יש מס’ פתרונות:

  1. הפתרון שכולל הורדה מחדש בצורה ידנית של VLC וזה אמור לפתור, נמצא כאן.
  2. פתרון שני שקיים הוא לקחת את קובץ ה-SRPM ולבנות את התוכנה מחדש. הפתרון הזה לוקח את הזמן מבחינת קימפול, זו חבילה די ענקית.
  3. הפתרון הנוסף שמצאתי הוא די פשוט: מריצים את הפקודה הבאה בטרמינל: MALLOC_CHECK_=1 vlc ו.. זהו. בפעם הבאה שתריצו את התוכנה, לא תצטרכו להשתמש בבדיקת MALLOC והתוכנה תרוץ כאילו לא קרתה שום תקלה. ניסיתי לבדוק מס’ סרטים והכל רץ בצורה יוצאת מן הכלל.

לפחות ממה ששמעתי ב-IRC בערוץ fedora, חבילת תיקון תצא בקרוב.