כולם עוברים למקום אחר. ככה נדמה.
מה אני מפסיד שאני לא עובר? לא ידוע... אבל אולי שווה לעשות טיול קצר ולראות במה מדובר? הרי כל מי שעבר - אומר ששם כ"כ הרבה יותר טוב, הכל כ"כ פשוט פתאום, כ"כ קל, שהוא לא יודע איך הוא חי קודם עם כל הבעיות האלה מסביב....
אני מדבר, כמובן, על Windows ו Linux - אם מישהו לא הבין (?!).
כשהייתי סטודנט (לפני 15 שנה כמעט) היו באוניברסיטה "מסיבות לינוקס" בהן סטודנטים הגיעו עם המחשב (desktop) למעבדה אחה"צ - והמתרגלים עזרו להתקין לינוקס. אני חושב שזה היה red hat.
לא חיבבתי את לינוקס, והשנתון שלנו היה הראשון בו עברו מפיתוח ב ++C, לשפת Java.
לאחר כשבוע-שבועיים, כשהבנתי שאני יכול לפתח ב Windows והקוד יעבוד מצוין אצל המתרגלים בלינוקס - ניתקתי מגע עם לינוקס וכמעט לא נגעתי בו יותר. שנים אח"כ, בעבודה, כשבסביבת ה production הייתה לינוקס - הרשתי לעצמי לתת לאחרים להתעסק עם המערכות. אני המשכתי להשתמש בסביבת חלונות, שאני מכיר היטב ונוח לי איתה.
זהו, נראה לי שמשהו השתנה לאחרונה. אולי זה משהו פנימי בי, ואולי משהו שקורה בעולם - אבל הרגשתי לאחרונה יותר לא נוח לגבי חוסר השליטה שלי בלינוקס, והחלטתי להשלים פערים.
דיסקליימר: אני לא מומחה בלינוקס, ולא מבין גדול. הכתיבה על לינוקס עוזרת לי באופן אישי לארגן דברים ולאמת / להשלים חוסרים תוך כדי בדיקה, ומצד שני יכולה להועיל לכמה אחרים שיודעים פחות ממני. אני מנסה (כרגיל) לתת ידע משמעותי ובקצב שלא ישעמם שועלי-קרבות ותיקים.
בניגוד לנושאים אחרים שאני מכסה בד"כ, על לינוקס דווקא יש חומר סביר בעברית (כמה לינקים שאני השתמשתי בהם - בתחתית הפוסט), והמון חומר טוב באנגלית - כך שאני כנראה לא אהיה ייחודי.
הפוסט מכוון לקוראי הבלוג (קרי: אנשים שאינם חדשים לעולם התוכנה) המכירים את ה command line בחלונות, אבל עבדו מעט / לא עבדו בכלל עם לינוקס. בפוסט זה אכסה 2 פעולות הכי בסיסיות לעבודה בלינוקס (מ flow העבודה שלי): התמצאות בסיסית במערכת והתקנת אפליקציות. זה כנראה המינימום בכדי לעשות משהו עם לינוקס.
פוסט זה הוא חלק מהסדרה: לינוקס / אובונטו
אובונטו (Ubuntu, מקור השם: "אנושי" בשפה דרום אפריקאית - "נועד לאנשים") הוא ה distribution הכי מדובר בעולם הלינוקס כבר כמה שנים. בחרתי בו... כי הוא הכי IN (בעבודה אנו עובדים בכלל עם OpenSuse או Red Hat).
אובונטו מתבסס על הפצת Debian, הפצה ותיקה ונחשבת של לינוקס - ותורם לה חזרה. לאובונטו יש גרסת Desktop וגרסת Server, שלא כוללת את ה UI של ה Desktop ובנויה בצורה יותר אופטימלית למשימות שרת. לאובונטו יש גם כל מיני גרסאות בנות (שאת רובן ניתן לזהות בקלות ע"פ השם): Lubuntu, Xubuntu, Edubuntu ועוד - רובן מתמקדות בפלח מסוים של משתמשים שולחניים.
אובונטו החל כ disto (קיצור מקובל ל distribution) שהתמקד בחווית desktop טובה, אבל הצליח לייצר לפשט דברים שגם טובים לשרתים (התקנה, עדכונים) - ויצא בגרסת שרת. לאחרונה הוא בולט בניסיון שלו להיות הפצה למגוון רחב של פלטפורמות (מובייל, טאבלטים ו TV).
מספרי הגרסאות באובונטו נקבע ע"פ תאריך השחרור. 14.04, הגרסה בה אני משתמש, היא גרסה שתשוחרר באפריל 2014 - בעצם בשבוע הבא. אני עובד עם גרסת הבטא. גרסת 14.04 היא גרסת LTS (קרי Long Term Support), מה שאומר שהיא תתמך למשך חמש שנים מהיום שבו תשוחרר.
אני אישית מתחיל להשתמש בלינוקס כסביבת deployment/testing אישית ולא כסביבת פיתוח או Desktop - "חלונות" עדיין נוחה לי יותר למשימות אלו. אני עם עובד עם אובונטו שהותקן כ VM על "חלונות" (VMWare). ההתקנה של אובונטו היא חלקה לחלוטין, יותר פשוטה מהתקנה של Windows 8, וקצרה בהרבה (על המחשב שלי: התקנת גרסת השרת אורכת כ 10 דקות מול כ 30-40 דקות של חלונות 8 Desktop).
לא חיבבתי את לינוקס, והשנתון שלנו היה הראשון בו עברו מפיתוח ב ++C, לשפת Java.
לאחר כשבוע-שבועיים, כשהבנתי שאני יכול לפתח ב Windows והקוד יעבוד מצוין אצל המתרגלים בלינוקס - ניתקתי מגע עם לינוקס וכמעט לא נגעתי בו יותר. שנים אח"כ, בעבודה, כשבסביבת ה production הייתה לינוקס - הרשתי לעצמי לתת לאחרים להתעסק עם המערכות. אני המשכתי להשתמש בסביבת חלונות, שאני מכיר היטב ונוח לי איתה.
זהו, נראה לי שמשהו השתנה לאחרונה. אולי זה משהו פנימי בי, ואולי משהו שקורה בעולם - אבל הרגשתי לאחרונה יותר לא נוח לגבי חוסר השליטה שלי בלינוקס, והחלטתי להשלים פערים.
דיסקליימר: אני לא מומחה בלינוקס, ולא מבין גדול. הכתיבה על לינוקס עוזרת לי באופן אישי לארגן דברים ולאמת / להשלים חוסרים תוך כדי בדיקה, ומצד שני יכולה להועיל לכמה אחרים שיודעים פחות ממני. אני מנסה (כרגיל) לתת ידע משמעותי ובקצב שלא ישעמם שועלי-קרבות ותיקים.
בניגוד לנושאים אחרים שאני מכסה בד"כ, על לינוקס דווקא יש חומר סביר בעברית (כמה לינקים שאני השתמשתי בהם - בתחתית הפוסט), והמון חומר טוב באנגלית - כך שאני כנראה לא אהיה ייחודי.
הפוסט מכוון לקוראי הבלוג (קרי: אנשים שאינם חדשים לעולם התוכנה) המכירים את ה command line בחלונות, אבל עבדו מעט / לא עבדו בכלל עם לינוקס. בפוסט זה אכסה 2 פעולות הכי בסיסיות לעבודה בלינוקס (מ flow העבודה שלי): התמצאות בסיסית במערכת והתקנת אפליקציות. זה כנראה המינימום בכדי לעשות משהו עם לינוקס.
פוסט זה הוא חלק מהסדרה: לינוקס / אובונטו
OO-BUUN-TOO
אובונטו (Ubuntu, מקור השם: "אנושי" בשפה דרום אפריקאית - "נועד לאנשים") הוא ה distribution הכי מדובר בעולם הלינוקס כבר כמה שנים. בחרתי בו... כי הוא הכי IN (בעבודה אנו עובדים בכלל עם OpenSuse או Red Hat).
אובונטו מתבסס על הפצת Debian, הפצה ותיקה ונחשבת של לינוקס - ותורם לה חזרה. לאובונטו יש גרסת Desktop וגרסת Server, שלא כוללת את ה UI של ה Desktop ובנויה בצורה יותר אופטימלית למשימות שרת. לאובונטו יש גם כל מיני גרסאות בנות (שאת רובן ניתן לזהות בקלות ע"פ השם): Lubuntu, Xubuntu, Edubuntu ועוד - רובן מתמקדות בפלח מסוים של משתמשים שולחניים.
אובונטו החל כ disto (קיצור מקובל ל distribution) שהתמקד בחווית desktop טובה, אבל הצליח לייצר לפשט דברים שגם טובים לשרתים (התקנה, עדכונים) - ויצא בגרסת שרת. לאחרונה הוא בולט בניסיון שלו להיות הפצה למגוון רחב של פלטפורמות (מובייל, טאבלטים ו TV).
מספרי הגרסאות באובונטו נקבע ע"פ תאריך השחרור. 14.04, הגרסה בה אני משתמש, היא גרסה שתשוחרר באפריל 2014 - בעצם בשבוע הבא. אני עובד עם גרסת הבטא. גרסת 14.04 היא גרסת LTS (קרי Long Term Support), מה שאומר שהיא תתמך למשך חמש שנים מהיום שבו תשוחרר.
אני אישית מתחיל להשתמש בלינוקס כסביבת deployment/testing אישית ולא כסביבת פיתוח או Desktop - "חלונות" עדיין נוחה לי יותר למשימות אלו. אני עם עובד עם אובונטו שהותקן כ VM על "חלונות" (VMWare). ההתקנה של אובונטו היא חלקה לחלוטין, יותר פשוטה מהתקנה של Windows 8, וקצרה בהרבה (על המחשב שלי: התקנת גרסת השרת אורכת כ 10 דקות מול כ 30-40 דקות של חלונות 8 Desktop).
פקודות בסיסיות
כפי שציינו אני מתייחס בפוסט (או סדרת פוסטים) זו לגרסת השרת של אובונטו - שם יש command line בלבד.
כשאני "מריץ" את ה VM ומפעיל את אובונטו - הוא נראה כך:
צילום המסך הוא לאחר login (בירוק), וכאשר יש שורת פקודה זמינה (בצהוב). הערה: שורת הפקודה הסטנדרטית נראית טיפה שונה, אני שיניתי אותה מעט |
בגדול, שורת הפקודה של לינוקס דומה לזו של windows - רק הרבה יותר עשירה. כאשר עובדים מרחוק (דרך SSH למשל - פרוטוקול מאובטח להפעלה מרוחקת של ה shell) הממשק הוא של command line. לממשק זה יש כמה יתרונות:
- פשוט לפתח (development) ולתחזק אותו
- ניתן ביעילות להפעיל אותו מרחוק, גם כאשר הרשת היא לא מהירה
- אם הכל ניתן להפעלה מ command line - להכל ניתן לעשות אוטומציה / לכתוב scripts
- כאשר מיומנים, אפשר להיות מאוד מהירים איתו (אני לא שם, למשל)
הממשק של לינוקס נקרא bash, שהוא בעצם ראשי תיבות של Bourne Again SHell. שם מוזר, אך יש לו משמעות: ממשק ברירת המחדל של UNIX היה בזמנו Bourne Shell, והמפתח של bash כתב גרסה דומה, חינמית, ומשופרת של ה shell - בעצם shell שנולד מחדש, חופשי (bourne נשמע כמו born).
עדכון: תודה לקורא שהעיר לי שמאז גרסה 6.10, אובונטו משתמשת ב shell שנקרא dash ולא ב bash. מקור השם הוא קיצור של Debian Almquist SHell, מכיוון ש dash הוא וריאציה של shell רזה שנקרא Almquist Shell (בקיצור ash).
dash אמור להיות בעיקר יותר מהיר להפעלה, אך יש עוד כמה הבדלים שאפשר למצוא בלינק הבא.
פקודות בסיסיות ושימושיות ב BASH |
את הפקודות הבסיסיות תוכלו למצוא בטבלה למעלה (או פשוט למצוא בגוגל), אני אזכיר כמה דברים שנראים לי שימושיים:
כשאין windows explorer או total commander, הפקודה ls נעשית חשובה מאוד. תצוגת ברירת המחדש של ls היא צפופה מאוד - שמות בלבד לאורך המסך. כדי לראות בצורה יותר נוחה את הקבצים, יש להקליד ls -l:
העמודות המוצגות (משמאל לימין) הן: הרשאות, owner, קבוצת בעלות (group), גודל בבתים, תאריך שעה ושם הקובץ.
ערך ה total שמוצג בשורה הראשונה הוא סכום ה disk blocks שבשימוש ע"י כל הקבצים בתיקיה. אין לי מושג איך להשתמש בנתון זה בצורה יומיומית, או מדוע הוא מופיע בשורה הראשונה.
כפי שאתם רואים, לקבצים יש צבעים. צבע הטקסט הוא בעל משמעות לפי סוג הקובץ:
- כחול - תיקיה
- ירוק - קובץ הניתן להרצה (executable)
- אדום - קובץ דחוס (rpm, tar, zip)
- וכו'
וגם לפי כמה תכונות שלו:
- רקע ירוק עם טקסט שחור (כמו tmp) אומר שזו תיקיה עם הרשאות כתיבה ל"כולם"' ו sticky bit (משהו שקשור להרשאות - נושא שאכסה בהמשך)
- רקע ירוק עם טקסט כחול הוא מקרה דומה, אבל כאשר ה sticky bit כבוי.
אפשר למצוא משמעות של צבעים נוספים באילוסטרציה הבאה:
מקור: תשובה של סטפאנו פלאזו ב askubuntu |
הערה: בכל נושא שרק נוגעים בלינוקס אפשר לחפור (ולקנפג / להתאים) עוד-ועוד במשך זמן ממושך. אנסה לא לסטות הרבה מהמסלול (כרגע: פקודת ls).
פקודת ls, כברירת מחדל, לא מציגה קובצי מערכת הנקראים בלינוקס "dot files". קובצי מערכת הם קבצים בהם המשתמש אמורלא להתעסק להתעסק פחות, והם מסומנים בכך ששמם מתחיל בנקודה (למשל gitignore. , למי שמכיר). כדי לראות גם קבצי מערכת, יש פשוט להקליד:
פקודת ls, כברירת מחדל, לא מציגה קובצי מערכת הנקראים בלינוקס "dot files". קובצי מערכת הם קבצים בהם המשתמש אמור
ls -a
ניתן לשלב flags ולהציג גם קובצי מערכת, עם פרטים בעזרת:
ls -la
קשה לכם להבין את הגודל של קבצים גדולים? הוסיפו את הדגל h לפקודה, h ע"ש human friendly - המקצר את גדלי הקבצים. למשל 4K במקום 4000:
ls -lah
יותר מגניב: היא תהפוך את ה total שבראש הפלט ממספר הבלוקים בדיסק - לסה"כ גודל הקבצים בתיקיה. du!
התמצאות בסיסית בתיקיות
מבלי להתייחס למערכת הקבצים השונה של לינוקס מול חלונות והיכולות השונות שלה, בלינוקס התיקיות מאורגנות בצורה דיי שונה מאשר בחלונות.
בעוד בחלונות או מתחילים מ My Computer (שהוא סוג של root) ואז הכוננים הפיסיים השונים, בלינוקס החלוקה היא אחרת.
התיקיות החלוקה הראשית של תיקיות בלינוקס היא ע"פ פרופיל השימוש של הקבצים שיאוחסנו בתוך הספרייה.
למשל:
- ב usr/ מאוחסנים ה executable של האפליקציות המשותפות - ולכן אתם רוצים שם קריאה מהירה (שהתוכנות יעלו מהר)
- ב var/ שומרים קבצים בעלי גודל משתנה (למשל: קובץ של תוכנת המייל, בה מיילים נוספים ונמחקים כל הזמן) - ובתיקייה זו יהיו הרבה מאוד כתיבות.
- tmp/ צפויה להרבה I/O מכל הסוגים (ולשחיקה רבה), בעוד swap/ (תיקיה ל paging של ה virtual memory, או page file כמו שקוראים לו בחלונות) צפויה ל I/O רב רק בקונפיגורציות בהן יש לחץ בזיכרון זמין.
החלוקה הזו מאפשרת להתאים את התיקיות לחומרה הזמינה (כוננים קשיחים) בצורה יעילה: ניתן להגדיר איזו ספרייה תשמר על איזה partition / כונן פיסי / כונן רשת. למשל: לפזר 2 תיקיות מסוימות על כונן אחד, ועוד כמה אחרות על כונן אחר, אולי SSD ודיסק מגנטי ואולי כונן רשת (מהיר או איטי). ניסיון לאופטימיזציה כזו ב "חלונות" היא הרבה יותר קשה (ויכולה לדרוש symbolic links עבור קבצים שחלונות דורשת שיהיו בכונן C).
בלינוקס, את הכוננים הפיסיים (בעצם את כל ה devices) ניתן למצוא תחת הספריה dev/ (קיצור של device). כונני IDE יופיעו כ hda (כונן פיסי ראשון), hdb (כונן פיסי שני) וכו', כאשר ה partitions יופיעו כמספר: 1-4 הן primary partition ו 5 ומעלה הן logical partitions. למשל: hda1 הוא ה partition הראשי על הדיסק הפיסי הראשון, ו hdb5 הוא ה partition הלוגי הראשון על הדיסק הפיסי השני. כונני SCSI או SATA, Flash או אפילו USB יופיעו עם התבנית *sd. מדפסות יופיעו כ *lp וכוננים אופטיים (CD/DVD) יופיעו כ *sr.
כשבדקתי על ה laptop שלי ראיתי sda1, sda2 ו sda5. התבלבלתי לגמרי - כי יש לי דיסק אחד של "IDE". בעצם זהו דיסק SATA (מטיפוס SSD) - כך שהדברים הסתדרו.
תודה לקורא האנונימי שהעיר לי על טעות שהייתה כאן קודם לכן (ערבבתי בין כוננים ל partitions) - וגרם לי "לסגור את הפינה הזו" (לפחות לבינתיים :) ).
יש לציין שתיקיית ה dev/ היא לא נקודה ממנה ניתן להגיע לקבצים המאוחסנים על הכונן / partition - אלא רק קובץ המתאר את ה device עצמו, משהו כמו ה device manager בחלונות.
הבדל קטן של אובונטו מול הפצות אחרות הוא התיקיה etc/default/ שמחליפה את etc/sysconfig/ לאכסון הגדרות מערכת שהמשתמש / ה admin עשוי לשנות.
להלן כמה טיפים על שימוש בפקודת cd (קיצור של change directory) בלינוקס, ששונים מחלונות:
..cd
שסביר שאתם משתמשים בו הרבה בחלונות - הוא לא חוקי בלינוקס. יש להקפיד על הרווחים ולהקליד .. cd - מעצבן!
תקציר התיקיות המרכזיות בלינוקס. מקור |
בלינוקס, את הכוננים הפיסיים (בעצם את כל ה devices) ניתן למצוא תחת הספריה dev/ (קיצור של device). כונני IDE יופיעו כ hda (כונן פיסי ראשון), hdb (כונן פיסי שני) וכו', כאשר ה partitions יופיעו כמספר: 1-4 הן primary partition ו 5 ומעלה הן logical partitions. למשל: hda1 הוא ה partition הראשי על הדיסק הפיסי הראשון, ו hdb5 הוא ה partition הלוגי הראשון על הדיסק הפיסי השני. כונני SCSI או SATA, Flash או אפילו USB יופיעו עם התבנית *sd. מדפסות יופיעו כ *lp וכוננים אופטיים (CD/DVD) יופיעו כ *sr.
כשבדקתי על ה laptop שלי ראיתי sda1, sda2 ו sda5. התבלבלתי לגמרי - כי יש לי דיסק אחד של "IDE". בעצם זהו דיסק SATA (מטיפוס SSD) - כך שהדברים הסתדרו.
תודה לקורא האנונימי שהעיר לי על טעות שהייתה כאן קודם לכן (ערבבתי בין כוננים ל partitions) - וגרם לי "לסגור את הפינה הזו" (לפחות לבינתיים :) ).
יש לציין שתיקיית ה dev/ היא לא נקודה ממנה ניתן להגיע לקבצים המאוחסנים על הכונן / partition - אלא רק קובץ המתאר את ה device עצמו, משהו כמו ה device manager בחלונות.
הבדל קטן של אובונטו מול הפצות אחרות הוא התיקיה etc/default/ שמחליפה את etc/sysconfig/ לאכסון הגדרות מערכת שהמשתמש / ה admin עשוי לשנות.
להלן כמה טיפים על שימוש בפקודת cd (קיצור של change directory) בלינוקס, ששונים מחלונות:
..cd
שסביר שאתם משתמשים בו הרבה בחלונות - הוא לא חוקי בלינוקס. יש להקפיד על הרווחים ולהקליד .. cd - מעצבן!
~ cd
הוא מעבר לתיקיית הבית של המשתמש הנוכחי (כלומר: שלי), זוהי בעצם home/baronlior/ במקרה שלי, המקבילה בחלונות היא C:\Users\Baronlior (החל מחלונות 7) . ה console מציין את המקום כ ~ והדרך לדעת איפה אני בהיררכיה הקאנונית היא בעזרת פקודת pwd.
- cd
מחזירה אותי לתיקיה הקודמת בה הייתי. Bash זוכר היסטוריה של שינויי ספריות (פקודות cd), וחזרה אחורה היא דווקא דיי נוחה.
התקנה אפליקציות בלינוקס
אחד הדברים הנחמדים בהם לינוקס יותר נוחה לשימוש מחלונות היא נושא ה package manager. בחלונות התקנה של תוכנה נעשית ע"י גלישה לאתר התוכנה והורדת תוכנת התקנה משם ואז הפעלת ההתקנה שקצת שונה מתוכנה לתוכנה. ללינוקס, כבר שנים, יש חוויה שדומה יותר ל App Store: ה distros של לינוקס מתחזקות repositories של תוכנות ללינוקס - ואת רוב התוכנות הזמינות ניתן למצוא שם. התקנה של תוכנה נעשית לרוב ע"י שורת פקודה פשוטה אחת, ממש כמו NPM (ה node.js package managers, למי שמכיר).
ה package manager של אובונטו הוא deb (קרוי גם dpkg), אולם הוא ידוע דווקא בשם APT (קיצור של Advanced Packaging Tool) - שזה בעצם שם המודול שאחראי רק לפענוח תלויות והורדת הקבצים ברשת.
מה כדאי להתקין באובונטו? אני אמליץ על 2 אפליקציות שלא מגיעות Out Of The Box ונראה לי שתמיד כדאי להתקין:
- Vim (גרסה משופרת של Vi) - עורך הטקסט האוניברסלי של לינוקס. אמנם אובונטו מגיע עם עורך שלה בשם nano (שמעט יותר קל לשימוש), אך לא בטוח שהוא יהיה זמין לכם על distro אחר. כדי להיות פורטביליים ל distros אחרים כדאי להשתמש ב Vim ואפילו להשקיע קצת עבודה בכדי ללמוד אותו.
- openssh-server זהו שרות שמאפשר לאובונטו לקבל תקשורת ssh (קרי secured shell). לי זו נראית יכולת בסיסית ביותר ללינוקס, ואני לא מבין למה היא לא מגיעה OOTB. טיפ: ה console בתוך vmplayer נועל את העכבר - ולא כ"כ נוח לעבודה מתוך Windows, שלא לדבר על זה שבעזרת ssh ניתן לגשת למחשב (שרת - זוכרים?) מכל מקום ברשת.
- [תוספת] build-essential, חבילת כלי build שתאפשר לכם להתקין אפליקציה גם אם יש לכם רק source code של האפליקציה (מה שקורה לפעמים).
sudo apt-get install vim
פשוט?? בואו נראה מה משמעות רצף המלים הללו:
apt-get היא הפקודה להפעלת מספר רב של פעולות במערכת APT: התקנה, הסרה, עדכון וכו' כלומר: install הוא הפרמטר לפקודת apt-get שאומר שאנו בעצם רוצים לבצע התקנה.
להתקין מה? - vim ,הפרמטר השני של פקודת apt-get. כל אפליקציה רשומה ב repository בשם פשוט וקצר - וייחודי. יש מקרים בהם השם להתקנה יהיה שונה מהשם להפעלה של התוכנה, או מהשם בו אתם מכירים את התוכנה.
אז מה הוא sudo? סביר להניח שלמשתמש הנוכחי אין הרשאות (טכנית... מייד נראה שהוא יכול) להתקין אפליקציות על המערכת. כדי להתקין אפליקציה יש לקרוא להרשאות יותר גבוהות של super user (או root). שם הפקודה sudo הוא קיצור של "Super User - DO", כלומר דלגציה של פקודה כלשהי ל context של ה super user.
ניתן לעשות sudo ls -lah כדי לקבל את תצוגת הקבצים בתיקייה ב context של su (ייראה אותו הדבר).
ניתן בכלל לקרוא ל sudo bash ולהפעיל את bash מחדש ב context של su, ואז לא זקוקים יותר לפקודות sudo (כי אנו תמיד ה Super User) - נוח, אבל לא מומלץ!
זהו: כמה שניות ו vim מותקן. |
הערה: בפעולת ה sudo הראשונה (לאחר פרק זמן מסוים של אי שימוש ) תדרשו להקליד שוב את הססמה של המשתמש שלכם - כדי לוודא שלא השארתם מחשב פתוח ומישהו עושה בשמכם פעולות. בצילום המסך למעלה הוא לא מופיע, כי נדרשתי לססמה בפעולה הקודמת שעשיתי: apt-get remove.
התקנה של ssh server? דומה למדי:
sudo apt-get install openssh-server
מידע לאחר ההתקנה, שירות ה SSH יתחיל לפעול.
כדי להתחבר לשרת ב SSH, אתם זקוקים לעוד 2 שלבים:
- למצוא את כתובת ה IP של השרת שלכם - ניתן לקבל אותה בעזרת פקודת ifconfig (דומה ל ipconfig של חלונות).
- אתם זקוקים ל SSH client על חלונות. אני עובד, וממליץ, על KiTTY, שיש לה כמה אקסטרות קטנות על putty הנפוץ (למרות שהם מאוד דומים).
המסך הראשי של Kitty |
טיפ קטן:
לינוקס מנהל עותק מקומי של רישום האפליקציות (בגרסותיהן השונות) הנמצאות ב repositories. כדי להתקין את הגרסה האחרונה, כדאי להפעיל את פקודת:
sudo apt-get update
בכדי לעדכן את ה"תפריט" ממנו בוחר apt-get את גרסת האפליקציה להתקנה.
כמובן שמכאן אתם יכולים להתקין mongo, redis, nodejs או כל אפליקציה לה אתם זקוקים. אם אפליקציה לא זמינה דרך ה package manager ניתן לבצע git clone לקוד ולבנות אותה מקומית בעזרת make.
כמישהו שעבד שנים ב"חלונות" - צורת התקנה זו דיי הבהילה אותה: משהו חייב להשתבש בקומפילציה ראשונה. בפועל - לרוב זה עובד חלק, מקסימום יש תלויות שלא קיימות על המערכת וצריך להתקין אותן. גם בעולם של לינוקס, פרקטיקה זו היא בסדר על מכונת פיתוח או testing - אך לא על מערכת production עובדת.
פ.ס. - רוצים לראות הומור לינוקסי טיפוסי? הפעילו את פקודת apt-get moo (אתם לא זקוקים להרשאות su לפקודה זו).
סיכום
עברנו על הבסיס של הבסיס בהפעלת מערכת לינוקס. זה לא הרבה, אבל אני יכול להעיד, מניסיון, שזה בערך מספיק כדי "לשמור את הראש מעל למיים". הפעלת לינוקס "מתערבבת" עם כל המגוון הרחב של התוכנות שזמינות לה, כך שלפעמים לנראה ששליטה בלינוקס כוללת כמויות ידע אינסופיות.
אמנם פלח השוק של לינוקס, בעולם ה desktop, הוא עדיין סביב האחוזים הבודדים - אך בסביבת השרת היחסים שונים לגמרי, לטובתה של לינוקס, בכל הנוגע לשרתים באינטרנט. יותר ויותר אני נתקל באפליקציות (למשל redis) בעלות תמיכה חלקית / תיעוד חלקי / ללא תמיכה בחלונות. רק לינוקס.
אני מקווה לכסות עוד כמה נושאים חשובים (הרשאות, wget/curl, תפעול ו troubleshooting של networking ואולי אפילו כתיבת סקריפטים בסיסיים) בפוסטי המשך.
שיהיה בהצלחה!
---
לינקים (עברית בלבד):
בחירת הפצה ללינוקס שולחני
תכנות עם באש
[וידאו] ערוץ היוטיוב של לינוקס ישראל (סרטים מ 2012, במידה רבה על אובונטו)
[וידאו] כמה מדריכי וידאו בסיסיים לעבודה ב bash. ניתן להתחיל מפרק 2, גם אם אתם לא יודעים כלום בלינוקס.
[וידאו] ערוץ היוטיוב של לינוקס ישראל (סרטים מ 2012, במידה רבה על אובונטו)
[וידאו] כמה מדריכי וידאו בסיסיים לעבודה ב bash. ניתן להתחיל מפרק 2, גם אם אתם לא יודעים כלום בלינוקס.
טיפים למשתמש הביתי
קהילת האובונטו הישראלית
לינקים אחרים רלוונטיים:
תאור קצת יותר מפורט של התיקיות המרכזיות בלינוקס
קהילת האובונטו הישראלית
לינקים אחרים רלוונטיים:
תאור קצת יותר מפורט של התיקיות המרכזיות בלינוקס
נראה לי התבלבלת עם ה-cat בין הווינדוס ללינוקס
השבמחקנכון, תודה :)
מחקאחלה בלוג.
השבמחקהעניין עם cd.. באמת מעצבן. אני פתרתי אותו עם alias.
רעיון נחמד!
מחקאיך "גולשים" בAPT? כלומר, איך יודעים מה יש שם להוריד?
השבמחקזה לא פשוט: יש קטלוג - אבל הוא מאוד מאוד גדול.
מחקבעיקרון הדרכים שאני מכיר הן:
1. לחפש בגוגל - פשוט ומהיר / לבדוק באתר של המוצר
2. לחפש ב apt-cache (העותק המקומי של "התפריט" של apt) עם grep, לא מושלם אבל אפשר - אנסה לכסות זאת בפוסט הבא.
בגרסאות ה desktop יש משהו שנראה כמו app store - כך שהחוויה יותר ידידותית. בכל זאת, הבנה כיצד המנגנון עובד "למטה" יכולה לסייע להשתמש גם בו בצורה טובה יותר.
aptitude היא תוכנת "גלישה" מאוד פופולרית לקונסול.
מחקאתה יכול להשתמש בפקודה הבאה לחיפוש תוכנות להתקנה (אם אתה יודע מה אתה מחפש)
מחקapt-cache search
הסבר מפורט יותר :
http://linux.die.net/man/8/apt-cache
ממה שאני יודע יש לאובונטו חנות אפליקציות/תוכנות ממש טובה עם ממשק משתמש גרפי
החנות נקראת Ubuntu Software Center והיא מגיע באופן מובנה בהתקנה של אובונט ואין צורך לפתוח טרמינל
אתה יכול דרכה לחפש ולראות איזה תוכנות קיימות בצורה נוחה בהרבה מ apt
1+
מחקכתבתי גם אני עוד על הנושא הזה בפוסט ההמשך: http://goo.gl/fClkO3
תודה,
ליאור
אחלה פוסט. תיקון קטן: http://www.tldp.org/HOWTO/Partition-Mass-Storage-Definitions-Naming-HOWTO/x99.html
השבמחקצודק, תודה!
מחקבקיצור: שם הרבה יותר טוב!
השבמחקעם הזמן אתה תשים לב שאין צורך ב-vmware כי windows נהפכית למיותרת.
cd.. עובד ב-zsh.
השבמחקשלדעתי הרבה יותר נוח ונחמד מ-bash :)
הוא עובד קצת שונה... כך הבנתי.
מחקאני מחכה לתחושת שליטה טובה ב bash לפני שאני מנסה דברים חדשים. בינתיים יצרתי alias - כפי שהציע אחד האנונימיים למעלה. עובד לי יופי.
רק תיקון קטן, אובונטו עברו מ bash ל dash בתור הshell הדיפולטי
השבמחקhttps://wiki.ubuntu.com/DashAsBinSh
לא ידעתי - תודה רבה!
מחקזה דווקא תיקון שהייתי רוצה לדעת עליו. מצאתי מצגת המציגה דומה ושונה בין bash ו dash ב: http://goo.gl/gwdzQt
אעדכן גם את הפוסט
ליאור
אחרי כזה פוסט נראה לי שמתאים לכתוב אחד על PowerShell שלדעתי הרבה יותר מגניב מ bash (או dash שלא נשמע כל כך טוב בימים מפחידים כאלו)
השבמחקזה הדה"ש של החנונים :)
מחקבאמת מעניין אותי לכתוב בנושא - אך לא אגיע לכך בזמן הנראה לעין.
אם אתה מכיר Powershell היטב, ומוכן לכתוב משהו לקהילת הקוראים (אני יכול לעזור בעריכה וכו') - יש על מה לדבר.
ליאור
ראשית, תודה! כל חומר שכתבת עליו הופך להיות מקור מועדף בעיני!
השבמחקעבר הרבה זמן מאז כתיבת הפוסט, אז ייתכן שזה כבר לא רלוונטי להעיר.
בקשר לsudo זה פשוט "שדרוג" של su. הsu מעביר למצב רוט (או למשתמש נבחר באם צויין כפרמטר) "עד הודעה חדשה" - כלומר עד שכותבים exit. הsudo משוכלל בזה שהוא מבצע רק פקודה אחת בהרשאות מנהל ומיידחוזר למצב הרגיל.
לכן לכתוב sudo bash כדי להימנע מsudo הוא טריק לטריק - די בלכתוב su לבד.