الجمعة، ديسمبر 11، 2009

تجربتي مع UNIX

منذ فترة طويلة وأنا كانت لدي النية لتجربة نظم تشغيل أخرى غير ويندوز وغير لينوكس ، لتعلم أشياء جديدة واكتساب خبرات ربما لم أتعرف عليها من قبل ، وبدأت في ذلك عندما حملت من الإنترنت اسطوانات CD لنظام يونكس سولاريز UNIX Solaris 10 ، وأيضا FreeBSD تقريبا كان الإصدار 6 لكن بقيت تلك الاسطوانات معي ولم أستخدمها في تثبيت أي من النظامين ، والسبب أني كنت أؤجل ذلك لحين إجراء تعديل في القرص الصلب وربما لأني لم أكن استوعبت جيدا الفروق بين أنواع الأقسام في القرص الصلب، ولأني وجدت أن هذه النسخ من UNIX تتطلب أن يتم تثبيتها على قسم أساسي Primary وليس منطقي Logical ، وحيث أن القرص الصلب لدي كان مقسما كما كان حينما اشتريته مع الجهاز من الشركة ، وتلك التقسيمة كانت تشتمل على قرص أساسي واحد فقط هو المثبت علىيه ويندوز ، ولأني لم أضطر أبدا للتعديل في جدول تقسيم القرص الصلب لاستخدام لينوكس إلا لاقتطاع أجزاء من أقسام ويندوز المنطقية وإنشاء أقسام لينوكس بها ، لهذا بقيت تلك الاسطوانات محفوظة في الدرج بانتظار يوم من الأيام لأقرر استخدامها.
وظهر OpenSolaris وحملت اسطوانته النشطة LiveCD ، وجربته بالفعل ، لكن لم يبد لي ثمة فروق بينه وبين لينوكس حيث  الواجهة gnome هي نفسها المستخدمة في أشهر توزيعات لينوكس ، كذلك البرامج هي أيضا نفسها تقريبا.
بدأت التجربة حينما بدأنا في دراسة مقرر نظم التشغيل في الكلية ويشتمل على ويندوز ودوس ويونكس ولينوكس ، طبعا فيما عدا ويندوز ودوس كلها معلومات نظرية، لكني قررت أن أخوض التجربة مع يونكس ، وأن تكون تلك التجربة حقيقية ، وليس عبر برنامج محاكاة مثل VirtualBox ، كذلك شجعني على ذلك شراء حاسوب محمول جديد بقرص صلب 250 ولازالت به مساحة كبيرة تسمح بإجراء التجارب ، عدلت في جدول التقسيم باستخدام Gparted liveCD وقررت تثبيت OpenSolaris 2009.06 ، لكن ظهرت مشكلة حتى في تشغيل الاسطوانة لايف على الكمبيوتر الجديد ، وهي أنه عند نقطة معينة في إقلاع النظام عندما يبدأ في التعرف على الأجهزة يصدر من السماعة صوت تشويش غريب ومهما حاولت خفض الصوت باستخدام أزرار التحكم في الصوت لا يتغير أي شيء.
المهم قلت "وماله" من الجائز بعد التثبيت ينصلح، فثبته بالفعل ، وبغض النظر عن أن برنامج الإقلاع Grub لم يتعرف سوى على نظام الويندوز وتجاهل نسختي لينوكس أوبنتو وماندريفا المثبتتين في قسمين منطقيين ، وبالتالي أصبح النظامان غير قابلان للإقلاع ، لكن قلت " وماله مش مشكلة " ليست أول مرة يمسح فيها grub لينوكس من mbr ، وممكن ببساطة استعادته فيما بعد.
بدأ إقلاع النظام وكنت سعيدا وأنا أشاهد أمامي يونكس يعمل لأول مرة من القرص الصلب على جهازي رغم أن الوقت كان متأخرا وكان علي أن أنام ، لكن ذلك لم يستمر طويلا ، فحينما قمت بتثبيت النظام لم أقم ضمن خطوات التثبيت بكتابة كلمة مرور لحساب المستخدم الجديد واكتفيت بكلمة مرور للمستخدم الرئيس (على أساس إنه مثل لينوكس) لكن حينما ظهرت أمامي شاشة gdm التي لم أعتد كثيرا عليها لأني غالبا ما كنت أستخدم KDE على لينوكس ، وكتبت اسم المستخدم الذي أنشأته عند التثبيت والذي كنت مضطرا لجعله أقل من 8 حروف حسبما أظهرت لي رسالة الخطأ التي ظهرت عندما كتبت اسمي الأول كاسم مستخدم، وتركت حقل كلمة المرور فارغة على اعتبار أنها أصلا غير موجودة ، لكن النظام لم يقبل ذلك ! ، لكني قلت " وماله " نضغط على خيارات ثم نختار الدخول من سطر الأوامر ، لكن ... لا توجد أصلا قائمة خيارات ، فقلت " وماله " نحول لسطر الأوامر باستخدام Alt+Ctrl مع أحد مفاتيح الوظائف من F1 حتى F7 ، لكن .... لا تأثير لها على الإطلاق.
طبعا اكتشفت فيما بعد أن OpenSolaris لم يكن يدعم virtual terminal وأن هذه الميزة قد أضيفت له حديثا، إلا أنها غير مفعلة افتراضيا.
وبعد البحث على الإنترنت - طبعا من خلال ويندوز - عرفت أن الحل هو تحرير أمر الإقلاع في grub وإضافة الخيار -s لجعل النظام يقلع في نمط المستخدم المفرد ، وبالتالي بصلاحيات الجذر، وتم ذلك بالفعل ، وأنشأت كلمة مرور للمستخدم العادي بصلاحيات الجذر ثم أعدت إقلاع النظام بشكل طبيعي، وهذه المرة قبل اسم المستخدم وكلمة المرور ، وظهرت أمامي gnome التي أعرفها.
لكن اتضح أيضا أن النظام لا يظهر أقسام القرص الصلب لعمل mount لها حتى قسم ويندوز لم يظهر رغم إنه Primary.
أيضا صوت التشويش لازال مستمرا ومهما حاولت خفضه لا يتأثر حتى لو كتمت صوت النظام ، لكن كانت المفاجأة حينما وصلت سماعات الرأس والمايكروفون ، إذ تحول جهاز الكمبيوتر إلى ....." راديو " ، نعم بدأ يستقبل موجات الراديو ويصدر صوت الإذاعات من السماعات الأساسية في الكمبيوتر وكأن سماعات الرأس كانت هي هوائي الاستقبال ، وطبعا الجهاز لم يكن متصلا بأي شيء.
حاولت البحث عن الملفات التي أعرفها مثل fstab أو حتي ملف قائمة grub لكن لم أجدها.

في النهاية لم يعجبني النظام ، فقررت إزالته وكان لدي خياران الأول أن أضع بدلا منه Solaris 10 الأساسي الذي كان لدي على اسطوانات منذ مدة طويلة ، والثاني نسخة FreeBSD كنت قد حملتها حديثا بدلا من النسخة القديمة التي لم أستخدمها أصلا وبقيت معي منذ سنوات، فاخترت solaris على أساس إني بدأت العمل على كل ما تنتجه شركة sun منذ أن اشتركت في دورة البرمجة بالجافا في إجازة الصيف الماضي، ولأن sun أكثر مصادر الرسائل التي تصلني على البريد الإلكتروني كل أسبوع من حسابي المسجل في موقعهم ، وكذلك حتى أطبق مجموعة من الدروس التعليمية لنظام solaris بالصوت والصورة وضعتها sun مجانا على موقعها منذ فترة طويلة أيضا.
لكن هذه المحاولة المتفائلة مع سولاريز انتهت برسالة خطأ بين خطوات التثبيت تفيد بأنه لا يوجد قرص متصل بالجهاز !!
فكان الاختيار الوحيد المتبقي هو FreeBSD، وتلك الاسطوانة كنت نسختها في ويندوز باستخدام نيرو لكن المشكلة إنه ظهر خطأ عند عمل تحقق من البيانات المنسوخة ، لكنها كانت آخر اسطوانة DVD فارغة موجودة عندي، فقلت نجرب ربما لا يحدث مشاكل.

لكن المشكلات حدثت فبعد عناء التعامل مع شاشات التثبيت شبه النصية - واجهة رسومية تعمل في بيئة نصية بدون فأرة - وبعد عمل Format للقسم الأساسي الذي كان يضم OpenSolaris بنظام ملفات BSD، وبعد إعادة الإقلاع ، وجدت أمامي شاشة نصية ، وحتى بعد تنفيذ startx أصبح أمامي نوافذ x لطرفية x لا تستجيب حتى لحركة الفأرة رغم ظهور المؤشر ، ولا تستجيب لأي إدخال بلوحة المفاتيح ، رغم ظهور مؤشر الكتابة داخل النافذة.
فقررت في النهاية إعادة تثبيت OpenSolaris من جديد .
ولكن كانت النتيجة أيضا حينما حاولت إقلاع ويندوز 7 (طبعا نسخة غير أصلية) بظهور رسالة خطأ تفيد بأن ملفا غير موجود ، حاولت استخدام قرص تثبيت ويندوز 7 لعمل repair لكن لم يتعرف على وجوده أصلا، اتضح فيما بعد أن UNIX غير القسم النشط في القرص الصلب وغالبا كان ذلك هو السبب في عدم تعرف أداة الإصلاح على ويندوز المثبت . لكن وبعد الاستعانة باسطوانة gparted وتحديدا البرنامج الرائع المفتوح المصدر TestDisk - الذي أفادني كثيرا من قبل - نجحت في ضبط القرص الصلب ، ثم بالاستعانة باسطوانة ماندريفا أعدت تثبيت grub ماندريفا ، وباستخدام اسطوانة ويندوز 7 تم عمل repair وعاد الجهاز يعمل كما كان قبل UNIX ، الفرق الوحيد هو زيادة قسم أساسي Primary في القرص الصلب ، لكن أنا لدي النية في أن أستخدمه حينما أجرب MacOS.
وكانت هذه نهاية تجربتي الفاشلة مع UNIX ، والنتيجة أنني قررت أن أثبته ولكن ضمن برنامج محاكاة ليعمل تحت إشراف لينوكس أو حتى ويندوز.