שאלה קטנה לגבי INIT.D ב CentOS 6

  • פותח הנושא ehma
  • פורסם בתאריך

ehma

New member
שאלה קטנה לגבי INIT.D ב CentOS 6

היי

ב RUNLEVEL 3 (למשל). הורגים Service שנקרא dnsmasq (ה LN מתחיל בK - KILL).
השאלה היא - מדוע צריך להרוג אותו?
מי בכלל הפעיל את הסרביס הזה (הרי ההפעלה עצמה נמצאת בתוך ה INIT.D).

תודה לעונים.
 

yooey

New member
לא בטוח שהבנתי את השאלה

אבל אנסה לענות. בעיקרון ה - service יופעל ב - run level מסוים אם הוגדר כך בתוך הקובץ שלו ב - init.d.
למשל, אם תסתכל ב - /etc/init.d/auditd אתה מתצא את השורה הבאה:
chkconfig: 2345 11 88
שמגדירה את ה - run levels בהן ה - service ירוץ.
בתוך הקובץ הרלוונטי ב - Init.d מוגדרות מתודות ה - start/stop של ה - service שנקראות כאשר מבצעים service x start/stop.
קח בחשבון שב - centos6 יש את מערכת upstart שנועדה להחליף את init.d כך שרוב ה - services שם בכלל נשלטים ע"י סקריפטים של upstart שנמצאים ב - /etc/init.
upstart בעצמה הוחלפה ב - systemd ב - centos7.
 

ehma

New member
תודה. אני אשאל את זה בצורה מעט שונה

בתוך /etc/rc3.d/ יש LN שנקרא k50dnsmasq (כדוגמה)
השאלה שלי היא באיזה סיטואציה ה LN הזה יבוצע
 

Expect

New member
היי

K50dnsmasq בתוך התיקייה שתיארת אומר:
K = Kill
50 = order number
dnsmasq = the service name
בגדול - הקובץ הזה יהרוג את התהליך של DNSMASQ בשלב (runlevel) ה-3 של המערכת (multi user).
בשביל להבין את זה קצת יותר, תנסה להריץ את הפקודה הבאה:
chkconfig --list dnsmasq
ע"פי האוטפוט שהצגת - אתה אמור לראות שתהליך יהיה off בכל השלבים, זה אומר שהסרביס הזה מסומן לא לעלות באופן אוטומטי עם המערכת.
הלינק הזה מוודא שזה שכך המצב יהיה בזמן העלאת המערכת.
ניתן לשנות את זה עם הפקודה הבאה:
chkconfig dnsmasq on
שאומר שהסרביס יעלה אוטומטית עם המערכת, הפקודה הנ"ל צריכה לשנות את הלינק הזה בצורה כלשהי (על ידי מחיקה או עריכה) כדי לאפשר לשירות לרוץ.
 

ehma

New member
"הלינק הזה מוודא שזה שכך המצב יהיה בזמן העלאת המערכת"

זה בדיוק מה שאני לא מצליח להבין.
הרי LEVEL 3 (כדוגמה), זה LEVEL שבו *נכנסים* לטרמינל מוד (או איך שלא תגדיר את זה.
עכשיו, אני יכול להבין איך מאתחלים SERVICE, כי ה SERVICE כבוי.
אבל מה שאני לא מצליח להבין, זה באיזה סיטואציה יהיה KILL לסרביס בעת הכניסה ל RUNLEVEL3
מי הפעיל את הסרביס על מנת שנצטרך להרוג אותו בכניסה ל RUNLEVEL3 ?
 

ehma

New member
נראה לי שמצאתי את התשובה

מסתבר שיש אפשרות לעבור בין RUNLEVELS ON THE FLY.
ז"א, מבלי לאתחל את המחשב . . .
ואז, אני מניח, שאם למשל עוברים בין RUNLEVEL5 שם למשל הסרביס הזה רץ, ל RUNEVEL3 (שם הוא דווקא ב OFF), או אז הסרביס ימות במעבר בין ה RUNLEVELS.
&nbsp
מניח שזו התשובה.
תודה לכולם!
 

Expect

New member
מדוייק

 
למעלה