קצת על קורסים ללינוקס

Print Friendly, PDF & Email

כמעט בכל שבוע אני מקבל פניה או 2 מקוראי הבלוג לגבי המלצה על "קורס לינוקס". רבים מעוניינים להכיר את מערכת ההפעלה הפופולרית, חלקם חושבים להרחיב את ההתמקצעות שלהם בלינוקס, וחלקם רוצים להכיר אלטרנטיבה ל-Windows. לגטימי לחלוטין.

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

בלינוקס – זה שונה. ישנה חלוקה די ברורה של הפצות לינוקס: רד-האט ו-CentOS תמצאו בחברות, אובונטו יותר בסטארטאפים, SuSE מתחילה להיכנס יותר לארץ ו-Debian בד"כ אצל הוותיקים (כמו תמיד, מלחמות הפצה קיימות מכאן עד הודעה חדשה, אבל זה נושא לפוסט אחר). כך לדוגמא יכול להיות שתוכנה מסויימת בגירסה X קיימת כחבילות מוכנות להתקנה על אובונטו אך אותן חבילות לא ירוצו על הפצת לינוקס אחרת (ולמתחכמים: כן, קיים כלי בשם alien שממיר חבילות, אבל לא תמיד זה עובד וזה ממש לא משהו קל לשימוש למישהו שרק התחיל אתמול ללמוד לינוקס). פקודות התקנת חבילות הן שונות, בלא מעט מקרים גם קבצי ההגדרות לתוכנות פופולריות כמו Apache או NGINX נמצאות במיקומים שונים ובחלק קטן מהמקרים – גם ההגדרות עצמן שונות ואפילו התקנת הלינוקס שונה: כשמתקינים לדוגמא רד-האט או CentOS עם הגדרות ברירת המחדל, המערכת תפרמט את הדיסק לווליומים שונים כך שאם תרצה להוסיף מחר דיסק קשיח, תצטרך פשוט להגדיל את הווליום ולגמור עניין בשעה שחלק אחר מההפצות כלל לא טורח לעשות זאת וכשצריך להוסיף דיסק – צריך להעביר קבצים, ליצור קישור בין תיקיות ולבצע שלל פעולות אחרות.

לכן, כשלומדים לינוקס, צריך קודם כל לדעת לבחור מה לומדים. אם לדוגמא הקורס הוא מבוסס רד-האט ויש לכם בבית או על המחשב שלכם אובונטו, דברים יהיו מעט שונים. בד"כ הפקודות הקשורות לקבצים, משתמשים, ולחלק גדול מההגדרות – יהיו זהים, אבל יהיו חלקים שלא יהיו זהים, ובגלל זה קורס לימוד לינוקס (ולא חשוב אם זה בכיתה או שלמדתם דרך אתר כמו Linux Academy) מצריך מהמשתמש יוזמה להשתמש בהפצות לינוקס שונות על מנת להכיר יותר לינוקס ולא להגיע למצב שמכירים מעולה מערכת אחת אבל לא מכירים כלל מערכת לינוקס אחרת. לכן, לדוגמא, קורסי לינוקס בארץ שמלמדים ספציפית על רד-האט לדוגמא, די "נועלים" את הלומד על הפצה ספציפית אחת תוך התעלמות מהפצות אחרות. לעומת זאת, קורסים המבוססים לדוגמא על LPI/LPIC מדגישים יותר את הבסיס המשותף להפצות לינוקס ומשם הלומד יכול להמשיך ללמוד בעצמו על הפצות לינוקס אחרות.

נעבור לשאלת המיליון דולר: איך ללמוד לינוקס? רבים יחשבו שההמלצה הראשונית תהיה על ספר לימוד לינוקס, רק שהבעיה המרכזית עם ספרות זה שהדבר מצריך ריכוז רציני (ולא חסרים הסחות דעת) ושאין ממש את מי לשאול אם לא הבנתם משהו (חוץ מלחפש בגוגל ולשאול בפורומים). האופציה השניה היא לקחת קורס יעודי ולשלם 10-20 אלף שקל (או פחות, תלוי היכן). זה טוב ונחמד, אבל זה מאוד תלוי מי מעביר את הקורס ומי המשתתפים. כאחד שהעביר אי אלו הדרכות, תמיד מתרחשת הסיטואציה שמאן דהוא לא מבין והוא רוצה הסברים עכשיו וכל הכיתה מעוכבת 15-30 דקות עד שהוא יבין. מנסיון שלי מקורסים אחרים שאני עברתי (לא קשורים למערכות הפעלה) היו מקרים שבהם המורה היה מסביר צ'יק צ'ק על נושא מסוים והוא המשיך הלאה ובהפסקה גיליתי שאני לא היחיד שלא הבין מה הוא בדיוק לימד באותו זמן וההרגשה ש"הלך הכסף" הגיעה די מהר.

ישנם קורסים online שניתן לרכוש ב-20-40$ של UDEMY ואחרים (והח"מ קנה מספר קורסים כאלו), רק שהבעיה איתם שאתה בעצם "מהמר" על הקורס. לפעמים קשה להבין מילולית את המדריך (במיוחד שהמדריך מהודו ותלוי כמה הוא עבד על המבטא האנגלי שלו), לפעמים ההסבר אינו מספק ואי אפשר ליצור קשר עם המדריך כדי שיסביר בקצרה על מה מדובר, ולפעמים ההסבר כלל לא מכוון כלפי רמת לימוד שהלומד נמצא בה. אני יכול לדוגמא להסביר במשך שעתיים על Linux Schedulers וההבדלים ביניהם אבל אם המאזין לא יודע מה זה processes, ההסבר הולך לפח.

עד לפני כמה חודשים היה לי קשה להמליץ על אתר מסוים ללימוד כי הרבה מאוד אתרים מכרו לימוד על לינוקס בצורה די "חפיפניקית". זכור לי מקרה בו רציתי קצת יותר להעמיק את הידע על MySQL ולקחתי קורס ב-lynda.com על הנושא וכל הקורס דיבר רק על CRUD (כלומר create, read, update, delete), שום דבר על אינדקסים, join, left,right, מנועי database וכו' או קורס Python שלקחתי מאתר אחר ורק לאחר התשלום הבנתי שהמדריך כלל לא מתכוון להתעכב על ההבדלים בין Python 2.7 ו-Python 3 ומעלה, דבר די בעייתי שאתה מנסה להבין קוד שמישהו אחר כתב ממזמן …

כיום אני ממליץ בחום על Linux Academy (ולמעוניינים הנה קוד referral – ה-7 ימים הראשונים בחינם והשאר בתשלום חודשי של 29.50$). ההבדל בינו לבין אתרים אחרים הוא שבכל מה שקשור ללינוקס, יש שם הדרכות רבות לא רק על לינוקס אלא גם על כלים לעבוד איתם בלינוקס, אוטומציה, שפות תכנות, MySQL, וכמובן – עבודה בעננים ציבוריים שונים. יש להם 4 יתרונות גדולים על פני אתרים אחרים:

  • מכירים את זה שאתם משלמים ושוכחים להיכנס וללמוד? כבר בהתחלת כל קורס תקבלו אפשרות לקבוע לכם לוח זמנים ללימוד (ימים ושעות) והמערכת תשלח לכם התראות לפני כן על מנת לתזכר אתכם להיכנס ולהמשיך ללמוד..
  • לא הבנתם משהו? לכל קורס יש פורום, יש flash cards שאחרים כתבו כך שתוכלו ללמוד ולהיזכר בסיוע אחרים בדיוק באותם דברים שאתם מתקשים.
  • אין לכם סביבת לינוקס או שאתם לומדים על דברים הקשורים לעננים ואין לכם תקציב חופשי לחשבון ענן? אל דאגה: אתם מקבלים עד 6 שרתים ללא תשלום נוסף לנסות את הדברים שאתם לומדים בקורס. תתקינו Putty ואתם מסודרים.
  • כשתיכנסו לאתר תוכלו לראות מצד שמאל למעלה ציורית של ענן כתום – זהו החלק של Cloud Assesment, זהו החלק שיכול לבדוק אם אתם מוכנים לבחינה בנושאי ענן שונים כמו Solution Architect וכו'. יש גם את האייקון השלישי משמאל שנקרא Scale Your Code והוא יותר מורכב מהרצאות של אחרים על דברים שהם עשו.

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

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

Comments

comments

כתיבת תגובה

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.