MaFia-33
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

MaFia-33

اهلا و سهلا
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 linux تشغيل وغلق الخدمات

اذهب الى الأسفل 
كاتب الموضوعرسالة
Snake
Mehdi
Mehdi



عدد المساهمات : 23
تاريخ التسجيل : 29/03/2008

linux تشغيل وغلق الخدمات Empty
مُساهمةموضوع: linux تشغيل وغلق الخدمات   linux تشغيل وغلق الخدمات I_icon_minitimeالإثنين مارس 31, 2008 2:50 pm

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


كل توزيعات لينوكس بمختلف أشكالها تأتي بوجود خدمات 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 مباشرة ... أما طريقة تشغيل الخدمات مباشرة ؟
تابع الموضوع Smile أما الخدمات التي تعتمد مثلا على الـ xinetd في تشغيلها
فبمجرد التشغيل ستتفعل الخدمة وتصبح تعمل وأليكم مثال:

كود
rul3z:~ # chkconfig vnc on
[code]
rul3z:~ # chkconfig --list | grep vnc
vnc: on




لإيقافها ثاني:

كود
rul3z:~ # chkconfig vnc off
[code]
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
لو عملنا التالي:
[code]
/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




وهكذا ... هذه لمحبي فيدورا وريدهات ... اما جماعة السوزي حدث وﻻ
حرج في أنواع طرق التشغيل Smile منها:

كود
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 Smile ... أيضا بإمكان محبي سوزي إستعمال yast أو yast2 في تشغيل الخدمات
... وأيضا يوجد طريقة بديلة لهم للـ chkconfig إسمها insserv ... أقرأ عنها
عزيزي القاريء ... أنا أديلك حلول سهلة وعليك الإختيار الطريقة التي تعجبك ...
في لينوكس كل الطرق تؤدي الى روما (المطلوب) ...

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

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

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

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
MaFia-33 :: الكمبيوتر :: أخبار الحاسب-
انتقل الى: