السلام عليكم
عندما أحمل أي برنامج من النت يعمل على Linux أحصل على ملف .bin و أحيانا على الـ source code
كيف يمكنني تنزيل هذه البرامج ....
السلام عليكم
عندما أحمل أي برنامج من النت يعمل على Linux أحصل على ملف .bin و أحيانا على الـ source code
كيف يمكنني تنزيل هذه البرامج ....
SCJP 5.0
بالنسبة لملفات الـ 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
بارك الله فيك محمد معاشر شرحك رائع..
لدي اضافة بسيطة على كلامك حتى يتوضح الأمر اكثر بالنسبة لـmalek_sa
ايضا يستخدم هذا الأمر لإضافة الـoptions المطلوبة.. وعادة يكون شكلها كالتالي:اقتباسللتوضيح , فإن الامر السابق القيام بعمليه الـ configure التي تقوم بالتأكد بإن توزيعتك تمتلك المكتبات الضرورية لتشغيل البرنامج وما الى ذلك من متطلبات , فإن تم التأكد من ذلك سوف ينتج لديك ملف الـMakefile الذي سوف تقوم من خلاله بترجمة compile الشيفرة المصدرية للبرنامج .
./configure --option1=foo --prefix=/usr/local/install_here
من ضمن الإختيارات هو prefix ومعظم البرامج تستخدمه، وهذا معناه اين تريد تنصيب البرنامج بالضبط.. في نظري احب الـdefault..
وهناك اختيارات عديدة ولكل برنامج اختياراته الخاصة.. لذا افضل شيء قبل الشروع بـconfigure لازم كتابة الأمر التالي:
./configure --help
والذي سيعرض جميع الoptions والتي يجب مراجعتها قبل كل شيء
اقتباسmakemake install
قبل تطبيق make install بعض البرامج تعطيك احتمال آخر وهو make test (كالMySQL مثلا) والذي سيقوم بإجراء بعض التجارب قبل الشروع بتثبيت البرنامج في المسار المطلوب (سواءا المسار الـdefault او حسبما ذكرته مع prefix)
ليس جميع البرامج تدعم هذا..اقتباسmake uninstall
افضل طريقة في نظري هو بإستخدام ports اذا كنت على FreeBSD، أو emerge إذا كنت على gentoo.. أو RPM اذا كنت على RedHat.. اوي الطريقة التي يستخدمها التوزيعة التي تستخدمها.. فهي تسهل عليك عملية مراجعة البرامج المنزلة + عملية تحديثها بصورة ملحوظة..
إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.
before asking: smart questions how-to
اقرأ ملف INSTALL أو README قبل أن تبدأ في العملية
لينوكس Linux
برنامج الأربعين النووية, من برمجتي
بي اتش بي PHP
لا يوجد حاليا...
فيجوال بيسيك 6
الربط بين VisualBasic6 و SWiSH 2.0
شرح ملف المصادر Resource Editor
اسهل طريقة لعمل شورتكات (الاختصارات)
تعطيل alt+ctrl+del في ويندوز xp
تحويل التاريخ من الهجري إلى الميلادي والعكس
فيجوال بيسيك.نت
لا يوجد حاليا...
C++ With Qt
جزيت خيراً اخي eech55 على تعقيبك الاروع :rolleyes: ..
اقتباسmake uninstallليس جميع البرامج تدعم هذا..
هذا صحيح , ولكن اعتقد انه في البرامج القديمة , فاغلب البرامج الحديثه تدعم الاختيار uninstall ..
اقتباسافضل طريقة في نظري هو بإستخدام ports اذا كنت على FreeBSD، أو emerge إذا كنت على gentoo.. أو RPM اذا كنت على RedHat.. اوي الطريقة التي يستخدمها التوزيعة التي تستخدمها.. فهي تسهل عليك عملية مراجعة البرامج المنزلة + عملية تحديثها بصورة ملحوظة..
ولكن الكثيرين من مستخدمي اللينكس المتقدمين يفضلون عمليه الـcompile , لانهم يرون انها تعطيهم مرونه اكثر ..
ولكن كما قلت , افضل طريقة بنظري هي بإستخدام الحزم , لانها توفر الكثير من العناء خصوصاً في وقت التركيب خاصه في البرامج الكبيرة ..
اقتباسولكن الكثيرين من مستخدمي اللينكس المتقدمين يفضلون عمليه الـcompile , لانهم يرون انها تعطيهم مرونه اكثر ..ولكن كما قلت , افضل طريقة بنظري هي بإستخدام الحزم , لانها توفر الكثير من العناء خصوصاً في وقت التركيب خاصه في البرامج الكبيرة ..
لا ادري لماذا نسبة نجاح العملية دائما 15% بالنسبة لدي ..
اغلب البرامج اعملها الـcompile ولكنها تظهر لي دائما اخطاء اما الqt قديم - وهو جديد - واخطاء كثيرة ..
تصل لدرجة اني لا احمل هذه البرامج!!
لينوكس Linux
برنامج الأربعين النووية, من برمجتي
بي اتش بي PHP
لا يوجد حاليا...
فيجوال بيسيك 6
الربط بين VisualBasic6 و SWiSH 2.0
شرح ملف المصادر Resource Editor
اسهل طريقة لعمل شورتكات (الاختصارات)
تعطيل alt+ctrl+del في ويندوز xp
تحويل التاريخ من الهجري إلى الميلادي والعكس
فيجوال بيسيك.نت
لا يوجد حاليا...
C++ With Qt
كلامك صحيح اخي عبدالكريم , فهذا الحال مع الكثيرين , وخاصة اثناء عملية الـ configure .
وحتى اذا كان لديك الاصدار الجديد من المكتبة , فإن بعض البرامج قد تتطلب اصدار اقدم وينتهي المطاف بعدم القدرة على الاستمرار في عملية الترجمة . لذى يكون الحل في الغالب هو تحديث المكتبات اول بأول .
لذلك يتجة الكثيرين الى استخدام الحزم لانها تقفز بنا فوق عملية الترجمة .
محمد معاشر
الـPorts و الـemerge يقومون بعملية الـcompile :).. لكنها automatic بينما الطريقة التي ذكرتها manual..اقتباسولكن الكثيرين من مستخدمي اللينكس المتقدمين يفضلون عمليه الـcompile , لانهم يرون انها تعطيهم مرونه اكثر ..ولكن كما قلت , افضل طريقة بنظري هي بإستخدام الحزم , لانها توفر الكثير من العناء خصوصاً في وقت التركيب خاصه في البرامج الكبيرة ..

يعني الـports في الـFreebsd والـemerge في gentoo يقوم بـdownload ثم configure ثم make ثم make install.. وكل هذا automatic 
بالإضافة إلى هذا يقوم بتثبيت الـdependencies تلقائيا.. وهذا احد الأسباب لماذا تفشل مع المبرمج عبد الكريم، لانه عنده مشاكل في الـdependencies.
ليس هذا فحسب بل يقوم بتنظيم البرنامج، يخبرك نزلت ماذا وماهي رقم الإصدارة وأوامر من خلالها تسهل قضية الـ update
وعوضا من- configure لكل برنامج وانتقاء الإختيارات، تقوم بصنع configure للـsystem كاملا وهو يقوم بتطبيقه تلقائيا لجميع البرامج التي تنزلها..
كما أن كل نظام يختلف ولو بالقليل، لهذا السبب يقومون بوضع patches للـsource file بحيث يعمل من دون مشاكل مع توزيعة اليونكس التي تستخدمها..
الخلاصة لا يوجد عذر للقيام بالعملية manually إلا في حالة كنت طالب علم وتريد تعلم الخطوات، او مطور برامج..
إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.
before asking: smart questions how-to
اقتباسالخلاصة لا يوجد عذر للقيام بالعملية manually إلا في حالة كنت طالب علم وتريد تعلم الخطوات، او مطور برامج..
وما الحل في ماندريفا وفيدورا؟
لينوكس Linux
برنامج الأربعين النووية, من برمجتي
بي اتش بي PHP
لا يوجد حاليا...
فيجوال بيسيك 6
الربط بين VisualBasic6 و SWiSH 2.0
شرح ملف المصادر Resource Editor
اسهل طريقة لعمل شورتكات (الاختصارات)
تعطيل alt+ctrl+del في ويندوز xp
تحويل التاريخ من الهجري إلى الميلادي والعكس
فيجوال بيسيك.نت
لا يوجد حاليا...
C++ With Qt
ماشاء الله عليك اخي eech55 , يجب ان تتم ترقيتك من "خبير" الى "موسوعه" :D . زادك الله علما ونفع بك ..
بالنسبة للـ ports و emerge اخي eech55 فلايوجد لدي فكرة عن عملهما لاني لم اتعامل مع FreeBSD او الـ Gentoo , ولكن من توضيحك فانهما تبدوان قويتان ..
اما بخصوص حزم الـ rpm و dep فانهما بحد علمي لاتقوما بعمليه الترجمة لان الشيفرة المصدرية اصلاً قد تم عمل ترجمة لها compile وتم وضع ملفات الثنائية (binaries) الناتجة من الترجمة في الحزمة , فتقوم الحزمة فقط بالتأكد من وجود المكتبات التي يعتمد عليها البرنامج (dependencies) , ومن ثم تنسخ ملفات الـ bins الى التوزيعه وعمل الـ symbolic-link (الاختصارات) في القوائم وما الى ذلك ..
اقتباسوما الحل في ماندريفا وفيدورا؟
الحل سيكون بإستخدم الحزم rpm او بعض البرامج تأتي بشكل bin installer ..
تم تعديل هذه المشاركة بواسطة محمد معاشر في 27 أكتوبر 2006 في 22:27
ألف شكر على الردود
النسخة التي أعمل عليها هي 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
ماهي الحرية التي يدعونها هولاء ؟!! , بسبب انك في سوريا لاتستطيع تحميل الـ JDK ؟؟ ..
على العموم هل حاولت البحث عن الـ JDK بشكل تورنت ؟
اقتباسcan't download because of your location
malek_sa راجع الرسائل الخاصة بك وستجد حل هذه المشاكل ..
والله يعينكم من حريتهم ..
اقتباسالحل سيكون بإستخدم الحزم rpm او بعض البرامج تأتي بشكل bin installer ..
أغلب البرامج تأتي source code خاصة برامج kde , فما الحل هنا؟
وهناك برامج كثيرة في موقع kde كلما احمل منها برنامج تفشل عملية الـ configure , واذا نجحت تفشل عملية make وتظهر لي رسالة خطأ في السطر كذا...
جرب مثلا برنامج kiso
وشكرا لكم جميعا...
لينوكس Linux
برنامج الأربعين النووية, من برمجتي
بي اتش بي PHP
لا يوجد حاليا...
فيجوال بيسيك 6
الربط بين VisualBasic6 و SWiSH 2.0
شرح ملف المصادر Resource Editor
اسهل طريقة لعمل شورتكات (الاختصارات)
تعطيل alt+ctrl+del في ويندوز xp
تحويل التاريخ من الهجري إلى الميلادي والعكس
فيجوال بيسيك.نت
لا يوجد حاليا...
C++ With Qt
اقتباسأغلب البرامج تأتي source code خاصة برامج kde , فما الحل هنا؟
هذا صحيح ولكن في البرامج القديمة , والتي يمكن ان يتم عمل Compile لها بشكل طبيعي . البرامج الحديثه الان تأتي مع اختيار تحميل حزم rpm او deb لتنصيبها ..
اذا كنت تستخدم توزيعه مثل Fedora , يمكنك استخدام اداه الـ yum التي تسهل عمليه تركيب البرامج وجلبها من النت .
اما اذا كنت تستخدم مثلاً توزيعه مثل Ubuntu , فهناك اداه تسمى رائعه تسمى apt تسهل عمليه جلب البرامج من النت وتركيبها .
ولهذا اخترعو rpm
الافضل عند تثبيت البرامج ان تبحث عن البرنامج في صيغة rpm حتى يكون التثبيت اسهل
ويفضل استخدام yum او apt او yast لحل مشاكل الاعتمادية
يمكنك توفير ساعات من العمل بأستخدام yum .. فلا داعي للتعب مع السورس كود
There's no place
like 127.0.0.1
هذا الموضوع مغلق.