تثبيت البرامج من الشفرة المصدرية

تقييم كلي: 7 (أصوات:1)
النهاردة هنكلم عن الطريقة اﻷصلية واﻷساسية لتثبيت جميع البرامج ... وبجد هي طريقة مزعجة جدا وطويلة جدا لو البرامج اللي انت هتنزله معتمد على أكثر من برنامج .... هنرجع تاني لمشكلة اﻷعتمادية ... فعلا لما تيجي تدخل في دوامة اﻷعتمادية ... وحد يجي في النص يقولك إنت كنت عايز تنزل آني برنامج أصلا ... في أحيان كتيرة جدا هتلاقي نفسك نسيت

ولكن ومع كل ذلك طريقة تثبيت البرامج من الشفرة المصدرية هي الطريقة التي توفر لك المجال اﻷسع للخيارات وامكانية تنزيل أو تجاهل الخصائص اللي انت عايزها ... وطبعا هي الطريقة المفضلة والمعتمدة حينما يتعلق اﻷمر بأمن النظام Security Issues .... فمثلا برنامج زي SSH ولا FTP Server محتاج تعريفات خاصة شوية بالخادم بتاعك بدل من التعريفات المعرفة مسبقة ... ومن هنا تظل هذه الطريقة هي اﻷصل

وعلى فكرة الناس اللي متربية على جنو و لينكس ... مبيعتمدوش أوقات كتيرة على الحزم المتقفلة rpm or deb ﻷن الموضوع عبارة عن عشرة عمر وتآلف ما بينهم وما بين البرامج ديه

نبدأ بقى كلام في المليان ...

لازم أولا نتأكد إني انت عندك بعض اﻷدوات اللي هتعمل ترجمة لسطور الكود عشان تحوله لملفات تنفيذية خاصة بالمعالج بتاعك compiling ...

لو عايز تريح دماغك من هذا الصداع القادم ... حاول تستخدم أداة التثبيت على توزيعتك ونزل مجموعة برامج تحت العنوان ده Development Tools ... فمثلا لو دخلنا على Yast الخاصة بسوزي هتلاقي مجموعة أدوات تطوير كتيرة جدا حاول تختار منها اللي انت عايزه ونفض الباقي ... لو مش عارف تختار نزلها كلها ... بس لو سمحت عايزين مساحة ... دايما خليك فاكر إن كسلك في عالم المصادر المفتوحة ليه تمن


اﻷدوات المطلوبة :
  • GNU coreutils

  • مجموعة أدوات أساسية خاصة بالبيئة التطويرية
  • GNU binutils

  • مجموعة برامج خاصة بالملفات التنفيذية
  • gcc

  • هذا هو المترجم السفاح compiler الخاص بمشروع جنو ... وهو قادر على ترجمة أكوادك من اللغات C,C++,Java.Ada,Objective-C,Fortran إلى لغة الألة الخاصة بالمعالج بتاعك ... طبعا أنواع المعالجات كتيرة جدا ... والgcc بيدعم أغلبها وبطريقة سحرية وامكانيات لا نهائية
  • GNU tar

  • أداة لفك أرشفة الشفرة المصدرية
  • gunzip

  • أداة لفك أرشفة Zip الخاصة بجنو
  • bunzip2

  • أداة لفك أرشفة Zip2 وهذه أفضل من سابقتها في معدل الضغط
  • make

  • أداة لتحليل وقراءة ملف التعريف والخصائص المطلوب تنزيلها


اﻵن كيف ستتأكد أنك تمتلك كل هذه البرامج ؟

  • إذا اتبعت طريقة التثبيت من أداة التثبيت العامة الخاصة بتوزيعتك ... فلتطمئن فأنت تمتلك هذه البرامج والمزيد منها ايضا

  • إذا كانت توزيعتك تعتمد نظام حزم rpm ... فلتتابع هذه المقالة

  • إذا كانت توزيعتك تتبع نظام حزم deb ... فلتتابع هذه المقالة ... غير موجودة اﻵن

  • أذا أردت أن تعتمد على اﻷمر which or whereis المجال مفتوح ﻷستخدامهم مع أي أمر



اﻵن سنبدأ في تثبيت البرنامج ... بالإجراء القياسي والمعتاد

./configure
make
make install

مفيش عملية تثبيت من الشفرة المصدرية بتخترع حاجة زيادة عن كده ... بس اللذيذ في اﻷمر إني انت مكنتش عايز تنزل البرامج من المصدر عشان تعمل اﻷوامر دية ورا بعضيها وانت منبهر قوي ... ﻷن حضرتك مش عايز تنزل بالخيارات المعرفة مسبقا ... إنت محتاج حاجة خاصة ... صح ولا ايه ؟

طيب يبقى لازم تحاول تتصفح كل الملفات اللي بتحمل العناوين دية ... INSTALL.txt,README.txt,INFO وهكذا عشان تقدر توصل لإحتياجاتك الخاصة

هتروح للملف اللي انت نزلته وتحاول تفكه ...



هيتفك كده إذا كان امتداده
tar.gz

andalusy@linux-box:~# tar -zxvf vim-7.1.tar.gz

هيتفك كده اذا كان امتداده
tar.bz2
andalusy@linux-box:~# tar -jxvf vim-7.1.tar.bz2
andalusy@linux-box:~#cd vim71/


انتقل إلي المجلد الذي تم فكه ... ﻷن اﻷجراء القياسي والمعتاد مرتبط بالمجلد اللي انت فيه





اﻵن هذه هي المرحلة الخاصة التي فعلنا كل ذلك من أجله ...



andalusy@linux-box:~# ls -lh
total 112K
-rwxr-xr-x 1 qasem users 169 configure
-rw-r--r-- 1 qasem users 16K Filelist
-rw-r--r-- 1 qasem users 23K Makefile
drwxr-xr-x 2 qasem users 4.0K pixmaps
-rw-r--r-- 1 qasem users 149 README_lang.txt
-rw-r--r-- 1 qasem users 484 README_src.txt
-rw-r--r-- 1 qasem users 4.9K README.txt
-rw-r--r-- 1 qasem users 365 README_unix.txt
drwxr-xr-x 17 qasem users 4.0K runtime
drwxr-xr-x 6 qasem users 4.0K src

جرب كل هذه اﻷوامر من أجل معرفة كل أنواع وخيارات التثبيت المتاحة



andalusy@linux-box:~# less README.txt

andalusy@linux-box:~# ./configure —help


لم يتبقى إلا المرور بسلسلة اﻷوامر القياسية .. ولكن بتعريفاتك الخاصة هذه المرة



andalusy@linux-box:~#./configure طبعا خياراتك هنا

andalusy@linux-box:~# make

andalusy@linux-box:~# make install



المميزات :

  • دلوقتي عندنا برنامج مثبت بالخيارات اللي انا عايزها بالظبط
  • دلوقتي عندنا تحكم كامل في ايه اللي بيتثبت على الحهاز
  • دلوقتي عندنا نسخة تنفيذية من البرنامج خاصة بالمعالج بتاعنا بالظبط ... متفصلة عليه



المصايب:

  • لو البرنامج بيعتمد على أكثر من برنامج تاني وكل واحد منهم بيعتمد على كام حاجة هو راخر ...مصيبة... عايز ناس نايمة وصاحية مع اللينكس
  • لو البرنامج كبير شوية ممكن ياخد ساعات عشان يترجم... مصيبة...عايز جهاز محترم
  • لو البرنامج عايز يتعمله تحديث أو يتشال خالص ... قمة الفوضي... عايزة محترف بجد



أخيرا متتصورش إني انت عشان تشغل ملف MP3 مفروض تعلم كده... اذا كان ليك مزاج اتفضل ... لكن برده متتصورش إن شركة استضافة مفروض تنزل خادم Apache2 بخيارات اﻷساسية ... أو من اداة تثبيت ... حقيقي الحالتين يبعثوا على الضحك


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


وش الحل مع الجحيم

السلام عليكم

درس جميل كالعادة ، وفيه معلومات لذيذة وجديدة

سؤال :

ماهو الحل لمشكله جحيم اﻹعتماديات

مثلا هذا الموضوع

http://www.linuxac.org/forum/showthread.php?t=9304

هل لديك حل لهذه المشكله المقرفة ؟

زماااااان

الحل التقليدى : زمان كان عشاق الموال ده .. كان عندهم قدرة ارتجالية على تثبيت هذه الحزم المتعددة ببعض سكريبتات الباش أو اسكريبت مشابه مثال Perl
ولكن هذا لا يمنع إنهم كانوا بيتعبوا جدا كبداية عشان يقدروا يوصلوا للمرحلة دية

بداية الحل : بعد كده تبنى كل الحزم المتشتته هذه بعض من المجموعات أو الشركات وبدأوا بمحاولة تجميعهم فى أسلوب تعاونى بناء غير هدام ... بمعنى إنى لما صاحب الحزمة اﻷولانية يطور جزء معين يبقى واخد بالوا مين المعتمدين عليه واللي معتمدين عليه يبقى عندهم نظام ترقيم يوضحلهم هيعتمدوا على آنى إصدار وبإى طريقة ... وهكذا نشأت نظم أدارة الحزم مثال RPM=Redhat Package MAnager أو dpkg=debian package Managment system
ومن ذلك أمثلة لا تعد ولا تحصى.... وهذه اﻷنظمة لها معاملات كثيرة جدا للمفاضلة ما بينهم لكن فى النهاية كلهم نظم أدارة حزم تكاد تكون متاحة بدرجة أكبر داخل نطاق التوزيعات اﻷشهر

مرحلة من الحل : هو نظام المستودعات Repository وهى مستودعات بمعنى الكلمة لكل البرامج واﻷدوات الخاصة بتوزيعات لينكس بنظام ادارة حزم معين -- rpm مثلا --- موجودة على مواقع HTTP or FTP ... ويتم التعامل مع هذه المستودعات من خلال أداوات التثبيت العام مثال YAST,Apt,Portage


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

علِّق

The content of this field is kept private and will not be shown publicly.
  • You may quote other posts using [quote] tags.
  • You can use BBCode tags in the text, URLs will automatically be converted to links.

More information about formatting options