المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : لينكس الحل الفعال لتركيب البرامج



بن سيف
15-10-2004, 12:04 PM
السلام عليكم
اصعب مشكلان الينكس هي تركيب البرامج والذي يزيد الطين بله هو تنوع توزيعات الينكس كان تجد ريدهات سوزي مندريك الخ وكل تنوزيعه تحتاج الى نسخه خاصه من البرامج التي تريد تركيبها بمعنى لو انك رغبت بتركيب برنامج ftp وتمتلك سوزي على جهازك يجب في البدايه ان تبحث وتجد اصداره مخصصه للسوزي من برنامج ال ftp الذي توي تثبيته
بعد ان تجد النسخه المطابقه لتوزيعتك يجب ان تفهم طريقت تركيبه

لذالك اعتقد ان طرح موضوع حول هذه المشكله اعتقد انه مهم جدا ويجب ان يعطى اهتمام كبير من قبل الفاهمين في الينكس

وانا احد الذين يجهلون تركيب البرامج على الينكس حيث اني جاولت تركيب برنامج ftp ولم يكن امامي غير الفشل

BESHR20006
15-10-2004, 10:41 PM
انظر كتاب لينكس الشامل
جزء من الشرح

الحزم الجاهزة كتاب لينكس الشامل (http://daif.net/linux/ar/ar/index.html)>> الحزم الجاهزة



قبل البدء

توفر معظم المواقع برامجها على شكل ملف مصدري أما البرامج الجاهزة توزع على شكل حزم وتعتمد كل توزيعة نظام معين لإدارة هذه الحزم يؤمن معرفة الحزم المثبتة وإزالتها وتحديثها والعلاقات بينها (هذه تعتمد على تلك) وهناك ثلاث أنواع منتشرة rpm (أي RedHat Package Mangment) متوفر في ريدهات وشبيهاتها مثل ماندريك هي GPLed أي ليست مقتصرة على ريدهات حيث توفر معظم التوزيعات هذه الأداة أو على الأقل أداة للتحويلها لنظام تلك التوزيعة ومن الأنظمة الأخرى deb (من توزيعة Debian) و tgz (في توزيعة Slackware)

قبل البدء بالبحث عن برنامج معين على الشبكة ابحث عنه في أقراص التوزيعة التي لديك،يمكنك استخدام الأدوات التي توفرها التوزيعة للبحث عن البرامج وتركيبها مثلا في ماندريك اذهب الى مركز التحكم ثم أكتب كلمة سر الجذر ثم انقر على الحزم ثم اضافة
Mandrake Control Center -> Packages -> add
عندها تستطيع البحث أو تركيب حزمة معينة. كما تمكنك الأداة redhat-config-packages من ريدهات بعمل مشابه ولكنه أقل مرونة فهناك قائمة بالحزم تختار من خلالها دون إمكانية البحث..

http://daif.net/linux/ar/images/redhat-config-packages.png (http://daif.net/linux/ar/images/redhat-config-packages.png)

تمرين
جرب أن تركب باستعمال مركز تحكم ماندريك هذه البرامج: مشغل برامج ويندوز (wine) وهذه الألعاب rocksndiamons و frozenbubbles و marbels و lbreakout2 ثم اذهب إلى run او سطر الأوامر ونفذها مثلا بكتابة wine sol


http://daif.net/linux/ar/images/tip.gifتلميح لتثبيت ملف rpm في ماندريك يكفي النقر(المزدوج) عليه ثم إدخال كلمة سر الجذر. هذا إذا كانت الحزمة مصممة لماندريك ومن مواقعها انظرفصل ما بعد التثبيت (http://daif.net/linux/ar/ar/postsetup.html)





http://daif.net/linux/ar/images/warning.gifتحذير تثبيت الحزم يحتاج لأن تكون المستخدم الجذر فإذا حاولت تثبيتها بالمستخدم العادي قد تحصل على خطأ لا يقول لك صراحة أنك يجب أن تكن جذراً بل "لا يمكن الوصول لملف كذا ..." أو "لا يمكن الكتابة في ملف كذا" ،


الحزم المصممة لتوزيعة تعمل على أخرى،ولكن هناك مشكلة الإعتماد أي أن تكون الحزمة الفلانية تعتمد على إصدار من مكتبة معينة أحدث من التي لديك عندها عليك ترقية المكتبة فإذا قلنا أن هذه الحزمة مصممة لريدهات 8.0 وحاولت تركيبها على ريدهات 7.2 ربما ستعطيك أنك بحاجة إلى مكتبة glibc 3.2 مثلا وأنت تملك نسخة 2.9 مثلا فعليك ترقية المكتبة أولا (تثبيت حزمة المكتبة المذكورة) ثم تثبت الحزمة التي تريد.



تعتمد بعض الحزم على نوع المعالج وأخرى لا تعتمد (مثل الحزم المصدرية أو حزم الوثائق والمؤثرات ...) ويكتب عادة اسم المعالج قبل نوع الحزمة مثل
kernel-2.4.21.i586.rpmkernel-2.4.20.athlon.rpmgcc-3.2.ppc.rpmmplayer-0.9.i386.rpmwinex-20032203.src.rpmxmms-skins-1.8.noarch.rpm
تعمل حزم noarch,src على كل الأجهزة لأنها ليست برامج جاهزة. أما i386 فهي تعمل على كل عائلة انتل من هذا الطراز فصاعدا(بما في ذلك البنتيوم). i586 لا تعمل إلا على البينتوم فصاعدا. نظريا تعمل i586 اسرع من i386. i686 تعني بينتيوم 2 فما فوق أما athlon فهي ل AMD Athlon و Duton ويمكن لحزم i386 أن تعمل ولكن بسرعة أقل ولمعرفة نوع المعالج لديك اكتب



archcat /proc/cpuinfo


حزم تعريف الأجهزة تصمم لنوع معين من الأنوية لذا عليك باختيار الحزمة التي تتناسب واصدار النواة التي لديك استخدم الأمرين
rpm -q /boot/vmlinuz # سيرد شرحه أدناهuname -r
وهنا تكون i386 أو i586 ليست حسب ذوقك وإنما حسب النواة




حزم rpm



إقرأ دليل استخدام rpm بطباعة man rpm وانظر ماهي الخيارات المتوفرة. لدينا الخيارات التالية : الإستفسار عن حزمة أو ملف، تثبيت حزمة معينة، .إزالة حزمة مثبتة
الإستفسار عن حزمة أو ملف

لمعرفة معلومات عن حزمة من ملف الحزمة(ربما الحزمة غير مثبتة)

rpm -qi -p PACKAGE-VER.ARCH.rpm
إذا كانت مثبتة يمكنك الاستفسار عنها أيضا (أزل الخيار -p) ثم اسم الحزمة (لا داع للإصدار) مثلاً rpm -qi gpm لاحظ الخيار i يعني info أي معلومات. إذا كنت تريد معرفة الملفات التي تحتويها حزمة معينة استعمل -l أي list مثلاً rpm -ql mysql. هل تساءلت مرة أين هي وثئق حزمة معينة! بسيطة -d مثلاً rpm -qd mysql. أين هي ملفات إعداد apache ؟ استعمل -c مثلا rpm -qc apache2 في ريدهات يسمونه httpd لهذا rpm -qc httpd للإستفسار ومعرفة إلى أي حزمة ينتمي الملف الفلاني

rpm -q -f /PATH/TO/FILErpm -q -f `which COMMAND`
لاحظ استخدام الأمر which لمعرفة المسار للأمر معين
هل تظن أنك حذفت ملف؟ ربما قمت بإجبار تنزيل حزمة دون استيفاء الاعتمادية الخاصة بها. يمكنك مراجعة نظام الحزم كاملاً

bash# rpm -Va


تثبيت حزمة أو ترقيتها



يجب أن تكون جذرا لتثبت حزمة،أفضل طريقة لتثبيت حزمة هي
rpm -Uvh PACKAGE-VER.ARCH.rpm
هذه الطريقة تعطيك مؤشر من # يتحرك أثناء التثبيت ، وتفحص اذا كانت هذه الحزمة مثبتة مسبقا فاذا كانت كذلك تستبدل القديمة بالجديدة، أما اذا كنت تريده أن يثبت الحزمة اذا لم تكن مجودة ويخرج دون فعل شيء اذا كانت مثبتة مسبقا

rpm -ivh PACKAGE-VER.ARCH.rpm
لتثبيت حزمة مصدرية

rpm --rebuild PACKAGE-VER.src.rpm
ويمكنك اذا كنت تملك معالج AMD(مثلا Athlon) أن تستفيد أن تستفيد من كامل مزاياه وستحصل لى برنامج سريع جدا rpm --rebuild --target=athlonPACKAGE-VER.src.rpm وأيضا لمعالجات انتل (ربما في انتل لن تحس بفرق كبير) هذا الأمر rpm --rebuild --target=i686PACKAGE-VER.src.rpm
إزالة حزمة

يجب أن تكون جذرا لتزيل حزمة،هذا هو الأمر

rpm -e PACKAGE-VER
معنى الخيارات : U (Up-Grade),i (install),v (verbos),h (hash[#]),e (erase)
هذه أمثلة على كل ذلك

تطبيق عملي


bash$ rpm --help# gives you help about itbash$ man rpm# Shows the manual pages of rpmbash$ rpm -qi /mnt/cdrom/RedHat/RPMS/ggv*.rpm# Gives some info about ggvbash$ rpm -q /boot/vmlinuzkernel-2.4.18.i586bash$ rpm -q `which sol`gnome-gamesbash$ su rootpassword:********bash# rpm -Uvh /mnt/cdrom/Mandrake/RPMS2/*xmms*.rpmlib-xmms: ########################################xmms: ########################################xmms-smpg: ########################################xmms-skins: ########################################bash# exitbash$
مثلا لنفرض أن لديك مجموعة حزم MPlayer التي تحدثنا عنها وتريد تثبيتها موجودة في مجلد البيت اكتب الأوامر التالية

# لنعرف أين نحنbash$ pwd/home/ahmad# لنعرض الملفات الموجودةbash$ ls mplayer*.rpmmplayer-common-1.0pre2-1.i386.rpm mplayer-1.0pre2-1.i386.rpmmplayer-gui-1.0pre2-1.i386.rpm mplayer-skin-default-1.0-2.noarch.rpm# لتصبح جذراbash$ supassword:bash# rpm -Uvh mplayer*.rpmmplayer-common: ########################################mplayer: ########################################mplayer-gui: ########################################mplayer-skin-default: ######################################### نعود مستخدم عاديbash# exitbash$
أما اذا حاولنا تثبيت كل من الملفات الأربعة لوحده ستفشل لأنها تعتمد على بعضها لهذا استعملنا mplayer*.rpm التي تنوب عن الملفات الأربعة


حزم deb

حزم deb هي الطريقة المعتمدة في ديبيان نتعامل معها من خلال dpkg لتثبيت الحزمة نكتب dpkg -i PACKAGE_FILE_NAME.deb ولإزالتها dpkg -r PACKAGE_NAME



حزم tgz

من أكثر أنظمة الحزم بساطة (أي أنها لم تغلب من صممها ) هل عرفتم من هم ؟ نعم توزيعة الكسولين slackware فهي مجرد أرشيف مضغوط يحتوي على نصوص برمجية للتثبيت والإزالة لتثبيتها نستخدم الأداة installpkg و لأزلتها نستخدم removepkg



الحاجة لجيل جديد من الأدوات

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

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



طريقة apt-get

من الطرق الجديدة السهلة المستخدمة في ديبيان وريدهات (طبعا اصدار ريدهات يتعامل مع rpm و الآخر مع deb) التي تستخدم لتجاوز صعوبات معينة مثل الإعتمادية حيث يقوم هو باختيار الحزم تلقائياً من الدليل الحالي أو من أقراص التوزيعة ويمكن استخدامها لتحديث كل حزم نظامك من موقع على الشبكة الموقع الرسمي هو www.apt-get.org (http://daif.net/linux/ar/ar/www.apt-get.org) ... التفاصيل قريباً



طريقة urpmi في ماندريك

طريقة تمتاز بها ماندريك عن غيرها توفر امكانيات تشبه apt-get وهي تقوم بمهام برنامج rpmdrake من سطر الأوامر الموقع الرسمي هو www.urpmi.org (http://daif.net/linux/ar/ar/www.urpmi.org) لتنزيل حزمة ومستلزماتها اكتب urpmi mypackage ولإزالة حزمة وكل ما يعتمد عليها urpme mypackage لتحديث قائمة الحزم اكتب urpmi.update -a ولتقوم بتحديث كل الحزم لديك من موقع urpmi --update --auto-select ولترقية نظامك urpmi --auto-select ولتعرض الملفات الموجودة في حزمة urpmf mypackage.rpm ولتعرف الملف يتبع أي حزمة urpmf myfile ولعرض البرامج التي لا تعتمد على شيء urpmi_rpm-find-leaves


شكراً لعلاء من منتدى مصر على هذه المعلومات عن urpmi



http://daif.net/linux/ar/images/warning.gifتحذير إذا كنت تستعمل ماندريك بالعربي قد تظهر الرسائل مترجمة للعربية على رموز لأن الطرفية لا تدعمها شغلها بالإنجليزية LC_ALL=C urpmi mypackage.rpm




طريقة slack-get

رد slackware على apt-get

<< السابق (http://daif.net/linux/ar/ar/text.html)كتاب لينكس الشامل (http://daif.net/linux/ar/ar/index.html)التالي >> (http://daif.net/linux/ar/ar/source.html)

mobarmeg
16-10-2004, 12:21 AM
واوووووووو جميل

kaldonnn
20-10-2004, 12:40 AM
منذ زمن وانا احب ان اغير النظام باكملة واستغني عن الويندوز دون فائدة
لانة سيطر علينا تماما ولا يوجد شي يغنينا عنة الا اذا تعاونا جميعا
يا اهل الخبرة نريد ان نعرف من منكم جرب الينوكس ؟
وهل استطاع تعريف كرت الستالايت ويشاهد محطات كيف تم ذلك؟؟؟؟؟
وهل نستطيع ان نشاهد المحطات وانزال البرامج ؟؟؟؟؟
ماهو البرنامج الذي عمل علية ؟؟؟؟
اي شي يفيدنا ويفيد المنتدى
روابط تجارب اي شي بهذا الخصوص مع العلم ان الينوكس قوي جدا وانا شخصيا اعمل علية
ولاكن نريد ساحة حوار حول الموضوع
الينوكس وكرت الستالايت
لكي يكتمل هذا المنتدى الرائع
وشكرا لكم ولهذا المنتدى