الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تنزيل البرامج على ال Linux

مغلق
بدأه malek_sa في 26 أكتوبر 2006 · 15 رد · 1,680 مشاهدة · في نظام تشغيل Unix & Linux
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندما أحمل أي برنامج من النت يعمل على Linux أحصل على ملف .bin و أحيانا على الـ source code

كيف يمكنني تنزيل هذه البرامج ....

SCJP 5.0

#2

بالنسبة لملفات الـ bin فإن امرها سهل , فكل ماعليك فعله هو تشغيلها , وهي في الاغلب سوف تكون عباره عن installer للبرنامج الذي حملته , ويمكن ذلك من خلال كتابه التالي في الشل :

cd program_folder

الامر السابق للدخول الى المجلد الذي به ملف الـ bin . بعدها يمكنك تشغيل الملف بسهوله من خلال كتابه التالي :

./program.bin

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

لنفترض انك حملت الشيفر المصدرية للبرنامج واسم الملف الذي حملته هو porgram.tar.gz (ملف مضغوط) .

الخطوات لتركيب البرنامج السابق سوف تكون كالتالي :

1- فك الضغط من خلال كتابه الامر التالي في الشل :

tar zxvf program.tar.gz

او كتابه :

tar jxvf program.tar.bz2

اذا كان نوع الحزمة التي لديك هي tar.bz2.

سوف ينتج لك مجلد بإسم prgram في المكان الذي تعمل به (لنفترض انك نسخت الملف المضغوط الة المجلد temp/ وكان لك صلاحيات بذلك ) . قم بالدخول اليه من خلال الامر cd .

2- كتابه الامر التالي في الشل :

./configure

للتوضيح , فإن الامر السابق القيام بعمليه الـ configure التي تقوم بالتأكد بإن توزيعتك تمتلك المكتبات الضرورية لتشغيل البرنامج وما الى ذلك من متطلبات , فإن تم التأكد من ذلك سوف ينتج لديك ملف الـMakefile الذي سوف تقوم من خلاله بترجمة compile الشيفرة المصدرية للبرنامج .

3- بعد ذلك نقوم بكتابه الامران التاليان في الشل :

make
make install

الامر الاول هو الذي يقوم فعلياً بعمليه ترجمة الشيفرة .

والثاني , يقوم بعمليه تنصيب الملفات الـثنائيه (التنفيذيه) الناتجة من الامر make , وهو يقوم ببساطة بنسخ الملفات الثنائية الناتجة من الترجمة الى المجلد القياسي للبرامج في توزيعتك (في الغالب يكون في usr/local/bin/ ) .

طبعاً اذا اردت الغاء التركيب (ازاله البرنامج ) يمكنك ذلك من خلال الامر

make uninstall

بالتوفيق ..

تم تعديل هذه المشاركة بواسطة محمد معاشر في 26 أكتوبر 2006 في 21:47

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#3

بارك الله فيك محمد معاشر شرحك رائع..

لدي اضافة بسيطة على كلامك حتى يتوضح الأمر اكثر بالنسبة لـmalek_sa

اقتباس
للتوضيح , فإن الامر السابق القيام بعمليه الـ configure التي تقوم بالتأكد بإن توزيعتك تمتلك المكتبات الضرورية لتشغيل البرنامج وما الى ذلك من متطلبات , فإن تم التأكد من ذلك سوف ينتج لديك ملف الـMakefile الذي سوف تقوم من خلاله بترجمة compile الشيفرة المصدرية للبرنامج .
ايضا يستخدم هذا الأمر لإضافة الـoptions المطلوبة.. وعادة يكون شكلها كالتالي:

./configure --option1=foo --prefix=/usr/local/install_here

من ضمن الإختيارات هو prefix ومعظم البرامج تستخدمه، وهذا معناه اين تريد تنصيب البرنامج بالضبط.. في نظري احب الـdefault..

وهناك اختيارات عديدة ولكل برنامج اختياراته الخاصة.. لذا افضل شيء قبل الشروع بـconfigure لازم كتابة الأمر التالي:

./configure --help

والذي سيعرض جميع الoptions والتي يجب مراجعتها قبل كل شيء

اقتباس
make

make install

قبل تطبيق make install بعض البرامج تعطيك احتمال آخر وهو make test (كالMySQL مثلا) والذي سيقوم بإجراء بعض التجارب قبل الشروع بتثبيت البرنامج في المسار المطلوب (سواءا المسار الـdefault او حسبما ذكرته مع prefix)

اقتباس
make uninstall
ليس جميع البرامج تدعم هذا..

افضل طريقة في نظري هو بإستخدام ports اذا كنت على FreeBSD، أو emerge إذا كنت على gentoo.. أو RPM اذا كنت على RedHat.. اوي الطريقة التي يستخدمها التوزيعة التي تستخدمها.. فهي تسهل عليك عملية مراجعة البرامج المنزلة + عملية تحديثها بصورة ملحوظة..

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

post-21836-1257612765.gif

before asking: smart questions how-to

#5

جزيت خيراً اخي eech55 على تعقيبك الاروع :rolleyes: ..

اقتباس
make uninstall

ليس جميع البرامج تدعم هذا..

هذا صحيح , ولكن اعتقد انه في البرامج القديمة , فاغلب البرامج الحديثه تدعم الاختيار uninstall ..

اقتباس
افضل طريقة في نظري هو بإستخدام ports اذا كنت على FreeBSD، أو emerge إذا كنت على gentoo.. أو RPM اذا كنت على RedHat.. اوي الطريقة التي يستخدمها التوزيعة التي تستخدمها.. فهي تسهل عليك عملية مراجعة البرامج المنزلة + عملية تحديثها بصورة ملحوظة..

ولكن الكثيرين من مستخدمي اللينكس المتقدمين يفضلون عمليه الـcompile , لانهم يرون انها تعطيهم مرونه اكثر ..

ولكن كما قلت , افضل طريقة بنظري هي بإستخدام الحزم , لانها توفر الكثير من العناء خصوصاً في وقت التركيب خاصه في البرامج الكبيرة ..

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#6
اقتباس
ولكن الكثيرين من مستخدمي اللينكس المتقدمين يفضلون عمليه الـcompile , لانهم يرون انها تعطيهم مرونه اكثر ..

ولكن كما قلت , افضل طريقة بنظري هي بإستخدام الحزم , لانها توفر الكثير من العناء خصوصاً في وقت التركيب خاصه في البرامج الكبيرة ..

لا ادري لماذا نسبة نجاح العملية دائما 15% بالنسبة لدي ..

اغلب البرامج اعملها الـcompile ولكنها تظهر لي دائما اخطاء اما الqt قديم - وهو جديد - واخطاء كثيرة ..

تصل لدرجة اني لا احمل هذه البرامج!!

#7

كلامك صحيح اخي عبدالكريم , فهذا الحال مع الكثيرين , وخاصة اثناء عملية الـ configure .

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

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

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#8

محمد معاشر

اقتباس
ولكن الكثيرين من مستخدمي اللينكس المتقدمين يفضلون عمليه الـcompile , لانهم يرون انها تعطيهم مرونه اكثر ..

ولكن كما قلت , افضل طريقة بنظري هي بإستخدام الحزم , لانها توفر الكثير من العناء خصوصاً في وقت التركيب خاصه في البرامج الكبيرة ..

الـPorts و الـemerge يقومون بعملية الـcompile :).. لكنها automatic بينما الطريقة التي ذكرتها manual.. computerwork.gif

يعني الـports في الـFreebsd والـemerge في gentoo يقوم بـdownload ثم configure ثم make ثم make install.. وكل هذا automatic GEAR_L2.gif

بالإضافة إلى هذا يقوم بتثبيت الـdependencies تلقائيا.. وهذا احد الأسباب لماذا تفشل مع المبرمج عبد الكريم، لانه عنده مشاكل في الـdependencies.

ليس هذا فحسب بل يقوم بتنظيم البرنامج، يخبرك نزلت ماذا وماهي رقم الإصدارة وأوامر من خلالها تسهل قضية الـ update

وعوضا من- configure لكل برنامج وانتقاء الإختيارات، تقوم بصنع configure للـsystem كاملا وهو يقوم بتطبيقه تلقائيا لجميع البرامج التي تنزلها..

كما أن كل نظام يختلف ولو بالقليل، لهذا السبب يقومون بوضع patches للـsource file بحيث يعمل من دون مشاكل مع توزيعة اليونكس التي تستخدمها..

الخلاصة لا يوجد عذر للقيام بالعملية manually إلا في حالة كنت طالب علم وتريد تعلم الخطوات، او مطور برامج..

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

post-21836-1257612765.gif

before asking: smart questions how-to

#9
اقتباس
الخلاصة لا يوجد عذر للقيام بالعملية manually إلا في حالة كنت طالب علم وتريد تعلم الخطوات، او مطور برامج..

وما الحل في ماندريفا وفيدورا؟

#10

ماشاء الله عليك اخي eech55 , يجب ان تتم ترقيتك من "خبير" الى "موسوعه" :D . زادك الله علما ونفع بك ..

بالنسبة للـ ports و emerge اخي eech55 فلايوجد لدي فكرة عن عملهما لاني لم اتعامل مع FreeBSD او الـ Gentoo , ولكن من توضيحك فانهما تبدوان قويتان ..

اما بخصوص حزم الـ rpm و dep فانهما بحد علمي لاتقوما بعمليه الترجمة لان الشيفرة المصدرية اصلاً قد تم عمل ترجمة لها compile وتم وضع ملفات الثنائية (binaries) الناتجة من الترجمة في الحزمة , فتقوم الحزمة فقط بالتأكد من وجود المكتبات التي يعتمد عليها البرنامج (dependencies) , ومن ثم تنسخ ملفات الـ bins الى التوزيعه وعمل الـ symbolic-link (الاختصارات) في القوائم وما الى ذلك ..

اقتباس
وما الحل في ماندريفا وفيدورا؟

الحل سيكون بإستخدم الحزم rpm او بعض البرامج تأتي بشكل bin installer ..

تم تعديل هذه المشاركة بواسطة محمد معاشر في 27 أكتوبر 2006 في 22:27

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#11

ألف شكر على الردود

النسخة التي أعمل عليها هي suse 10.1

حاولت تشغيل الـ netbean 5.0 و اشتغل الـ installer داخل الشل ,,, لكن من البداية يكتب لي no JVM

طبعا لتحميل الـ JDK من موقع sun تظهر الرسالة الرائعة : can't download because of your location

لذلك أظن أنني سأبقى أسير windows

because my location

:(

تم تعديل هذه المشاركة بواسطة malek_sa في 28 أكتوبر 2006 في 02:54

SCJP 5.0

#12

ماهي الحرية التي يدعونها هولاء ؟!! , بسبب انك في سوريا لاتستطيع تحميل الـ JDK ؟؟ ..

على العموم هل حاولت البحث عن الـ JDK بشكل تورنت ؟

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#13
اقتباس
can't download because of your location

malek_sa راجع الرسائل الخاصة بك وستجد حل هذه المشاكل ..

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

اقتباس
الحل سيكون بإستخدم الحزم rpm او بعض البرامج تأتي بشكل bin installer ..

أغلب البرامج تأتي source code خاصة برامج kde , فما الحل هنا؟

وهناك برامج كثيرة في موقع kde كلما احمل منها برنامج تفشل عملية الـ configure , واذا نجحت تفشل عملية make وتظهر لي رسالة خطأ في السطر كذا...

جرب مثلا برنامج kiso

وشكرا لكم جميعا...

#14
اقتباس
أغلب البرامج تأتي source code خاصة برامج kde , فما الحل هنا؟

هذا صحيح ولكن في البرامج القديمة , والتي يمكن ان يتم عمل Compile لها بشكل طبيعي . البرامج الحديثه الان تأتي مع اختيار تحميل حزم rpm او deb لتنصيبها ..

اذا كنت تستخدم توزيعه مثل Fedora , يمكنك استخدام اداه الـ yum التي تسهل عمليه تركيب البرامج وجلبها من النت .

اما اذا كنت تستخدم مثلاً توزيعه مثل Ubuntu , فهناك اداه تسمى رائعه تسمى apt تسهل عمليه جلب البرامج من النت وتركيبها .

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#15

مشكور أخي عبدالكريم

SCJP 5.0

#16

ولهذا اخترعو rpm

الافضل عند تثبيت البرامج ان تبحث عن البرنامج في صيغة rpm حتى يكون التثبيت اسهل

ويفضل استخدام yum او apt او yast لحل مشاكل الاعتمادية

يمكنك توفير ساعات من العمل بأستخدام yum .. فلا داعي للتعب مع السورس كود

There's no place

like 127.0.0.1

هذا الموضوع مغلق.

مواضيع مشابهة