הכירו את לינוקס: מדריך /etc/init.d

נסה את הכלי שלנו לביטול בעיות

אם אתה משתמש ב- Linux כנראה ששמעת על זה init.d מַדרִיך. אבל מה בדיוק עושה המדריך הזה? בסופו של דבר זה עושה דבר אחד אבל הוא עושה את הדבר הזה לכל המערכת שלך, כך init.d מאוד חשוב. ה init.d הספרייה מכילה מספר סקריפטים להתחלה / עצירה לשירותים שונים במערכת שלך. הכל מ חריף ל x11 נפוץ נשלט מתיקיה זו. כמובן שזה לא בדיוק כל כך פשוט.

אם אתה מסתכל על /וכו במדריך תוכלו למצוא ספריות שנמצאות בטופס rc # .d (כאשר # הוא מספר משקף את רמת האתחול הספציפית - מ -0 ל -6). בתוך כל אחת מהספריות הללו מספר תסריטים אחרים השולטים בתהליכים. סקריפטים אלה יתחילו עם 'K' או 'S'. כל הסקריפטים 'K' מופעלים לפני סקריפטים 'S'. ותלוי היכן נמצאים הסקריפטים יקבע מתי התסריטים יוזמים. בין הספריות שירותי המערכת עובדים יחד כמו מכונה משומנת היטב. אך ישנם מקרים בהם עליכם להתחיל או להפסיק תהליך בצורה נקייה ומבלי להשתמש בפקודות kill או killall. זה המקום בו /etc/init.d הספרייה שימושית.

עכשיו אם אתה משתמש בהפצה כמו פדורה, ייתכן שתמצא את הספרייה הזו /etc/rc.d/init.d . ללא קשר למיקום, הוא משרת את אותה מטרה.

על מנת לשלוט באחד מהסקריפטים ב- init.d ידנית עליך להיות בעל שורש (או sudo). כל סקריפט יופעל כפקודה ומבנה הפקודה ייראה כמו:

/etc/init.d/command OPTION

איפה פקודה היא הפקודה בפועל להפעלת אוֹפְּצִיָה יכול להיות אחד מהדברים הבאים:

  • הַתחָלָה
  • תפסיק
  • לִטעוֹן מִחָדָשׁ
  • אתחול
  • טען מחדש בכוח

לרוב תשתמש באף אחד התחל הפסק, אוֹ אתחול. אז אם אתה רוצה להפסיק את הרשת שלך אתה יכול להוציא את הפקודה:

/etc/init.d/ עצירת רשת

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

/etc/init.d/ הפעלה מחדש של רשת

חלק מהתסריטים הנפוצים יותר ב- init בספריה זו הם:

  • ברשת
  • סמבה
  • apache2
  • ftpd
  • sshd
  • יונה
  • mysql

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

אבל מה עם /etc/rc.local

יש אפשרות שלישית בה השתמשתי לא מעט. אפשרות זו היא /etc/rc.local תַסרִיט. קובץ זה פועל לאחר שכל הסקריפטים האחרים ברמת ה- init רצו, כך שבטוח לשים פקודות שונות שברצונך להוציא בעת ההפעלה. פעמים רבות אציב הוראות הרכבה לדברים כמו nfs בתסריט זה. זהו גם מקום טוב למקם בו סקריפטים 'פתרון בעיות'. למשל, פעם הייתה לי מכונה שמסיבה כלשהי נראה שסמבה לא רצתה להתחיל. אפילו בדיקות קודמות כדי לוודא שהדמון של סמבה הוגדר לאתחל בעת האתחול. אז במקום לבזבז את כל זמני מקדימה עם זה פשוט מיקמתי את הקו:

/etc/init.d/samba התחל

בתוך ה /etc/rc.local התסריט וסמבה עבדו כמו קסם. בסופו של דבר הייתי חוזר ומתקשה לירות בנושא זה.

מחשבות אחרונות

לינוקס גמישה. לינוקס כל כך גמישה שיש כמעט, באופן בלתי נמנע, דרכים רבות לפתור בעיה אחת. הפעלת שירות מערכת היא סוגיה אחת מסוג זה. בעזרת ה- /etc/init.d מערכת (כמו גם /etc/rc.local ) אתה יכול להיות סמוך ובטוח שהשירות שלך יתחיל.