السلام عليكم ورحمة الله وبركاته ...
وبعد الغياب الطويل عن كتابة المواضيع التقنية قررت أن أكتب اليوم موضوع كنت قد وعدت الكثيرين بكتابته وهو يخص مسألة تشغيل وغلق الخدمات ... الموضوع بسيط وصغير وسيمر بسرعة على الجميع إن شاء الله ... نبدأ على بركة الله:
كل توزيعات لينوكس بمختلف أشكالها تأتي بوجود خدمات 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
الآن لوقف أو تشغيل هذه الخدمة على مستوى 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
كود:
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 مباشرة ... أما طريقة تشغيل الخدمات مباشرة ؟ تابع الموضوع 
كود:
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 الخاصة بهذه الخدمة ولكنها غير موجودة مع كل الخدمات ... الحالة الأخيرة من إسمها تقوم بإعادة تشغيل الخدمة إن كانت تعمل وإن لم تكن تعمل تقوم بتشغيلها ...1- start
2- stop
3- status
4- reload
5- restart
أذن مثال لتشغيل الخدمة 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
كود:
service sshd start
كود:
service sshd restart

كود:
rcservice_name start
كود:
rul3z:~ # rcvsftpd start Starting vsftpd done
كود:
rul3z:~ # rcvsftpd stop Shutting down vsftpd done
كود:
start|stop|status|try-restart|restart|force-reload|reload

أتمنى الحين الي يعاني من بطىء في توزيعته ما يروح يقول لي أنتقل الى توزيعة أخرى ﻷنه الي أنا عليها فاشلة ؟؟؟ ﻷنه سيكون السبب وجود خدمات كثيرة تعمل لست بحاجة لها فقط قم بإيقاف تشغيلها وشغل التي تحتاجهم فقط ...
سؤال على الطاير: الطريقة المباشرة في التشغيل، لو شغلت خدمة معينة وأصبحت في حالة العمل وعملت إعادة تشغيل هل سترجع تعمل ثاني ام ستكون في حالة عدم العمل ؟ أم ستكون في ماذا ؟؟ أترك هذا السؤال لكم لتجاوبوا عليه ولتجربوه ...
أتمنى الموضوع المتواضع ينال رضاكم وإستحسانكم ... وأتمنى الإضافة عليه والتعليق والنقد أيضا ... الموضوع هذا تحت الرخصة السفاحية: ألطشّ ولا تقلّقش ... لنا عودة مع دروس أخرى قريبا إن شاء الله ... أترككم في رعاية الله ...
أخوكم أبو محمد B!n@ry ...
تعليق