על ארץ׳ לינוקס ועלי

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

כבר יותר משנה שאני משתמש בשני המחשבים שלי בארץ׳ לינוקס. הפצה מצוינת שאם אתה מחבק אותה היא מחבקת אותך בחזרה בחום.

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

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

טיפ קצר – רישום תעבורה עם iptables

cc-by-nc-sa Jeff Howard

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

iptables מיועדת לשליטה בתעבורה, אבל היא גם יכולה לבצע רק רישום שלה. פשוט מריצים את הפקודה הבאה וכל התעבורה היוצאת נרשמת ביומן של המערכת, שנמצא בדרך כלל ב־‎ /var/log/messages (ברור שיש להפעיל את Iptables אם היא מכובה):

iptables -I OUTPUT 1 -j LOG --log-level 4 --log-prefix '***PREFIX'

את prefix ניתן לשנות כרצונכם.

הפוסט נכתב לבקשתו של ישראל.

להוריד מיוטיוב עם youtube-dl

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

לכן עדיף לא להיות תלויים באתר צד שלישי וכדאי להכיר את youtube-dl שמאפשרת להוריד ישירות למחשב כולל המרה של הקובץ. השימוש נעשה דרך שורת הפקודה. יתרון של התכנה על האתרים הנ"ל שהיא יכולה להוריד כמה סרטונים לפי רשימה או משתמש.

הורדת סרטון:

youtube-dl http://www.youtube.com/watch?v=eRsGyueVLvQ

הורדת סרטונים מרשימה:

youtube-dl http://www.youtube.com/playlist?list=PL6B3937A5D230E335

כדי להגביל את מספר הסרטונים שיירדו נשתמש בפרמטר max-downloads:

youtube-dl --max-downloads 2 http://www.youtube.com/playlist?list=PL6B3937A5D230E335

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

youtube-dl -F http://www.youtube.com/watch?v=eRsGyueVLvQ
[youtube] Setting language
[youtube] eRsGyueVLvQ: Downloading video webpage
[youtube] eRsGyueVLvQ: Downloading video info webpage
[youtube] eRsGyueVLvQ: Extracting video information
Available formats:
38 : video [3072x4096]
37 : mp4 [1080x1920]
46 : webm [1080x1920]
22 : mp4 [720x1280]
45 : webm [720x1280]
35 : flv [480x854]
44 : webm [480x854]
34 : flv [360x640]
18 : mp4 [360x640]
43 : webm [360x640]
5 : flv [240x400]
17 : mp4 [144x176]

ונבחר להוריד mp4 ברזולוציה גבוהה:

youtube-dl -f 37 http://www.youtube.com/watch?v=eRsGyueVLvQ

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

youtube-dl --audio-format mp3 --extract-audio http://www.youtube.com/watch?v=eRsGyueVLvQ

הדרך המתוחכמת יותר היא להשתמש ב-pipe עם ffmpeg:

youtube-dl -q -o - | ffmpeg -i - "output.mp3"

q אומר לא להדפיס את הפלט למסוף, o – אומר להעביר את הפלט ל-pipe, ו-i – אומר לקבל את הקלט מ-pipe. כמובן שאפשר להוסיף עוד הגדרות של ffmpeg כמו איכות ההמרה וסוג הקובץ.

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

אין ספאם – גרסה 0.5

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

לאור השכתוב החדש החלטתי שמגיע לתוסף להקפיץ את מספר הגרסה ל־0.5 כדי לסמן את השינוי הגדול.

מה חדש:

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

את התוסף ניתן להוריד ישירות ממאגר התוספים או לחפש אותו דרך לוח הבקרה של וורדפרס.

ואם לא תגיבו לפוסט אני אחשוב שיש בעיה בתגובות.

feed2podcast – יצירת פודקאסט מסתם rss

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

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

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

אז אחרי ההקדמה הזו, ישבתי וכתבתי (בעזרתו האדיבה של תומר) כלי php שירוץ על השרת שלי או שלכם יינתח את הזנת הרסס וימיר אותה למשהו ש־beyondpod או כל יישום אחר יוכל לקרוא. לכלי קוראים בצורה ממש מפתיעה feed2podcast  והשימוש בו יחסית פשוט ולא דורש ידע נרחב בתכנות.

הוראות:

  • מורידים את feed2podcast. אפשר להוריד את הגרסה היציבה מפה או את הגרסה האחרונה מפה.
  • מחלצים את הקובץ.
  • מעתיקים את הקובץ feed.php, משנים את שמו ועורכים אותו לפי ההגדרות הרצויות.
    <?php

    /* required */
    $feed='http://news.php.net/group.php?group=php.announce&format=rss'; //url of the feed

    /* optional */
    $type=''; //file type, default mp3
    $updateHours=5; //How often the cache is updated (in hours), default 5
    $image=''; //podcast logo url, default none;
    $delStr=''; // delete substring in file url. for sites that redirect the download via other

    /* not touch */
    require('feed2podcast.php');
    $feed2podcast = new PodcastFeedCreator($feed);

    $feed2podcast->setType($type);
    $feed2podcast->setUpdateHours($updateHours);
    $feed2podcast->setImage($image);
    $feed2podcast->setDelStr($delStr);

    $feed2podcast->getFeed();
    • $feed (חובה) – הוא כתובת ההזנה שרוצים לנתח.
    • $type – הוא סוג הקבצים. אם לא מזינים סוג אז הוא יהיה mp3.
    • $updateHours – זה הזמן בשעות שלאחריו תוקף ההזנה שעל השרת שלכם יפוג וההזנה המקורית תנותח שוב.
    • $image – כתובת לתמונה עבור ההזנה שלכם. תכנות פודקאסטים בדרך מציגות אותה ליד שם הפודקאסט. כבררת מחדל זה ריק ואפשר להשאיר את זה ככה.
    • $delStr – מאפשר למחוק חלק מהכתובת של הקבצים. גל"צ למשל מעבירים אותם דרך קובץ הורדות שמפריע להוריד את הקבצים לטלפון ישירות.
  • עכשיו מעלים את הקבצים לשרת שלכם דרך ftp, scp, cpanel או טלפתיה.
  • גולשים לכתובת של ההזנה החדשה, למשל: http://yoursite.co.il/feed2podcast/yourfeed.php, רואים את ההזנה עם הקבצים ונרשמים אליה.

דוגמה לקורס עידן התגליות.

/* required */
$feed='http://glz.fm/index.php?action=media;sa=rss;album=108'; //url of the feed

/* optional */
$type=''; //file type, default mp3
$updateHours=5; //How often the cache is updated (in hours), default 5
$image='http://glz.fm/bu-2012-tue.jpg'; //podcast logo url, default none;
$delStr='http://glz.fm/dl.php?file='; // delete substring in file url. for sites that redirect the download via other

את התוצאה ניתן לראות על השרת שלי ואף להירשם אליה.

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

תאריך עברי ביומן אנדרואיד

תאריך עברי באנדרואיד - תצוגת יוםלוח השנה באנדרואיד מאוד נוח ומועיל אבל מבחינתי יש לו חיסרון גדול שאין לו תאריך עברי.

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

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

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

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

חודש ביומן אנדרואיד אחרי הוספת תאריך עברי

המרת רומים של odin לקבצים של cwm

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

android iconodin, כלי לצריבת רומים למכשירי אנדרואיד, מיועד רק לחלונות ולכן משתמשי לינוקס לא יכולים להשתמש בו. בתור משתמש לינוקס חיפשתי ומצאתי דרך להמיר את הקבצים שמיועדים לאודין כך שיהיה אפשר להתקין אותם ישירות מ-ClockworkMod (להלן cwm).

  1. להוריד רום שמיועד ל-cwm ולחלץ אותו (למשל CyanogenMod) לתיקיה חדשה נגיד בשם update. הרום שמורידים צריך להיות באותה גרסת אנדרואיד כמו הרום שרוצים להמיר (תודה ל־yoelsd).
  2. למחוק מהתיקייה החדשה את boot.img ואת התיקייה system, אין לנו צורך בהם.
  3. לפתוח את הקובץ שמיועד לאודין ולחלץ ממנו את boot.img ואת system.rfs.
  4. להעתיק את boot.img לתיקייה update.
  5. ליצור תיקייה חדשה ולעגן אליה את system.rfs. בלינוקס זה מבוצע עם הפקודה
    sudo mount system.rfs newdir
  6. ליצור בתיקייה update תיקייה בשם system ולהעתיק אליה את כל התוכן של system.rfs.
  7. ליצור קובץ zip שמכיל את כל התוכן של update (לא כולל התיקייה עצמה).

זהו, עכשיו אפשר להתקין את הרום ישירות מ-cwm.

מקור: http://madteam.co/forum/support-7/how-can-i-convert-a-tar-for-odin-to-a-cwm%27s-zip/msg11210

פודקאסטים – סיבוב שני

אם עוד לא קראת: פודקאסטים – חלק א'

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

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

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

  • מה הקשר?! – פינה בגלי צה"ל שמעבירה במהירות כמה מושגים עם הקשרים רופפים ביניהם. נראה שזה הפסיק להתעדכן אבל כבר יש שם 42 פרקים. בקטע על הטלית יש להם לא מעט שגיאות.
  • 60 שניות – פינה שמשודרת ברדיו 1מ', רדיו הטכניון, ובה מסבירים בכל פעם 60 שניות (בערך) על נושא אחר. כנראה שהם מקריאים מוויקיפדיה אבל זה בכל זאת מעניין.
  • פה ושם בארץ ישראל  – פודקאסט חדש על נושאים שקשורים לארץ ישראל. שמעתי רק פרק אחד ועדיין לא החלטתי מה דעתי עליו.
  • נפילת הרפובליקה הרומית ועליית הקיסרות – סדרת הרצאות מרתקת מהאוניברסיטה המשודרת על המעבר של רומא מרפובליקה לקיסרות. מאות שנות היסטוריה רומית בשלושה עשר פרקים. מי שיש לו קשרים אצלי יוכל לקבל הזנת רסס.
  • התאטרון הרדיופוני של אביגיל – תסכיתים קצרים ומשעשעים מפי אביגיל רבין.
  • עוד מעט נהפוך לשיר  – תכנית של גלי צה"ל ליום הזיכרון שבה מלחינים ומבצעים שירים שכתבו חיילים שנפלו. ההזנה מתעדכנת פעם בשנה. יש לי רגשות מעורבים כלפיה. מצד אחד היא מרגשת, מצד שני קצת בכיינית.
  • פודקסט לעניים – אריאל ממליץ על הרצאות מעניינות מיוטיוב שהוא המיר לקובץ שמע. מסיבות של זכויות יוצרים הוא לא מקשר לקובצי השמע אלא רק מסביר איך להמיר בקלות.
  • שעה היסטורית – תכנית רדיו על היסטוריה ששידר פרופ' מיכאל הר סגור בגל"צ במשך שנים רבות. מטעמי זכויות יוצרים אין גישה ישירה לפרקים וצריך לבקש קישור דרך קבוצת הפייסבוק הזו לפי ההסבר בהודעה.

שינוי הרשאות לתיקיות או לקבצים

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

chmod -R [number] foldername

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

fchmod (לקבצים):

#!/bin/bash
per=$1
path=$2
if [ "$path" == "" ]; then
path=.
fi
find $path -type f -exec chmod $per {} \;

dchmod (לתיקיות):

#!/bin/bash
per=$1
path=$2
if [ "$path" == "" ]; then
path=.
fi
find $path -type d -exec chmod $per {} \;

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

dchmod 755 mydir

או לקבצים

fchmod 466 mydir

אם לא מגדירים את התיקייה הפקודה תרוץ על התיקייה הנוכחית.

אפשר למצוא את התסריטים ב־github וגם להוריד אותם משם ישירות.

אני מקווה שהם יועילו לכם.

מכתב תלונה גלוי לנטויז׳ן

שלום רב

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

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

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

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

בברכה

 

העתקים:

משרד התמ״ת

אמון הציבור

המועצה הישראלית לצרכנות