الثلاثاء، 24 ديسمبر 2019

ما هو نظام لينكس ( Linux )

هذه المقال وغيرها تحت وسم "أفضل مقال تقني" تعبرعن أراء أصحابها. 
 لعلَ أول ما يخطُر في بالك عند سماعِك “لينكس” ، الإختراق وشاشة الأوامر ,وهي واحدة فقط من بين كثير من جوانب لينكس. قد تعتقد ان لينكس مستعمل فقط من قبل الخبراء والمبرمجيين، ما سيدهشك انك قد قمت بالفعل باستعمال لينكس مرة واحدة على الاقل !!

ما هو لينكس ؟


لينكس هو نظام تشغيل متكامل، قادر على ادارة وتنظيم اجهزة الكمبيوتر، اما نظام التشغيل( OS : Operating System ) فهو مجموعة من البرامج المسوؤلة عن تواصل المستخدم مع التطبيقات وتواصل هذه التطبيقات مع معدات اجهزة الكمبيوتر (كالـ CPU مثلاً) .
يظهر لنا من التعريف السابق ان اللينكس نطام تشغيل كـ (Windows أو Mac) . لكن مايميزه فعلاً انه يعد اول نطام مفتوح المصدر، حيث انه لايتبع لشركة او فئة معينة بل تم تطويره من قبل الكثير من المبرمجيين الهواه دون مقابل . في عام 2005 شارك حوالي اكثر من 8000 مبرمج من 800 شركة لتطوير نواة لينكس . وبالتالي، يمكن لاي جهة تطوير نسخه لينكس خاصة بها لتناسب احتياجتها [1] .

لماذا قد احتاج لينكس ؟


واحدة من اكثر الاسئلة حول استعمال لينكس، لماذا قد استعمل نظام تشغيل معقد قليلاً رغم وجود بديل سهل الاستخدام ومنتشر كـ Windows وغيره ؟
تكون الاجابة الافضل لمثل هذه الاسئلة بسوأل اخر هل تعتقد حقاً انك تستخدم وتدير نظام التشغيل الخاص بك !؟
windows update error
تعطل ويندوز بعد تحديث مفاجئ
لربما تفاجئت احدا الايام عند تشغيلك لجهاز الكمبيوتر بانه يقوم بتحديث النظام دون طلب منك أو ان تحاول بصعوبة ان تقوم بإيقاف خدمة التحديث التلقائي التي قد تعود بعد فترة .
وفي نظام اندرويد امر بسيط كإيقاف احدى برامج قوقل المزعجة لايمكنك فعله الابعد عدة طرق، والتي قد تؤدي الى تعطل برامج اخرى.
يعد لينكس نظام مجاني غير ربحي. وبالتالي, يهدف فقط الى ان يكون مخصص لاستعمال المستخدم وهو ما يميزة عن باقي الانظمة، حيث يمكنك بسهوله تحديث النظام او جزء منه في اي وقت وايضاً يمكن التراجع عن التحديث و تثبيت اصدار معين، حذف اي برنامج او مكتبة او حتى واجهة المستخدم ليكون مخصص حسب حاجتك. [2] 

الأمان



linux security
مع التطور الضخم لاجهزة الحاسب وكثرة استعمالها في الآونة الاخيرة، انتشرت عدة برامج خبيثه والتي قد تكون على شكل فيروسات تسبب الضرر للجهاز او برامج التجسس وغيرها. تنتشر هذه البرامج الخبيثه على كل انظمة التشغيل سواء ويندوز،لينكس,اندرويد او حتى البلايستيشن ! [3] ومنها مايكون مستهدف لجهة معينة ومنها عشوائي .
يتميز نظام لينكس باعطاء كامل الصلاحيات للمستخدم للتصرف بالنظام كما يشاء و حذف او تعديل البرامج الخبيثه او المصابة ( Infected by malware ) ,بالاضافة انه يمكن الاستغناء عن برامج الحماية من الفايروسات للمستخدمين ذو الخبرة وهو مايجعل لينكس نظام غير مستهدف من قبل البرامج الخبيثة بشكل عام.
في علم امن المعلومات “يعد الانسان نقطة الضعف الاكبر عند التحدث عن الثغرات الأمنية” . لذلك يدعم نظام لينكس تقسيم الادوار حيث يكون مستخدم واحد خبير (root) قادر على التحكم الكامل بالجهاز ويستطيع اداخال مستخدمين اخرين ضمن صلاحيات يحددها.

الأداء

windows bloatware
بعض البرامج غير الضرورية (Bloatware) التي تاتي عند تنزيل ويندوز
تأتي اغلب توزيعات (انواع) لينكس مع عدد قليل من البرامج والخدمات الاساسية حسب تلك التوزيعه وهو مايجعله مخصص لغرض معين ومما يزيد من سرعة أداءه , على عكس انضمة التشغيل الاخرى. فمثلا عند تنزيل ويندوز فأنه يأتي مع اكثر من 100 خدمة التي قد يكون جزء كبير منها غير ضروري بالأضافة الى العديد من البرامج غير المهمة (Bloatware) التي تحجز حيز كبير في وحدة التخزين.
preformance compare
فرق الأداء بين نظام ويندوز و لينكس عند التشغيل على نفس الجهاز

استعمالات نظام لينكس


بسبب كثرة مزايا نظام لينكس و قدرة المستخدم على التحكم الكامل بالنظام فان لينكس يُستخدم في عدة مجالات اهمها :-

صفحات الويب

في دراسة شهرية لموقع w3cook عن مواقع الويب اكثر من 95% من سيرفرات الويب تستعمل احدى انظمة لينكس [5] . في عام 2018 صرحت الشركة صاحبة Windows Server مايكروسوفت ان اكثر من نصف السيرفرات على منصتها السحابية Azure تستعمل نظام لينكس . واحدة من اهم اسباب استعمال لينكس على سيرفرات الويب هو انه مجاني بالكامل، حيث يمكن تنزل النظام والكثير من البرامج المجانية على عكس الانظمة الاخرى.
apache-server
اهم تلك البرامج هو Apache وهو برنامج مجاني مفتوح المصدر لأدارة سيرفرات HTTP/s
حيث يعد مدير سيرفرات الويب الاكثر استعملاً. صمم بلغة C ليتم استعماله على انظمة لينكس -اخر الاصدارت منه تعمل على ويندوز ايضاً-

المبرمجيين و خبراء امن المعلومات

terminal
يحتوي لينكس على عدد كبير من الـ compilers و الـ interpreters التي تسمح بتحويل النص البرمجي الى لغة الآلة وتجريبه , فبمجرد تنزيلك لـ لنكس يمكنك مثلاً تشغيل نص بلغة C او python مباشرة . بالاضافة الى عدم الحاجة الى استعمال برامج IDE -يمكن تنزيلها-
مما يسمح بالتعامل مع الـ compiler بشكل مباشر .
اما بالنسبة للمهتمين بمجال امن المعلومات، فهنالك انظمة مخصصه لذالك اهمها Kali Linux و  Parrot التي تأتي مع عدد ضخم من البرامج الحصرية والمخصصة لاختبار الاختراق(Pen Test) ، تحليل تحركات الشبكة (Network Traffic) ، التشفير، فحص الثغرات وغيرها الكثير .
اهم تلك البرامج :- Metasploit Framework , Aircrack-ng , John the Ripper , Nmap , WireShark …..

الاجهزة المضمنة واجهزة الحاسب العملاقة

الاجهزة المضمنة (embedded devices)هي الاجهزة الصغيرة المضمنة/المدمجة مع اجهزة اخرى، الهدف منها هو تحليل ونقل المعلومات الى تلك الاجهزة الاخرى . فمثلا جهاز الراوتر(الموجهه) يتم تضمينة مع اجهزة اخرى لتتمكن تلك الاجهازه من الاتصال الانترنت
اما الاجهزة العملاقة (SuperComputer) فهي اجهزة الكمبيوتر كبيرة الحجم وفائقة الأداء تستعمل من قبل الموسسات الكبرى مثل فيسبوك و ناسا لاستيعاب الضغط الكبير عليها .
تستعمل اغلب الاجهزة المضمنة نظام لينكس، اما اسرع 500 جهاز عملاق فكلها تستعمل نظام لينكس [6] . يعود ذلك الى ان نظام لينكس مفتوح المصدر وبالتالي يمكن بناء نسخة منه مخصص للجهاز . فمثلا لجهاز راوتر نحتاج نظام بحجم صغير جدا، اما الاجهزة العملاقة تحتاج نظام مخصص للتعامل مع حجم المعدات والمعلومات الكبيره .
telnet a router
صورة توضح النظام المستخدم في جهاز الراوتر F@ST2704N

نواة لينكس – Linux Kernel


linux kernel
يتكون نظام التشغيل من برامج لتسهيل تواصل المستخدم مع التطبيقات ويتكون ايضا من عنصر مهم النواة (Kernel) وهو المسوؤل عن تواصل وتعريف باقي أجزاء النظام بـ المعدات (Hardware) . عند توصيلك للماوس (Mouse) بمدخل USB تعرّف النواة لباقي الأجزاء ان ماتم تركيبة هو الماوس وليس لوحة المفاتيح مثلاً، وبالتالي يحدد النظام كيف يتعامل معه.
يتكون اغلب نظام لينكس من برمجيات (GNU : مشروع النظام و البرمجيات الحره) بالاضافة الى النواة لينكس التي تمت برمجتها من قبل Linus Torvalds وثم عدد ضخم من المبرمجين المتطوعين. تتكون النواة لينكس 4.1 من حوالي 20 مليون سطر برمجي ! مكتوبه بلغة C -عدد قليل جدا بلغة Assembly– . وبذلك اصبح يطلق على هذه الانظمة GNU/Linux الذي اصبح يختصرI . [7] Linux

/* تنويه : ما نتحدث عنه في هذا المقال هو نظام GNU/Linux وليس الانظمة التي تستعمل نواة لينكس فمثلا الاندرويد يعتبر احدى توزيعات لينكس لانه يستعمل نواة لينكس لكنه يختلف تماماً عن انظمة GNU/Linux التي نتحدث عنها */
لا يقتصر استعمال النواة لينكس على انظمة GNU/Linux ، فتقريباً كل الأجهزة الذكية من تلفاز او ساعه او سيارة او ربوت الخ… تستعمل نسخة معينة من نواة لينكس.
ما سيدهشك ( او ربما قد ادهشك سابقاً في المقدمة D: ) ان انظمة أندرويد -النظام الاكثر استعمالاً على اجهزة الهاتف- تستعمل النواة لينكس [8] ، نعم انت قد استعملت لينكس من قبل! .

القشرة – Shell

linux shell and other components
تواصل التطبيقات مع النواة بوساطة القشرة
تمتلك النواة صلاحيات عليا حيث يمكنها ادارة وتحكم كل البرامج والمعدات حسب اوامر النظام، مما يجعل امر حمايتها من سوء استخدام المستخدم مهماً، لذلك يتم تغليف النواة بقشرة/صدفة النواة (Shell) وهي مترجم لـ لغة برمجة نصية (Scripting language) ,تترجم الأوامر النصية -بعد التاكد منها ومن الـ Syntax- للنواة ، تأتي الاوامر النصية (Commands) من برامج النظام او من المستخدم مباشرة.
تسمى كل قشرة باسم اللغة التي تترجمها اشهرها bash shell التي تترجم لغة bash النصية [10] .

الواجهة الرسومية – GUI


cli vs gui
ذكرنا سابقاً انة للتواصل مع المعدات يجب كتابة الأوامر للنواة عن طريق الصدفة لاكننا فعليا لانكتب الاوامر دائماً ويعود الفضل بذلك الى واجهة المستخدم الرسومية (GUI : Graphical User Interface ) وهي مجموعة من البرامج والأدوات التي تسهل على المستخدم استعمال نظام التشغيل، عن طريق عرض الرسوم ( رموز , صور تفاعلية) بدلاً من استعمال الأوامر النصية، فضلاً عن احتوائها مُشغِلات الوسائط المتعددة -وهي مزيج من النصوص والصور والصوت- مثل مشغلات الفيديو و الالعاب.
تستعمل انظمة لينكس عدد كبير من الـ GUI منها KDE الذي يهتم بـ رسوم جذابة و Xfce برسوم ضعيفة لكن اداء سريع، و واحهة Gnome الاكثر استعمالاً كواجهة متوسطة .
linux most used desktop environments
مقارنة سريعة بين بعض اشهر بيئات لينكس حيث تسمى الواجهة بأسم البيئة المستعملة
على الرغم من التسهيلات التي تقدمها الـ GUI الا ان لها سلبيات وهي انها تحجز من سعة التخزين وتقلل من الأداء قليلاً، لذلك يوفر لينكس واجهة CLI وهي الواجهة الرئيسية عند حذف او ايقاف GUI .

واجهة سطر الاوامر ( CLI : Command-Line Interface) واجهة بسيطة تعرض نصوص فقط (دون رسومات و وسائط) ، تسمح للمستخدم بأدخل الاوامر النصية مباشرة الى الصدفة (Shell) . تستخدم غالبا عندما لايكون هناك حاجة للGUI مثل في الراوتر الذي لايتسطيح تحمل تشغيل وتخزينGUI .

عند حذف ملف معين باستخدام GUI عن طريق النقر Delete على الملف تقوم ال GUI بتجهيز الامر المناسب و أرسالة الى الصدفة، اما عند استعمال CLI يقوم المستخدم بكتابة الامر بشكل مناسب ونقر Enter لينتقل للصدفة مباشرة.
– يستعمل غالبا الامر rm لحذف المفات ثم تحديد اسم و موقع الملف –

نافذة الأوامر – Terminal


linux terminal
يمكن أرسال الاوامر مباشرة الى الصدفة حتى مع استعمال GUI وذلك عن طريق محاكي لل CLI ويسمى هذا المحاكي ب Terminal -تختصر احياناً بـ Term- وهي برنامج يعرض نافذة للCLI داخل بيئة رسومية . تسمح ال Terminal ايضاً بتنسيق وترتيب نوع ولون الخط حسب شروط يحددها المستخدم -مثلا اللون الأبيض للمتغيرات- ، اضافة صورة خلفية للنافذة، قدرة البحث داخل النافذه، فتح اكثر من نافذة او تبويب الخ …
ابرز هذه المحاكيات Xterm, Gnome-Terminal, Konsole

توزيعات لينكس – Distributions


linux distros tree
توضح الصورة جزء من شجرة التوزيعات المبنية على ديبيان
نظراً لأستعمال لينكس في كثير من المجالات و الاغراض وبسبب عدد المبرمجيين المتطوعين الكبير، تشكّل عدد كبير من انواع لينكس او ما يمسى بـ توزيعات (Distribution) ، يعتبر كل نظام يستعمل النواة لينكس بأنه احدى توزيعات لينكس لذلك يعتبر الاندرويد مثلا احدى توزيعات لينكس لكنه يختلف تماماً عن توزيعات GNU/Linux التي نتحدث عنها في هذا المقال [9] .
تصنف توزيعات لينكس عدة توزيعات حسب الاستعمال شخصي/سيرفر او حسب نوع المعدات او حسب القدرة على التحديث، لكن التصنيف الاكثر انتشاراً هو التصنيف حسب النظام المبني عليه.
مثلاً تصنف كل الانظمة التي تستعمل الـ Package الخاص بنظام ديبيان ( deb package. ) بأنها مبنية على ديبيان و التي تستعمل ( rpm. ) مبنية على Red-Hat ، حيث انه لايمكن تنزيل Package من نوع rpm على نظام يستعمل Package اخر، لذلك يعتبر التصنيف الاهم.
يكون التصنيف على شكل سلالة شجرية , مثلاً نظام Xubuntu مبني على Ubuntu المبني على Debian وهكذا .

الألعاب على لينكس


steam os
بعد تفوق لينكس بعدة مجالات على باقي انظمة التشغيل جاءت عدة محاولات لبناء توزيعة لينكس خاصة للعب اهمها ( Steam OS ) وهو نظام لينكس مفتوح المصدر -مع بعض العناصر مغلقة المصدر – يمكن تنزيل عليه بعض العاب منصة Steam الشهيره للالعاب [4] .
steam linux page
موقع Steam يعلن توقف اهتمامه بصفحته الخاصة بـ لينكس
كان الهدف من Steam OS هو توفير نظام مخصص للالعاب ينافس باقي الانظمة، لكن بسبب قاعدة جمهور اللاعبيين الكبيره الخاصه بويندوز و اجهزة الكونسول (PS4,Xbox) . لم تقم شركات الالعاب الكبرى -مثل فورتنايت وغيرها- بتصميم نسخ خاصة للتشغيل على لينكس .مما ادى الى فشل ضهوره كنظام منافس بالنسبة للالعاب.
الى حد الان , يمكن تنزيل Steam على اغلب توزيعات لينكس وتجربة بعض الالعاب دون استخدام محاكي و بأداء اقوى او أضعف من الأنظمة الأخرى حسب كل لعبة.
اهم تلك الالعاب : Robocraft, CSGO , Dota2 ,Civilization V بالأضافة الى بعض الالعاب من خارج منصة Steam مثل Minecraft وغيرها .
قائمة الالعاب التي يمكن تشغيلها على لينكس ، انضر ايضاً


الكاتب: أسامة المومني.
الموقع: justgeeks.tk




لمعلومات اكثر :-


ليست هناك تعليقات:

إرسال تعليق

Ads link

Ads test

Labels