ديسمبر 26، 2010

عن الحرية و أبونتو - مرة ثانية

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

توزيعة أبونتو لينوكس الشهيرة -- التي تسعى كغيرها إصلاح العلة رقم واحد -- تنحدر من دبيان.

الآن توزيعة تريسكل (Trisquel) وتوزيعة جي.نيو.سنس (gNewSense) مبنيتان على أبونتو بعد أن أزالتا كل الأجزاء الغير حرة من النواة لينوكس ومستودعات الحزم. و بالتالي فهما من بين التوزيعات الحرة المدرجة على القائمة المشار إليها أعلاه.

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


مارك شاتلوورث (Mark Shuttleworth) -- مؤسس شركة كنونيكال (Canonical) راعية مؤسسة أبونتو التي بدورها ترعى مشروع أبونتو الذي يوفر مجموعة من توزيعات غنو/لينوكس مثل توزيعة أبونتو لينوكس، كبونتو لينوكس، زوبونتو لينوكس و غيرها -- ساند مشروع توزيعة gNewSense لأنه يعتقد بنفس مبادئ الحرية التي سطرتها مؤسسة البرمجيات الحرة بعدما شجع فكرة أبونتو ليبر Ubuntu-libre لتتحول إلى مشروع غوبونتو Gobuntu -- الذي كان هدفه هو توفير توزيعة أبونتو بماعيير الحرية حسب مؤسسة البرمجيات الحرة -- و الذي تم ضمه إلى مشروع أبونتو لكي لا تتشتت الجهود.

و اليوم يمكن للجميع تثبيت أي تفرع لتوزيعة أبونتو باصداره الحر ( أو تقريبا حر) و بكل سهولة. كيف؟

عند الإقلاع بقرص التثبيت لأبونتو إضغط على المفتح F6 ثم اختار "Free Software Only" من تلك القائمة.


و الفارق الوحيد بين خطوات التثبيت هو أنه لا وجود لخيار تثبيت البرامج الإضافية المغلقة المصدر.


بعد انتهاء التثبيت ستجد فارقا وحدا بين أبونتو العادي و أبونتو بخيار 'البرمجيات الحرة فقط' و هو لا أثر لحزم البرمجيات المغلقة مثل flashplugin-nonfree, sun-java6-jre, ttf-mscorefonts-installer و التي يسهل تثبيتها دفعة واحدة من خلال الحزم:
بالنسبة لأبونتو:
ubuntu-restricted-extras
ubuntu-restricted-addons

أو بالنسبة لكبونتو: 
kubuntu-restricted-addons
kubuntu-restricted-extras

و لا أثر حتى للتعريفات المغلقة الخاصة ببطائق العرض nVidia و ATI و ذلك راجع لكون المستودعات (restricted و multiverse) التي توفرها غير مفعلة بشكل إفتراضي كما في الصورة:




غير أن خيار تفعيلها يبقى قائما إذا أراد المستخدم ذلك، كما يمكن له تثبيت برامج شركاء كنونيكال أو شراء بعض البرامج من مركز برمجيات أبونتو، كما في الصورتين:


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

يبقى لنا خدمة UbuntuOne الساحبية التي توفر مساحة 2GB مجانية لتخزين الملفات، مزامنة المكتبة الموسيقية، دفتر العناوين، المفضلة و أشياء أخرى. لكنها ليست مفتوحة المصدر لذلك يمكن حدف برنامجها (ubuntuone-client) و إعتمادته:
libubuntuone-1.0-1
python-ubuntuone
python-ubuntuone-client
python-ubuntuone-storageprotocol
rhythmbox-ubuntuone-music-store
ubuntuone-client
ubuntuone-client-gnome
libsyncdaemon-1.0-1

ثم نأتي إلى النواة لينوكس التي يفترض أنها تضم أجزاءا غير حرة رغم أن حزمة linux-firmware-nonfree تأتي غير مثبة لا على أبونتو العادي و لا على أبونتو بخيار 'البرمجيات الحرة فقط'

ليس أمامنا سوى تجميع النواة الحرة من المصدر لأن المستودع الخاص بالنواة الحرة على لونشباد (Launchpad) لم يعد نشيطا و الاصدار الخاص بدبيان لم أجربه على أبونتو.

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

أولا، سنثبت الحزم الضرورية لتجميع أية نواة لينوكس:
sudo apt-get install fakeroot kernel-package libncurses5-dev bzip2 wget build-essential dkms libusb-1.0-0-dev

ثانيا، سندهب إلى مستودع مشروع النواة الحرة و سنحمل الملف المصدري للنواة.

الإصدار الذي سنختاره يجب أن يعادل نفس إصدار النواة أو يفوقها. مثلا من خلال الأمر :
uname -r
سنعرف أن إصدار النواة المستخدم على أبونتو 10.10 هو 2.6.35. إذن سنحمل أعلى تصحيح متوفر (التصحيح العاشر)، وقت كتابة هذا الموضوع، لذلك الإصدار و هو 2.6.35.10-libre2/. كما يفضل تحميل الملف بصيغة tar.bz2

أو تنفيذ ما سبق ذكره من خلال سطر الأوامر:
sudo -s cd /usr/src wget -c http://www.fsfla.org/~lxoliva/fsfla/linux-libre/releases/2.6.35.10-libre2/linux-2.6.35.10-libre2.tar.bz2

بعدها سنفك الضغط عن ملف النواة linux-2.6.35.10-libre2.tar.bz2 و ننتقل إلى مجلدها ثم نهيئها
tar xvjf linux-2.6.35.10-libre2.tar.bz2 cd linux-2.6.35.10/ make clean mrproper

الأن سندخل على أداة إعداد النواة menuconfig

make menuconfig



هذه الأداة تسمح بتخصيص النواة كما نريد و لن نعدل فيها إلى خيارين هما تحديد نوعية المعالج لإستفادة أكثر من قدراته و إلغاء تحزيم النواة بخيار التبليغ/التصحيح البرمجي.
* على Processor Type and Features ---> Processor Family ستختار المعالج المناسب (بزر مسافة)


 إذا لم تعرف طراز المعالج فلا تغير شيء!

* على Kernel hacking ---> [ ] Kernel debugging
نلغيها (بالضغط على زر مسافة إلى أن يصبح المربع فارغا هكذا  [ ]  بدلا من [*] أو [M] )


* بعدها نخرج و نحفظ التغييرات من خلال Exit ثم الموافقة على إنشاء الملف .config

ثم نهيء و ننظف النواة من أية عمليات تجميع سابقة :
sed -rie 's/echo "\+"/#echo "\+"/' scripts/setlocalversion make-kpkg clean

ثم إن كان جهازك بمعالج متعدد النوية مثلا 2، 4، 8 أو أكثر. أكتب ذلك العدد كقيمة لهذه المتغيرة.
export CONCURRENCY_LEVEL=2

ثم نبدأ في عملية التجميع:
fakeroot make-kpkg --initrd kernel_image kernel_headers

العملية ستأخد بعض الوقت من 30 دقيقة إلى أكثر من ساعتين حسب سرعة المعالج  و مدى التخصيص. ستأخد بضعة دقائق (10-15 دقيقة) إذا خصصتها كليا لتلائم جهازك فقط.

بعد إنتهاء عملية تجميع النواة الحرة من المصدر، ستجد حزمها القابل للتثبيت (.deb) في المجلد
/usr/src

تلك الحزم اسمها سيكون قريب من :
linux-headers-2.6.35.10-libre_2.6.35.10-libre-10.00.Custom_i386.deb linux-image-2.6.35.10-libre_2.6.35.10-libre-10.00.Custom_i386.deb

و لتثبيتها يكفي تنفيد الأمر التالي من على المجلد /usr/src
dpkg -i *.deb

معلومة:
لمن أراد تجربة نواة لينوكس بتلك 200 أسطر السحرية لتحسين الأداء عليه تحميل الإصدار 2.6.36 بدلا من 2.6.35 و دمج تلك الرقعة كما وضح هنا.


لم كل هذا؟
جزء من هذا السؤال يجب أن تستخلصه أنت مسخدم غنو/لينوكس عموما أو أبونتو خصوصا.

بالنسبة لي كتبت موضوعا يشرح كيفة الحصول على توزيعة غنو/لينوكس حرة باستخدام أي إصدار لأبونتو دون الحاجة لإنتظار إصدارات التوزيعة المتفرعة عنها. ثم كما نرى عند تثبيت أبونتو بخيار 'البرمجيات الحرة فقط' لانحتاج إلا إزالة أو تعديل الشيء الكثير، كما أن أبونتو لا تمنع و لا تعرقل المستخدم من تخصيص نظامه كما يريد.

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

إرسال تعليق