3.5 تركيب الحزم المصدرية | كتاب لينكس الشامل | >> |
إن الملفات المفات المصدرية التي أتحدث عنها هنا ليست حزم .src.rpm
وإنما
هي ملفات مضغوطة مثل .tgz
أو .tar.bz2
ضع هذه الملفات في المجلد البيت ثم فك ضغطها اما باستعمال برنامج رسمومي مناسب أو بالنقر بالزر الأيمن ثم extract
أو بطباعة الأوامر المناسبة
bash$ tar -xvzf filename.tar.gz
tar.bz2
نستخدم
tar -xvjf filename.tar.bz2
سيظهر مجلد جديد ادخل إليه وابحث عن ملف INSTALL أوREADME أو ماشابه وألق نظرة عليه
من محرر النصوص المفضل لديك
أو من سطر الأوامر اكتبless INSTALL
ثم اضغط q للخروج
bash$ cd filename bash$ ls INSTALL blah.c foobar.c make configure bash$ less INSTALL
تنزيل برنامج من الملف المصدري قد يشوش نظام ادارة الحزم في التوزيعة
خصوصا في مسألة الإعتمادية. لتفادي تشويش نظام الحزم يتم نقل الملفات
إلى /usr/local
(نتحكم بذلك من خلال prefix)
من هنا قد تختلف طريقة المتابعة بحسب البرنامج الذي تتعامل معه ولكن بشكل عام الخطوات هي بطباعة الأوامر من المجلد الذي ظهر عندنا
bash$ ./configure bash$ make bash$ su password: bash# make install bash# exit bash$
./configure --prefix='/usr/X11R6'
لتغيير مكان تركيب البرنامج.
في حال حاولت تصنيف البرنامج أكثر من مرة وكنت تريد
اعادة المحاولة أو كنت تريد التأكد من ازلة كل ملفات
المحاولات السابقة والبدء من بيئة نظيفة يمكنك تنفيذ
make clean
أو make mrproper
قبل كل شيء.
اذا كان البرنامج يعتمد على برامج معينة
يجب أن تكون موجودة من قبل نفذ
make dep
قبل make
واذا كان هناك أكثر من برنامج في هذه الحزمة وكنت تريد عمل واحد منها فقط
يمكنك عمل ذلك بكتابة make ثم اسمه.
عند الإنتهاء من كل شيء قد ترغب في حذف الملفات المؤقته
ذلك بتنفيذ
make clean
من الأمثلة على الخيارات التي يمكنك تمريرها
إلى make لتعديل بعض الخيارات هي make CC='gcc -s'
ليزيل معلومات التدقيق Debuging information حتى يصبح البرنامج أصغر
أو مثلا لعمل تحسين على أداء البرنامج optimization
make CC='gcc -s -O2 -fexpensive-optimizations -fomit-frame-pointer -mpentium'
الخيار O2 هو متوى التحسين (يمكنك عمل حتى 6 ولكن 2 تنجح و 3 فما فوق غير مضمونة)
خيرات أخرى مثل foptimize-register-move و fregmove و frerun-loop-opt
وحتى ffast-math هذه الأخيرة من أجل القيام بحسابات الفاصلة العائمة(الكسور) بطريقة
أسرع ولكن تقريبية ودون تتبع الأخطاء
ولتحديد نوع المعالج يمكنك اضافة -march=TARGET
و -mcpu=TARGET
يقول الأستاذ عصام بيازيدي أن أفضل طريقة لتعديل الخيارات
تلك ليست من خلال CC بل من خلال XXCFLAGS (إن لم تخني الذاكرة) لكن كلا الطريقتين تعملان.
واذا كنت تريد تنزيله في غير المكان الإفتراضي
استخدم مثلا
make PREFIX='/usr/X11R6' install
بدلا من make install
لينزل البرنامج في /usr/X11R6
بدلاً من /usr
(هذه الحيلة ربما تكون مفيدة إذا أردت الجمع بين wine و wineX-CVS)
قد تحتاج بعض الحزم إلى رقع عن طريق برنامج patch قبل أن تركّب
ويكون ذلك عادة بتنفيذ
patch -Np1 -i /path/to/file.patch
أو patch -b -p0 < /path/to/file.patch
بحسب طريقة توليد ملف الرقعة patch بواسطة diff.
ويكون ذلك قبل ./configure
هذا مثال يوضح ذلك :
نزل الملف المصدري ل less
وهو
less-378.tar.gz
و الرقعة الخاصة بها وهي
less_composing.patch.tgz
وخزنهما في البيت ثم نفذ
bash$ tar xvzf less-378.tar.gz bash$ cd less-378 bash$ tar xvzf ../less_composing.patch.tgz bash$ patch -b -p0 < less_composing.patch bash$ ./configure bash$ su bash# make && make install
مثال آخر كيفية تركّب برنامج mlterm سطر الأوامر متعدد اللغات ، قبل تركيب هذا البرنامج تحتاج إلى تركيب حزمة ثنائية الإتجاه fribidi وحزمة التطوير الخاصة بها fribidi-devl من أقراص توزيعتك أو من مواقع التزيل الخاصة بها انظر الوصلات
CVS هي اختصار ل Concurrent Versions System. كما تعلم برامج لينكس هي برامج كتبها أكثر من شخص ومعظمهم لم يلتقوا ولم يعموا في بيئة مادية واحدة بل عبر الفضاء الافتراضي كما يحلو للإعلام أن يسميه. يساعد هذا البرنامج مدير المشروع على إدارة الإصدارات المختلفة والتعديلات التي يقوم بها كل مبرمج وذلك بسرعة وبمساحة صغيرة.
الحصول على CVS للمشروع يعطيك فرصة الحصول على أحدث نسخة.
باسم وفي دليلك البيت اكتب
export CVSROOT=":USER:PASSWORD@HOST/PROJ/DIR"
حيث USER و PASSWORD هي الاسم وكلمة السر التي يزودك بها
مدير المشروع و HOST هو العنوان و الباقي هو اسم الدليل. ثم اكتب
cvs login
للدخول و
cvs checkout PROJ
لتنزيل المشروع حيث PROJ هو اسم المشروع. سيفتح الأمر
مجلد باسم المشروع ادخله بأمر cd متبوع باسم المجلد.
ستجد هناك الملفات المصدرية (مع مجلد زائد اسمه CVS إذا كنت لا تريد تطوير البرنامج احذفه)
ثم قم بالخطوات التقليدية لتصنيفه. هذا المثال
لطريقة تركيب glchess من المصدر عبر CVS
bash$ export CVSROOT=\ ":pserver:anonymous@cvs.glchess.sourceforge.net:/cvsroot/glchess" bash$ cvs login bash$ cvs -z3 checkout glchess bash$ cd glchess bash$ ./configure bash$ make bash$ su bash# make install
cvs commit
الخيار m لوضع تعليق عن
التغير الذي قمنا به ثم اسم الملف مثلاً
bash$ cvs commit -m "More Comments Added to file1.c" file1.c
<< السابق | كتاب لينكس الشامل | التالي >> |