هذه المقال وغيرها تحت وسم "أفضل مقال تقني" تعبرعن أراء أصحابها.
لعلَ أول ما يخطُر في بالك عند سماعِك
“لينكس” ، الإختراق وشاشة الأوامر ,وهي واحدة فقط من بين كثير من جوانب
لينكس. قد تعتقد ان لينكس مستعمل فقط من قبل الخبراء والمبرمجيين، ما
سيدهشك انك قد قمت بالفعل باستعمال لينكس مرة واحدة على الاقل !!
ما هو لينكس ؟
لينكس هو نظام تشغيل متكامل، قادر على
ادارة وتنظيم اجهزة الكمبيوتر، اما نظام التشغيل( OS : Operating System )
فهو مجموعة من البرامج المسوؤلة عن تواصل المستخدم مع التطبيقات وتواصل
هذه التطبيقات مع معدات اجهزة الكمبيوتر (كالـ CPU مثلاً) .
يظهر لنا من التعريف السابق ان اللينكس نطام تشغيل كـ (Windows أو Mac) .
لكن مايميزه فعلاً انه يعد اول نطام مفتوح المصدر، حيث انه لايتبع لشركة
او فئة معينة بل تم تطويره من قبل الكثير من المبرمجيين الهواه دون مقابل .
في عام 2005 شارك حوالي اكثر من 8000 مبرمج من 800 شركة لتطوير نواة لينكس
. وبالتالي، يمكن لاي جهة تطوير نسخه لينكس خاصة بها لتناسب احتياجتها [1]
.
لماذا قد احتاج لينكس ؟
واحدة من اكثر الاسئلة حول استعمال لينكس، لماذا قد استعمل نظام تشغيل
معقد قليلاً رغم وجود بديل سهل الاستخدام ومنتشر كـ Windows وغيره ؟
تكون الاجابة الافضل لمثل هذه الاسئلة بسوأل اخر هل تعتقد حقاً انك تستخدم وتدير نظام التشغيل الخاص بك !؟
تكون الاجابة الافضل لمثل هذه الاسئلة بسوأل اخر هل تعتقد حقاً انك تستخدم وتدير نظام التشغيل الخاص بك !؟
لربما تفاجئت احدا الايام عند تشغيلك لجهاز الكمبيوتر بانه يقوم بتحديث
النظام دون طلب منك أو ان تحاول بصعوبة ان تقوم بإيقاف خدمة التحديث
التلقائي التي قد تعود بعد فترة .
وفي نظام اندرويد امر بسيط كإيقاف احدى برامج قوقل المزعجة لايمكنك فعله الابعد عدة طرق، والتي قد تؤدي الى تعطل برامج اخرى.
يعد لينكس نظام مجاني غير ربحي. وبالتالي, يهدف فقط الى ان يكون مخصص
لاستعمال المستخدم وهو ما يميزة عن باقي الانظمة، حيث يمكنك بسهوله تحديث
النظام او جزء منه في اي وقت وايضاً يمكن التراجع عن التحديث و تثبيت اصدار
معين، حذف اي برنامج او مكتبة او حتى واجهة المستخدم ليكون مخصص حسب
حاجتك. [2]
الأمان
مع التطور الضخم لاجهزة الحاسب وكثرة استعمالها في الآونة
الاخيرة، انتشرت عدة برامج خبيثه والتي قد تكون على شكل فيروسات تسبب الضرر
للجهاز او برامج التجسس وغيرها. تنتشر هذه البرامج الخبيثه على كل انظمة
التشغيل سواء ويندوز،لينكس,اندرويد او حتى البلايستيشن ! [3] ومنها مايكون
مستهدف لجهة معينة ومنها عشوائي .
يتميز نظام لينكس باعطاء كامل الصلاحيات للمستخدم للتصرف بالنظام كما
يشاء و حذف او تعديل البرامج الخبيثه او المصابة ( Infected by malware )
,بالاضافة انه يمكن الاستغناء عن برامج الحماية من الفايروسات للمستخدمين
ذو الخبرة وهو مايجعل لينكس نظام غير مستهدف من قبل البرامج الخبيثة بشكل
عام.
في علم امن المعلومات “يعد الانسان نقطة الضعف الاكبر عند التحدث عن
الثغرات الأمنية” . لذلك يدعم نظام لينكس تقسيم الادوار حيث يكون مستخدم
واحد خبير (root) قادر على التحكم الكامل بالجهاز ويستطيع اداخال مستخدمين
اخرين ضمن صلاحيات يحددها.
الأداء
تأتي اغلب توزيعات (انواع) لينكس مع عدد قليل من البرامج والخدمات
الاساسية حسب تلك التوزيعه وهو مايجعله مخصص لغرض معين ومما يزيد من سرعة
أداءه , على عكس انضمة التشغيل الاخرى. فمثلا عند تنزيل ويندوز فأنه يأتي
مع اكثر من 100 خدمة التي قد يكون جزء كبير منها غير ضروري بالأضافة الى
العديد من البرامج غير المهمة (Bloatware) التي تحجز حيز كبير في وحدة
التخزين.
استعمالات نظام لينكس
بسبب كثرة مزايا نظام لينكس و قدرة المستخدم على التحكم الكامل بالنظام فان لينكس يُستخدم في عدة مجالات اهمها :-
صفحات الويب
في دراسة شهرية لموقع w3cook عن مواقع الويب اكثر من 95% من سيرفرات
الويب تستعمل احدى انظمة لينكس [5] . في عام 2018 صرحت الشركة صاحبة
Windows Server مايكروسوفت ان اكثر من نصف السيرفرات على منصتها السحابية Azure
تستعمل نظام لينكس . واحدة من اهم اسباب استعمال لينكس على سيرفرات الويب
هو انه مجاني بالكامل، حيث يمكن تنزل النظام والكثير من البرامج المجانية
على عكس الانظمة الاخرى.
اهم تلك البرامج هو Apache وهو برنامج مجاني مفتوح المصدر لأدارة سيرفرات HTTP/s
حيث يعد مدير سيرفرات الويب الاكثر استعملاً. صمم بلغة C ليتم استعماله على انظمة لينكس -اخر الاصدارت منه تعمل على ويندوز ايضاً-
حيث يعد مدير سيرفرات الويب الاكثر استعملاً. صمم بلغة C ليتم استعماله على انظمة لينكس -اخر الاصدارت منه تعمل على ويندوز ايضاً-
المبرمجيين و خبراء امن المعلومات
يحتوي لينكس على عدد كبير من الـ compilers و الـ interpreters التي
تسمح بتحويل النص البرمجي الى لغة الآلة وتجريبه , فبمجرد تنزيلك لـ لنكس
يمكنك مثلاً تشغيل نص بلغة C او python مباشرة . بالاضافة الى عدم الحاجة
الى استعمال برامج IDE -يمكن تنزيلها-
مما يسمح بالتعامل مع الـ compiler بشكل مباشر .
مما يسمح بالتعامل مع الـ compiler بشكل مباشر .
اما بالنسبة للمهتمين بمجال امن المعلومات، فهنالك انظمة مخصصه لذالك اهمها Kali Linux و Parrot
التي تأتي مع عدد ضخم من البرامج الحصرية والمخصصة لاختبار الاختراق(Pen
Test) ، تحليل تحركات الشبكة (Network Traffic) ، التشفير، فحص الثغرات
وغيرها الكثير .
اهم تلك البرامج :- Metasploit Framework , Aircrack-ng , John the Ripper , Nmap , WireShark …..
الاجهزة المضمنة واجهزة الحاسب العملاقة
الاجهزة المضمنة (embedded devices)هي الاجهزة الصغيرة
المضمنة/المدمجة مع اجهزة اخرى، الهدف منها هو تحليل ونقل المعلومات الى
تلك الاجهزة الاخرى . فمثلا جهاز الراوتر(الموجهه) يتم تضمينة مع اجهزة
اخرى لتتمكن تلك الاجهازه من الاتصال الانترنت
اما الاجهزة العملاقة (SuperComputer) فهي اجهزة الكمبيوتر كبيرة الحجم
وفائقة الأداء تستعمل من قبل الموسسات الكبرى مثل فيسبوك و ناسا لاستيعاب
الضغط الكبير عليها .
تستعمل اغلب الاجهزة المضمنة نظام لينكس، اما اسرع 500 جهاز عملاق فكلها
تستعمل نظام لينكس [6] . يعود ذلك الى ان نظام لينكس مفتوح المصدر
وبالتالي يمكن بناء نسخة منه مخصص للجهاز . فمثلا لجهاز راوتر نحتاج نظام
بحجم صغير جدا، اما الاجهزة العملاقة تحتاج نظام مخصص للتعامل مع حجم
المعدات والمعلومات الكبيره .
نواة لينكس – 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] ، نعم انت قد استعملت لينكس من قبل! .
ما سيدهشك ( او ربما قد ادهشك سابقاً في المقدمة D: ) ان انظمة أندرويد -النظام الاكثر استعمالاً على اجهزة الهاتف- تستعمل النواة لينكس [8] ، نعم انت قد استعملت لينكس من قبل! .
القشرة – Shell
تمتلك النواة صلاحيات عليا حيث يمكنها ادارة وتحكم كل البرامج والمعدات
حسب اوامر النظام، مما يجعل امر حمايتها من سوء استخدام المستخدم مهماً،
لذلك يتم تغليف النواة بقشرة/صدفة النواة (Shell) وهي مترجم لـ لغة برمجة
نصية (Scripting language) ,تترجم الأوامر النصية -بعد التاكد منها ومن
الـ Syntax- للنواة ، تأتي الاوامر النصية (Commands) من برامج النظام او
من المستخدم مباشرة.
تسمى كل قشرة باسم اللغة التي تترجمها اشهرها bash shell التي تترجم لغة bash النصية [10] .
تسمى كل قشرة باسم اللغة التي تترجمها اشهرها bash shell التي تترجم لغة bash النصية [10] .
الواجهة الرسومية – GUI
ذكرنا سابقاً انة للتواصل مع المعدات يجب كتابة الأوامر للنواة عن
طريق الصدفة لاكننا فعليا لانكتب الاوامر دائماً ويعود الفضل بذلك الى
واجهة المستخدم الرسومية (GUI : Graphical User Interface ) وهي مجموعة من
البرامج والأدوات التي تسهل على المستخدم استعمال نظام التشغيل، عن طريق
عرض الرسوم ( رموز , صور تفاعلية) بدلاً من استعمال الأوامر النصية، فضلاً
عن احتوائها مُشغِلات الوسائط المتعددة -وهي مزيج من النصوص والصور والصوت-
مثل مشغلات الفيديو و الالعاب.
تستعمل انظمة لينكس عدد كبير من الـ GUI منها KDE الذي يهتم بـ رسوم
جذابة و Xfce برسوم ضعيفة لكن اداء سريع، و واحهة Gnome الاكثر استعمالاً
كواجهة متوسطة .
على الرغم من التسهيلات التي تقدمها الـ GUI الا ان لها سلبيات وهي انها
تحجز من سعة التخزين وتقلل من الأداء قليلاً، لذلك يوفر لينكس واجهة CLI
وهي الواجهة الرئيسية عند حذف او ايقاف GUI .
واجهة سطر الاوامر ( CLI : Command-Line Interface) واجهة بسيطة تعرض نصوص فقط (دون رسومات و وسائط) ، تسمح للمستخدم بأدخل الاوامر النصية مباشرة الى الصدفة (Shell) . تستخدم غالبا عندما لايكون هناك حاجة للGUI مثل في الراوتر الذي لايتسطيح تحمل تشغيل وتخزينGUI .
عند حذف ملف معين باستخدام GUI عن طريق النقر Delete على الملف تقوم ال GUI بتجهيز الامر المناسب و أرسالة الى الصدفة، اما عند استعمال CLI يقوم المستخدم بكتابة الامر بشكل مناسب ونقر Enter لينتقل للصدفة مباشرة.
– يستعمل غالبا الامر rm لحذف المفات ثم تحديد اسم و موقع الملف –
واجهة سطر الاوامر ( CLI : Command-Line Interface) واجهة بسيطة تعرض نصوص فقط (دون رسومات و وسائط) ، تسمح للمستخدم بأدخل الاوامر النصية مباشرة الى الصدفة (Shell) . تستخدم غالبا عندما لايكون هناك حاجة للGUI مثل في الراوتر الذي لايتسطيح تحمل تشغيل وتخزينGUI .
عند حذف ملف معين باستخدام GUI عن طريق النقر Delete على الملف تقوم ال GUI بتجهيز الامر المناسب و أرسالة الى الصدفة، اما عند استعمال CLI يقوم المستخدم بكتابة الامر بشكل مناسب ونقر Enter لينتقل للصدفة مباشرة.
– يستعمل غالبا الامر rm لحذف المفات ثم تحديد اسم و موقع الملف –
نافذة الأوامر – Terminal
يمكن أرسال الاوامر مباشرة الى الصدفة حتى مع استعمال GUI وذلك عن طريق
محاكي لل CLI ويسمى هذا المحاكي ب Terminal -تختصر احياناً بـ Term- وهي
برنامج يعرض نافذة للCLI داخل بيئة رسومية . تسمح ال Terminal ايضاً بتنسيق
وترتيب نوع ولون الخط حسب شروط يحددها المستخدم -مثلا اللون الأبيض
للمتغيرات- ، اضافة صورة خلفية للنافذة، قدرة البحث داخل النافذه، فتح اكثر
من نافذة او تبويب الخ …
ابرز هذه المحاكيات Xterm, Gnome-Terminal, Konsole
توزيعات لينكس – Distributions
نظراً لأستعمال لينكس في كثير من المجالات و الاغراض وبسبب عدد
المبرمجيين المتطوعين الكبير، تشكّل عدد كبير من انواع لينكس او ما يمسى
بـ توزيعات (Distribution) ، يعتبر كل نظام يستعمل النواة لينكس بأنه احدى
توزيعات لينكس لذلك يعتبر الاندرويد مثلا احدى توزيعات لينكس لكنه يختلف
تماماً عن توزيعات GNU/Linux التي نتحدث عنها في هذا المقال [9] .
تصنف توزيعات لينكس عدة توزيعات حسب الاستعمال شخصي/سيرفر او حسب نوع
المعدات او حسب القدرة على التحديث، لكن التصنيف الاكثر انتشاراً هو
التصنيف حسب النظام المبني عليه.
مثلاً تصنف كل الانظمة التي تستعمل الـ Package الخاص بنظام ديبيان ( deb package. ) بأنها مبنية على ديبيان و التي تستعمل ( rpm. ) مبنية على Red-Hat ، حيث انه لايمكن تنزيل Package من نوع rpm على نظام يستعمل Package اخر، لذلك يعتبر التصنيف الاهم.
يكون التصنيف على شكل سلالة شجرية , مثلاً نظام Xubuntu مبني على Ubuntu المبني على Debian وهكذا .
يكون التصنيف على شكل سلالة شجرية , مثلاً نظام Xubuntu مبني على Ubuntu المبني على Debian وهكذا .
الألعاب على لينكس
بعد تفوق لينكس بعدة مجالات على باقي انظمة التشغيل جاءت عدة
محاولات لبناء توزيعة لينكس خاصة للعب اهمها ( Steam OS ) وهو نظام لينكس
مفتوح المصدر -مع بعض العناصر مغلقة المصدر – يمكن تنزيل عليه بعض العاب
منصة Steam الشهيره للالعاب [4] .
كان الهدف من Steam OS هو توفير نظام مخصص للالعاب ينافس باقي الانظمة،
لكن بسبب قاعدة جمهور اللاعبيين الكبيره الخاصه بويندوز و اجهزة
الكونسول (PS4,Xbox) . لم تقم شركات الالعاب الكبرى -مثل فورتنايت وغيرها-
بتصميم نسخ خاصة للتشغيل على لينكس .مما ادى الى فشل ضهوره كنظام منافس
بالنسبة للالعاب.
الى حد الان , يمكن تنزيل Steam على اغلب توزيعات لينكس وتجربة بعض
الالعاب دون استخدام محاكي و بأداء اقوى او أضعف من الأنظمة الأخرى حسب كل
لعبة.
اهم تلك الالعاب : Robocraft, CSGO , Dota2 ,Civilization V بالأضافة الى بعض الالعاب من خارج منصة Steam مثل Minecraft وغيرها . قائمة الالعاب التي يمكن تشغيلها على لينكس ، انضر ايضاً
اهم تلك الالعاب : Robocraft, CSGO , Dota2 ,Civilization V بالأضافة الى بعض الالعاب من خارج منصة Steam مثل Minecraft وغيرها . قائمة الالعاب التي يمكن تشغيلها على لينكس ، انضر ايضاً
الكاتب: أسامة المومني.
الموقع: justgeeks.tk
الموقع: justgeeks.tk
لمعلومات اكثر :-
[1] Linux Foundation Chapter 2: Linux Philosophy and Concepts [2] How to roll back an update in Linux
[3] Can viruses reach PlayStation
[4] Steam OS Wikipedia
[5] Linux the most used os in web servers
[6] TOP500 SuperComputer use Linux
[7] Linux kernel written with nearly 20M line of C code
[8] Devices using Linux Kernel
[9] All OS using Linux kernel are said to be Linux Distrbution
[10] Applications > Shell > kernel >Hardware
[3] Can viruses reach PlayStation
[4] Steam OS Wikipedia
[5] Linux the most used os in web servers
[6] TOP500 SuperComputer use Linux
[7] Linux kernel written with nearly 20M line of C code
[8] Devices using Linux Kernel
[9] All OS using Linux kernel are said to be Linux Distrbution
[10] Applications > Shell > kernel >Hardware
ليست هناك تعليقات:
إرسال تعليق