אם אתה רוצה לדעת יותר על מערכות init, חשוב להבין תחילה את פקודות systemctl ושירות ואת ההבדלים הבסיסיים ביניהם.
טייק אווי מפתח
- פקודות השירות וה-systemctl בלינוקס חיוניות ודומות ביותר, כאשר systemctl היא פקודה רב-תכליתית וחזקה יותר.
- גם service וגם systemctl מאפשרים למשתמשים להגדיר ולקיים אינטראקציה עם שירותי מערכת, אך הם שייכים למערכות אתחול שונות (SysVinit ו-systemd, בהתאמה).
- השירות פועל על קבצי מערכת אתחול ב-/etc/init.d, בעוד systemctl עובד עם קבצים ב-/lib/systemd. היכרות עם שתי הפקודות חשובה לניהול יעיל של שירותי מערכת.
service ו-systemctl הן פקודות חיוניות ודומות מאוד בלינוקס. הם כל כך דומים שקל לתהות איזה הבדלים יש ביניהם בכלל - והאם אתה יכול להשתמש בשתי הפקודות לסירוגין.
ידיעת הפרטים העדינים יותר על שירות ו-systemctl תאפשר לך לעבוד איתם בצורה חלקה.
מהי פקודת השירות בלינוקס?
בלינוקס, פקודת השירות היא סקריפט עטיפה המאפשר למשתמשים להגדיר בקלות ולקיים אינטראקציה עם שירותי מערכת. זה קודם ל-systemd ועובד בעיקר עם הסקריפטים שנמצאים ב /etc/init.d.
למרות ש-systemctl עקף חלק ניכר מהמשמעות הקודמת של השירות, הוא ממשיך להישאר רלוונטי באמצעות תכונות מדור קודם.
המעבר בין מערכות האתחול המשויכות - SysVinit ל-systemd - היה שנוי במחלוקת, אך האתגרים הגוברים בתפקוד מערכת ה-init המקורית הכריחו אותו.
systemd מפעילה שירותים במקביל במקום רצף סדרתי, מה שהופך את זמן האתחול שלה למהיר יותר מאשר SysVinit - והיא מציעה שליטה מעט יותר מתוחכמת של דמוני מערכת דרך ממשק שורת הפקודה (CLI).
מהי פקודת systemctl בלינוקס?
בדומה לשירות, systemctl היא פקודה מגוונת להפליא המאפשרת לך להפעיל, לטעון מחדש, להפעיל, לעצור ולבדוק את מצב השירותים פועל על מערכת לינוקס שלך.
systemctl משמש כממשק קל לשימוש וחזק לקביעת התצורה של הקבצים ב-systemd - לדוגמה, נדרשת רק פקודה אחת עד שתיים כדי להשבית שירות באתחול באמצעות systemctl.
systemctl תואם לאחור למערכת האתחול, SysVinit, המשמשת בעיקר עם שירות. systemctl לא משמש יורש ישיר לשירות, אבל הוא הרבה יותר תכליתי מבחינת הכלים שהוא מציע לניהול שירותי מערכת.
אתה יכול לבצע משימות כמו מיסוך או השבתת שירות בשורה אחת או שתיים בלבד.
ההבדלים בין שירות ל-systemctl
service ו-systemctl משרתים במידה רבה את אותה מטרה. רבים מהדמיון ביניהם הוכנסו בכוונה כדי לאפשר למשתמשים מעבר חלק יותר משירות ל-systemctl.
עם זאת, יש כמה הבדלים בין השניים שאתה צריך להיות מודע אליהם כשאתה מתחיל לעבוד עם מערכת האתחול בלינוקס.
1. מערכות איניט שונות
ההבדל המשמעותי ביותר בין service ל-systemctl הוא שהם שייכים למערכות אתחול שונות. השירות שייך ל-SysVinit (System V Init), הידוע גם בתור תהליך האתחול הקלאסי של לינוקס.
systemctl שייך ל-systemd, היורש של SysVinit ותהליך האתחול המודרני המשמש במערכות לינוקס רבות.
מכיוון ששירות ו-systemctl הם חלק מתהליכי אתחול שונים, הם פועלים על קבצי מערכת אתחול בספריות שונות. השירות עובד עם קבצי מערכת האתחול שנמצאים ב /etc/init.d, בעוד systemctl עובד עם קבצי מערכת האתחול שנמצאים ב /lib/systemd.
באופן כללי, מערכת האתחול שאתה עומד להיתקל בהתקנות של Linux מחוץ לקופסה היא מערכתית - אז תרצה להכיר את עצמך עם השימוש ב-systemctl כדי ליצור איתה אינטראקציה.
אם אתה מתכוון לעבוד עם מערכות שקודמות או חופפות לשחרור של systemd בשנת 2010, לא יזיק להכיר גם את השימוש בפקודת השירות.
2. תְאִימוּת
service ממשיך להיות פקודה שימושית ביותר מבחינת תאימות - בתור פקודת עטיפה, היא מסוגלת להפנות מחדש למנהל השירות המשמש במערכות שונות. אתה צריך לתכנן ללמוד אותו ולהפוך אותו לחלק מהארסנל שלך אם תעבוד עם מגוון מערכות לינוקס.
3. פונקציות הבסיס
הבדל מרכזי נוסף בין systemctl לשירות טמון באופן שבו הם פועלים. service היא פקודה ברמה גבוהה שמפנה אל מנהל השירות הבסיסי המשמש במערכת מסוימת, כלומר, היא די תכליתית בין מערכות. זה עשוי להפנות מחדש אל /etc/init.d, upstart, או אפילו systemctl. פקודות systemctl, בינתיים, מקיימות אינטראקציה ישירה עם systemd.
4. יכולת
במונחים של מה שאתה יכול להשיג, זה בטוח לומר ש-systemctl עולה בהרבה על השירות בכוח. מלבד פונקציות בסיסיות - כמו הפעלה, עצירה, הפעלה או השבתה של שירות מסוים - אתה יכול גם להגדיר תצורות מתקדמות עם systemctl.
השירות מוגבל יותר בגלל התאימות הנדרשת שלו עם מנהלי השירות הבסיסיים שעליהם הוא מסתמך.
הגדר את שירותי המערכת ביעילות בלינוקס
service ו-systemctl הן שתיהן פקודות חשובות להפליא לניהול שירותי מערכת. בין אם אתה רק רוצה להפיק את המיטב ממערכת הלינוקס שלך או מתכוון לעבוד ברשתות ארגוניות, היכרות עם שתי הפקודות היא חיונית.
למרבה המזל, קיימים המון מדריכים מעולים שיכולים לעזור לך להיות מאסטר בשימוש ב-systemctl ובשירות בטרמינל.