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

مشاهدة النسخة كاملة : لينكس rpm....فى سطور!



PiXeL DrEaM
25-02-2007, 02:31 AM
rpm....فى سطور!

تثبيت وإزالة البرامج :

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

عندما نتحدث عن rpm فإننا نشير الى ثلاث امور هي :

1 – قاعدة بيانات rpm .
2 – ملفات rpm .
3 – أمر rpm لإدارة الحزم .

وسنتطرق لها بمزيد من التفصيل .

أولاً : قاعدة بيانات rpm .

عند تثبيت Red Hat Enterprise أو أي توزيعة اخرى تعتمد على نظام rpm
لإدارة الحزم يتم انشاء قاعدة بيانات ووضعها في المسار التالي :
/var/lib/rpm/
كود:
[root@l4e-laptop /]# ls -l /var/lib/rpm/
total 52352
-rw-r--r-- 1 rpm rpm 5455872 Feb 22 18:45 Basenames
-rw-r--r-- 1 rpm rpm 12288 Feb 7 02:14 Conflictname
-rw-r--r-- 1 root root 16384 Feb 22 18:44 __db.001
-rw-r--r-- 1 root root 1318912 Feb 22 18:44 __db.002
-rw-r--r-- 1 root root 450560 Feb 22 18:44 __db.003
-rw-r--r-- 1 rpm rpm 2342912 Feb 22 18:45 Dirnames
-rw-r--r-- 1 rpm rpm 10244096 Feb 22 18:46 Filemd5s
-rw-r--r-- 1 rpm rpm 24576 Feb 22 18:45 Group
+-rw-r--r-- 1 rpm rpm 20480 Feb 22 18:45 Installtid
-rw-r--r-- 1 rpm rpm 45056 Feb 22 18:45 Name
-rw-r--r-- 1 rpm rpm 36622336 Feb 22 18:45 Packages
-rw-r--r-- 1 rpm rpm 327680 Feb 22 18:45 Providename
-rw-r--r-- 1 rpm rpm 98304 Feb 22 18:45 Provideversion
-rw-r--r-- 1 rpm rpm 12288 Feb 6 17:50 Pubkeys
-rw-r--r-- 1 rpm rpm 389120 Feb 22 18:45 Requirename
-rw-r--r-- 1 rpm rpm 188416 Feb 22 18:45 Requireversion
-rw-r--r-- 1 rpm rpm 86016 Feb 22 18:45 Sha1header
-rw-r--r-- 1 rpm rpm 45056 Feb 22 18:45 Sigmd5
-rw-r--r-- 1 rpm rpm 12288 Feb 22 18:44 Triggername
[root@l4e-laptop /]#
هذا الدليل يحتوي على قواعد بيانات بجميع الحزم المثبته وأسماءها وجميع
البيانات المتعلقة بها وﻻ وينبغي التعديل عليها بأي حال من الأحوال ، لأن
إدارتها تتم عن طريق الأمر rpm “ سنتطرق له بعد قليل " .

ثانياً : ملفات rpm :

ملفات rpm ببساطة هي ارشيف يحتوي على ملفات الحزمة المراد تثبيتها ، إنها
قريبة نوعاً ما من ملفات tar ولكنها تحتوي على معلومات أكثر تفصيلاً
فمثلاً الـ header الخاص بأي حزمة rpm يحتوي على معلومات مثل اسم الحزمة
وحجمها ووصفها وإصدارها والحزم التي تعتمد عليها . وكل حزمة يتم تنسيقها
على النحو التالي :
name-version-release.architecture.rpm
amanda-2.4.4pl-0.3E.i386.rpm

حيث :

package name اسم الحزمة وهو الذي نستخدمه عند الاستعلام عن حزمة معينة
أو محاولة إزالتها من النظام .
version number اصدارة الحزمة . وهذا الرقم هو الذي أطلقه عليه المبرمج
المسؤول عن هذه الحزمة .
release number هذا هو رقم التحسين الذي قامت به Red Hat على هذه
الحزمة . فعندما تقوم ريد هات ببعض التغييرات على الحزمة كالترقيعات
الأمنية أو تعديل مسار الملفات بما يتوافق مع توزيعة ريد هات فإن هذا
الرقم يتغير .
architecture هذا هو نوع المعالج الذي تم بناء الحزمة له . هناك أنواع
اخرى فمثلاً i386,i486,i586,i686 كلها تعمل على معالجات بانتيوم 32bit
فحزم i386 تعمل على الأجهزة القديمة والحديثة على حد سواء أما i686 فقد
ﻻتعمل على الأجهزة القديمة وهكذا .

ملاحظة :

يوجد أنواع اخرى مثل ppc لأجهزة ماكنتوش و x86_64 لمعالجات بانتيوم من
فئة 64bit و amd للمعالجات من شركة amd .

ثالثاً : أمر rpm لإدارة الحزم .

يستخدم الأمر rpm لإدارة الحزم مثل التثبيت والترقية والإزالة والإستعلام
والفحص وخلافه . ويتأتي الأمر rpm مع عدة خيارات :
rpm -i packagename.rpm بتثبيت حزمة ما .
rpm -U packagename.rpm لترقية حزمة ما .
rpm -e packagenam لإزالة حزمة ما .

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

rpm -q packagename للإستعلام عن حزمة ما ، ﻻحظ كتابة اسم الحزمة وليس
الملف .
rpm -V packagename للتحقق من حزمة معينة وما هي التغيرات التي طرأت
عليها ، مره اخرى ﻻحظ كتابة اسم الحزمة وليس الأملف كما أن الحرف V كبير
وليس v . وسنتطرق لاحقاً لهذا الأمر .

بعض الخيارات التي تأتي مع الأمر rpm -i .

هناك بعض الخيارات التي تأتي مع الأمر rpm -i منها :

rpm -ih وذلك لعرض علامات # أثناء التثبيت .
rpm -iv لعرض معلومات أكثر تفصيلاً أثناء التثبيت .
rpm -i –nodeps لتجاهل الحزم التي تعتمد عليها الحزمة الحالية .
rpm -i –replace-files لإستبدال ملفات الحزمة القديمة والكتابة عليها .
rpm -i –force لتثبيت الحزمة حتى وإن كانت مثبته مسبقاً ، في حال أخبرك
النظام بأن هذه الحزمة مثبته بالفعل .
rpm -i –test لإختبار التثبيت وهل ستكون هناك مشاكل من الإعتمادية
وغيرها .
rpm -i –noscripts تخبر rpm بأن ﻻيقوم بتشغيل السكريبتات الموجودة مع
الحزمة ، سنتطرق لها ﻻحقاً .

يفضل دوماً استخدام الأمر rpm -ihv packagename.rpm عن التثبيت لأنه يعطي
معلومات مفصلة وبشكل مرتب .

إزالة الحزم باستخدام الأمر rpm -e .

يستخدم الأمر rpm -e لأزالة حزمة معينة من النظام ويمكن معه استخدام
الخيارات التالية :

rpm -e –nodeps لإزالة الحزمة حتى في حال اعتماد حزم اخرى عليها .
rpm -e –test كما سبق مع أمر التثبيت ، فهو ليس عمليه فعليه ولكن اختبار
هل ستسير الأمور على مايرام أم ستواجه مشاكل .

عند إزالة حزمة معينة وكانت هناك حزمه اخرى تعتمد عليها ستظهر رساله تبين
ذلك ، عنئذ قم بإزالة الحزم الأخرى أولاً ثم قم بإزالة الحزمة التي
تريد .

تثبيت الحزم من الانترنت :

يمكنك rpm من تثبيت الحزم من مواقع http .

rpm -ihv http://www.example.prg/rpms/packagename.rpm (http://www.example.prg/rpms/packagename.rpm)
ويمكنك كذلك التثبيت عن طريق ftp . وهنا يمكنك استخدام * لتثبيت محتويات
الدليل بالكامل :
rpm -ihv ftp://www.example.org/pub/rpms/* (ftp://www.example.org/pub/rpms/*)

تحديث الحزم بالإستخدام rpm -U .

يمكنك تحديث حزمة قديمة باخرى أحدث منها عن طريق الأمر rpm -U ويمكنك
استخدام الخيارات h و v كما في الأمر rpm -i .

تحديث الحزمة وملفات التهيئة السابقة :

من المعلوم أن اللينكس يعتمد على تعديل الملفات مباشرة ، فمثلاً الأباتشي
له ملف أعداد بإسم http.conf والـ ftp له ملف تهيئة هو الآخر وهكذا مع
باقي البرامج . ماذا سيحدث عندما تقوم بترقية الأباتشي مثلاً ؟ هل ستفقد
جميع الإعدادات التي قمت بها ؟

هناك ثلاث حالات :
1 – أن يكون الملف الإعداد كما هو " أي لم يطرأ عليه أي تغيير " في هذه
الحاله سيقوم rpm بإزالة ملف الإعداد القديم ويحل مكانه الملف الجديد .
2 – أن يكون ملف الإعداد القديم قد تم تعديله ولكنه ﻻيختلف عن ملف
الإعداد الجديد ، في هذه الحاله سيقوم rpm بإبقاء الملف القديم كما هو
ويضيف الى الملف الجديد الإمتداد rpmnew .
3 – أن يكون ملف الإعداد القديم قد تم تعديله ويوجد فرق بينه وبين ملف
الإعداد الجديد / في هذه الحاله سيقوم rpm بتغير اسم الملف القديم ويضيف
له الإمتداد rpmsave ثم يجعل الملف الجديد هو الإفتراضي . وهنا سيقوم
مدير النظام بعمل التعديلات يدوياً .

منقوول ..
صاحب الموضوع الأصلى M.Abdullah

XFCE
25-02-2007, 09:30 AM
شكراً اخي على المعلومات، افضل الـ deb packages على الـ rpm بعد استخدام اكثر من سنة ونصف.