54
9 creative commons creative commons cc ﻣﺪﻳﺮ اﻟﻤﻠﻔﺎﺕDolphin ﻋﻤﻞ ﺗﻄﺒﻴﻘﺎﺕ اﻟﻮﻳﺐWSGI ﺧﻤﺲ ﺗﻮزﻳﻌﺎﺕ ﻏﻴﺮﺕ ﻟﻴﻨﻮﻛﺲ ﻣﺪﺧﻞ ﻣﺘﻘﺪم اﻟﻰVIM ﺃﺧﺒﺎﺭ ﺧﻔﻴﻔﺔ(ﺷﻌﺮ ﻓﺼﺤﻰ) ﻷﻧﻚ ﻓﻴﺪﻭﺭا ﻣﺪﻳﺮ اﻟﻤﻠﻔﺎﺕZYPPER ﺗﻘﻨﻴﺔ ﺗﺒﺎدﻝ اﻟﻤﻠﻔﺎﺕMagnet ﻣﺜﻠﺚ ﺃﻣﻦ اﻟﻤﻌﻠﻮﻣﺎﺕ ﻭ اﻟﻤﺼﺎدﺭ اﻟﻤﻔﺘﻮﺣﺔ إﻗﺮﺃ ﺃﻳﻀﺎ إﻗﺮﺃ ﺃﻳﻀﺎ ﻭ ﻣﻮاﺿﻴﻊ ﺃﺧﺮﻯ ﻣﺘﻌﺪدﺓwww.linuxac.org ﻣﺠﻠﺔ ﺗﻌﻨﻲ ﺑﺸﺆﻭن اﻟﻤﺼﺎدﺭ اﻟﺤﺮﺓ ﻓﺒﺮاﻳﺮ(۹) اﻟﻌﺪد٢٠۱٠

Arabic Linux Community Magazine # 9

Embed Size (px)

DESCRIPTION

مجلة مجتمع لينوكس العربي العدد التاسع 9 مجلة تعنى بالبرمجيات الحرة والمصادرة المفتوحة بالإمكان معرفة الأجزاء السابقة والحديثة مستقبلا إن شاء الله عبر الرابط التالي : www.linuxac.org

Citation preview

Page 1: Arabic Linux Community Magazine # 9

9

creativecommonscreativecommonscc

مدير الملفاتDolphin

عمل تطبيقات الويب

WSGI

خمس توزيعاتغيرت لينوكس

مدخل متقدم الى

VIM

أخبار خفيفة

ألنك فيدورا (شعر فصحى)

ZYPPERمدير الملفات

Magnetتقنية تبادل الملفات

مثلث أمن المعلوماتو المصادر المفتوحة

إقرأ أيضًاإقرأ أيضًا

و مواضيع أخرى متعددة

w w w . l i n u x a c . o r g

مجلة تعني بشؤون المصادر الحرة٢٠۱٠العدد (۹) فبراير

Page 2: Arabic Linux Community Magazine # 9

مقدمةمقدمةمقدمة

نحمد اهللا ونستعين به ونتوكل عليه ونؤول إليه ونشكره تعالى قائلين اللهم ال علم لنا إال ما علمتنا إنك أنت العليم الحكيم.

أخوتي أعضاء مجتمع لينوكس العربي ٬ أحييكم بأفضل تحية ٬ تحية ملؤها سالم ورحمة وبركات ٬ تحية الرسل وتحية المؤمنين في الدنيا

واآلخرة ٬ كما يقول عز وجل "وتحيتهم فيها سالم" فسالم من اهللا عليكم ورحمته وبركاته أما بعد.

انطلقنا في بناء رسالتنا لعالمنا العربي واإلسالمي ٬ عندما ركبنا بحار العلم ٬ بعد أن صنعنا سفينتنا بأنفسنا ولم نطلق عليها إسم الـ"تايتنك" وال حتى "تشالنجر" ٬ بل أسميناها "مجتمع لينوكس العربي" ٬ وقد جعلنا مجاديفها أقالمًا

متعطشة للعلم ومهووسة بالمنفعة العامة ٬ وجعلنا حمولتها علومًا ودروسًا ينتفع بها وتدوم إلى نهاية الزمان بإذنه تعالى.

إن التحدي الذي نواجهه اليوم هو تناقص معدل تسارع سفينتنا هذه و التي نرتحل بها إلى بر األمان٬ وكحال أي سفينة كيفما كان حالها فإنها ال تريد ريحا تجري بما ال تشتهي٬ وتلك الرياح التي تعاكس اتجاهنا ما هي إال قليل من ظروف

الحياة ومشاغلها الكثيرة ٬ وقليل آخر من تقاعس وتكاسل.

إن سفينتنا هذه تتميز عن غيرها من السفن٬ فلكل سفينة ربان واحد وبحارة كثر٬ ولكن ليس سفينتنا فجميعنا بحارة وربان٬ نحن جميعا نقودها ونوجهها وندعمها ونقويها ٬ نحن جميعا نعتني بها ونطور عملها ونحسن من أدائها٬ إن سفينتنا تبحر بأقالمنا وكتاباتنا ٬ ومداد قلمكم هو ما يحركها في بحر مظلم ال يضيئه سوى العقول المنيرة التي لطالما

أنارت طريقها دون منارة على شاطئ تدلنا أي طريق نسلك.

إن الدور الملقى على عاتقنا اليوم هو إعادة إحياء العلوم والمقاالت المتميزة التي لطالما كانت تتنافس فيما بينها على االرتقاء بعقول مرتادينا وتزويدهم بالمعرفة والعلم والحلول لمشاكلهم٬ كما أن دورنا يتمثل بنشر رسالتنا أكثر وأكثر٬

فجميعنا نمثل مجتمع لينوكس العربي٬ وجميعنا نريد له التقدم والتطور والسمو٬ فال يخبو نوره وال تنطفئ شعلته ٬ وال يثنينا شيء عن ذلك.

فيا "ربابين" مجتمع لينوكس العربي٬ ضعوا "قبعاتكم" على رؤوسكم ٬ وتولوا توجيه "الدفة" ٬ أمامنا طريق طويل وبحر معتم ٬ ال تيأسوا وال تضعفوا ألي عاصفة تواجهنا٬ فنحن لها وعلى قدر أهل العزم تأتي العزائم.

بسم اهللا الرحمن الرحيم

رئيس التحرير

Page 3: Arabic Linux Community Magazine # 9

فهرسفهرسفهرس

المقدمة

الفهرس

أخبار خفيفة

ألنك فيدروا (شعر فصحى)

خمس توزيعات غيرت وجه لينوكس

Dolphin مدير الملفات

Zypperمدير الملفات

WSGIعمل تطبيقات الويب (الحلقة األولى)

Magnet تقنية تبادل الملفات الحرة

مثلث أمن المعلومات و المصادر المفتوحة

VIM مدخل متقدم الى

CFG2HTMLSystem Documentation

BitDefender Antivirus Scanner for Unices

المحررين

2

3

4

7

8

13

17

23

28

31

34

46

51

54

Page 4: Arabic Linux Community Magazine # 9

أخبار خفيفةأخبار خفيفةأخبار خفيفة

ميــــنا ألبير بقلم :

مؤسسة اباتشى تحتفل بعيد ميالد خدام الويب اباتشى الخامس عشر :

عن Apache Software Foundation اعلنت مؤسسة اباتشى Apache Web Server احتفالها بخدام الويب المفتوح المصدر

وهو اكثر خوادم الويب استخدامًا فى العالم .

۱۹۹٤بدأ المشروع من يوم من شهر فبراير عام وكان عبارة عن ٢٣

ليصبح المشروع الجديد تحت اسم اباتشى . من مشروع NSCA httpd انقسام fork فى شهر ديسمبر من عام ۱۹۹٥ وتبعة األصدار ۱٫٣ بعد أربع Apache Server 1.0 تم أصدار األصدار األول

سنوات !!فى شهر مارس عام ۱۹۹۹ للحصول على Apache Software Foundation تم األعالن عن مؤسسة اباتشى

الشكل القانونى للمشروع باألضافة الى الحصول على الدعم المالى الالزم .% من مواقع ۷٠وفقًا ألحصائيات مؤسسة اباتشى فان ۱۱٢ مليون موقع ويب يعتمد على خادم اباتشى وهى ما تمثل

الويب اجمع .صدر فى بداية الشهر الجارى . v1.x اخر األصدار التحديثية لألصدار األول من اباتشى

٢٫٢٫۱٤اخر اصدار مستقرة منه صدرت فى ٥ أكتوبر وتحمل رقم األصدار . ٢٠٠۹Apache License v2خادم اباتشى يخضع تحت ترخيص األصدار الثانى من رخصة اباتشى

Free Software Foundation مؤسسة البرمجيات الحرة و H.264تدعو جوجل لتحرير الويب من تقنيتى Flash

تقدم حلو لترميزات الفيديو) مع ) On2 Technologiesبعد اندماج شركة

شركة جوجل بشكل نهائى ارسلت مؤسسة البرمجيات الحرة خطاب لجوجل حر ليمكن الجميع استخدامه فى تطبيقات VP8تدعوها لجعل ترميز الفيديو

مما يبشر بتحرير الويب الترميزات األحتكارية (والتى تتطلب رسوم) YouTubeالويب بدون قيود وان تعتمدة فى موقع

حتى يتسنى للجميع تصفح الويب بجميع محتواياته بشكل حر وايضا من البرمجيات األحتكارية مثل Flash H.264مثل

بالكامل .ان اذا قامت جوجل بهذه الخطوة فقد يساعد ذلك فى تصفح الويب بشكل FSFوقد اوضحت مؤسسة البرمجيات الحرة

كامل لمزيد من األجهزة واستخدام التقنية لشريحة اكبر من البرمجيات .واستخدامة فى متصفح الويب جوجل كروم وتحويل الفيديوهات ودمجة مع لغة HTML 5 VP8اذا تم فعال تحرير ترميز

ذلك الموت السريع للفيديو المعتمد على تقنية فالش االحتكارية . YouTubeالموجودة على موقع

ان اذا لم تستجب جوجل لهذا فانها بذلك ستؤكد انها ال يهمها تحرير الويب وال تحرير FSFكما اوضحت مؤسسة

مستخدمية ولكنه بذلك تكون تعمل على الهيمنة عليه ...

Page 5: Arabic Linux Community Magazine # 9

مع نظام تنبيهات جديد : Gnome Shell 2.29.0 صدور واجهه

من اجل التجربة Gnome Shell 2.29.0األن متوفر واجهه جنوم شيل واألبالغ بالعلل .

newمن الجدير ذكره ان هذا األصدار يحتوى على نظام تنبيهات جديد notification system مدمج مع الواجهه وهو عبارة عن شريط سفلى ينبهك

عند توصيل اجهزة ملحقة كما انه يوضح الصوتيات التى تعمل األن فى الخلفية كما انه يمكنك األطالع على التنبيهات السابقة بضغطة زر .

online status على برامج المحادثة كلها من كما انه تم اضافة امكانية تعديل حالتك

ايقونة واحدة .

كما ان التأثيرات المستخدمة فى حالة التنقل بين النوافذ المفتوحة اصبحت اجمل .

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

الخاص بجنوم كما يمكن تجربتها على توزيعة اوبنتو من خالل تثبيتها من المستودعات FTPيمكنك تنزيل الكود المصدر للواجهه من خادم PPAالتجريبية

الجديد : تدعم نظام MeeGoo MonoDevelop منصة التطوير

عن اضافة دعم والذى ترعاه شركة رئيس مشروع التطوير والبرمجة مونو Novell Mono Miguel de Icaza اعلن من شركة نوكيا ومشروع والتى تمثل اندماج لمشروعى لمنصة Maemo MeGoo Net لبرمجة التطبيقات بلغات ال .

المنعقد فى مدينة بارشلونة األسبوع Mobile World Congress Mobilnمن شركة انتل والذى تم األعالن عنه فى مؤتمر الماضى .

وهو عبارة عن نظام مفتوح المصدر بالكامل ومبنى على نواة لينوكس وموجهه للهواتف الجوالة الذكية ذات األمكانيات MeGooمشروع العالية وايضًا لألجهزة اللوحية والنت بوك والعديد من األجهزة األخرى ...

لبرمجة الواجهه الرسومية لتطبيقاتها المختلفة كما ان سيتم توفير البرمجيات المختلفة لها عن طريق سوق QTهذه المنصة تستخدم بيئة Nokia's Ovi

٢٠۱۱وفقًا لتصريحات شركة نوكيا فان ٢٠% من هواتفها التى ستصدر عام ستعمل بهذا النظام .

كان متوقعا حيث ان مشروع مونو اظهر اهتمام كبير بانظمة الهواتف من العام الماضى بعد اطالقهم لمنصة De Icazaاعالن MonoTouchلبرمجة التطبيقات لنظام ايفون ...

والتى ستتيح برمجة تطبيقات لنظام MonoDroidكما اعلن القائمين على مشروع مونوا نهم يعملون األن على اطالق منصة ستدعى جوجل اندرويد .

Page 6: Arabic Linux Community Magazine # 9

األصدار النهائى : Linux 2.6.33صدور نواة جديدة من لينوكس

اعلن النوس عن األصدارة الجديدة من النواة والتى تحمل رقم األصدر ٢٫٦٫٣٣ والتى تحمل لنا اآلالف من المزايا والتطويرات ومن اهمها اضافة تعريف مفتوح المصدر لكروت الشاشة

ولكن لألسف ال يدعم التسريع ثالثى األبعاد حتى KMS Nvidiaوالذى يدعم خاصية األن .. ولكن التعريف يحمل الكثير من المزايا والخصائص والتى تميزة األن عن التعريف

الحر المستخدم فى معظم التوزيعات حاليًا .والذى يعنى اداء افضل لألجهزة التى تعمل ATA Trimكما تم أضافة دعم لتقنية

. SSDsباألقراص الثابته الصلبة

. DRBD (Distributed Replicated Block Device)كما تم أضافة لخاصية . KVMكما تم اضافة المزيد من التطويرات الى حلول األجهزة التخيلية القائمة على النواة

وكما هو معتاد مع كل نواة جديدة يتم اضافة المزيد من التعريفات لدعم المزيد من العتاد حيث تم اضافة تعريفات جديدة وتعريفات لوحدات التخزين المختلفة والمزيد VMware HyberVisorsمستخدمة فى برنامج األجهزة التخيلية

من كروت الشبكات الالسلكية ...تم اضافة لمنطقة التدريج والمعروف سابقًا باسم staging compcache ramzswapاطار عمل

. Virtual Swap areaهذا األطار يعمل على ضغط البيانات الموجودة على ذاكرة السواب (التبادل) الوهمية والذى يضيف مزيد من الفاعلية والسرعة . working memoryوتخزينها على الذاكرة الفعلية العاملة

اذا كنت احد مستخدمى لينوكس اللذين يعملون بالنواة األفتراضية للتوزيعة بالتأكدي ستتمتع بالمزايا الجديدة للنواة الجديدة مع األصدارات القادمة من توزيعتك المحبوبة وربما تحصل على المزيد من المزايا الممكن اضافاتها فى األصدار

التحديثية للنواة والتى ستصدر األسابيع القادمة .

األصدارة التجريبة الفا۱ : Blender 2.5صدور

اعلن مطورى برنامج بليندر -اقوى منصة تصميم ثالثى األبعاد مفتوحة المصدر- عن األصدارة التجريبية الفا۱ والتى تمثل ثانى خطوة فى الطريق لألصدارة النهائية والتى ستحمل األصدار ٢٫٦ والمنتظر صدورها فى منتصف العام الجارى

..هذا األصدار يحمل العديد من المزايا الجديدة باألضافة الى اصالح اكثر من ۱٠٠ علة برمجية مقارنة باألصدار السابق

الفا٠ .تحمل ايقونات جديدة واختصارات مخصصة جديدة للوحة المفاتيح GUIتشمل هذه األصدارة واجهه رسومية جديدة

Keyboard Shortcutsوتغييرات وتعديالت فى المعمارية الداخلية للبرنامج ..٦٤لكل من لينكس وويندوز ولكن هذا األصدار Bitمنذ زمن وبرنامج بليندر متوفر باصدارة للمعالجات ذات المعمارية

يضيف دعم أيضا لنظام ماك .

ال ينصح باستخدام هذا األصدار على اجهزة العمل حيث انه مازال غير مستقر .

كما انه مدعوم من مؤسسة بليندر GNU GPL v2البرنامج تحت رخصة جنو العمومية األصدار الثانى Blender Foundationغير الربحية .

Page 7: Arabic Linux Community Magazine # 9

زرقاء العين في حاسبيوعليه لن أجلس بعد مقهورا (۱)

لن أتعب بعدك يا فيدورا (۱)حبيبتي أنت معشوقتي أنت

دمت لي يا أمورة (۱)***

دعوت عاشقات مدينتيأبلغهن حبي الجديد

قلبي الوليدأعرفهن على السنيورة

***كنت وحيداكنت حزينا

على فمي رسمت بسمتيفغدوت مسرورا

***آنستني في وحشتي

في غربتيفي ليلتي

في حاسبي ٬ في موقعي أمنتنيبعد أن كنت قبلك مذعورا

***كنت مواليا لغيرك

لعدوك الغيتسيمنافسك البرتقاليأمك قبعة البندورة

***أصارحك أني أحبك

وأحب مستخدمكوأقنع غيره بكألنك األفضل

ألنك الشطورةألنك حبيبتي

ألنك فيدورا ٬٬٬

ألنك فيدورا (شعر)ألنك فيدورا (شعر)ألنك فيدورا (شعر)

مصعب الزعبي بقلم :

(۱) تخضع لمشيئة اهللا وحده ٬

Page 8: Arabic Linux Community Magazine # 9

٬ وفي هذه ٢٫٦تاريخ لينوكس يمكن ان نعتبر بدايته الحقيقه مع االصدارين ٢٫٠المقاله نستعرض قائمه بأعرق التوزيعات التي لها بصمه ال تنسى في تاريخ

لينوكس .

فتحي محمد القدسي بقلم :

خمس توزيعات غيرت وجه لينوكسThe Five Distros That Changed Linux

خمس توزيعات غيرت وجه لينوكسThe Five Distros That Changed Linux

خمس توزيعات غيرت وجه لينوكسThe Five Distros That Changed Linux

باإلمكان قياس تاريخ لينوكس بعده طرق في الغالب عن طريق إرقام اإلصدارات .

٠٫٠۱بدايه نواه لينوكس في سبتمبر مع االصداره رقم وهناك طريقه اخرى بالطبع للنظر في عمليه تطور ۱۹۹۱لينوكس وهي الشروط المطبقه في توزيعاته الهامه .

بالنسبه للمستخدمين هذه التوزيعات تعتبر قمه الجبل وماخفي كان أعظم فبإمكانك ان تقارن او تناقش أفضليه توزيعه على أخرى لكن كل ذلك ليس مكانه هنا والسبب ان قائمتي التي اخترتها غيرت نظرتنا وطريقه استخدامنا للينوكس .

بنيت هذه القائمه بناء على النظر في تاريخ لينوكس باالضافه الى تجربتي الشخصيه بالرغم من اني لم اكن مستخدما BSDللينوكس في سنواته المبكره والسبب اني كنت في ذالك الوقت اعمل مع مجتمع يونكس في مشروع نظام التشغيل

والذي سرعان ماغادرته .

ولنبدأ في قائمتنا ويتربع على راس القائمه :

سالكويرSlackware

البدايه الحقيقيه ألول توزيعه شعبيه1993

Patrick Volkerding وهذه التوزيعه شدتني انا وكثيرين الى عالم لينوكس في بدايه التسعينات مؤسسها واخذChurch of the SubGenius اسمها من الموقع االشهر في عالم الهاكر في التسعينات في البدايه كانت سالك

عباره عن مشروع جانبي ولكن بسرعه تحولت الى اكثر من مجرد توزيعه صغيره مع اسم طريف احب العديدين تجربه build/make/compile لينوكس لكن لم تكن لديهم الخبره الكافيه في دائره لينوكس المرعبه لكثيرين فكل شئ

عباره عن ملفات مصدريه ويجب عليك بناءها بنفسك وسالك اليوم مازالت بالرغم من هذا التطور والطفره التي حصلت في عالم لينوكس غير مناسبه للمستخدم المبتدئ لكنها كانت البدايه لمن اراد ان يعرف لينوكس.

Volkerding بدايه سالك كتوزيعه غريبه نوعا ما فـ لم يكن يخطط ابدا لعمل توزيعه ٬مالذي حصل اذا ؟ كما قال فيمقابله له في ۱۹۹٤ ان استاذه طلب منه ان يشرح له كيفيه تثبيت لينوكس على جهازه الشخصي في المنزل ومن ثم

Volkerding LISP شاركه هذا االمر بعض تالمذته الذين كانو عليهم بعض االعمال في لذلك يقول ذهبنا الى معملSLS (Soft Landing Systems) . الحاسب وقمت بتثبيت نسخه من لينوكس

Yggdrasil SLS (Soft Landing Systems االنفه الذكر ومن قبلها التي ) هناك العديد من التوزيعات مثلslackware نستطيع ان نقول انها اول توزيعه لينوكس تجاريه سبقت بالرغم من ذلك كله ببساطه عملت بشكل

افضل من بقيه التوزيعات االسبق منها وحجزت لنفسها مكانا في قلوب مستخدمي لينوكس االقدمين .

Page 9: Arabic Linux Community Magazine # 9

مرحبا بمجتمع لينوكس

Ian Murdock Slackwareبينما جذبت المستخدمين الى لينوكس باآلالف فان Purdueوالذي تخرج من جامعه بدء العمل في مجتمع لينوكسي جديد ظهر الى الوجود

Debian .باسم

ديبيانDebian

slackwareبعض التوزيعات القديمه بمافيها كانت ثمره جهود مجموعه من المطورين الملهمين بينما نجد توزيعات .اخرى مثل Caldera, Red Hat,Yggdrasil

. كان له وجه نظر اخرى هي عباره عن فكره اخرى وضحها في Murdockفي هذه الشركات Manifesto حين قال “دبيان هي فرع جديد من توزيعات لينوكس ال تقتصر على مطور واحد منعزل او مجموعه

واحده كما هو حال بقيه التوزيعات في الماضي بل هي اكثر من ذلك٬ دبيان تطور بشكل مفتوح على الجميع تحت فلسفه ” و GNU Linux

openSUSE, Fedora, Ubuntuوكان على حق دبيان كانت بالفعل فرع جديد من توزيعات لينوكس واليوم مع تغير مفهوم توزيعات لينوكس التجاريه واصبح لها مفهوم جديد كما انها لها جذور عميقه في مجتمع لينوكس بالفعل كانت

فكره جوهريه واصبحت أساسا بنيت عليه الكثير من االشياء فيما بعد.

linux kernelنعم كانت تطور من قبل مجتمع مفتوح عبر القوائم البريديه ومجموعات اليوزنت والمستودعات لكن هناك الكثير من االشياء الصغيره التي تخص البرامج كانت بحاجه للمجتمع والذي كان فكره جديده وبالفعل ففكره العمل

التطوعي في عالم لينوكس القت الكثير من االستحسان وانخرط فيها الكثير .

ولكن تأتي الرياح بما ال تشتهي السفن٬ فسرعان ماقامت حرب ضروس بين المجتمع ومؤسسهhttp://practical-tech.com/operating-system/when-is-debian-not-debian/

Mozillaكذلك الحال في مجموعات المصادر المفتوحه مثل ضد فايرفوكسhttp://practical-tech.com/operating-system/linux/fox-wars-debian-vs-mozilla

وقامت خالفات اخرى في داخل التوزيعات نفسها حول معايير عمل توزيعه جديدهhttp://practical-tech.com/operating-system/disgruntled-delay-etch

Debianلكن بالرغم من كل هذه المعارك الجانبيه استطاعت بطريقه او بأخرى ان تكون لها قصب السبق وتسيطر على قمه هرم توزيعات لينوكس .

Debian Debianكل مجتمعات لينوكس تدين بالفضل ل في دورها الطالئعي . والى اليوم مازالت من اكثر التوزيعات Ubuntu, MEPIS, Knoppix, Xandrosشعبيه في العالم . العديد من التوزيعات بما فيها تعتمد على الكود

المصدري لدبيان .

Debianمن نافله القول اذًا ان نخرج بنتيجه وهي انه بدون فانه لم يكن ليقوم لمجتمع لينوكس قائمه

والتي هي توزيعات تجاريه في االساس كانت تقوم بجهود موظفين The Debian

Page 10: Arabic Linux Community Magazine # 9

كالديراcaldera 1993/4

اول توزيعه خاصه باألعمال

SCO calderaاالن عندما تذكر يذكر تحولها الى الد اعداء

لينوكس جنبا الى جنب مع ميكروسوفت .لكن بدايتها لم تكن كذلك ابدا.اذا ماهي القصه الحقيقيه وراء هذه التوزيعه العريقه ؟

Brian Sparks Ransomفي البدايه رأى مؤسسيها و ان لينوكس ممكن ان يكون شيئا عظيما كنظام تشغيل خاص بقطاع االعمال ومن ناحيه اخرى سيكون طريقه فريده لمحاربه ويندوز في عالم الكمبيوتر المكتبي والسرفرات

Caldera The Love of Linux Loveوكما صرح في كتابه بدايه كانت كمشروع مشترك انبثق من . والهدف منه محاربه ميكروسوفت ونظامها العتيد في ذالك الوقت Windows NT Novell

في هذه الفتره حاولت ميكروسوفت ان تستحوذ على اكبر حصه من سوق انظمه الحاسب وتقصى نوفل بعيدا عن السوق Bryan Rob Love,يقول بانه احس هو و بان بامكانهم الكثير في مجال انظمه التشغيل ولن يكلف ذلك ماليين

الدوالرات اذا تم التركيزعلى مجموعه صغيره من المهندسين تهتم بالواجهه الرسوميه وخدمات السرفر .

ونظرا لجهود المجتمع القائم على التطوع واعتماد فكره مجتمع لينوكس المفتوح القائم على فلسفه المصادر المفتوحه كل backendذلك أدى الى انخفاض التكاليف الالزمه لتطوير انظمه التشغيل وظهور فكره سطح المكتب هناك ايضا الإجبار ميكروسوفت على اعتماد - NetWare التي دعمتها وبذلك استطعنا -يقول love NetWare services

services في انظمتها المكتبيه ولتفتح الطريق امام المنافسه .

لم يتغير شئ من فتره طويله بل االكثر من ذلك هو عندما اقدمت ميكروسوفت على االعالن عن تخليها عن دعم اجهزه IBM في نظام في المقابل نرى ان خطه في مجال االعمال باستخدام لينوكس xp netbooks

http://practical-tech.com/operating-system/ibm-and-linux-the-early-years

Loveوسنرى تعليق على فكره ان تكاليف بناء نظام تشغيل انخفضت بشكل كبير باعتمادها على فلسفه المصادر المفتوحه.

Novell Ray Noorda Novellلسوء حظ فبينما كان المؤسس يدعم الفكره ٬توقفت عن دعم لينوكس ٬كانت بالفعل امر فظيع خاصه انها استمرت طوال العقد االخير في مجال لينوكس وتعرف دقائقه ولعبت دور كبيره في قوه

buying SUSEلينوكس الحاليه لكنها اختارت طريقا اخر .

Love Caldera sparks Loveلذلك قام كًال من و بتأسيس وباالتفاق مع استكمال ما بدآه بإنشاء نظام تشغيل Caldera Network Desktopبديل في المجال الصناعي والتجاري هذا النظام سيسمى فيما بعد وذلك في نهايات

۱۹۹٥Visix وكان مبنى باألساس على مع تعديالت وتطويرات عليه .

Red Hat Calderaمااليعرفه كثير من الناس هو ان مطوري قاموا بذلك بمساعده من لكن بالرغم من ذلك Caldera االن على مفترق طرق فهي تحتاج ان تسيطر على كل صغير ه وكبيره لتؤكد لقطاع االعمال جوده وتفرد

منتجاتها . Red Hat كانت تعرف في ذلك الوقت ان من يشتري نظام لينوكس هم الهاكرز والمطورون وذلك بسبب التحديثات

السريعه للكود المصدري .Caldera مازالت حتى هذه اللحظه تقف وراء حلمها بالوصول الى ايصال فكره ان لينوكس سينتشر تجاريا وسيكون

مربح اقتصاديا ايضا .business buyers Red Hat Calderaفي نهاية التسعينات اتفق كال من و على صفقه التي قضت على

caldera Noorda Calderaاحالم استمر في االستثمار في لكن تدهورت صحته فقام المدراء الماليين للمجموعه caldera canopy باإلقدام على قرار كان من شأنه ان يقضى على البقيه الباقيه من احالم وكان هو ابرام صفقه

Page 11: Arabic Linux Community Magazine # 9

the purchase of SCO كان قرارهم هو الطريقه األسرع للثراء طبعا النتيجه في آخر األمر هي الفشل الفظيع لـ caldera SCO/Caledera وهكذا نرى ان وقبل قرارها االنتحاري كانت تمثل خطوه وحجر اساس للمشروع

Red Hat التجاري القائم على لينوكس والذي كان سيكون له حصه اليستهان بها اليوم في سوق االعمال بالطبعتعلمت من الدرس جيدا والنتيجه انها استطاعت ان تنقل نفسها من توزيعه تقتصر على الهاكر الى توزيعه يستفيد منها

قطاع االعمال ايضا .

٬

ريد هاتRed Hat Enterprise Linux

2.1AS

عندما يدخل لينوكس عالم الشركات

Red Hatفي عام ٢٠٠٤ كره مستخدمي لينوكس لماذا ؟ Red Hat 9النها اعلنت انها ستجعل نسخه حصريا على القطاع التجاري وستحرم المستخدمين العاديين منها .

Red Hatلماذا خرجت من كونها تخدم المستخدمين العاديين والهاكر ايضا الى خدمه رجال االعمال فقط ؟ألنهم ادركو ان النقود لم تعد تكفي لالستمرار على نفس النهج في السنوات القادمه .

Michael Tiemannفي مقابله له على االيميل صرح رجل ريدهات المختص بشؤون المصادر المفتوحه بأن هناك % ونحن % الى % مع زياده الجوده من %الى ۱٠٠فرص هائله لمساعده الزبائن في تقليل الكلفه من ٥٠ ۹٥ ٥٠

مستعدون تماما لذلك مع قدرتنا ايضا على المشاركه في تطوير المصادر المفتوحه وبطريقه فعاله ..

باإلضافه الى ذلك فإن الزبائن يستطيعون ان ينتقلوا من نطاق االنظمه المملوكه وبرامجها الى عالم المصادر المفتوحه بدون ان ينفقوا مبالغ طائله وسنوفر عليهم الوقت الذي سيقضونه في صيانه انظمتهم المفتوحه وكنتيجه لما سبق يمكن

القول ان كال الفريقين في هذه المعادله سواء الزبائن او الشركاء في العمليه التطويريه وهذا جعل ريدهات انتربرايز تتبوأ مكانا مرموقا في مجال االعمال التجاريه القائمه على لينوكس.

واضاف اذا كان بإمكانك عمل ذلك فبإمكان ريدهات عمله ايضا وهذا ليس تفاخرا بل هو واقع الحال فريدهات في السنه الماليه الماضيه حققت اكثر من نصف بليون دوالر في الوقت الذي يعاني في الجميع نجد ريدهات تنهض وتواصل نموها

المتطرد.

فريدهات استطاعت ان تنقل نفسها من لينوكس يقتصر على الهاكر الى لينوكس يخدم قطاع االعمال وبفعاليه تامه وهي بذلك وضعت بصمتها في التاريخ كما انها مع ذلك كله مازالت تدعم مجتمع لينوكس كما تدعمه دبيان وذلك عبر توزيعتها

فيدورا والتي تقف وراءها بكل قوه وستستمر في ذلك.

وفي نهايه كالمه وضع مقارنه عن الفرق الجوهري بين فيدورا وريدهات انتربرايز حين قال "فيدورا هي :كيف تكون هناك وانتربرايز هي كيف تبقى هناك"

.

Page 12: Arabic Linux Community Magazine # 9

أوبنتوubuntu 2004

لينوكس للجميع

رائينا ان لينوكس نمت وزادت شعبيتها بين المبرمجين وقطاع االعمال لذلك ظهرت حاجه ماسه لتسهيل استخدام لينوكس وقرر ان يعمل شئيا للمساهمه في Mark Shuttelworth للشخص العادي والبسيط وهنا انبرى لهذه المهمه الجليله

هذه المسئله وكما ال يخفي على اغلبنا ان مارك شتالورث ملتي مليونير اي ان لديه المصادر الكافيه لعمل هذا الشئ .وبماانه لديه عالقات مع دبيان قرر ان يعمل مع ما سيطلق عليه فيما بعد اسم مجتمع ابونتو وكان قراره عمل توزيعه

مبنيه على دبيان لكنها موجهه للمستخدم العادي لذلك فيها تسهيل في عمليه تثبيت النظام وكذالك طريقه التعامل مع البرامج واحتوائها على حزم جاهزه مثتيته مسبقا سيكون اصدار هذه التوزيعه كل سته اشهر على ان تتمتع بكافه

التحديثات االمنيه خالل ثمانيه عشر شهرا ودعم تقني يرافق كل اصداره .

احالم كبيره لكن خلفيه شتالورث الماليه ساهمت في تحقيق هذه االحالم واصبح مجتمع ابونتو حقيقه واقعه .

تدرجت ابونتو في شهرتها حتى وصلت اليوم وباتفاق الجميع الى اشهر توزيعات لينوكس على مستوى العالم ومنذ . ٢٠٠٥distrowatch اصبحت تحتل المراكز االول في موقع مراقبه التوزيعات االشهر

٢٠٠۹حظيت ابونتو بكثير من الدعم من قبل المصنعين وعلى رأسهم شركه ديل اما فقد شهد نقله نوعيه بالنسبه البنتو فقد اصبحت شعبيتها تضرب االفاق لدرجه ان الكثير من المستخدمين الجدد لم يعد يميز مابين لينوكس وابونتو فلينوكس

هو ابونتو وابونتو هو لينوكس .

....

اخيرا نخرج بالخالصه التاليه

سالك وير:اول من نشر لينوكس وعرف العالم به

دبيان:اول مجتمع لينوكس

كالديرا:اول توزيعه اظهرت امكانيه لينوكس في دخول عالم االعمال

ريدهات انتربرايز:اول توزيعه وضعت لينوكس في سوق االعمال فعليا

ابونتو:اول توزيعه سهلت استخدام لينوكس للجميع

....

هذا عن قائمتي ماذا عن قائمتك انت؟

Page 13: Arabic Linux Community Magazine # 9

ياســـر يكن بقلم :

D o l p h i nمدير الملفات

D o l p h i nمدير الملفات

D o l p h i nمدير الملفات

konqueror KDE4 Dolphin ٬ وقد تم استبداله مكان هو مدير الملفات الذي يأتي افتراضيا مع سطح المكتب KDE4 ... ٬ طبعا ويمكن استعماله كمتفح للملفات أيضا الذي أصبح متصفحا للمواقع على

الواجهة

Dolphinهذه هي واجهة مدير الملفات

نالحظ في مدير الملفات ما يلي :

* القوائم في األعلى * شريط األيقونات في األسفل مباشرة

* الشريط الخاص بالمجلدات في الجهة اليسرى * أسفله مباشرة نجد الشريط الخاص بالمكان المتواجد فيه * النافذة الخاصة بالمعلومات عن المجلد الذي يتم تحديده

وهذا ليس الشكل الوحيد للمدير٬ ألنه باإلمكان تغير أماكن األشرطة عن طريق سحبها بواسطة الفأرة وإفالتها في المكان المرغوب فيه ...

Page 14: Arabic Linux Community Magazine # 9

Affichage >Panneau

Afficher >Barres

توجد أشرطة وقوائم أخرى باإلمكان التحكم في إظهار وإخفاء ما نريد منها في القائمة :

تنبيه !

إذا كان شريط القوائم غير ظاهر أو تم حذفه خطأ٬ فباإلمكان استعادته عن طريق النقر بزر الفأرة األيمن في مكان فارغ من لوحة المفاتيح . ثم اختيار استعادة شريط القوائم٬ أو الضغط على مفتاحي Ctrl+m Dolphinمن مدير الملفات

أو

Page 15: Arabic Linux Community Magazine # 9

Configuration > Configurer les barres d’outils

أن تقسم نافذة العمل إلى قسمين لتسهيل العمل كالنسخ والنقل من النافذة األولى إلى الثانية Dolphinباإلمكان مع أو Scinderوالعكس وذلك بالنقر على أيقونة Split

تنقسم النافذة إلى أعمدة تفاعلية يعرض كل واحد منها محتويات المجلد المحدد في العمود Colonneوبالنقر على أيقونة

على اليسار عند النقر عليها .

وباإلمكان إضافة األيقونات المفضلة في القائمة الخاصة باأليقونات من لسان القائمة :

ثم تحديد األيقونات المراد ظهورها في القائمة .

Dolphinاستعمال

نسخ ونقل الملفات :

Page 16: Arabic Linux Community Magazine # 9

Afficher >Montrer dans les groupes

Afficher > Trier par

Edition > Inverser la sélection

٬ وبالنقر على الملف المراد إجرا العملية عليه وسحبه وإفالته في أو Scinder Splitاإلستخدام المفضل هو وضع المكان المرغوب فيه ثم اإلختيار من القائمة التي ستظهر : نسخ أو نقل أو إنشاء رابط " وصلة "

عكس اإلختيار :

من القائمة

الترتيب :

من القائمة

المجموعات :

باإلمكان اختيار ترتيب الملفات والمجلدات على شكل مجموعات وذلك من القائمة

Page 17: Arabic Linux Community Magazine # 9

مدير الحزم

Z y p p e rمدير الحزم

Z y p p e rمدير الحزم

Z y p p e r

: OpenSUSE/SLE . PackageKit الخاص بـ

libzypp : Zypper ليجعل مميزاته – مثل دخول المستودع و قرائتها ٬ حل اإلعتماديات هو واجهة سطر األوامر لـ٬ تثبيت الحزم … إلخ – متاحة عبر سطر األوامر .

Yast , Zypper Zypp ( libzypp ) هو محرك إدارة حزم يشغل العديد من التطبيقات األخرى مثل و

مصطفى رفاعي بقلم :

Zypperمميزات

التي أتيحت كواجهة سطر أوامر باإلضافة لقائمة مميزات libzypp التالي بشكل رئيسي هو قائمة مميزات zypper للمستخدمين . قائمة المميزات هذه تتوافق مع أحدث إصدار . Zypper Zypper بواسطة

إدارة الحزم **

إدارة المستودعات **

اإلستعالمات **

* تثبيت/إزالة الحزم باإلسم أو بالوظيفة التي تقدمها . * تثبيت/إزالة إصدارة معينة من الحزمة .

و إذا كان ينقصها إعتماديات فيقوم بجلبها من المستودعات . RPM * تثبيت ملفات * تثبيت و إزالة حزم متعددة بسطر واحد [ بإستخدام +/- او ~/! ] .

* تحديد مستودع معين لكل حزمة بإسباق إسم الحزمة بإسم المستودع . * تحديث كل الحزم المثبتة بإصدارات أحدث عند توافرها .

* تثبيت حزم/قوالب/رقع/منتجات . * تقديم ملخص تثبيت شامل .

* إمكانية تجنب تثبيت الحزم الموصى بها – فقط المطلوبة - .

* إضافة/إزالة/إستيراد/تصدير المستودعات بكل سهولة . * إستخدام مستودع ما بشكل مؤقت .

* قصر العمل على مستودعات معينة . * تعديل مستودعات متعددة بمرة واحدة – إختيار بنوع الوسط أو المحلية أو الكل .

* البحث عن حزم باإلسم أو الملخص أو المفصل .جميع الكلمات ٬ نفس wild-cards) * البحث عن حزم تطابق جملة فرعية ٬ تعبيرات شمولية شاملة القيمة (

الجملة . * تصنيف نتائج البحث بإسم الحزمة و نوعها أو عرض كل إصدارات الحزم المتاحة من جميع المستودعات .

* عرض معلومات مفصلة عن حزمة/رقعة/قالب/منتج .

* عرض جميع الحزم/الرقع/القوالب/المنتجات المتاحة .

Page 18: Arabic Linux Community Magazine # 9

إدارة التحديث **

أقفال الحزم **

الخدمات **

عام **

* عرض الرقع الضرورية أو كلها . * تثبيت الرقع .

بنوع , – wild-cards * إضافة أقفال للحزم بسهولة .. اإلقفال باإلسم – يمكن استخدام التعبيرات الشمولية الحزمة ٬ بالمستودع .

* عرض األقفال بالرقم أو باإلسم . * إزالة األقفال بالرقم أو باإلسم .

* التحقق من اإلعتماديات الخاصة بالحزم المثبتة . * تثبيت الحزم الموصى بها من قبل حزم أخرى مثبتة .

* نمط غير تفاعلي إلستخدامه في السكربتات . * ثالثة مستويات من محتوى المخرجات .

Zypperإستخدام

هذه قائمة باألوامر األكثر إستعماال بالغالب : **

Zypper

Zypper help search

Zypper lp

Zypper patch

Zypper se sqlite

Zypper rm sqlite

Zypper in sqlite

Zypper in yast*

Zypper up

عرض قائمة األوامر و الخيارات المتاحة

‘عرض المساعدة الخاصة باألمر '

عرض قائمة رقع التحديثات الضرورية

تثبيت الرقع الضرورية

sqlite‘البحث عن الحزمة '

sqlite‘إزالة الحزمة '

sqlite‘تثبيت الحزمة '

yast’تثبيت جميع الحزم التي تبدأ بـ'

تحديث جميع الحزم آلخر إصدار متاح

search

zypper ** : هي كالتالي التركيب العام لجملة أمر zypper [[متغير] [ خيارات-أمر ] خيارات-شاملة] أمر

zypper zypper . ملحوقا باألمر هي كتابة المكونات بين األقواس ليست أساسية لذا فإن أبسط طريقة لتنفيذ عملية بـzypper patch . باإلضافة لذلك يمكنك إختيار خيار شامل كمثال : لتثبيت الرقع المطلوبة للنظام قم بكتابة التالي :

zypper –non-interactive patch .” global-option قم بتثبيت الرقع أو أكثر بكتابتهم قبل األمر . مثال : الضرورية و ال تسألني عن شئ .. قرر بنفسك "

zypper patch command-option : قم بكتابتهم بعد األمر . مثال و إلستخدام خيار أو أكثر خاص بأمر معين –auto-agree-with-licenses “ ” قم بتثبيت الرقع الضرورية و ال تسألني عن الرخص فأنا موافق عليها جميعا

mplayer' ” . zypper install mplayer . “ ' تثبيت الحزمة . بعض األوامر تطلب متغير أو أكثر . مثال :

Page 19: Arabic Linux Community Magazine # 9

إدارة المستودعات **

التي تم تنزيلها من RPMتعطيل التخزين المؤقت لملفات الـ

جميع المستودعات

التي تم تنزيلها من RPMتفعيل التخزين المؤقت لملفات الـ

جميع المستودعات الخارجية

إضافة المستودعات

updateإضافة المستودع

إزالة المستودعات

upd’إزالة المستودع '

إعادة تسمية المستودعات

upd’إعادة تسمية المستودع '٣' إلى '

إستيراد/تصدير المستودعات

التصدير

اإلستيراد

عرض المستودعات الحالية

عرض المستودعات الحالية باإلضافة لعناوينها

عرض المستودعات و أولوياتها و ترتيبها حسب ذلك

تحديث المستودعات

’تحديث المستودع '

' تحديث المستودع '

التعديل على المستودعات

تعطيل المستودع ٦

تفعيل التحديث التلقائي و التخزين المؤقت لملفات

و تعيين أولويته إلى للمستودع ' ۷٠الـ upd' RPM

upd

updبالقوة

zypper lr Zypper repos او

Zypper lr -u

Zypper lr -P

zypper refاو Zypper refresh

Zypper ref upd

Zypper ref -f upd

zypper mrاو Zypper modifyrepo

Zypper mr -d 6

Zypper mr -rk -p 70

Zypper mr -Ka

Zypper mr -kt

zypper arاو Zypper addrepo

Zypper addrepo http://download.opensuse.org

/update/11.1/update update

zypper rrاو Zypper removerepo

Zypper rr upd

zypper nrاو Zypper namerepo

Zypper nr 3 upd

zypper lr -eاو Zypper repos –export

Zypper lr –export backups/repos/foo.repo

Zypper ar backups/repos/foo.repo

Page 20: Arabic Linux Community Magazine # 9

إدارة الحزم **

يتم إختيار الحزم – للتثبيت أو اإلزالة أو غيرها – بأكثر من طريقة ممكنة مثال :

او zypper in qt * باإلسم : zypper in 'perl(Log::Log4perl)' أو * ' zypper in zypper in 'zypper<0.12.10باإلسم و/او المعمارية و/أو اإلصدار :

zypper.i586=0.12.11zypper in factory:ftpبإسم الحزمة و تحديد المستودع : *

الحزمة : . zypper in skype-2.0.0.72-suse.i586.rpmبإسم ملف RPM *

تثبيت الحزم

’gitتثبيت الحزمة '

’MozillaFirefoxتثبيت الحزمة '

’yastتثبيت كل الحزم التي تبدأ بـ'

’lamp_serverتثبيت القالب ‘

و إزالة الحزمة emacsتثبيت الحزمة vim

و تثبيت من المستودع ' 'upd' libxine1تثبيت الحزمة '

’amarokالحزمة '

إزالة الحزم

’sqliteإزالة الحزمة '

بناء اإلعتماديات و تثبيت الحزم المصدرية

بإعتمادياتها 'smartتثبيت الحزمة المصدرية '

وحدها فقط 'smartتثبيت الحزمة المصدرية '

وحدها 'smartتثبيت إعتماديات الحزمة المصدرية '

فقط

zypper in Zypper install او

Zypper in git

Zypper in MozillaFirefox\<3

Zypper in ‘yast*’

Zypper in -t pattern lamp_server

Zypper in vim -emacs

Zypper in amarok upd:libxine1

zypper rmاو Zypper remove

Zypper rm sqlite

zypper siاو Zypper source-install

Zypper si smart

Zypper in -D smart

Zypper in -d smart

إدارة الحزم **

عرض الرقع الضرورية

تثبيت الرقع

عرض جميع الرقع

التحقق من الرقع

عرض معلومات عن الرقع

عرض معلومات عن الرقع

عرض تحديثات الحزم المتاحة

تثبيت تحديثات الحزم المتاحة

zypper lp Zypper list-patches او

Zypper patch

Zypper patches

zypper pchkاو Zypper patch-check

Zypper patch-info

Zypper info -t patch

zypper luاو Zypper list-updates

zypper upاو Zypper update

Page 21: Arabic Linux Community Magazine # 9

اإلستعالمات **

البحث عن الحزم

و مراعاة حالة الحروف RSIالبحث عن اإلسم المختصر

٬ أيضا البحث بالملخص و الوصف

’yastالبحث عن كل الحزم التي تبدأ بالكلمة '

’updعرض كل الحزم الموجودة بالمستودع '

المثبتة 'sqliteعرض كل حزم '

’updعرض كل القوالب المتاحة بالمستودع '

جلب معلومات عن الحزم

’amarokعرص معلومات عن الحزمة '

’amarokعرض معلومات عن الرقعة '

’amarokعرض معلومات عن الرقعة '

’lamp_serverعرض معلومات عن القالب ‘

جلب معلومات عن اإلعتماديات

’firefoxعرض معلومات عن إعتماديات الحزمة '

zypper se Zypper search او

Zypper se -dC –match-words RSI

Zypper se ‘yast*’

Zypper se -r upd

Zypper se -I sqlite

Zypper se -t pattern -r upd

zypper ifاو Zypper info

Zypper info amarok

Zypper info -t patch amarok

Zypper patch-info amarok

Zypper info -t pattern lamp_server

zypper wpاو Zypper what-provides

Zypper wp firefox

أقفال الحزم **

قفل حزم

’yast2قفل كل الحزم التي تبدأ بـ'

إزالة األقفال

’yast2إزالة أقفال كل الحزم التي تبدأ بـ'

عرض األقفال الموجودة

zypper al Zypper addlock او

Zypper al ‘yast2*’

zypper rlاو Zypper removelock

Zypper rl ‘yast2*’

zypper llاو Zypper locks

الخدمات **

zypper verify . zypper ve * او التحقق من اإلعتماديات : ملحوظة : هذا مفيد في حالة إنهيار النظام . *

zypper install-new- zypper inr او * تثبيت الحزم الموصى بها من قبل حزم أخرى مثبتة : recommends .

ترقية التوزيعة **

zypper dist-upgrade . zypper dup * او ترقية التوزيعة :

Page 22: Arabic Linux Community Magazine # 9

Zypper ** في التطبيقات و السكربتات إستخدام

zypper –non-interactive patch zypper –non-interactive … * : مثال الوضع غير التفاعلي تخطى كل الرقع التي تطلب تفاعل من المستخدم .

zypper –-no-gpg-checks : GPG .عدم التحقق من الـ * zypper –auto-agree-with-licenses . الموافقة تلقائيا على الرخص : *

zypper –-quiet . عرض مخرجات األمر بطريقة هادئة سهلة القراءة : * zypper –xmlout : XML . عرض ناتج األمر بنمط *

Page 23: Arabic Linux Community Magazine # 9

#! /bin/bashecho 'Content-Type: text/plain'echo '’echo 'Hello, world!'

الحلقة االولىWSGIعمل تطبيقات الويب الحلقة االولىWSGIعمل تطبيقات الويب الحلقة االولىWSGIعمل تطبيقات الويب

تمهيد عن السلسلة1.1 -

مؤيد السعدي بقلم :

بمناسبة إطالق مشروع إطار الويب المتواضع الخاص بمشروع ثواب والذي يحمل اسم الصحابي عكاشة بن محصن (رضي اهللا عنه) قررت أن أكتب سلسلة سنتعلم فيها ماذا توفر لنا لغة البرمجة بايثون من طرق لعمل تطبيقات ويب. في WSGI meta web frameworkهذه الحلقة سأشرح إطار الويب الماورائي للغة بايثون واسمه وفي الحلقة

القادمة (إن شاء اهللا) سنتحدث عن إطار الويب “عكاشة”..

WSGI ما قبل 1.2

CGI هل تذكرون 1.2.1

ال أعرف إن كان هناك من ال زال يستعملها لكن ال بأس من التعرف عليها. الطريقة التقليدية في عمل تطبيقات الويب يمرر له ما ُيريد منه عبر متغيرات البيئة (cgi-binالتفاعلية هي أن يقوم الخادم بتنفيذ برنامج غالبا سكربت موجود في

HTTP environment variables ثم يأخذ المخرجات التي تكون وفق معايير أي أنها ترويسات بينها سطر جديد ثم

bash CGIبعد الترويسات سطر جديد آخر ثم يبدأ محتوى الرد. مثال لنكتب تطبيق بلغة كما يلي:

(

Common Gateway Interface CGIهذه الطريقة تسمى أي وهي ال تتعلق بأي لغة معينة حيث تكون بأي لغة يمكن

للخادم تنفيذها.

catأما التفاعلية فتأتي من أننا يمكننا أن نطبع ما نشاء مثل الوقت أو نعمل لمحتويات ملف أو نتحدث مع قاعدة بيانات

QUERY_STRINGأو نعالج ما تم تمريره لنا عبر متغيرات البيئة مثل المتغير يحمل الطلب (الذي يكون بعد عالمة

-http://localhost/cgiاالستفهام “؟” التي بعد اسم الملف) مثال إن كان اسم الملف هو وتم زيارة test.sh

text=foo&id=2 فإن قيمة ذاك المتغير هي bin/test.sh?text=foo&id=2

عيوب هذه الطريقة أنه مع كل طلب جديد يصل للخادم يتم تحميل برنامج وتنفيذه يعني لو قام ۱٠ أشخاص بزيارة موقعك .fork)فإن البرنامج سيتم تنفيذه ۱٠ مرات في كل مرة تشعيب (

ومن عيوبها كثرة األعمال المملة التي عليك القيام بها لعمل أشياء بسيطة وكما نعلم كلما زاد التعقيد قل األمن (مثال قد escapeتنس عمل لبعض المتغيرات قبل عرضها)

fast_cgi . mod_python و وغيرها من الطرق 1.2.2

لتوفير تحميل مفسر اللغة التي كتب لها السكربت فإن استخدام مفسر واحد مضمن داخل الخادم يكون حل أفضل وهذا هو mod_python mod_pythonما يقوم به حيث أنه جزء من خادم أباتشي وكلما يصل طلب يقوم الموجود مسبقا في

.cgiالذاكرة باستالمه ومعالجته. لكن يجب كتابة التطبيق ليستعمل وليس mod_python

وهناك العديد من الطرق لكتابة تطبيقات الويب منها أن تكتب خادم ويب خاص بك حتى يكون لك كامل التحكم وتتجنب تحميل ثم تشغيل تطبيق الويب مع كل طلب (ألن تطبيق الويب هو نفسه الخادم) ومما يسهل عليك ذلك

وفي جميع األحوال يمكن paste.httpserver SimpleHTTPServer twisted-web أو خادم الويب في أو في

Page 24: Arabic Linux Community Magazine # 9

تشغيل هذا الخادم داخليا على منفذ عالي مثل ٨٠٨٠ ثم الطلب من خادم أباتشي أن يكون مجرد وكيل يمرر الطلبات من العالم الخارجي له وبالعكس.

cgi fast_cgiأما فهي بروتوكول متعدد اللغات يعمل في الوسط بين تطبيق العادي (يعني ال داع إلعادة كتابة تطبيق

(cgi والخادم فيوفر عدد مرات تشغيل التطبيق من جديد.

mod_python fast_cgi cgiكل تلك الحلول تتطلب كتابة التطبيق بطرق مختلفه لكل حل (ف أو تختلف تماما عن

MionMion twisted-pythonوهما يختلفان عن وهكذا). لنأخذ مثال على تطبيق واحد مثل ويكي اسمها التي ما (4)

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

من األجزاء المملة من البرنامج ؟

Pylons Djangoطيب إن كنت ستصمم إطار ويب مثل أو فأي من هذه األسالب ستدعم ؟ ماذا ستقول للمستخدمين

الذين ال يدعم خادمهم إال واحدة دون األخريات من تلك الطرق.

WSGI إطار الويب الماورائي ويز-جي 1.3

WSGI ما هو ويز-جي 1.3.1

wiz-geeويز-جي اختصار لكلمة وهي تلفظ بأكثر من طريقة منها Web Server Gateway Interface

metaوهي ليست إطار ويب بل هي الطريقة التي يجب أن تكتب بها أطر الويب وتطبيقاته في بايثون. لهذا يسمى

framework أي أنه إن كتبت التطبيق بهذه الطريقة فإنه سيعمل بسهولة على أي حل تختاره.

tomcat jetty tomcatمثال في جافا هناك وهناك لكن من يعمل تطبيقات ويب بلغة جافا ال يهتم هل الخادم يعتمد على

Java Servlet. jettyأم ألن التنقل بينهما شفاف فهما يحدثان ما يسمى في عالم جافا باسم خويدمات جافا وهذا هو

WSGIتماما ما تعمله في عالم بايثون.

import WSGIوقبل أن تسأل ال يوجد حزمة اسمها وال تحتاج عمل ألي شيء. بل هي الطريقة التي يجب أن يكتب بها

برنامجك.

كيف يعمل ؟1.3.2

إن أردت كتابة تطبيق ويب متوافق مع ويز-جي فإن تطبيق الويب الخاص بك إما أن يكون مجرد دالة واحدة أو أن يكون callصنف لكنه قابل لالستدعاء عبر الدالة class

start_response environهذه الدالة تستلم معاملين هما و أولهما عبارة عن قاموس بايثوني (أو ما يسمى

associated array في لغات أخرى) عناصره متغيرات البيئة وما يقابلها من قيم ومنها ٥

- URI SCRIPT_NAME * وهو المسار من أول لتطبيق الويب ويجوز أن يكون خاليا

- URI PATH_INFO * وهي المسار الذي يلي التطبيق في مثال إن كان الرابط هو

view/file.txt SCRIPT_NAME app http://localhost/app/view/file.txt يمكن أن يكون هو و الباقي يعني /

PATH_INFOهو الملف المطلوب

االستعالم المطلوب وهو الذي يكون بعد عالمة االستفهام في الروابط عندما يكون الطلب QUERY_STRING - *

http://www.google.com/search?q=ojubaمن نوع مثال GET

وهو عنوان للطرف البعيد الذي أرسل الطلب يفيد لعمل مثال limits IP REMOTE_ADDR - *

POST * وهي طريقة الطلب وهي غالبا إما أو GET REQUEST_METHOD -

أما المعامل الثاني فهو عبارة عن دالة يجب أن يستدعيها التطبيق قبل أن يبدأ إرسال النتائج. فائدة استدعاء هذه الدالة

Page 25: Arabic Linux Community Magazine # 9

return ['Hello, world!']

import timedef application(environ, start_response):

start_response("200 OK",[('content-type', 'text/html; charset=utf-8')]); return ['''<html><body><h1>Hello!</h1><p>you have requested the page [%s]</p><p>it's [%d] since Unix epoch</p></body></html>''' % (environ['PATH_INFO'],time.time())]

import timeclass MyWebApp: def __init__(self): pass

def __call__(self, environ, start_response): start_response("200 OK",[('content-type', 'text/html; charset=utf-8')]); return ['''<html><body><h1>Hello!</h1><p>you have requested the page [%s]</p><p>it's [%d] since Unix epoch</p></body></html>''' % (environ['PATH_INFO'],time.time())]

application=MyWebApp()

httpهي تمكين الخادم إرسال ترويسة وتستدعى هذه الدالة مرة واحدة في كل استجابة ويمرر لها معاملين

(6) ”OK ٢٠٠“ * األول هو وهو سلسلة نصية تحتوي نوع الرد غالبا status

الثاني هو قائمة عناصرها ازواج من الترويسة وقيمتها وأهمها طبعا “ وقيمتها يمكن أن تكون content-type” *

”text/html; charset=utf-8“ مثال.

أما الصفحة نفسها تولد عبر إعادة قائمة بأجزاء الصفحة مثال

generator iteratableويجوز أن نعيد أي كائن قابل للتسلسل سواًء قائمة أو مرتب أو حتى قطعة نصية واحدة أو أو

حتى كائن ملف.

تطبيق ويب بسيط على شكل دالة1.3.3

لنفرض أننا نريد عمل تطبيق ويب بسيط يعرض اسم الصفحة التي طلبت منه ويعرض الوقت منذ بزوغ يونكس بالثواني.

الحظ أن تطبيق الويب السابق ال يستعمل أي وحدات إضافية والحظ كم هو بسيط. سنبين اآلن كيف يمكننا تشغيل تطبيق الويب هذا على أنواع مختلفة من الخوادم

apache * تطبيق عبر خادم cgi

google web app engineعبر *

apacheعبر في خادم mod_wsgi *

pasteإطالق خادم خاص بالتطبيق عبر *

class تطبيق ويب بسيط على شكل صنف 1.3.4

call classيمكن عمل تطبيق الويب على شكل وتنتقل مهمة الدالة إلى الطريقة داخل الصنف هكذا

Page 26: Arabic Linux Community Magazine # 9

from myTestWebApp import applicationfrom wsgi2cgi import run_with_cgirun_with_cgi(application)

for header in response_headers: sys.stdout.write('%s: %s\r\n' % header)sys.stdout.write('\r\n')

from myTestWebApp import applicationfrom google.appengine.ext.webapp.util import run_wsgi_app

def main(): run_wsgi_app(application)

if __name__ == "__main__": main()

instanceالحظ أننا قمنا بعمل كائن فرد من ذاك الصنف وفائدة هذا تمرير أي معامالت الزمة إلنشاء التطبيق كأن initتكون معامالت معايرة أو إعدادات معينة وهي التي ستمرر للطريقة

CGI تشغيل التطبيق السابق على 1.3.5

PEP 0333 CGIمن السهل جدا تحويل أي تطبيق ويز-جي ليعمل كتطبيق عبر الكود العياري الذي تم التقدم به في Python Enhancement Proposalsوهي تعني هذا الكود تجده على الرابط

* http://www.python.org/dev/peps/pep-0333/#the-server-gateway-side

) و نمرر لها تطبيقنا هكذا wsgi2cgi run_with_cgiحيث نستدعي الدالة المعرفة في ذاك الملف (سمه مثال

CGI cgi-binنضع هذا في مجلد في الخادم ونعطيه صالحيات التنفيذ وغير ذلك من اإلعدادات التقليدية كأي تطبيق

fast_cgiتقليدي. وبالمناسبة نفس الشيء يكون في

start_responseوطبعا كود البرنامج الذي يشغله ال يحتاج الكثير من الشرح فدالة ترسل الترويسات بعد تنسيقها ثم

ترسل عالمة سطر جديد

sys.stdout.flushثم تسير على البيانات التي أعادها التطبيق وتكتبها إلى المخرجات ثم

تشغيل التطبيق السابق على غوغل1.3.6

طبعا ال داع أن ُنذّكر أن غوغل تحجب بعض خدماتها بطريقة انتقائية (أي وال تحجب خدمات أخرى) عن بعض الدول ( ومن هذا ( العربية التي تعتبرها الواليات المتحدة “دوال مارقة” فيما يفترض أنه تطبيق لقوانين التصدير األمريكية

google app engineالبعض خدمة غوغل كود وخدمة استضافة تطبيقات بايثون وهي خدمة مفيدة جدا حيث يمكن

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

run_wsgi_appالطريقة هي بكل بساطة عبر استدعاء وتمرير تطبيق الويب خاصتنا له هكذا

7 .

للمزيد انظر http://code.google.com/appengine/docs/python/tools/webapp/utilmodule.html#run_wsgi_app

Page 27: Arabic Linux Community Magazine # 9

WSGIScriptAlias /myapp /path/to/myapp.wsgi

path/to/myapp.wsgi myappحيث / األولى هي المسار الذي سيتم تشغيل التطبيق عند زيارته. الثاني / ئهو ) يحتوي تعريف لكائن أو متغير اسمه وطبعا application moduleملف مكتوب بلغة بايثون (يعامل وكأنه وحدة يمكن أن يكون هو نفسه الوحدة السابقة ألننا عرفنا فيه متغير/كائن بهذا االسم. إن لم تكن تملك صالحيات تثبيت الوحدات

في النظام يمكنك وضعها في أي مكان وإضافتها للمسار الخاص ببايثون هكذا

import syssys.path.insert(0,'/home/omar/my-python-libs/')from myTestWebApp import application

import syssys.path.insert(0,'/home/omar/my-python-libs/')from myTestWebApp import MyWebAppapplication=MyWebApp(arg1,arg2)

if __name__ == '__main__': from paste import httpserver httpserver.serve(application, host='127.0.0.1', port='8080')

mod_wsgi تشغيل التطبيق السابق 1.3.7

mod_wsgiيوجد وحدة لخادم أباتشي اسمها تسمح بتشغيل تطبيقات ويز-جي بكل سهولة انظر http://code.google.com/p/modwsgi/

) يحتوي /etc/httpd/conf.dكل ما عليك هو أن تعمل ملف إعدادات (في فيدورا اعمل ملف جديد داخل المجلد /السطر التالي

إن كان الصنف بحاجة لتمرير معامالت معينة يمكنك استيراد النصف ثم استهالل كائن منه هكذا

applicationوهنا نحن ال نستدعي الدالة بل ننشئ كائن من نوع ونسمي الكائن MyWebApp MyWebApp applicationسيتم استدعاء مع كل طلب يصل إلى الخادم.

paste إطالق خادم خاص بالتطبيق عبر 1.3.8

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

إلى نهاية تطبيق ويز-جي

moduleالسطر األول يعني أن ما بعده ينفذ فقط إن تم تنفيذ الملف وال ينفذ إذا كنا نستعمله كوحدة السطر الذي يليه python-pasteتحضر خادم ويب من حزمة (موجودة في مستودع فيدورا بهذا االسم) وتشغل تطبيقنا

) ويستمع ۱٠٢٤على هذا الخادم على المنفذ ٨٠٨٠ (يمكنك تغير الرقم ألي رقم غير محجوز فوق application للطلبات من الجهاز نفسه. إن جعلتها ٠٫٠٫٠٫٠ فإنه سيستجيب لكل الطلبات عبر الشبكة المحلية أو الخارجية.

pasteبعد إضافة تلك األسطر فقط قم بتنفيذ ملف بايثون الذي يحتوي على خادم ثم افتح المتصفح على المنفذ المحدد /http://127.0.0.1:8080في المثال

CTRL+Cعندما تريد تغيير أي شيء يمكنك إيقاف البرنامج من سطر األوامر بالضغط على http://pythonpaste.org/modules/httpserver.htmlللمزيد انظر *

حيث يمكن تشغيله كخادم باألمر وانظر من تطبيقاته 1pydoc -p 8080انظر pydoc http://docs.python.org/library/simplehttpserver.html /2http://pythonpaste.orgانظر 3http://twistedmatrix.com/trac/wiki/Documentationانظر /4http://moinmo.inانظر

5http://www.python.org/dev/peps/pep-0333/#environ-variablesللمزيد منها انظر 6http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1للمزيد انظر

7للمزيد انظر مدونة محمد بشير الّنعيمي

Page 28: Arabic Linux Community Magazine # 9

جمعان الزهراني بقلم :

تقنية تبادل الملفات الحّرة

M a g n e t تقنية تبادل الملفات الحّرة

M a g n e t تقنية تبادل الملفات الحّرة

M a g n e t

اخترت أن أتحدث عن هذه التقنية لعدة أسباب : -تطبيق مبدأ نشر العلم والمعرفة. *

Magnet .هي مشروع حر * تقنية رابط * عدم وجود مصادر عربية تشرح هذه التقنية.

* رد جميل وعرفان لمجتمع لينوكس المعطاء العربي.

حينما نتحدث عن عالم الشبكات ٬ إحدى المميزات التي تكون في أي شبكة هي إمكانية المشاركة . فتخيلوا معي عندما نتحدث عن شبكة عالمية مثل اإلنترنت٬ طبعًا ستكون هناك مشاركة للملفات والبيانات على نطاق ضخم وواسع.

المقالة ستستعرض إحدى تقنيات المشاركة والتبادل وهي من نوع ( نظير إلى نظير ) أو

رابط وهي تقنية Magnet URL Link ( peer-to-peer )باإلنجليزية ( المغناطيس ).

Magnet - ؟ ما هي تقنية رابط

محّدد بين أجهزة الكمبيوتر (النظائر ) عبر URLهي بيئة مفتوحة لمشاركة البيانات ( ملفات أو مجلدات ) محددة في رابط شبكة االنترنت.

: Magnet مثال لرابط

ما هي إستخدامات هذه التقنية ؟ -

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

ما هي آلية عمل هذه التقنية ؟ -يتم البحث عن مصدر ( نظير) عن طريق شفرة مفتاحية للبيانات Magnet#عند طلب رابط

Distributed Hash Tables .حيث تنظم البيانات بين النظائر #يتم االتصال بشبكة توزيع تسمى #بعد ذلك تبدأ عملية التنزيل والرفع بين النظائر

Page 29: Arabic Linux Community Magazine # 9

صورة توضح آلية العمل بشكل أدق :

Magnet URL - ؟ ما أسباب ظهور روابط

ضمان مشاركة البيانات بين النظائر لمدة ال نهائية. 1 torrent. ) ) حيث إستمرارية البيانات تعتمد على النظائر وتواجدهم. ولن يكون هناك أي حاجة لملفات من نوع

Magnet . فقط ما تحتاجه هو رابط

ضمان مشاركة البيانات بين النظائر دون وسيط . 2 . Magnet ال يوجد ما حيث في تقنية التورنت البد من وجود مركز ينظم النظائر ويسمى التراكر ٬ ولكن في تقنية

DHT . يسمى تراكر حيث يكون توزيع البيانات – كما ذكرنا - عبر شبكة التوزيع (لن تفكر في مشاكل التراكر من تعليق أو عطل بعد اآلن )

.

Magnet - ؟ كيف يمكنني إستخدام روابط

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

إلستخدام التقنية تحتاج لبرنامج مشاركة يحوي هاتين التقنيتين :

DHT ۱. تقنية شبكة التوزيع

. إمكانية قراءة روابط من نوع Magnet ٢

يا رجل أريد استخدامها في نظام جنو/ لينوكس ؟حسنًا ٬ برامج المشاركة التي تدعم هاتين التقنتين ومتواجدة في أغلب مخازن التوزيعات .

Transmission 1.8 .( اإلصدار التجريبي يدعم هذه التقنية فقط ) برنامج ۱(Azureus) Vuzu .وهو بالمناسبة أول برنامج يدعم هذه التقنية معروف بإسم ٢. برنامج

Deluge ٣. برنامج

.

Page 30: Arabic Linux Community Magazine # 9

الطريقة :للبيانات المراد تنزيلها . Magnet ۱. نسخ رابط

)(٢Vuzu. لصق الرابط في برنامج المشاركة في التطبيق استخدمت برنامج

النتيجة :

مراجع ساعدتني في المقالة وروابط مفيدة : -

http://magnet-uri.sourceforge.net : موقع المشروع * http://en.wikipedia.org/wiki/Magnet_URI_scheme * مقالة عن التقنية في موسوعة ويكيبيديا

* مقالة توضح الفروق بين برامج المشاركة في ويكيبيديا http://en.wikipedia.org/wiki/Comparison_of_BitTorrent_clients

http://en.wikipedia.org/wiki/Distributed_hash_table DHT * في ويكيبيديا : مقالة عن Magnet ( * يعيبه أن النتائج غير حديثة ) محرك بحث عن روابط

http://bitzi.com/ http://www.arabp2p.com * التراكر العربي المفتوح :

خاتمة : * أحمد اهللا أن ساعدني على إنهاء هذه المقالة المصغرة . واعذروني لو بدر مني خطأ أو نقص.

بقي أن أذكر أن هذه العمل لوجه اهللا وهو حر ومفتوح المصدر .

واهللا ولي التوفيق .

Page 31: Arabic Linux Community Magazine # 9

أبو عمـــــر بقلم :

مثلث أمن المعلومات و المصادر المفتوحة مثلث أمن المعلومات و المصادر المفتوحة مثلث أمن المعلومات و المصادر المفتوحة

مثلث أمن المعلومات :

: المصدر المفتوح

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

هامة ال يتم تحقيق األمان للمعلومة في ظل غياب أي منها و هي ( السريه – السالمه – التوفر )

و هي الحفاظ علي المعلومة و عدم وصول اي شخص غير مصرح له بالوصول اليها و يتم من خالل تأمين الشبكة و عمل سياسه امنيه للمنظومة الخاصه بالعمل .

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

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

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

المغلق المصدر و الذي يتراوح سعرة من المجاني ) المنافس لنظام – ) - Windows – GNU/Linuxالتشغيل – $ في األسواق . ٢٠٠$۱٠٠ الي

أعتمدت الحكومات العربيه اليه عمل جديد تحت مصطلح مصطلح جديد و هو " الحكومة األلكترونية " و لم يتم التحضير الجيد لهذة النقلة و بناء علي عدم التحضير حدث الكثير من األختراقات و في ظل غياب الوعي األمني نجد الكثير من

المشاكل التي تواجه هذه الحكومات بشكل مستمر و في هذه المقالة نضع الحل بكل سهولة و يسر و سوف نشرح المخاطر األمنية من أستخدام مصدر مغلق داخل الجهات المؤسسات و المنظمات و الشركات و الهيئات الحكومية – هذا

ليس تقليل من شأن مجهودات الحكومات العربية بل هو محاولة ألظهار بعض الحقاق حول كوارث تهدد أمن المجتمعات و الي االن داخل بعض المنشأت التابعه للحكومة و هناك من windows 98الحكومات العربيه فهناك من يستخدم

يستخدم الي االن الطرق اليدوية في األرشفه و حفظ المعلومات التي تنتهي مع ( أول ماس كهربائي يحدث داخل المنشأه ) .

السريه :

السالمه :

التوفر :

انترنت بال وعي :

Open Source

Page 32: Arabic Linux Community Magazine # 9

المصادر المغلقه و هدم مثلث أمن المعلومات :

المصدر المفتوح هو المنقذ:

كانت تحتوي علي برامج تقوم بأرسال تقارير عن Windows 95/98إعترفت ميكروسوفت من قبل بأن األنظمة البرامج التي يقوم المستخدم بتنصيبها علي الجهاز و بررت ذلك العمل لحفظ حقوقها من خالل معرفة البرامج المقرصة

من البرامج األصلية التي يستخدمها المستخدم – و في هذا العمل خرق ألول قاعدة من قواعد مثلث أمن المعلومات و هي السرية – فأين هي السرية و هناك من يعلم بكل ما تقوم به علي الحاسب الخاص بك .

الجدير بالذكر ان هذه النسخه من ويندوز اعتمدت عليها - Windows NT Service Pack 5الثانية أمر يخص – Cryptonym of Morrisvilleالكثير من الشركات و المؤسسات و المنظمات و الهيئات الحكومية – أعلن -

Dr. Andrew Fernandezفي والية كارولينا الشمالية بالواليات المتحدة و ذلك عندما وجد ان بعض مهندسي لنظام تشغيل ويندوز من نسخة خدمة النظام NT SP 4 Debuggingمايكروسوفت المهملين لم يزل رموزالتصحيح و قد أعلن البروفيسور عن NSAKEYليجد أن هذه األكواد تشير في أحد مفاتيحها إلي وكالة األمن القوم األمريكي

المقام في سانتا باربارا. advanced Cryptographyكشفه في مؤتمر التشفير لمتقدم

البريطاني الجنسية أنه وجد ان احد سواقات البرامج المحملة تلقائيا Dr Nicko van Somerenو من قبله أعلن و الذي يتحكم في بعض أهم خصائص سرية النظام و خصوصا ADVAPI.DLLعلي أنظمة تشغيل ويندوز و المسمي المرتبطة بمتصفح انترنت اكسبلورر يحوي أكواد مجهولة تستطيع أن تشغل برامج خاصة من خالل الشبكات عند ادخال الرموز المناسبة لها إال أنه لم يمكن التعرف عي نوعية البرامج التي تشغلها مثل هذه األكواد و ما هي وظيفتها و هو ما

رفضت مايكروسوفت التعليق عليه في حينه. و قد أدي الكشف األول إلي اصدار الحكومة األلمانية قرارا بمنع إستخدام أي برامج تنتجها شركة مايكروسوفت علي اجهزة الحكومة.

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

www.cryptonym.comأدعوكم لتصفح موقع الشركة صاحبة األكتشاف -

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

معرفة ما يحتويه و إن تم أكتشاف أي خطأ برمجي يستوجب التعديل علي المصدر فلن تتمكن من ذلك باألضافة إلي % من الكراكات و ۹٠أستخدامك إلي كراكات لتشغيل بعض البرامج التي تحتاجها اثناء عملك اليومي و في العادة فأن الباتشات الموجودة علي شبكة األنترنت بعد فحصها تأكد وجود ملفات تجسس بها و هنا أختفي عنصر السالمة أحدي

عناصر مثلث أمن المعلومات.

بعد ما قدمناه من استعراض لمخاطر استخدامنا المصادر المغلقه نأتي الي عرض ايجابيات أستخدام المصادر المفتوحة في تحقيق عوامل أمن المعلومات ٬ أوًال لك الحرية الكاملة أن تقوم بالتعديل او التطوير للنظام و ايضًا ال يتم فرض اي مواد

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

الحفاظ علي بيئة المعلومة – ايضًا تجد عنصر اخر متوفر و هو عنصر السرية فاألنظمة مفتوحة المصدر تمكنك من األطالع علي الشفرة المصدرية للبرنامج الذي تعمل عليه و من هنا ال يتم كتابة أي اكواد تجسس او اكواد تتبع لعمليات و

استخدامك للحاسب الخاص بك .

Page 33: Arabic Linux Community Magazine # 9

ال ننكر وجود مشاكل و فيروسات داخل األنظمة مفتوحة المصدر لكن الفارق بينها و بين المصادر المغلقه هو وجود ماليين من المطورين حول العالم يقدمون الدعم الكامل للمصادر المفتوحة فأستخدامك للمصادر المفتوحة يجعلك في أمان دائم و يحقق لك عنصرين مهمين من عناصر مثلث أمن المعلومات – السرية ٬ السالمة – تبقي لدينا ركن التوفر و هي

مسئله قائمة علي المستخدم نفسه و طرق اتصاله بالمعلومة الخاصة به و يتيح لك ايضًا المصدر المفتوح جزء من تحقيق هذا العنصر و هو سهولة الوصول لكافة بياناتك و معلوماتك و تطبيقاتك و ذلك من خالل توفير برامج مجانية و مفتوحة

المصدر توفر لك كل ما تشاء من االستخدامات المتنوعة للحاسب .

وزارة الدفاع األمريكية و المخابرات األمريكية – و هما من أكبر األجهزة األمنية علي مستوي العالم و يحتاجون الي درجة عاليه من السرية و استخدامهم للمصادر الحرة يدل علي توفر ذلك .

وزارة الطاقة األمريكية و وكالة األمن القومي األمريكية و هما ال يقالن عن السابقتين شئ و ايضًا شركات أمازون لبيع الكتب يستخدمون داخل منظومتهم و خوادمهم انظمة المصادر المفتوحة ووكالة رويترز و هي إحدي أكبر الوكاالت

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

تم بحمد اهللا و كل عام و انتم بخير

نستعرض معًا بعض المؤسسات و الشركات التي تعتمد علي المصادر المفتوحة :

Page 34: Arabic Linux Community Magazine # 9

!q:

أمين روخ بقلم :

مدخل متقدم إلى

V i mمدخل متقدم إلى

V i mمدخل متقدم إلى

V i m

مقدمة:

البداية:

Vim عبارة عن برنامج لتحرير النصوص بمختلف أنواعها٬ مايميزه هو سهولته وخصائصه الكثيرة؛ سهولته تكمن فيسرعة تعلمه وإنجاز األعمال به٬ وخصائصه تمكن من تسريع وتيرة العمل ورفع مستوى اإلنتاجية به.

Vim ممن يكتفي بتعلم األساسيات فقط والقليل منهم يصل لدرجة إحترافه والتعمق في المزايا هناك العديد من مستخدمي التي يوفرها٬ البرنامج ليس فقط للمبرمجين بل يمكن إستخدامه من طرف المستخدمين العاديين وفي أي مكان من أجل

تحرير النصوص أيا كان نوعها٬ البرنامج يعمل في ويندوز وماك وسوالريس ويأتي إفتراضيا في نظام لينوكس.

الموضوعنا لن يتناول األساسيات بل اإلستخدام المتقدم للبرنامج.

٬ فقط (normal, insert, visualيحتوي على ثالث أنواع من الوضعيات الرئيسية: العادية٬ اإلدخال٬ المرئية ( vim

ثم إسم الملف: vimللتذكير باألوامر األساسية للبرنامج إن كنت جديدا أو نسيتها٬ لتشغيله من الطرفية أكتب

vim filename $

في المسار اإلفتراضي للبرنامج٬ للخروج أكتب: filenameسيفتح األمر البرنامج للتحرير الملف

q:أو للخروج من دون حفظ التغييرات:

في حالة التحرير يمكنك اإلنتقال في مختلف إتجاهات الملف:

h اليسارj األسفلkاألعلىl اليمين

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

ستنتقل إلى وضعية اإلدخال٬ من المفروض يسظهر أسفل يسار شاشة الطرفية iلكتابة النصوص إضغط على المفتاح مايلي:

- - INSERT - -

سترجع اآلن إلى الوضعية العادية <ESCيظهر لك البرنامج وضعيته الحالية٬ بعد إنتهائك من الكتابة إضغط على <(اإلفتراضية)٬ يمكنك اإلعتياد عليها بعد بعض التمرين والممارسة٬ للحفظ:

w:

أو للحفظ والخروج معا:

wq:

Page 35: Arabic Linux Community Magazine # 9

وضعية اإلدخال:

خصائص كثيرة في وضعية اإلدخال عند الكتابة. ألنها أهم مرحلة لدى المستخدمين يوفر vim vimمعظم األوقات يكون إلدخال األحرف والكلمات في أي سطر كنت واإلنتقال في مختلف اإلتجاهات ببعض ضغطات على لوحة المفاتيح.

من الوضعية العادية إضفط:

i لإلدخال قبل المؤشرa (اإلضافة) لإلدخال بعد المؤشر

shift+Iلإلدخال عند بداية السطر shift+aلإلدخال عند نهاية السطر

كما يالحظ هي متشابهة لتسهيل حفظها على المستخدمين٬ إلنشاء األسطر:

o إنشاء سطر بعد السطر الحالي ووضع المؤشر عليهshift+oإنشاء سطر قبل السطر الحالي ووضع المؤشر عليه

دائما من الوضعية العادية٬ للقيام ببعض التعديالت على األحرف:

r إلستبدال الحرف عند المؤشر بحرف آخرshift+rلإلنتقال لوضعية إستبدال األحرف في جميع النص

لحذف األحرف:

x لحذف الحرف الحاليshift+xلحدف الحرف قبل المؤشر

الوضعية المرئية:

التحديد في vimيتم عن طريق الفأرة٬ لكن يفضل تحديد النصوص عن طريق الوضعية المرئية. من خالل الوضعية العادية إضغط على ٬v شاهد أسفل يسار الشاشة:

- - VISUAL - -

Page 36: Arabic Linux Community Magazine # 9

٬ بعد اإلنتهاء سيحدد النص٬ يمكنك حذف الجزء المحدد بـ ٬x نسخ ولصق بـ p y٬التحرك من خالل المفاتيح ٬ ٬ ٬ h j k l Esc. يمكنك العودة إلى الوضيعية العادية بـ

التراجع والعودة:؟ ال. في الوضعية العادية ببساطة إضغط على ٬u بالنسبة Ctrl+Zقد تقع في أخطاء أثناء الكتابة٬ كيف ترجع للخلف ؟

Ctrl+R للتقدم فيتم عبر

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

:earlier 5mأو:earlier 1h

للعودة خمس دقائق أو ساعة للخلف.

النسخ٬ القص٬ اللصق:كما أشرنا سابقا٬ أما أمر اللصق فهو ٬p جميع مايتم حذفه أو نسخه يذهب إلى النص المحدد يمكن نسخه بـ y vimي

مسجل خاص بالبرنامج لذا يمكن العودة إلى الخلف دائما٬ األوامر الرئيسية :

y نسخ النص المحددyy نسخ السطر الحاليY نسخ السطر الحاليd قص النص المحددdd قص السطر الحاليD قص النص من وضعية المؤشر الحالية إلى نهاية السطرp لصق النص

يمكنك اإلستفادة من خاصية المسجالت كالتالي:

”fy :fنسخ النص المحدد ولصقه في المسجل ”fd :fحذف النص المحدد ولصقه في المسجل ”fp :fلصق محتويات المسجل

لإلطالع على محتويات المسجل أكتب:

:reg[f]

مستقلة عن نظام التشغيل٬ ويقوم بجلب النص من حافظة النظام إلى مسجل رمزه '+'٬ وبستخدمه أيضا vimحافظة vim .إلى نظام تشغيل لوضع نص من

الذاكرة المساعدة:عبارة عن أوامر يمكن تذكرها من خالل المهام التي تقوم بها٬ لهذا تم Mnemonicsأوامر الذاكرة المساعدة أو

فصلها عن األوامر العادية٬ منها على سبيل المثال:

ctx – change till xإحذف من هنا إلى غاية الحرف س dtx – delete till x

للمزيد من التفاصيل حولها أكتب في :vimتسمى هذه الخاصية بـ text-object

:help text-objects

Page 37: Arabic Linux Community Magazine # 9

بعض األوامر األخرى ضمن هذه الخاصية:

dawإحذف كلمة dwإحذف منها إلى نهاية الكلمة

daWإحذف كلمة أو األحرف المخصصة dasإحذف الجملة الحالية daBإحذف البلوك من الكود

asهذه األوامر تستعمل في الوضعية العادية لكن يمكن أيضا إستخدامها في الوضعية المرئية٬ لتحديد جملة إضغط على aw أو كلمة بـ

ترقيم األوامر:جميع األوامر يمكن تقديم كتابتها برقم لتحديد عدد مرات تكرارها٬ مثال:

٦jإنزل أسفال ستة أسطر dd 10إحذف عشرة أسطر

هذه الخاصية مفيدة للغاية لتسريع تحرير النصوص.

التصفح بطريقة متقدمة:الطريقة البسيطة:

طرقا عدة لبدأ التحرير مباشرة عند كلمة أو حرف معين ببضع نقرات فقط٬ نبدأ أوال بالتحرك وفق vimيوفر لك الكلمات:

w تقدم بكلمة واحدة لألمام وضع مؤشر الفأرة أمامهاe ضع المؤشر عند نهاية الكلمة الحاليةb ضع المؤشر عند بداية الكلمة السابقة

األهم طبعا نهاية وبداية األسطر٬ للتموضع وفق ماتريد:

ضع المؤشر عند بداية السطر ٠ضع المؤشر عند أول حرف ضمن السطر ^ضع المؤشر عند عند نهاية السطر $

هذه األزرار: يستعمل (vim PageUp/Downلإلنتقال إلى الصفحة السابقة أو الموالية (

Ctrl+fإذهب إلى الصفحة التالية Ctrl+bإذهب إلى الصفحة السابقة Ctrl+uإذهب إلى منتصف الصفحة التالية Ctrl+dإذهب إلى منتصف الصفحة السابقة

:gاألمر

يستعمل للتنقل ضمن الملف ( :(gotoاألمر g

۱Gإذهب إلى بداية الملف ٠Gإذهب إلى نهاية الملف gDإذهب إلى بداية الجملة الحالية بطريقة ذكية (مثال تعريف بداية الدالة في البرمجة)

اليستعمل فقط للتنقل بل يتعداه إلى أوامر أخرى منها: gطبعا األمر

Page 38: Arabic Linux Community Magazine # 9

gfإفتح إسم الملف عند المؤشر من خالل: gaإطبع مايقابل الحرف التالي في جدول ascii في سبات مدة ثانية (يمكن سبقها بعدد مثال لـ ثوان) gsأدخل ۱٠ ۱٠ vim

:help gللمزيد من التفاصيل شغل

أمر التعليم:

مفيد للغاية٬ حيث يمكنك من تعليم سطر ما ثم العودة إليه فيمابعد: في (vim markأمر التعليم (

مثال maتعليم الموضع التالي بالحرف a `aالعودة إلى العالمة ’aضع المؤشر في بداية السطر المعلم

:marksلمشاهدة العالمات

البحث:

أو للنتيجة الموالية٬ و للتأكيد٬ إضغط على سهل٬ فقط أكتب / الكلمة المراد البحث عنها ثم N n Enter vimالبحث في Shift+nللنتيجة السابقة٬ أيضا تستعمل # و * لتحديد الكلمة ضمن نتائج البحث لألمام أو الخلف:

<foobar<Enter/البحثn النتيجة التاليةN النتيجة السابقةالكلمة عند المؤشر للوراء #الكلمة تحت المؤشر لألمام *

التصفح للمبرمجين:

للمبرمجين هناك أمر مهم لإلنتقال من بداية البلوك إلى نهايته٬ هو % عالمات البلوك هي {} و () و [] و <> وغيره٬ لإلنتقال إلى تعريف الدالة: gأيضا األمر يستعمل

gDإذهب إلى تعريف الدالة مثال) gFاإلنتقال إلى اسم الملف تحت المؤشر (مفيدة لإلنتقال إلى header

الطيات:

وغيره٬ أفضل طريقة لفهم الطيات إلى مجموعات٬ مثل أكواد لتنظيم األكواد في (LaTex vim Foldsستعمل الطيات ( ٬ vimيتم عن طريق مثال طبعا٬ افتح ملف نصي يحتوي على نص معتبر (أكثر من صفحة في شاشة المحرر) بواسطة

ضع مؤشر الفرأة في أي مكان تريد وفي الوضعية العادية أكتب:zf3j

بطي الصفحة إلظهار ٣ أسطر التالية وإخفاء األسطر في األعلى٬ تم ذلك بفضل األمر سيقوم zf vim jبعد الضغط على ٣فتعني اإلنتقال ثالثة أسطر لألسفل jأما

ستختفي تلك األسطر٬ يمكن zfيمكن إستعمال األمر أيضا في الوضعية المرئية٬ فقط حدد جزء من النص ثم إضغط على : ۱۱٠أيضا تحديد األسطر المراد طيها بمجال٬ مثال من السطر ٣ إلى

:-3, 110 fold

Page 39: Arabic Linux Community Magazine # 9

إن كنت تحرر ملفا برمجيا (سي مثال) لطي بلود من األسطر البرمجية ضع المؤشر عند } ثم أكتب:

zfa}

األمر السابق يمكن تطبيقه بـ:

za%

يمكن دمج هذه الخاصية بخاصية البحث٬ لطي النص من الحرف الحالي إلى الكلمة المراد البحث عنها٬ طبق مايلي:

z/SearchString

طبعا الطي نصف المهمة٬ فال بد من إرجاع النص إلى حالته في مرحلة من مراحل٬ قم بوضع المؤشر عند مكان الطي ثم أكتب:

zo

إلعادة طيه بعد اإلنتهاد من التعديل:

zc

لإلنتقال بين مختلف الطيات الموجودة في النص:

zjللطية التالية

zkللطية السابقة

الطيات المتداخلة:ستفتح فقط طية واحدة والباقي سيبقى مغلقا٬ للتعامل مع الطيات تداخل الطيات فيمابينها٬ إذا ضغطت على zo vimيدعم

المتداخلة نستعمل:

zOإفتح جميل الطيات المتداخلة ضمن الطية الحالية

zrإفتح فقط المستويات العلوية من الطيات (األولى)

zRإفتح جميع الطيات في جميع المستويات

zmأغلق جميع المستويات الدنيا من الطيات

zMأغلق جميع الطيات في جميع المستويات

zEإحذف جميع الطيات

الطيات ويفتحها إن وجد نتيجة لكنه اليعيد عند البحث يتفصح .vim vimعند حذف الطيات اليمكن التراجع للوراء في

تقوم بهذه المهمة سريعا zmإغالق الطية٬

عند إغالق الملف جميع الطيات ستذهب٬ لذا يجب حفظها قبل اإلغالق٬ عن طريق األمر:

:mkview

وإسترجاعها بواسطة:

:loadview

:vimrcأو يمكن جعل العملية آلية بإضافة هذان السطرين إلى ملف .

au BufWinLeave * mkviewau BufWinEnter * silent loadview

Page 40: Arabic Linux Community Magazine # 9

المرشح:

تنفيذ أوامر الشل بكتابة: vimيمكن من خالل

:! shell-command

٬ حيث يمكن دفع النص التي يوفرها vimعلى طريقة غنو المعروفة٬ وهنا نستفيد من خاصية المرشحات ( Filters)

٬ األمر التالي: مثال) ثم أخذ النتيجة وإرجاعها إلى vimالحالي إلى إحدى أوامر الشل ( sort

:%!gpg

٬ مثال آخر: والمعبر عنه بـ %) عن طريق البرنامج gpgيقوم بتشفير النص المفتوح في vim (

:%tr a-z n-za-m

على ملفنا. ROT13سيقوم هذا األمر بتطبيق خوارزمية

تصنيف مشروع:

مباشرة: مشروعنا البرمجي عن طريق (vim compileبواسطة خاصية المرشحات يمكن تصنيف (

:!gcc -Wall -g foo.c -o bar

أو لفحص الصياغة فقط:

:!gcc -fsyntax-only %

make vim :٬ لتفعيلها يحتوي أيضا على أداة

:set makeprg=gcc\ -g\ %

make: إلستدعائها

Page 41: Arabic Linux Community Magazine # 9

العادية مثل: makeكما تقبل أوامر

:make all:make install

إذا حدثت أخطاء أثناء التصنيف يمكن مشاهدتها عبر:

:ccلمشاهدة الخطأ الحالي

:cnلمشاهدة الخطأ التالي

:cNلمشاهدة الخطأ السابق

:copenلمشاهدة جميع األخطاء في شاشة منفصلة

هذه األوامر ستسرع كثيرا من وتيرة البرمجة.

التعامل مع الملفات المتعددة:للتفاصيل خاصية ) splitأحيانا كثيرة٬ في البرمجة خاصة٬ نفتح أكثر من ملف في وقت واحد٬ لتسهيل ذلك يستخدم vim

(:help vsplitلكن منذ النسخة السابعة ظهرت خاصية أكثر عملية هي خاصية التبويب. لفتح ملف في تبويب جديد:

:tabnew file.txt

لإلنتقال بين مختلف التبويبات:

:tabnext (tabn):tabprevious (tabp)

ثم إغالق التبويب الحالي:

:tabclose (tabc)

٬ كل ملف له مخزن خاص به عند فتحه (Bufferطريقة أخرى للتعامل مع الملفات المتعددة هي إستخدام خاصية المخزن (

إلى غاية إغالقه٬ لفتح ملف:

:e file.txt

للتعامل مع المخزنات:

:bfirstإذهب إلى المخزن األول

:bnإذهب إلى المخزن التالي

:bpإذهب إلى المخزن السابق

:blastإذهب إلى المخزن األخير

:lsأظهر جميع المخزنات المفتوحة

في المخزن :buf file.txtإنتقل إلى الملف file.txt

المفيد مع المخزنات هو أنه يمكن تطبيق نفس األمر على جميع المخزنات المفتوحة دفعة واحدة:

:bufdo cmd

مثال للبحث في جميع الملفات:

:bufdo /searchString/

أو للبحث ثم التعويض:

:bufdo %s/oldString/newString/ge

في خاصية التبويب يقوم بمهام مشابهة لألخير. tabdoيشار أنه يوجد أيضا األمر

Page 42: Arabic Linux Community Magazine # 9

تصفح الملفات:

أو عند تشغلية٬ يمكن حينها تصفح الملفات والتعديل عليها أيضا. عن طريق e path: vimعند فتح مسار من خالل بعد األوامر المهمة:

d أنشئ مجلدD إحذف مجلدR أعد تسميته

:cdيمكن أيضا اإلنتقال بين المجلدات عن طريق األمر

:cd path/to/dir

pwdأو معرفة المسار الحالي بـ

التعيين واإلختصار:

ميزة مهمة ضمن أي محرر٬ حيث يختصر الوقت في كتابة األوامر الطويلة ومتكررة (mapيعتبر تعيين األوامر (

٬ األمر يكون على ووضعية اإلدخال ( يوفر خاصية تعيين األوامر ضمن الوضعية العادية ( (imapاإلستعمال٬ nmap) vim

الشكل::map <keystrokes> command-to-be-executed

مثال::nmap \cc !gcc\ -g\ %

٬ هذا إلختصار األوامر٬ يتم تصنيف الملف المفتوح بواسطة gccبعد تطبيقه٬ في الوضعية العادية وعند كتابة cc\

إختصار الجمل يكون على الشكل::iab LAC Linux Arabic Community

Page 43: Arabic Linux Community Magazine # 9

يدل على وضعية ٬ الحرف متبوعة بمسافة يتم تحويلها آليا إلى i Linux Arabic Communityعند كتابة LAC اإلدخال أي يتم تطبيق اإلختصار فقط في وضعية اإلدخال٬ لحذف التعيين أو اإلختصار نطبق:

:unmap \cc:unab LAC

.vimrcلحفظ هذه التعييانات واإلختصارات عند كل تشغيل للبرنامج٬ أضف األسطر السابقة إلى ملف

التكملة التلقائية:

٬ عبر: vimخاصية التكملة التلقائية متوفرة في

Ctrl+nأكمل (ستظهر قائمة منبثقة) Ctrl+x fأكمل إسم الملف Ctrl+x iأكمل إسم الملف الرأسي

مراجعة التهيئة:

تلقائيا٬ لتفعيلها: يدعم خاصية مراجعة التهئية ( SpellCheck) vimاإلصدار السابع من

:set spell

ستظهر لك قائمة بالكلمات المحتملة٬ أدخل رقم لألمام والخلف٬ للتصحيح أكتب و z= s[ sلإلنتقال بين األخطاء أكتب ]

الكلمة الصحيحة ثم أكد٬ لتغيير لغة المراجعة أكتب األمر:

:setlocal spell spelllang=en_us

إلى مايوافق لغة نصك٬ في األخير لتعطيل األمر: en_usمع تغيير

:set nospell

بعض الخصائص المهمة:التي قد تكون مفيدة للبعض٬ الصيغة العامة لتفعيل أو تعطيل الخاصية تكون: vimنستعرض مجموعة من أوامر

:set option:set nooption

بعضها:

:set option=value

لمعرفة حالة الخاصية (مفعلة/معطلة):

:set option?

وهذه بعضها:

Page 44: Arabic Linux Community Magazine # 9

autoindentاإلزاحة اآللية للمؤشر عند األسطر الجديدة اإلزاحة الذكية٬ أفضل من اإلزاحة اآللية ألنها تعرف مكان الرجوع إلى بداية السطر من عدمه (مفيدة أثناء البرمجة) smartident

hlsearchإبراز نتائج البحث بلون مختلف incsearchالبحث التزادي٬ تحديث نتائج البحث أثناء الكتابة الكلمة المراد البحث عنها يتم تغيير التبويب بمسافات محددة expandtabعند الضغط على زر Tab showmatchإبراز بداية ونهاية البلوك البرمجي ({} مثال)

filetype=valueتغيير صيغة الملف الحالي إلى القيمة الجديدة

يكون تطبيق األوامر السابقة من الشكل::set ft=html

٬ أو: htmlلتغيير صيغة الملف الحالي إلى ملف

:set hlsearch:set nohlsearch

لتفعيل أو تعطيل خاصية إبراز نتائج البحث٬ لتفعيل تلوين النصوص حسب نوعها وإظهار أرقام األسطر (مفيدة للمبرمجين) طبق:

:syntax on:set number

إلظهار األمر الحالي أسفل الشاشة:

:set showcmd

٬ لتفعيلها: vimيمكن أيضا إستعمال الفأرة مع

:set mouse=a

أوامر متفرقة:

Shift+jلجلب السطر الموالي إلى نهاية السطر الحالي

للكلمة المؤشر عليها Shift+kأظهر وثائق المساعدة ( man page)

والعكس) ~ إلى Lower Upperلعكس حجم الحرف (

أعد تنفيذ آخر أمر .Ctrl+Aأضف القيمة ۱ إلى الرقم المؤشر عليه

Ctrl+Xأنقص القيمة ۱ من الرقم المؤشر عليه

إضافات مفيدة:قوة أكبر٬ فهي تسهل المهام كثيرا وتقدم خدمات رائعة للمستخدمين٬ نذكر منها: vimاإلضافات تعطي لـ

taglist explorerتظهر قائمة للدوال المتوفرة مثل أي بيئة تطوير

عن طريق % matchitتفعيل خاصية تطابق التعابير النمطية ( Regular expressions)

gpgتشفير وفك تشفير الملفات بمفتاح خاص

clendarإلظهار التقويم مع إمكانية إظافة األحداث وفق األيام

minibufexplorerإلظهار جميع التبويبات والمخزنات المفتوحة أفقيا أسفل شاشة البرنامج

tetrisلعبة المكعبات الشهيرة حاضرة أيضا

Page 45: Arabic Linux Community Magazine # 9

بالتأكيد. vimيوجد غيرها العديد على موقع

في النهاية:

من خصائص وميزات كثيرة يصعب التطرق إليها جميعا٬ لكن يجب vimطبعا يبقى هذا الشرح مقتضبا نظرا لما يحتويه

في البداية التعود على البرنامج وطريقة عمله مع حفظ األساسيات من األوامر٬ بعدها ستجد نفسك تقضي أعمالك في مدة ٬ إحرص أن تبق دائما في الوضعية العادية؛ بعد إنتهائك vimزمنية قصيرة مقارنة مع المحررات األخرى٬ وهنا تكمن قوة

من التحرير إرجع فورا إلى تلك الوضعية ألنها األساس٬ تذكر أيضا أن األوامر يمكن أن تسبق برقم لتحديد عدد مرات بمايناسبك من األوامر المساعدة٬ وعند ٣هذه أيضا خاصية جد مفيدة٬ وأخيرا التنس تخصيص ملف (vimrc. jتكرارها (

فستجد فيه معلومات قيمة. :helpأية إستفسار أكتب

بالتوفيق والسالم

Page 46: Arabic Linux Community Magazine # 9

حمدي هشام مرشد بقلم :

CFG2HTML System Documentation

CFG2HTML System Documentation

CFG2HTML System Documentation

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

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

على سبيل المثال اذكر بعض األوامر لبعض هذه العملياتcat /proc/cpuinfo

وعددها وعده تفصيالت لكل منها core سيظهر لك معلومات المعالج وال

last| grep boot

سيأتي لك بآخر عمليات إعادة التشغيل للسيرفر

/usr/bin/lshal

وبتفاصيل مفصلة بشكل دقيق .. .. pci or usbسيظهر لك تفاصيل قطع السيرفر سواء

hdparm -t -T /dev/hda

وغيرها.. bufferسيظهر لك سرعة القرص في النقل وال

..................

ماذا لو قلنا أن هناك أداه واحدة تقوم بإنشاء تقارير كاملة عن كل هذا واكثر بكثير .... Documentationخصوصا من يهتمون بال

سواء مدراء سيرفرات او مهتمون بالصيانة او الشبكات او غيرهم ..

ربما من الصعب جدا أن أحصي هذه التفاصيل عن هذه األداه .. ولكن سأحاول ان أذكر بعضها

CPU and Model info هو نفسه األمر الذي ذكرته باألعلى

OS, Kernel version نظام التشغيل والنواه بالتفصيل

Uptime فترة تشغيل الخادم

Top load processes load أكثر العمليات المسببة لل

Top memory consuming processes أكثر عمليات المستهلكة للذاكرة

Services Startup الخدمات التي تعمل عند تشغيل الجهاز

Cron العمليات المجدولة واوقاتها وبتفصيل لكل مستخدم

Hardware( Physical Memory List of Devices (lshal) USB devices PCI devices ACPI IoPorts Interrupts SCSI Components SCSI Devices DMA Devices Serial

Page 47: Arabic Linux Community Magazine # 9

Devices Serial ttyS0 Serial ttyS1 IDE Disks CDROM Drive )تفاصيل القطع (العتاد) كل على حده وبشكل رائع

Packages installedالحزم المنصبة ..

FileSystemتفاصيل انظمة الملفات المستخدمه

Disk Partitions اقسام الهارديسك وايضا بتفصيل

LAN Interfaces كروت الشبكة وتفاصيلها

Route Configuration Files اعدادات التوجيه في السيرفر

والقائمة طويلة جدا ....

الميزة األكثر جماال وفائدة هي انه يكتب لك االمر المستخدم في اظهار كل معلومة .... deb او األداه متوفرة ألغلب أنظمة لينكس وبأكثر من طريقة للتنصيب حسب النظام أو حسب ما تريد أنت سواء حزم

source rpm أو حتى ال

طريقة التنصيب:

cd /root/wget http://www.cfg2html.com/cfg2html-linux-1.64-20091215_all.zipunzip cfg2html-linux-1.64-20091215_all.ziprpm -ivh cfg2html-linux-1.64-4.noarch.rpm

آخر امر استبدله بـ debولمستخدمي حزم

dpkg -I cfg2html-linux_1.64-4_all.deb

Page 48: Arabic Linux Community Magazine # 9

االعداد لمعلومات السيرفر

طريقة التشغيل ...الظهار النتائج

او

اإلختالف فقط في إظهار خلفيه :)

ناتج االمر

pico /etc/cfg2html/systeminfo

cfg2html

cfg2html-linux

root@server2 [~]# cfg2html-linux

http://come.to/cfg2html.....................................................................................................

Starting cfg2html-linux version 1.64-2009-09-23 Path to Cfg2Html /usr/bin/cfg2html-linuxHTML Output File ./server2.al-ra3ed.com.htmlText Output File ./server2.al-ra3ed.com.txtPartitions ./server2.al-ra3ed.com.partitions.saveErrors logged to ./server2.al-ra3ed.com.errStarted at 2009-12-27 12:39:12WARNING USE AT YOUR OWN RISK!!! :-))

http://come.to/cfg2html.....................................................................................................

Collecting: Linux System CentOS release 5.4 (Final) ...............................Collecting: Cron and At ..............Collecting: Hardware .....................Collecting: Software ....

Collecting: Filesystems, Dump- and Swapconfiguration ...........Collecting: Multipath Configuration ........Collecting: LVM ........Collecting: Network Settings .................................Collecting: Kernel, Modules and Libraries ..............Collecting: System Enhancements .Collecting: Applications and Subsystems ........Collecting: Local files .

http://come.to/cfg2html.....................................................................................................

Page 49: Arabic Linux Community Magazine # 9

Creating: JPG/GIFsx - cfg2html_back.jpg [non-ascii]x - profbull.gif [non-ascii]

هنا يكون السكربت قام بانشاء التقرير الكامل لكل ما ذكرت ..

server.test.com.htmlserver.test.com.txt

server.test.com.partitions.saveserver.test.com.err

االول هو الملف الرئيسي للتقرير ويمكنك نقله الي موقع تريد على السيرفر وعرضه عبر المتصفح

cp server.test.com.html /home/test/public_html/

وربما يكون االسيرفر امامك فيمكنك عرضه بشكل عادي ..

اما باقي الملفات فالثاني نسخة نصية من التقرير

والثالث ملف خاص بتقسيمات القرص ونفس المحتوى موجود بالتقرير فليس له فائدة ..االخير خاص باالخطاء خالل جمع المعلومات ...

صور من النتائج …

Page 50: Arabic Linux Community Magazine # 9

إلى هنا .. انتهى دوري في عرض هذه االداة الرائعة والمميزة والبسيطة حتى والكبيرة في ناتجها ..

...وما تبقى فهو عليك لتكتشف أهميتها لك كمدير نظام او دعم فني ..

مالحظة يمكنك زيارة موقع السكربت لإلطالع على آخر التحديثات

http://www.cfg2html.com

Page 51: Arabic Linux Community Magazine # 9

مصطفى رفاعي بقلم :

BitDefender Antivirus Scanner for Unices

BitDefender Antivirus Scanner for Unices

BitDefender Antivirus Scanner for Unices

بالطبع ال أحتاج لمضاد فيروسات و ال أعتقد أن هناك مستخدم جنو/لينكس يحتاجه .. و لكن أحيانا قد يحتاج البعض مضاد او قرص مثبت عليه نظام ويندوز . او NTFS FAT32فيروسات من أجل فحص سواقة فالش مهيئة بنظام

و هناك المغلق المصدر مثل ClamAVيوجد لديك العديد من الخيارات و أشهرها البرنامج مفتوح المصدر . BitDefenderو اآلن سنتحدث بإذن اهللا عن BitDefender .

۱٤٢أوال نحتاج رخصة تتيح لنا إستخدام البرنامج لمدة يوم و يمكننا طلبها مجانا من هنا :

http://www.bitdefender.com/site/Products/ScannerLicense

و تقوم بملئ البيانات المطلوبة كما في الصورة

ستصلك بعدها رسالة على بريد اإللكتروني الذي وضعته سابقا بطلب الرخصة .. هذه الرسالة بها .. Sendثم تضغط

مفتاح الرخصة .

Page 52: Arabic Linux Community Magazine # 9

و اآلن تقوم بتحميل البرنامج :

ألصحاب التوزيعات الديبيانية

http://download.bitdefender.com/SMB/Workstation_Security_and_Management/BitDefender_Antivirus_Scanner_for_Unices/Unix/Current/EN_FR_BR_RO/Linux/BitDefender-Antivirus-Scanner-7.6-4.linux-gcc4x.i586.deb.run

ألصحاب التوزيعات الريدهاتية

http://download.bitdefender.com/SMB/Workstation_Security_and_Management/BitDefender_Antivirus_Scanner_for_Unices/Unix/Current/EN_FR_BR_RO/Linux/BitDefender-Antivirus-Scanner-7.6-4.linux-gcc4x.i586.rpm.run

و للقائمة الكاملة من الحزم

http://download.bitdefender.com/SMB/Workstation_Security_and_Management/BitDefender_Antivirus_Scanner_for_Unices/Unix/Current/EN_FR_BR_RO/Linux/

ثم نذهب للمسار الموجود به الحزمة و بحالتي أنا فهو كالتالي Terminalو اآلن نقوم بتثبيت البرنامج .. افتح الطرفية

cd /home/mustafa/Download

ثم نعطي الحزمة صالحية التنفيذ

chmod +x BitDefender-Antivirus-Scanner-7.6-4.linux-gcc4x.i586.rpm.run

ثم نقوم بإدخال األمر التالي بصالحيات الجذر

./BitDefender-Antivirus-Scanner-7.6-4.linux-gcc4x.i586.rpm.run

و سيسألك هل تريد واجهة ثم نضغط حتى نصل لنهاية الرخصة ثم نكتب Enter accept Enterنضغط على و بهذا سيتم التثبيت و ينتهي بعد ثم و إذا لم تردها فاضغط Enter n yالبرنامج الرسومية فإذا كنت تريدها فاضغط

ثواني .

bdguiبعدها نقوم بفتح البرنامج عن طريق األمر

Page 53: Arabic Linux Community Magazine # 9

ثم ندخل مفتاح الرخصة الذي حصلنا عليه بالرسالة منذ قليل ثم نضغط على . setنقوم بالضغط على Set new key و للتعامل مع البرنامج فيلزم صالحيات الجذر .. مثال لو أردت تحديث البرنامج فنقوم بتنفيذ هذا األمر بصالحيات الجذر

bdscan –-update

Page 54: Arabic Linux Community Magazine # 9

المحررينالمحررينالمحررين

يـــاســــــــــــــر يكنميـــنا ألبــــــــــــــيرمصعب الزعبــــــــيمصطفـــى رفاعــــيمؤيد الســـــــــــعديفتحـــــي القدســــــيجمعـــان الزهرانـــيأميــــــــــــــــن روخأبــــــــــــــــو عمـــرحـمدي هشـام مرشـد

الكتاب

رئيس اإلدارةأ/ ســـامر حداد

تصميم و إخراجإبـراهيـــم صقـــر