الرئيسيةالتسجيلدخول

شاطر | 
 

 شرح تنزيل البرامج بrpm

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
Tiger
مشرف
مشرف


ذكر
عدد الرسائل : 1619
العمر : 27
تاريخ التسجيل : 22/02/2008

مُساهمةموضوع: شرح تنزيل البرامج بrpm   الإثنين أبريل 13, 2009 3:23 am

السلام عليكم ورحمة الله وبركاته

اليوم سوف يكون الموضوع سهل وبسيط ولفيدورا واخواتها فقط , عن rpm و ايضا yum لن يضر
اولا معنى : rpm قديما كانت تعني Red Hat Package Manger ولكن عفا على
الهذا المصلح الزمن وتغير ليكون Rpm Package Manger لانه لم يعد يستخدما
بواسطة ريدهات فقط
وأضف الى ذلك انه تم اعتماده كمدير للحزم اساسيا فى Linux Standard Base ( قاعدة لينكس الاساسية ) وهو مشروع بدعم من مؤسسة اللينكس (Linux Foundation)
وصراحه هو يستحق ذلك لانه خفيف وسهل الاستخدام جدا ومشاكله نادره جدا جدا
, على عكس apt-get واللذى يجد الكثير من مستخدمية مشاكل معه
والواجهه التى يستخدمها هى yum وهى يمكنها التعامل مع كافة المستودعات
بطريقة سلسة ولو أن اكثر ما يشكو منه الجميع هو انه يقوم كل مره تقوم فيها
بتثبيت برنامج يقوم بتحديث المستودعات , ولكن هذا ليس سيئا فهذا يضمن لك
انك سوف تقوم بتثبيت اخر اصدار للبرنامج واللذى غالبا مايحتوى على اضافات
وتحسينات , فضلا عن ذلك لا احد يقوم بتثبيت حزم كل الوقت , لذلك هذا شخصيا
لا اعده عيب بل ميزه
ومن الجدير بالذكر ايضا أن مبرمجي الاداه يستخدم قاعدة البيانات sqlite
لتخزين معلومات الحزم واعتماديات الحزم على بعضاه ومعلومات أخرى , وهى
قاعدة بيانات سهلة بسيطه و سريعة يتم استخدامها حديثا مع الكثير من
التطبيقات
ثانيا بعض من حلوى rpm : البحث عن حزم (لاحظ أنك مع الامر rpm تبحث عن حزم
مثبته فعليا ولكي تبحث عن حزم لكى تثبتها استخدم yum ), يمكنك البحث بدون
الحاجه الى ان تكون بحساب رووت

كود:

$ rpm -q PACKAGE
PACKAG.VERSION.RELEASE.DIST.ARCHITURE




هذا يقوم بالبحث عن اى حزمة مثبته حيث PACKAGE هو اسم الحزمة بالكامل مثل gnome-terminal , totem , xorg-x11-xkb-utils و غيرها وسوف
VERSION : أصدار البرنامج حسب ترقيم المبرمج نفسه و غالبا ماتحتوى الجديدة على تحسينات فى البرنامج نفسه
RELEASE
: اصدر البرنامج حسب الشخص اللذى يقوم بتطويره ورعايته فى مستودع الحزم
ويتخلف فى ان كل RELEASE يختلف عن الاخر فى patches مثلا او ملف يتم
استثناءههه من الحزمه لاسباب امنية او سياسة مطورى التوزيعة وغالبا
ماتحتوى التغييرات على ترقيعات
DIST : اصدار التوزيعة مثلا fc10 لفيدورا الاصدار العاشر
ARCHITURE: نوع المعالج اللذى تم بناء الحزمة عليه , مثلا x86 للمعالجات 32 او x86_64 لمعالجات 64
هناك
احياننا حزم تسمى الحزم التطويرية وهى تحتوى على ملفات headers او مايسمى
بالكود المصدر للبرنامج ويسكون اسمها هو PACKAG-devel وهى ملفات تحتاجها
احياننا اذا اضطررت الى ان تقوم بعمل compile بنفسك لأحد الحزم (هناك بعض
الحزم اللتى تعتمد على حزم اخرى , مثلا حزمة gimp تحتاج الى gtk2 وبالتالى
عند عمل compile لحزمة gimp بنفسك سوف تحتاج الى gtk2-devel وقد لايكون
gtk2 نفسها مهما لعملية compile, لاحظ انى اتكلم عن عملية compile وهذا
مثال للايضاح لا أكثر )
هناك خيارات أخرى مع نفس الامر (rpm -q) :
i : يعطي معلومات مفصله عن الحزمة , مثل الوصف لهدف الحزمة و الرخضة
l : يظهر لك كافة ملفات الحزمة المثبته
c : يعطي مسارات ملفات ضبط البرنامج (Configuration Files)
d :يعطى مسارات ملفات التوثيق (Documentation Files)
V :يقوم بالتحقق من تغييرات او مفقودات فى ملفات حزمة معينة
f
: عندما تعطي هذا الخيار مسار ملف معين بدلا من اسم حزمة يقوم هو بإعطائك
إسم الحزمة التى تملك ذلك الملف , يمكن استخدامه مع خيارات أخرى , مثل i
أو c
--changelog : هذا الامر يجعلك محترف نوعا ما , فهو يعطيك التغييرات فى الاصدارات وما تم اضافته وما تم ازالته وما الى ذلك
لاحظوا المثال التالى

كود:

$ rpm -qfc /etc/bashrc
/etc/aliases
/etc/bashrc
/etc/csh.cshrc
/etc/csh.login
/etc/environment
/etc/exports
/etc/filesystems
/etc/fstab
/etc/group
/etc/gshadow
/etc/host.conf
/etc/hosts.allow
/etc/hosts.deny
/etc/inputrc
/etc/motd
/etc/mtab
/etc/passwd
/etc/printcap
/etc/profile
/etc/protocols
/etc/securetty
/etc/services
/etc/shadow
/etc/shells


التثبيت : rpm فقط بتعامل مع ملفات
rpm وليس مستودعات , بمعنى اخر عليك الحصول على ملف الحزمة(يجب ان تحصل
عليها من موقع ثقة حتى لايكون هناك تلاعب بها) على شكل ملف rpm لتثبيته
(يحتاج الى صلاحيات المستخدم رووت), بالامر

كود:

# rpm -i PACKAGE.rpm


الازالة : لإزالة حزمة مثته حاليا (يجب عليك ان تكون حذرا جدا جدا عند حذف اى حزمة) :

كود:

# rpm -e PACKAGE


وهناك ايضا أكثر من هذا بكثير جدا فى man , أكتب الامر

كود:

$ man rpm


هذا ما يهمنى ان اعرفكم به حاليا مع rpm , وهو الاساسى فى التعامل معه , هناك اشياء اخرى يمكنكم رؤيتها فى صفحة الدليل ^^
ثالثا : yum
هو
برنامج يسمى front end for rpm او ببساطه واجهه لتعامل مع rpm ولكن يعطيك
ميزات اكبر مثل التعامل مع المستودعات وايضا ايجاد حزم وغير ذلك
وهو
برنامج موجود تلقائيا على كل توزيعات فيدورا و اخواتها ويمكنك من التعرف
السابق فى بداية المقال رؤية كافة ملفاته وملفات الضبط وملفات التوثيق
ايضا (اى انك لم تعتد تحتاج الى بعد الان )
-البحث عن حزمة

كود:

$ yum search KEYWORK


حيث KEYWORK هى اى كلمة
تقودك للعثور على الحزمة التى تريدها , مثلا انا سمعت من احد صدقائى عن
محرر يسمى geany واريد ان اعرف هل عو موجود او لا , ببساطة اقوم بالبحث عنه
$
كود:

yum search geany
======= Matched: geany =====
geany.x86_64 : A fast and lightweight IDE using GTK2
geany-devel.i386 : Header files for building Geany plug-ins
geany-devel.x86_64 : Header files for building Geany plug-ins



ظهر هنا عدد من الحزم التى احتوت فى وصفها او اسمها كلمة geany , وكما ترون ايضا من اخر اسم الحزمة ان نظامى هو فيدورا x86_64 ,
طبعا
الحزمة التى نريدها هى geany.x86_64 وهى ملف ثنائى , تنفيذى جاهز
للاستخدام مباشرة بدون ان تقوم ببناءه من المصدر (Compile From Source )
اى انك سوف تستخدمه مبشارة بعد تثبيته
لاحظ هنا انك وجدت حزم geany التطويرية والتى قد تحتاجها اذا اضطررت الى عمل compile لبرنامج يحتاج الى geany
شئ
اخر احياننا تقوم بالبحث عن حزمة فلايظهر لك فى نتائج البحث سوى حزمة
واحدة وليست خى الحزمة التى تريدها ولا حتى وصفها يحتوى على الكلمة التى
كتبتها ,
مثلا انا احتاج الى برنامج kcachegrind لمتابعة اداء تطبيق معين عن طريقة عملية profiling وباتالى ذهبت الى yum لأسأله كالتالى

كود:

$ yum search kcachegrind
====== Matched: kcachegrind =====
kdesdk.x86_64 : The KDE Software Development Kit (SDK)


على الرغم من ان حزمة kdesdk ليست هى المطلوبة ولا حتى وصفها يحتوى كلمة kcachegrind ?
هذا
ببساطه لأن حزمة kdesdk هى عبارة من اكثر من تطبيق وليس تطبيق
واحد,والتطبيق اللذى اريده من ضمن تلك الحزمة ولهذا ظهرت فى نتامج البحث
- التثبيت : ونستخدم الخيار install ويلية اسم الحزمة كالمثال التالى لتثبيت حزمة kdesdk

كود:

# yum install kdesdk
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package kdesdk.x86_64 0:4.2.1-1.fc10 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
============================================
Package Arch Version Repository Size
============================================
Installing:
kdesdk x86_64 4.2.1-1.fc10 updates 7.2 M
Transaction Summary
============================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total size: 7.2 M
Is this ok [y/N]:

طبعا سوف يذهب yum للايجاد الحزمة
والبحث عما اذا كانت الحزمة تحتاج الى حزم اخرى للعمل بطريقة صحيحة ويعرض
لك كل شئ وحجم download اللذى سوف يقوم بعمله ويطلب منك الموافقة على بدأ
تحميل الحزمة وتثبيتها
-الحذف مع yum : تستخدم الخيار remove متبوعا
بإس الحزمة المراد ازالتها مثلا لحذف حزمة وايضا اذا كانت هناك حزم تعتمد
على هذة الحزمة سوف يخبرك أيضا بهذا ويطلب منك الوافقة , مثلا لحذف حزمة
wallpapoz

كود:

# yum remove wallpapoz


-التحديث الكامل للنظام

كود:

# yum update


*** بقى اخيرا ان نتناول
بعض مشاكل yum والتى كما قلت مسبقا صغيره وحلها اصغر , اذا وجدته توقف عند
تقطة معينة او حدثت مشاكل يمكنك تنفيذ الامر(الامر لايؤثر على الحزم
الموجوده حاليا)

كود:

# yum clean all


وسوف يثوم بمسح الكاش والاشياء الاخرى وفى حالة حدثة مشكله لاتحاول السؤال قبل تنفيذ ذلك الامر
-التعددية : مستخدمى توزيعة فيدورا يظهر لهم غالبا تنويهات بتحديثات جديدة
واحياننا يجدوها مزعجة (انا احب ان اثوم بالتحديث بمعرفتى انا) , الحل
System->Preferences->Personal->Sessions ,وهو برنامج يتكم فى
البرامج التى تعمل فور دخولك مباشرة
ثم ازال PackageKit Update Manger وهو تطبيق يقوم بعملية التحديث ويخبرك بها
-احياننا تجد ان yum يقوم بعملية تحميل او اى شئ ويعلق نهائيا ولايريد
الخروج مع Ctrl+C او اى شئ اخر وحتى لو قمت باغلاق الترمنال لن يتنهى
الامر بل سيظل yum يعمل فى الخلفية ولو حاولت اتسخدام yum سوف تظهر لك
الرسالة

كود:

Existing lock /var/run/yum.pid: another copy is running as pid 24882.
Another app is currently holding the yum lock; waiting for it to exit...


والحل هو قتل yum (مع سبق الاصرار والترصد) بالامر التالى

كود:

# killall -9 yum


مع كامل اعتذارى للتطبيق yum على قتله !
الرجوع الى أعلى الصفحة اذهب الى الأسفل
golden flower
مشرفة
مشرفة


انثى
عدد الرسائل : 2517
العمر : 28
تاريخ التسجيل : 28/04/2008

مُساهمةموضوع: رد: شرح تنزيل البرامج بrpm   السبت أبريل 18, 2009 3:50 am


تمام جدا


شكرا يا تايجر

_________________
http://gflower.computality.com/
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
شرح تنزيل البرامج بrpm
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
 :: الكمبيوتر والإنترنت :: المصادر المفتوحه-
انتقل الى: