ShirazOnline
نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: مدیریت سرویس ها در زمان start-up در دبین و آبانتو بهمراه آموزش تصویری

  1. #1
    RezaBehroozi admin آواتار ها
    تاریخ عضویت
    Jan 1970
    محل سکونت
    Iran/Shiraz
    نوشته ها
    11,188
    تشکرها / پسندها

    پیش فرض مدیریت سرویس ها در زمان start-up در دبین و آبانتو بهمراه آموزش تصویری

    سرویس های لینوکس را میتوان به وسیله اسکریپتهایی که در etc/init.d/ قرار دارند start , stop و reload کرد.
    با این وجود , در مدت بالا آمدن سیستم یا وقتی که سطح اجرایی (runlevel) را تغییر می دهیم , سیستم اسکریپت ها را در /etc/rcX.d/ جستجو می کند که X شماره سطح اجرایی می باشد.
    فایل های درون etc/rcX.d در واقع لینک هایی به اسکریپتهای درون دایرکتوری etc/init.d/ می با شند.
    این آموزش شرح خواهد داد که چطور شخصی میتواند سرویسی را در زمان بالا آمدن سیستم یا اصطلاحا start-up فعال , غیرفعال و کلا مدیریت کند.
    وقتی که یک سرویس را در دبین و خانواده آن نصب می کنید , بطور پیش فرض در start-up فعال می شود.

    بطور مثال اگر شما apache2 را نصب کنید , سرویس apache همان زمان شروع به کار میکند و برای فعال شدن در شروع مجدد سیستم هم تنظیم می شود.
    اگر شما از apache در همه زمان ها استفاده نمی کنید , ممکن است بخواهید این سرویس در زمان start-up غیرفعال باشد و براحتی فقط زمانی که به آن نیاز دارید با دستور زیر سرویس را فعال کنید :
    etc/init.d/apache2 start/#
    شما می توانید این سرویس را درزمان بوت غیر فعال کنید به وسیله حذف تمامی لینک های سمبلیک در etc/rcX.d/SYYapache2/ یا با استفاده از sysv-rc-conf , update-rc.d و ....
    مزیت استفاده از sysv-rc-conf , update-rc.d و ابزارهای مشابه در اینست که وظیفه حذف یا اضافه کردن تمام لینک های مورد نیاز به etc/init.d/ را بصورت خودکار انجام می دهد.

    apache2 را بعنوان مثال در نظر می گیریم , وضعیت apache در etc/rcX.d/ را مورد بررسی قرار می دهیم :
    ls -l /etc/rc?.d/*apache2
    lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc0.d/K91apache2 -> ../init.d/apache2
    lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc1.d/K91apache2 -> ../init.d/apache2
    lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc2.d/S91apache2 -> ../init.d/apache2
    lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc3.d/S91apache2 -> ../init.d/apache2
    lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc4.d/S91apache2 -> ../init.d/apache2
    lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc5.d/S91apache2 -> ../init.d/apache2
    lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc6.d/K91apache2 -> ../init.d/apache2
    چنانکه قابل مشاهده میباشد , برای سطوح اجرایی 0 , 1 و 6 لینک ها با حرف K شروع می شوند و سطوح اجرایی 2 , 3 , 4 و 5 با S آغاز میشوند.این دو حرف از Kill و Start گرفته شده است.
    در دبین و آبانتو سطوح اجرایی 2 , 3 , 4 و 5 از نوع چند کاربره می باشد و سطح اجرایی 2 بصورت پیش فرض تعیین شده است.
    سطح اجرایی 0 برای خاموش کردن سیستم می باشد.
    سطح اجرایی 1 مد تک کاربر میباشد.
    سطح اجرایی 6 برای شروع مجدد سیستم می باشد.
    با استفاده از دستور runlevel می توان سطح اجرایی فعلی را مشخص کرد.خروجی این دستور همانند زیر است :
    PersianAdmins:~# runlevel
    N 2
    N نشان دهنده حالت عادی یا normal و S نشان دهنده حالت تک کاربره یا single می باشد.عدد بعد از این حروف نشان دهنده سطح اجرایی در حال حاظر می باشد.
    همچنین با استفاده از فایل etc/inittab/ سطح اجرایی پیش فرض قابل مشاهده و تغییر است.
    وقتی سیستم در حال بوت شدن می باشد به فایل etc/inittab/ رجوع می کند و سطح اجرایی پیش فرض را می خواند که در اینجا سطح اجرایی 2 می باشد , سپس به دایرکتوری etc/rc2.d/ می رود و تمامی اسکرپیت ها را به ترتیب اولویت اجرا می کند.اولویت بر اساس شماره بعد از S می باشد که هر چه عدد کوچکتر باشد زودتر اجرا می شود و اگر دو لینک هم عدد باشند بر اساس حروف الفبا اولویت بندی می شوند.
    ارزش این اولویت بندی در سرویس هایی که وابسته به دیگر سرویس ها می باشند مشخص می شود تا سرویس مادر زودتر اجرا شود.
    در هنگام خاموش شدن سیستم این اولویت بندی برعکس می باشد بطوریکه لینک با عدد بزرگتر زودتر غیر فعال می شود.
    [فقط اعضا می توانند لینک ها را مشاهده کنند برای ثبت نام اینجا را کلیک کنید]
    [فقط اعضا می توانند لینک ها را مشاهده کنند برای ثبت نام اینجا را کلیک کنید]
    مدیریت سرویس ها در زمان start-up با update-rc.d
    1)حذف کردن سرویس از start-up
    اگر شما می خواهید سرویس apache2 را بصورت کامل و دستی غیر فعال کنید , می بایست هر لینک در etc/rcX.d/ را حذف کنید.با استفاده از update-rc.d این کار بدین آسانی می باشد :
    update-rc.d -f apache2 remove #
    از f- برای مجبور کردن سیستم در حذف لینک ها حتی در صورت وجود etc/init.d/apache2/ استفاده می کنیم.
    2)اضافه کردن سرویس به start-up
    برای اضافه کردن سرویس به start-up میتوان از اولویت پیش فرض استفاده کرد یا اولویت مورد نظر خودمان را بکار برد.
    2.1-با اولویت پیش فرض (Default priorities)
    حال اگر بخواهیم سرویس را دوباره تنظیم کنیم تا زمان بوت فعال شود , به آسانی قابل انجام است :
    update-rc.d apache2 defaults
    Adding system startup for /etc/init.d/apache2 ...
    /etc/rc0.d/K20apache2 -> ../init.d/apache2
    /etc/rc1.d/K20apache2 -> ../init.d/apache2
    /etc/rc6.d/K20apache2 -> ../init.d/apache2
    /etc/rc2.d/S20apache2 -> ../init.d/apache2
    /etc/rc3.d/S20apache2 -> ../init.d/apache2
    /etc/rc4.d/S20apache2 -> ../init.d/apache2
    /etc/rc5.d/S20apache2 -> ../init.d/apache2

    2.2-با اولویت دلخواه (Custom priorities)
    اما چنانکه میتوانید مشاهده کنید , مقدار پیش فرض 20 میباشد که در مقایسه با 91 نسبتا متفاوت است.
    یک لینک S20 قبل از S91 فعال می شود و یک K91 قبل از k20 غیر فعال می شود.
    برای اینکه apache2 را مجبور کنیم برای فعال و غیر فعال شدن با اولویت 91 عمل کند , همانند زیر عمل میکنیم :
    update-rc.d apache2 defaults 91
    Adding system startup for /etc/init.d/apache2 ...
    /etc/rc0.d/K91apache2 -> ../init.d/apache2
    /etc/rc1.d/K91apache2 -> ../init.d/apache2
    /etc/rc6.d/K91apache2 -> ../init.d/apache2
    /etc/rc2.d/S91apache2 -> ../init.d/apache2
    /etc/rc3.d/S91apache2 -> ../init.d/apache2
    /etc/rc4.d/S91apache2 -> ../init.d/apache2
    /etc/rc5.d/S91apache2 -> ../init.d/apache2
    2.3-اولویت های متفاوت برای فعال کردن و غیر فعال کردن (Different priorities for Start and Kill)
    متعاقبا , اگر بخواهید اولویت فعال شدن متفاوت از غیر فعال شدن باشد , می بایست بدین ترتیب عمل کنید :
    (در اینجا اولویت 20 را برای start و 80 را برای kill در نظر می گیریم )
    update-rc.d apache2 defaults 20 80
    Adding system startup for /etc/init.d/apache2 ...
    /etc/rc0.d/K80apache2 -> ../init.d/apache2
    /etc/rc1.d/K80apache2 -> ../init.d/apache2
    /etc/rc6.d/K80apache2 -> ../init.d/apache2
    /etc/rc2.d/S20apache2 -> ../init.d/apache2
    /etc/rc3.d/S20apache2 -> ../init.d/apache2
    /etc/rc4.d/S20apache2 -> ../init.d/apache2
    /etc/rc5.d/S20apache2 -> ../init.d/apache2


    3.Specifying custom runlevels
    در پایان اگر شما تمایل دارید سرویس ها فقط در سطوح اجرایی خاصی فعال و غیرفعال شوند , مثلا apache با اولویت 20 را در سطوح اجرایی 2 , 3 , 4 و 5 فعال و در سطوح اجرایی 0 , 1 و 6 غیر فعال کنیم:
    update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .
    Adding system startup for /etc/init.d/apache2 ...
    /etc/rc0.d/K80apache2 -> ../init.d/apache2
    /etc/rc1.d/K80apache2 -> ../init.d/apache2
    /etc/rc6.d/K80apache2 -> ../init.d/apache2
    /etc/rc2.d/S20apache2 -> ../init.d/apache2
    /etc/rc3.d/S20apache2 -> ../init.d/apache2
    /etc/rc4.d/S20apache2 -> ../init.d/apache2
    /etc/rc5.d/S20apache2 -> ../init.d/apache2
    یا فقط در سطح اجرایی 2 اجرا شود :
    update-rc.d apache2 start 20 2 .
    Adding system startup for /etc/init.d/apache2 ...
    /etc/rc2.d/S20apache2 -> ../init.d/apache2
    یا برای فعال شدن در سطوح اجرایی 2 , 3 و 4 با اولویت 20 و فعال شدن در سطح اجرایی 5 با اولویت 30 و غیرفعال شدن در سطوح اجرایی 0 , 1 و 6 با اولویت 80 :
    update-rc.d apache2 start 20 2 3 4 . start 30 5 . stop 80 0 1 6 .
    Adding system startup for /etc/init.d/apache2 ...
    /etc/rc0.d/K80apache2 -> ../init.d/apache2
    /etc/rc1.d/K80apache2 -> ../init.d/apache2
    /etc/rc6.d/K80apache2 -> ../init.d/apache2
    /etc/rc2.d/S20apache2 -> ../init.d/apache2
    /etc/rc3.d/S20apache2 -> ../init.d/apache2
    /etc/rc4.d/S20apache2 -> ../init.d/apache2
    /etc/rc5.d/S30apache2 -> ../init.d/apache2
    مدیریت سرویس ها در زمان start-up با sysv-rc-conf
    ابزار sysc-rc-conf که برای مدیریت سرویس ها در زمان start-up استفاده می شود , کارکردی شبیه chkconfig در لینوکس های بر پایه ردهت دارد به علاوه دارا بودن ابزار گرافیکی تحت شل که مدیریت سرویس ها را آسانتر می کند و اگر دستور sysv-rc-conf را بدون هیچ گزینه ای استفاده کنیم این محیط گرافیکی همانند شکل زیر ظاهر می شود.
    [فقط اعضا می توانند لینک ها را مشاهده کنند برای ثبت نام اینجا را کلیک کنید]
    همانطور که مشاهده می کنید , مدیریت سرویس ها توسط این محیط گرافیکی در همه سطوح اجرایی ممکن و به آسانی قابل انجام است و نقطه قوت این ابزار اجرا شدن آن در محیط متنی که هیچ گونه محیط گرافیکی بر روی سیستم نصب نیست ,می باشد.
    از Sysc-rc-conf بدون استفاده از این محیط هم میتوان برای مدیریت سرویس ها استفاده کرد که در ادامه به آن می پردازیم.
    نصب این ابزار بدین گونه میباشد :
    apt-get install sysv-rc-conf
    لازم به تذکر است که اگر با کاربر root به سیستم وارد نشده اید ابتدای هر دستور از sudo استفاده می کنیم.
    برای مشاهده لیست سرویس ها و وضعیت آنها :
    کد:
    PersianAdmins:~# sysv-rc-conf --list
    acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off apache2 0:off 1:off 2:on 3:on 4:on 5:on 6:off atd 0:off 1:off 2:on 3:on 4:on 5:on 6:off .... .... umountroot 0:on 6:on urandom 0:on 6:on S:on winbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off



    یا مثلا مشاهده وضعیت یه سرویس خاص مثل mysql :

    کد:
    PersianAdmins:~# sysv-rc-conf --list mysql
    mysql        0:off      1:off   2:on    3:on    4:on    5:on    6:off

    برای فعال کردن یک سرویس مثلا apache2 در سطوح اجرایی 2 و 5 بدین نحو عمل می کنیم :
    sysv-rc-conf apache2 on
    یا برای غیر فعال کردن در سطوح اجرایی 2 و 5 :
    sysv-rc-conf apache2 off
    همچنین شما می توانید در هر سطح اجرایی که دوست دارید سرویس را فعال یا غیرفعال کنید.در اینجا سرویس apache2 را سطوح اجرایی 3 و 5 فعال می کنیم :
    sysv-rc-conf --level 35 apache2 on
    مدیریت سرویس ها در زمان start-up با rcconf
    گزینه دیگر برای مدیریت سرویس ها rcconf میباشد که بر خلاف update-rc.d بصورت ساده تر و ویژوال قابل انجام است ولی نسبت به sysv-rc-conf دارای گزینه ها و امکانات کمتری است.
    برای نصب rcconf بدین صورت عمل می کنیم :
    apt-get install rcconf
    برای اجرا شدن در شل rcconf را تایپ میکنیم و بعد از آن پنجره ای همانند شکل زیر ظاهر میشود و از طریق آن براحتی میتوانیم به مدیریت سرویس ها بپردازیم .
    [فقط اعضا می توانند لینک ها را مشاهده کنند برای ثبت نام اینجا را کلیک کنید]
    مدیریت سرویس ها در زمان start-up با file-rc
    ابزار دیگر مدیریت سطوح اجرایی file-rc می باشد که برخلاف ابزارهای قبلی نه دستوری است و نه گرافیکی , بلکه تنظیمات توسط فایل etc/runlevel.conf/ صورت می پذیرد.
    نمونه این فایل در[فقط اعضا می توانند لینک ها را مشاهده کنند برای ثبت نام اینجا را کلیک کنید] قابل مشاهده می باشد.
    نصب این ابزار مدیریتی :
    apt-get install file-rc
    نحوه نوشتن تنظیمات در فایل etc/runlevel.conf/ بدین صورت می باشد :
    <sort><off-levels><on-levels><command>
    20 0,1,6 2,3,4,5 /etc/init.d/apache2

    طریقه تنظیم start-up برای یک اسکریپت خاص
    گاهی اوقات پیش میآید که میخواهیم یک اسکریپت مورد نظرمون را طوری تنظیم کنیم که در زمان srart-up اجرا و فعال شود , برای رسیدن به این هدف بدین گونه عمل میکنیم :
    ابتدا اسکریپت مورد نظر را در etc/init.d/ میسازیم :
    touch /etc/init.d/behroozi
    سپس محتویات اسکریپت مورد نظر را می نویسیم (محتویات زیر برای تست میباشد) :
    bin/bash!#/
    echo "this is a sample service"
    echo reza > /reza/behroozi
    حال مجوز لازم برای اجرای اسکریپت را به آن می دهیم :
    chmod +x /etc/init.d/behroozi
    حال برای اینکه در زمان start-up اجرا شود دستور زیر را بکار ببرید :
    update-rc.d behroozi defaults
    و برای اینکه بطور دستی این اسکریپت را مثلا در سطح اجرایی 2 تنظیم کنید تا فعال شود بدین ترتیب عمل می کنیم :
    ln -s /etc/init.d/behroozi /etc/rc2.d/S91behroozi
    حال اگر با دستور init 6 سیستم را دوباره راه اندازی کنید در فایل reza/behroozi/ کلمه reza نوشته شده است.
    [فقط اعضا می توانند لینک ها را مشاهده کنند برای ثبت نام اینجا را کلیک کنید]

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    محل سکونت
    Advertising world
    نوشته ها
    Many
     

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •