إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

HOWTO Start/Stop Linux Service

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • HOWTO Start/Stop Linux Service

    السلام عليكم ورحمة الله وبركاته ...

    وبعد الغياب الطويل عن كتابة المواضيع التقنية قررت أن أكتب اليوم موضوع كنت قد وعدت الكثيرين بكتابته وهو يخص مسألة تشغيل وغلق الخدمات ... الموضوع بسيط وصغير وسيمر بسرعة على الجميع إن شاء الله ... نبدأ على بركة الله:

    كل توزيعات لينوكس بمختلف أشكالها تأتي بوجود خدمات Services تعمل عليه ... منها من يعمل عند تشغيل النظام ومنها من يعمل من خلال تشغيله أنت بنفسك ... سأقوم بشرح الطريقتين بالتأكيد ... أهم حاجة وهو إنه على الكل أن يعرف ما هو الـ runlevel الموجودة في لينوكس ... لمن ﻻ يعرف عليه بقراءة موضوع من هنا ...

    الآن الخدمات في لينوكس تأتي نوعين:
    الأولى Standalone
    الثانية Transient

    الخدمات التي هي من نوع Standalone أي تعمل بصورة منفصلة وﻻ تحتاج الى خدمة ثانية لكي تعمل هي inetd، httpd، sshd وغيرها الكثير ... أما الخدمات من نوع Transient والتي تحتاج بحد ذاتها الى خدمة ثانية لكي تعمل مثل الـ Telnet، rsync وغيرها التي تعتمد على خدمة xinetd ... لمعرفة الخدمات تنتمي الى أي من هذين النوعين بإمكانك ذلك ببساطة من خلال عدة طرق، أسهل واحدة هي:
    كود:
    rul3z:~ # chkconfig --list
    سيقوم بعرض قائمة طويلة مثل هذه:
    كود:
    alsasound	0:off  1:off  2:off  3:on   4:off  5:on   6:off
    apache2		0:off  1:off  2:off  3:off  4:off  5:off  6:off
    bluetooth	0:off  1:off  2:off  3:off  4:off  5:off  6:off
    cron		0:off  1:off  2:off  3:off  4:off  5:off  6:off
    cups		0:off  1:off  2:off  3:off  4:off  5:off  6:off
    joystick	0:off  1:off  2:off  3:off  4:off  5:off  6:off
    mysql		0:off  1:off  2:off  3:off  4:off  5:off  6:off
    network		0:off  1:off  2:on   3:on   4:off  5:on   6:off
    snort		0:off  1:off  2:off  3:on   4:off  5:on   6:off
    syslog		0:off  1:off  2:on   3:on   4:off  5:on   6:off
    vsftpd		0:off  1:off  2:off  3:off  4:off  5:off  6:off
    xinetd		0:off  1:off  2:off  3:off  4:off  5:off  6:off
    xinetd based services:
            chargen:            off
            chargen-udp:        off
            cups-lpd:           off
            daytime:            off
            daytime-udp:        off
            echo:               off
            echo-udp:           off
            netstat:            off
            rsync:              off
            systat:             off
            tftp:               off
            time:               off
            time-udp:           off
            vnc:                off

    لقد قمت بحذف الكثير من السطور ﻷنه طويلة القائمة جدا ... لمعرفة كل خدمة ماذا تعني وماذا تعمل أليك بالرابط التالي: أضغط هنا ...

    نعود للشرح، كما نرى إنه القائمة مقسومة الى قسمين: قائمة في البداية وقائمة تأتي بعد الجملة xinetd based services ... لو أخذنا سطر واحد من القائمة الأولى ولنفرض هذه:
    كود:
    alsasound	0:off  1:off  2:on   3:on   4:off  5:on   6:off
    لنفصل السطر لنفهم ماذا يعني ... أوﻻ كلمة alsasound هي إسم الخدمة إذن نفعم إن هذا العامود يمثل الخدمات ... 0:off تعني إنه الخدمة هذه موقوفة على الـ runlevel 0 أكيد موقوفة محلاها وهي تعمل خخخخخخ إذن هذا يمثل عامود الـ runlevel 0 ... العامود الذي بعده هو للـ runlevel 1 وهي أيضا مغلقة هنا وعلى 2 تعمل وعلى 3 تعمل وعلى 4 ﻻ تعمل وذلك ﻷنه ماذا ؟؟؟ راجع موضوع الــ runlevels لتعرف بنفسك ... وعلى 5 تعمل وأخيرا على 6 ﻻ تعمل ... إذن كل عامود من هذه الأرقام تمثل لي runlevel وبجانبه أما off أو on ... وكما هو ملاحظ من المثال الذي أخذناه فإنه الخدمة هذه تعمل على كل من الـ runlevel 2،3،5 ...

    الآن لوقف أو تشغيل هذه الخدمة على مستوى runlevel معيين ننفذ التالي:
    كود:
    chkconfig service_name on|off
    يعني في حالة إيقاف التشغيل لمثالنا الذي أخذناه نعمل:
    كود:
    chkconfig alsasound off
    للتأكد:
    كود:
    chkconfig alsasound --list | grep alsasound
    سيظهر لك التالي:
    كود:
    alsasound	0:off  1:off  2:off   3:off   4:off  5:off   6:off
    الآن لتشغيلها قم بعمل التالي:
    كود:
    chkconfig alsasound on
    وللتأكد:
    كود:
    chkconfig alsasound --list | grep alsasound
    والناتج هو:
    كود:
    alsasound	0:off  1:off  2:off  3:on   4:off  5:on   6:off

    لتشغيل الخدمات على runlevel معيين أرجوا الرجوع الى الـ man chkconfig للإختلافات الموجودة في الأمر هذا بين التوزيعات. لكن مثلا على سوزي لتشغيل الخدمة هذه على الـ runlevel 5 فقط وغلقها على 3 نعمل:
    كود:
    chkconfig alsasound 5
    للتأكد:
    كود:
    chkconfig alsasound --list | grep alsasound
    الناتج هو:
    كود:
    alsasound	0:off  1:off  2:off  3:off  4:off  5:on   6:off
    لتشغيل الخدمة على runlevel 2 و 5 نفذ التالي:
    كود:
    chkconfig alsasound 25
    للتأكد:
    كود:
    chkconfig alsasound --list | grep alsasound
    الناتج:
    كود:
    alsasound	0:off  1:off  2:on  3:off  4:off  5:on   6:off

    ملاحظة مهمة جدا:
    عملية التشغيل للخدمات بهذه الطريقة لن تتفعل بنفس اللحظة التي تنفذها خاصة الخدمات التي من نوع standalone ... يعني لو شغلت خدمة معنية بإستخدام الأمر chkconfig تحتاج أما إنك تغيير الـ runlevel الذي أنت عليه أو إنك تعمل إعادة تشغيل أي إنه هذه الطريقة لتثبيت تشغيل الخدمات عندما تشغل الجهاز الخاص بك او السيرفر ... أي ما بعد الـ Boot مباشرة ... أما طريقة تشغيل الخدمات مباشرة ؟ تابع الموضوع أما الخدمات التي تعتمد مثلا على الـ xinetd في تشغيلها فبمجرد التشغيل ستتفعل الخدمة وتصبح تعمل وأليكم مثال:
    كود:
    rul3z:~ # chkconfig vnc on
    كود:
    rul3z:~ # chkconfig --list | grep vnc
            vnc:                on
    لإيقافها ثاني:
    كود:
    rul3z:~ # chkconfig vnc off
    كود:
    rul3z:~ # chkconfig --list | grep vnc
            vnc:                off

    لتشغيل الخدمات مباشرة هناك طرق كثيرة أيضا ... منها من خلال الأمر service في توزيعات redhat و fedora وغيرها ومنها من خلال الrc في توزيعة SuSE أو من خلال الـ Yast في توزيعة SuSE أيضا ... أو الطريقة التي أفضلها دائما وهي التشغيل المباشر !!! تابع معي لتعرف كيف ... الطريقة هي كالتالي:

    كود:
    /etc/init.d/service_name start|stop|status|reload|restart

    هذه الطريقة تغنيك عن معرفة أوامر مثل service و rpc أو أي نوع ثاني موجود على توزيعة أخرى ... وأيضا هي نفس الطريقة التي أخترعوها جماعه الـ System V ... كل الخدمات تقريبا ما عدا حالات قليلة لها خمس حالات
    :
    1- start
    2- stop
    3- status
    4- reload
    5- restart
    الحالة الأولى من إسمها تقوم بتشغيل الخدمة إن لم تكن تعمل سابقا ... الحالة الثانية تقوم بغلق الخدمة إن لم تكن تعمل سابقا ... الحالة الثالثة تقوم بعرض لك ما هي حالة الخدمة تعمل أم ﻻ ... الحالة الرابعة تقوم بإعادة قراءة ملفات الإعدادات config files الخاصة بهذه الخدمة ولكنها غير موجودة مع كل الخدمات ... الحالة الأخيرة من إسمها تقوم بإعادة تشغيل الخدمة إن كانت تعمل وإن لم تكن تعمل تقوم بتشغيلها ...

    أذن مثال لتشغيل الخدمة vsftpd كل ما علي فعله هو التالي:
    كود:
    /etc/init.d/vsftpd start
    الناتج:
    كود:
    rul3z:~ # /etc/init.d/vsftpd start
    Starting vsftpd				done
    لو عملنا التالي:
    كود:
    /etc/init.d/vsftpd status
    ماذا سيظهر لنا ؟ أكيد إنه الخدمة تعمل ... الناتج هو:
    كود:
    rul3z:~ # /etc/init.d/vsftpd status
    Checking for service vsftpd		running
    الآن لو عملنا التالي:
    كود:
    rul3z:~ # /etc/init.d/vsftpd stop
    Shutting down vsftpd			done
    للتأكد:
    كود:
    rul3z:~ # /etc/init.d/vsftpd status
    Checking for service vsftpd		unused
    أي إن الخدمة ليست في حالة العمل ... الآن لو قمت بتغيير في إعدادات الخدمة هذه نفذ التالي:
    كود:
    rul3z:~ # /etc/init.d/vsftpd reload
    Reload service vsftpd			done
    آخر حالة هي إعادة التشغيل نعملها كما يلي:
    كود:
    rul3z:~ # /etc/init.d/vsftpd restart
    Shutting down vsftpd			done
    Starting vsftpd				done
    كما نلاحظ إنه قام بإيقاف عمل الخدمة ومن ثم إعادة تشغيلها ...

    ملاحظة: الطريقة المباشرة هذه أفضلها على غيرها ولأنها من أساسيات UNIX أي إنها طريقة قديمة وتسهل عليك العمل على أي توزيعة أو أي نظام تابع لعالم الـ Nixware ...

    لتشغيل الخدمات بطريقة service كل ما عليك فعله هو:
    كود:
    service service_name start|stop|status|reload|restart
    وأيضا ﻻ تنسوا ليس كل الخدمات فيها الحالة reload ... مثال:
    كود:
    service sshd start
    كود:
    service sshd restart
    وهكذا ... هذه لمحبي فيدورا وريدهات ... اما جماعة السوزي حدث وﻻ حرج في أنواع طرق التشغيل منها:
    كود:
    rcservice_name start
    مثال:
    كود:
    rul3z:~ # rcvsftpd start
    Starting vsftpd				done
    أو لوقف الخدمة:
    كود:
    rul3z:~ # rcvsftpd stop
    Shutting down vsftpd			done
    طبعا الـ rc تأخذ حالات أكثر وهي:
    كود:
    start|stop|status|try-restart|restart|force-reload|reload
    عليك بالـ man يا عزيزي القاريء وإﻻ أصبح التعليم كله spoon feeding ... أيضا بإمكان محبي سوزي إستعمال yast أو yast2 في تشغيل الخدمات ... وأيضا يوجد طريقة بديلة لهم للـ chkconfig إسمها insserv ... أقرأ عنها عزيزي القاريء ... أنا أديلك حلول سهلة وعليك الإختيار الطريقة التي تعجبك ... في لينوكس كل الطرق تؤدي الى روما (المطلوب) ...

    أتمنى الحين الي يعاني من بطىء في توزيعته ما يروح يقول لي أنتقل الى توزيعة أخرى ﻷنه الي أنا عليها فاشلة ؟؟؟ ﻷنه سيكون السبب وجود خدمات كثيرة تعمل لست بحاجة لها فقط قم بإيقاف تشغيلها وشغل التي تحتاجهم فقط ...

    سؤال على الطاير: الطريقة المباشرة في التشغيل، لو شغلت خدمة معينة وأصبحت في حالة العمل وعملت إعادة تشغيل هل سترجع تعمل ثاني ام ستكون في حالة عدم العمل ؟ أم ستكون في ماذا ؟؟ أترك هذا السؤال لكم لتجاوبوا عليه ولتجربوه ...

    أتمنى الموضوع المتواضع ينال رضاكم وإستحسانكم ... وأتمنى الإضافة عليه والتعليق والنقد أيضا ... الموضوع هذا تحت الرخصة السفاحية: ألطشّ ولا تقلّقش ... لنا عودة مع دروس أخرى قريبا إن شاء الله ... أترككم في رعاية الله ...

    أخوكم أبو محمد [email protected] ...
    التعديل الأخير تم بواسطة علي الشمري; الساعة 02-03-2007, 11:30 PM.
    إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

    إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
    ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
    فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
    إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
    ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
    وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

    [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]


  • #2
    بارك الله فيك اخي ابو محمد
    موضوع جميل ..

    La vie est complexe car nous avons tous une partie réelle et une partie imaginaire....

    تعليق


    • #3
      ياسلام يا اخ على
      ايه الزمه دى كلها الشرح بالتفصيل الممل بجد ...
      ربنا يكتر من امثالك
      بارك الله فيك وجزاك الله خير ونريد منك المزيد
      اخوك عمرو
      http://img197.imageshack.us/img197/9...66319499rr.gif

      lion_heart_300 previously

      تعليق


      • #4
        الف الف شكر اخي ابامحمد على هذه التحفة
        بارك الله فيك و جعلها في ميزان حسناتك.

        تعليق


        • #5
          والله فعلا موضوع متعوب عليه.. اتمنى ان نرى مواضيع مميزة من باقي الاعضاء كما نرى من ابو محمد و بعض الشباب النشيطين في المنتدى... ولكن للأسف لا يزال الكثير يحب أن يأخذ دون أن يعطي... المهم... لاحظت انك ابو محمد لم تتطرق للخيارات --add و --del مع الأمر chkconfig لحذف الخدمة او اضافتها في حالة عدم تواجدها اصلا... وبالفعل ان الأمر service يسهل كثيرا العمل في ريدهات بدل كتابة المسار الكامل للخدمة في المجلد init.d
          V.I.P

          (وَاصْبِرْ فَإِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ)
          هود 115

          Linux is user-friendly, but it happens to be selective about its friends

          "احذر أن تكون مثل البقية تأخذ وﻻتعطي ، فلن يكون هناك مصادر تعليمية على الشبكة، ﻻأكثر الله من أمثالهم"


          مجتمع لينوكس العربي: وقف لله تعالى وصدقة جارية، فلا بارك الله في كل من يحاول الإساءة إليه في الظاهر أو في الخفاء...


          تعليق


          • #6
            أخواني AmiZya و lion_heart_300 و fakir
            حياكم الله وشكرا على مروركم :clown:

            المشاركة الأصلية بواسطة greyhunter مشاهدة المشاركة
            والله فعلا موضوع متعوب عليه.. اتمنى ان نرى مواضيع مميزة من باقي الاعضاء كما نرى من ابو محمد و بعض الشباب النشيطين في المنتدى... ولكن للأسف لا يزال الكثير يحب أن يأخذ دون أن يعطي... المهم... لاحظت انك ابو محمد لم تتطرق للخيارات --add و --del مع الأمر chkconfig لحذف الخدمة او اضافتها في حالة عدم تواجدها اصلا... وبالفعل ان الأمر service يسهل كثيرا العمل في ريدهات بدل كتابة المسار الكامل للخدمة في المجلد init.d
            أخوي سامر شاكر لك كلامك الجميل في حقي وحق الموضوع
            لكن بخصوص الأمور التي قلت عنها مثل:
            --add و --del
            لو قرأت موضوعي بتمعن لعرفت السبب أنظر هنا:
            عليك بالـ man يا عزيزي القاريء وإﻻ أصبح التعليم كله spoon feeding
            فهمت قصدي يا خوي العزيز

            أما بالنسبة لي فعلا ﻻزلت مع المسار المباشر يمكن وذلك يعود الى أيام يونكس
            شاكر لك مرورك والتعقيب والملاحظة الجميلة بالتأكيد :clown:
            إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

            إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
            ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
            فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
            إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
            ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
            وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

            [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

            تعليق


            • #7
              و عليكم السلام و رحمة الله و بركاته
              أثابك الله على هذا الشرح الجميل... و الموجه خاصة إلى مستعملي أنظمة ردهات و أنظمة شبيهة بها (لست منهم ههه)
              User N4m3 | FLoOoD HacKeR
              e-mail | e@Hotmail.com | zo@Hotmail.com
              ZoNe-H
              FaceBook

              تعليق


              • #8
                مشمور أخي أبومحمد على هالشرح الوافي
                وفي انتظار جديدك
                وشكرا
                سبحان الله وبحمده سبحان الله العظيم

                تعليق


                • #9
                  السلام عليكم
                  جزاك الله خيرا اخى على
                  http://counter.li.org/cgi-bin/certificate.cgi/463100

                  تعليق


                  • #10
                    السلام عليكم
                    ما هى الطريقة لتشغيل امر معين مثل mysql
                    ولاكن اوتو ماتك مع تشغيل الجهاز
                    على السوزى
                    بوابة المعرفة
                    الزاوية الحمراء نحو مستقبل افضل

                    تعليق


                    • #11
                      حياكم الله جميعاً يا شباب ... وشكراً لمروركم الكريم ...

                      بخصوص تشغيل الماي سكيول ...
                      chkconfig mysql on

                      فقط ...
                      إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

                      إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
                      ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
                      فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
                      إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
                      ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
                      وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

                      [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

                      تعليق


                      • #12
                        اخوي باينري اتمنى منك جمع جميع المواضيع المميزه وفتح قسم خاص ويكون اسمه " المواضيع المميزه " لان الواحد يتعب لما يبحث فى الموقع

                        اسال الله لك التوفيق دوما
                        عبد العزيز بن سعود - الصين
                        Good Friends are hard to find, harder to leave, and impossible to forget

                        تعليق

                        يعمل...
                        X