‏הצגת רשומות עם תוויות אובונטו. הצג את כל הרשומות
‏הצגת רשומות עם תוויות אובונטו. הצג את כל הרשומות

04/05/2024

מדריך לינוקס למתחילים בעברית חלק 5 - ניהול שירותים (Services) בלינוקס

 

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

מה נלמד היום?

1) הסבר -  מה זה systemd בקצרה?
2) לראות את כל השירותים (Services) שיש במערכת לינוקס?
3) איך לראות את כל השירותים (Serivces) הפעילים במערכת לינוקס?
4) איך לראות את כל השירותים (Services) המבוטלים (Disabled)  במערכת לינוקס?
5) איך לראות את כל השירותים (Services) שלא עלו במערכת ההפעלה?
6) איך להפעיל שירות (Service) בלינוקס?
7) איך לעצור שירות (Service) בלינוקס?
8) איך לבצע "טעינה" מחדש (לא הפעלה מחדש) של שירות (Service)?
9) איך לבדוק מצב של שירות (Service) ספציפי בלינוקס?
10) איך לעשות הפעלה מחדש לשירות (Service) בלינוקס?
11) איך לגרום לשירות (Service) להעלות אוט' לאחר הפעלה מחדש של מערכת?
12) איך לבטל עליה אוט' של שירות (Service) לאחר הפעלה מחדש של מערכת בלינוקס?
13) איך לבצע "טעינה" מחדש (לא הפעלה מחדש) של שירות (Service)?
14) איך לבצע חיפוש של שירות (Service) מסוים?
15) איך לבדוק לוגים של שירותים?
16) איך לצפות בלוג בזמן אמת?

1. מה זה systemd?
בגלל שאנחנו לא הולכים להיות כאן מנהלי רשתות, בחרתי לנכון לתת לכם רק את ה"תכלס" של המידע בנושא הזה, אם תרצו לקרוא יותר, אפשר לקרוא בגוגל.
בגדול, systemd -  הוא "מנהל הסרוויסים" במערכת לינוקס, האחראי על ניהול הסרוויסים בלינוקס.
בכל פעם שנפעיל, נאפשר או נבטל סרוויס, מאחורי הקלעים אנחנו נרשום פקודה והוא זה שיבצע את זה - ושוב זה רק על קצה המזלג, יש שתי פקודות ששייכול ל systemd, הפקודה הראשונה שמתפעלת את הסרוויסים במערכת שהיא systemctl, והשניה שהיא אחראית על לוגים היא journalctl.

2. איך להציג את כל השירותים (Service) שיש במערכת לינוקס?
לצורך הצגת כלל השירותים שיש במערכת, נשתמש בפקודה:  systemctl --type=service
לצורך יציאה מהחלון של השירותים נלחץ על "Q" במקלדת.
אין צורך ב sudo, שימו לב הרשימה מאוד ארוכה:



3.איך לראות את כל השירותים (Services) שפעילים בלינוקס?
לצורך הצגת כלל השירותים הפעילים נשתמש בפקודה: systemctl list-units --type=service --state=running
הפירוש של הפקודה ברור, פרט ל-unit, כשאר במקרה הזה "unit" הוא שירות.

(תשימו לב למשהו מעניין, למטה, כתוב שנטענו 35 units, מערכת הפעלה עם 35 שירותים רצים.. זה אחלה דבר)



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



4. איך לראות את כל השירותים(Services) המובטלים בלינוקס?
לצורך הצגת שירותים לא פעילים בלינוקס, נשתמש בפקודה : systemctl list-unit-files --state=disabled
נקבל מידע מאוד מפורט ומאוד ברור לגבי נושא השירותים:



5. איך לראות את כל השירותים(Services) שלא הצליחו להעלות בתהליך ה Boot בלינוקס?
לצורך הצגת שירותים שלא צלחו עם עלית המחשב,
 נשתמש בפקודה:  systemctl list-units --type=service --state=failed,exited



6.איך להפעיל שירות (Service) מסוים בלינוקס?
לצורך הפעלה של סרוויס נריץ את הפקודה :  systemctl start service_name
מאחר ואנחנו נמצאים במערכת מאוד מגניבה, עצרתי את השירות של ממשק המשתמש לצורך ההדגמה ואני הולך להפעיל אותו עכשיו, מאחר ואנחנו מתכוונים לבצע מוניפולציה למערכת ההפעלה, אז נצטרך להקיש סיסמא של המשתמש שלנו, לאחר מכן כמובן נקבל את ה"שם המלא" של הסרוויס שאותו אנו מתכוונים להפעיל, ולאחר מכן נלחץ ENTER.
והמערכת תפעיל את השירות.


7.איך לעצור שירות (Service) מסוים בלינוקס?
ההפך מהפקודה הקודמת, במקרה הזה נשתמש ב "systemctl stop gdm3 - "stop
כמו בפעם הקודמת, נצטרך להקיש את הסיסמא והמערכת תעצור את השירות:


8.איך לבצע "טעינה" מחדש (לא הפעלה מחדש) של שירות(Service) בלינוקס?
במידה ונרצה לבצע "טעינה מחדש" לשירות מסוים (בדרך כלל מיועד לקבצי קונפיגורציה או לשינויים שביצעתם) נשתמש בפקודה :  systemctl reload service_name
מה שקורה בפועל, במקרה הזה המערכת לא עושה "כיבוי והפעלה מחדש" לשירות, אלה עושה לו סוג של "ריפרש" מה שחוסך זמן רב לפעמים:



9. איך לבצע "הפעלה מחדש" לשירות(Service) מסוים בלינוקס?

במידה ונרצה לבצע "הפעלה מחדש" לשירות מסוים (בדרך כלל מיועד לקבצי קונפיגורציה או לשינויים שביצעתם) נשתמש בפקודה :  systemctl restart service_name
בפועל מערכת ההפעלה "מכבה" את השירות ומפעילה אותו שוב פעם.


10. איך לבדוק מצב (Status) של שירות (Service) מסוים בלינוקס?
במידה ונרצה לראות מצב של שירות מסוים, נקיש את הפקודה: systemctl status gdm3
ונקבל תוצאה על כך שהשירות Inactive במקרה הזה (כי עצרתי אותו בפקודה הקודמת),
כמו כן נקבל עוד מידע לידע כללי, כמו גם לוג קטן למטה.


11.איך להגדיר  שירות (Service) מסוים למצב שיעלה אוט' ?
אני לא מתכוון כאן למצב שבו אתם עושים לשירות מסוים "start", אלה למצב שבו אתם עושים לשירות "Enable" שיעלה עם עליית המחשב, זאת אומרת לשנות לו את מה שמוכר בווינדוס בתור "Startup type":



אז במקרה הזה אנחנו נגדיר את השירות שלנו (Service) שיעלה אוט'
עם הפקודה הזאת:sudo systemsctl enable service_name 

וקיבלנו הודעה על כל מה שהמערכת עושה בשביל להפעיל את השירות(Service) שאנחנו רוצים:



12.איך לבטל עליה אוט' של שירות(Service) בלינוקס?
לצורך כך נשתמש באותה הפקודה רק שנשנה את הפרמטר enable ל sudo systemctl disable service_name : disable


13.איך להציג מצב מסוים של שירות (Services) בלינוקס?
נגיד ואני רוצה לבדוק מצב של שירות מסוים, הרי אם יש לי המון שירותים זה יקח שעות לדפדף בין כל השירותים שיש במערכת, בדיוק למקרה הזה יש פקודה שנקרא grep שניתן להשתמש בה בכל מיני דרכים (יהיה מדריך נפרד על הפקודה הזאת כי היא מאוד חשובה בעבודה עם לינוקס), במקרה הזה אנחנו נשתמש בה דרך "הצינור" - Pipeline, כמו שיש ב  PowerShell (למי שמכיר, אם אתם לא מכירים, עברו למדריך שלי אודות PowerShell דחוף ! כאן), בעיקרון הפייפליין מיוצגת במקלדת על ידי הסימן הזה "|" בשביל "לכתוב" אותה נלחץ על \+Shift ונקבל את - "|"
הפייפליין מדגמן !

ובעצם הפקודה תיראה כך: systemctl --type=service --state=running |grep servicename

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



14. איך לבדוק לוגים של שירותים בלינוקס?
בדיקה של לוגים מתבצעת עם הפקודה journalctl בשביל לבדוק לוג מסויים של שירות(Service) נשתמש בפקודה עם  - פרמטר u- שאומר "Units" (כמו שראינו כבר בשימוש באחת הפקודות שלsystemctl).
יחסית הפקודה מאוד פשוטה לשימוש נרשום journalctl -u service_name
אני אבדוק לוג של SSH לדוגמא:


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

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


אני במקרה אבצע חיפוש של השם משתמש lev:


בשביל לצאת מהממשק הזה, נלחץ במקלדת על Q.

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


אנחנו נבצע את זה עם הפקודה journalctl -u service_name רק שנוסיף בסוף גם את הפרמטר f-, כמובן שצריך להתחבר פעמיים במקרה של SSH בשביל לראות שזה עובד ולהשאיר את החלון עם הלוג פתוח, הפקודה: journalctl -u ssh -f



בחלק הזה למדנו לעבוד עם שירותים (Services) בלינוקס.

כמו תמיד לכל שאלה ניתן לשלוח מייל ל: levl@leidertech.co.il


כמו תמיד, להלן מדריך מצולם:

27/04/2024

מדריך ללינוקס בעברית למתחילים חלק 1 - מאיפה מתחילים?



פתיח (חפירות):

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

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

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

"איך לתרגל? על מה לתרגל?"

בשביל שתוכלו לתרגל כמו שצריך, צריך להתקין את Windows Terminal על המחשב שלכם (או Putty מי שמכיר, אבל אני לא ממליץ כי לא תוכלו לראות את הצבעים של התיקיות והקבצים בלינוקס וזה מאוד חשוב) וכמובן שצריך להתקין את הלינוקס על מערכת וירטואלית כזאת או אחרת ולהכין אותה להתחברות דרך SSH 

(למי שלא מכיר מה זה SSH - הינה הסבר שנלקח מ"ויקיפדיה" - Secure Shell (בראשי תיבות: SSH) הוא פרוטוקול לתקשורת מחשבים המאפשר ביצוע פעולות על מחשב מרוחק לאחר תהליך הזדהות (login). הוא נועד להחליף את rlogin ,RSH ו־telnet ולאפשר תקשורת מאובטחת ומוצפנת בין שני מחשבים לא תלויים ברשתות לא מאובטחות. SSH פועל מעל TCP, והפורט הסטנדרטי שלו הוא 22.)


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

¿?  חייב הגדרה שהמערכת תוכל לצאת לאינטרנט בשביל שתוכלו להוריד ולהתקין תוכנות כחלק מהתרגול ¿?

התחברות עם Windows Terminal נראית ככה (הרבה יותר עדיף מ Putty):

"ב Putty זה לא היה קורה"


התקנת Windows Terminal

מאיפה להוריד את התוכנה?
1) מחנות האפליקציות של מיקרוסופט (כן כן מסתבר שיש לדבר הזה שימוש) לחפש שם Windows Terminal



2) להוריד מהקישור הזה, ישירות מתוך GitHub :לינק

    א. בהורדה הזאת תקבלו קובץ מסוג Appx (קובץ אפליקציה של ווינדוס) שנראה ככה:

ב. פשוט תלחצו עליו "דאבל קליק", יפתח לכם אשף ותתקינו את התוכנה, תעשו הפעלה מחדש, ואז תעשו חיפוש ב"התחל"
של Windows Terminal או כמו במקרה שלי "terminal"



לא צריך להריץ אותו בתור מנהל.

הגדרת SSH על הלינוקס

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

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



1. ראשית נפתח את הטרמינל:



¿? טיפ חשוב - בלינוקס אפשר להיעזר בכפתור ה-TAB לצורך השלמת פקודות¿?

2. נקיש את הפקודה: sudo apt update -y
    * לאחר מכן נתבקש להקיש את הסיסמא של המשתמש שלנו, נקיש אותה (כן לא רואים את מה שאתם מקישים) ונלחץ על ENTER, אם לא קיבלתם שגיאה אז הקלדתם אותה בצורה נכונה.


3. לאחר מכן נקיש את הפקודה: sudo apt install openssh-server


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


5. נבדוק האם הסרוויס רץ, על ידי הפקודה: sudo systemctl status ssh 
 ונוכל לראות שהכל בירוק פרט ל "disabled" זה כרגע לא משנה מה זה, אבל צריך שזה יהיה ירוק


6. נריץ את הפקודה sudo systemctl enable ssh.service
    ונוכל לראות שהמערכת בעצם "עושה ENABLE" לסרוויס של ה SSH כך שהוא יפעל אוט' בהפעלת המחשב.


7. נריץ שוב את הפקודה sudo systemctl status ssh
    ונוכל לראות שעכשיו הכל בירוק



8. לאחר מכן נעבור לווינדוס ונפעיל את ה Windows Terminal,
    ונרשום את הפקודה: ssh username@linuxname

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


9. בהתחברות הראשונה המחשב Windows שלכם ירצה להוסיף את הלינוקס לרשימות שלו (בלי להכנס ליותר מדי פרטים,        המחשב עושה את התהליך הזה פעם אחת בלבד), בשביל שתוכלו להתחבר בפעמים הבאות, פשוט רשמו yes ו ENTER.


10. במידה וביצעתם הכל נכון, תקבלו עכשיו הודעה שמחייבת אתכם להכניס את הסיסמא של המשתמש שלכם בלינוקס, כיתבו       את הסיסמא (כן, לא תראו מה אתם מקלידים) ולחצו ENTER.



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



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

13. לאחר מכן בחלון ה Windows Terminal כתבו את הפקודות הבאות:
    * cd Desktop ולחצו ENTER
    * לאחר מכן בשביל להציג את התיקיה בשולחן העבודה כתבו ls ולחצו ENTER במידה והכל תקין, תראו את התקייה שיצרתם על שולחן העבודה בחלון הטרמינל שלכם, זאת אומרת שאתם מחוברים ללינוקס שלכם ואתם יכולים להתחיל לתרגל.





לכל שאלה כמו תמיד ניתן לפנות אלי במייל levl@leidertech.co.il