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

مشاهدة النسخة كاملة : شرح طريقة تفصيلي لكل مميزات الRPM



Chakira
11-02-2013, بتوقيت غرينيتش 01:12 AM
السلام عليكم ورحمة الله وبركاته

سأبدا اليوم بأذن الله شرح طريقة تفصيلي للRPM او RedHat Package Manager


نبذه تاريخيه :

بدايه نظام اليونكس عموما كانت البرنامج يتعمل لها compile يدوي يعني تنزل الsource وتبدا تعمله
رمز Code:
./configure make make install
والطريقه دي شغاله بس لما النظام كبر وبئا فيه برامج كتير وتحتاج دليل لهم عايز تعرف ايه متركب عندك
وايه مش راكب وايه النسخ والقصص دي حاجه يعني زي add/remove programs بتاعت الوندوس

جاء بتوع Slackware عملو pkg manager ومع مرور الوقت اندثر

وجاء بعدهم RedHat & Debian كل واحد منهم عمل pkg manager

ٌٌRedhat عملت RPM
وDebian عملت deb

وغالب السرفرات اللى موجوده فى نطاق عملنا تشتغل تبع RedHat


ما هو ال RPM

هو عباره عن جزئين ال frontend tool وتتمثل فى امر RPM مع كل خواصه
والجزء الاخر Backend ويتمثل فى قاعده البيانات الموجوده فى /var/lib/rpm


نبدا بشرح طريقة الثاني لانه بسيط

قاعده البيانات دي بيكون مكتوب فيها كل شي عن كل البرامج اللى نازله على السرفر

بيكون فيه اسماء كل الحزم الموجوده على السرفر وبياناتها يعني مين عاملها وايه الملفات اللي
هيا بتنزلها على النظام ومين محتاجها وهيا بتحتاج مين كل شي تتخيله عن البرامج بيكون متسجل هنا

رمز Code:
/var/lib/rpm

نيجي للFrontend اللى هيا اداه الRPM

الاداه دي بتعمل تلت وظائف اساسيه

1-تركيب install / حذف / ترقيه
2-بحث
3- فحص وتأكيد



نبدا الفصل الاول منها

التركيب install

لتركيب install اى حزمه تكتب

رمز Code:
rpm -ivh pkg.rpm
i = تعني التركيب install
v= ظاهر معناها اظهر اللى يحصل على الشاشه ادامك
h= الهاش اللى هيا التحميل اللى بيجي ويقولك 100%


الحذف

تكتب rpm -e واسم البرنامج

الترقيه

رمز Code:
rpm -Uvh pkg.rpm
هيبد انه يعمل ترقيه للحزمه دي مثلا لو عندك على السرفر الاصدار الاول مثلا من الحزمه وعايز تركب الاصدار الثاني منها لو جيت تركبها بااستخدام i مش هيشتغل لانه هيقولك ان الحزمه اصلا متركبه على السرفر

الامر ده هشوف التحديث update لو مفيش هيركب لك اللى انت عايزه


رمز Code:
rpm -Fvh file.rpm
ده هيعمل الترقيه بس لو كان الملف اللى عايز تركبه اجدد من اللى عندك غير كدا مش هيعمل حاجه


وفيه حاجه كمان لنفرض مثلا انك عندك حزمه باظت نزل عليها باك دور كنت بعمل حاجه وخربتها

وعايز تركبها هيا هيا تاني تجيب الحزمه وتركبها كدا

رمز Code:
rpm -ivh --replacepkgs pkg.rpm

لو عايز تعمل downgrade لبرنامج معين نزلت مثلا الاصدار الاخير بتاعه ومعجبكش

رمز Code:
rpm -U --oldpackege file.rpm
هيعملك داون جريت


كدا خلصنا الجزء الاول فاضل حاجه بسيطه

وهيا الاعتماد او deps وهيا انك ممكن تيجي تركب اى حزمه يقولك اصل هيا محتاجه المكتبه الفلانيه

فى الحاله دي المفروض انك تجيب لها حزمه تحتوي على المكتبه المطلوبه ولو التانيه طلبت برضو مكتبه تالته تقدر تستخدم خيار اسمه --nodeps

بس لازم متستخدموش الا وانت متاكد انك معاك الملفات اللى الحزمه الاساسيه محتاجها

مثال عليه

رمز Code:
rpm -ivh --nodeps file.rpm

الفصل الثاني وهو البحث Query

لعرض كافه الحزمه على سرفرك اكتب

رمز Code:
rpm -qa
لعرض حزمه معينه

رمز Code:
rpm -qa | grep pkg name
لمعرفه معلومات عن البرنامج اكتب

رمز Code:
rpm -qi pkg
هيقولك المعلومات هو مين عمله وبيعمل كدا

رمز Code:
rpm -ql pkg
هيقولك ايه الملفات اللى اتركبت بواسطه الحزمه دي


لو عندك برنامج وعايز تعرف انهي حزمه اللى نزلته تكتب

رمز Code:
rpm -qf /usr/bin/run-parts
تكتب الامر وبعده مسار الملف هيقولك ده انهو حزمه اللى نزلته

لو عايز تعرف ايه المطلوب علشان حزمه معينه تركب او هيا معتمده على ايه تكتب

رمز Code:
rpm -q --requires pkg
دي هيقولك ايه المطلوب لها


لو عايز تعرف ايه اللى بيحتاج الحزمه دي او هيا بتتركب علشان مين ومين معتمد عليها

رمز Code:
rpm -q --whatrequires pkg
هيقولك مين بيعتمد عليها

التطبيق ده طبعا على حزمه اصلا متركبه فى النظام لو انت معاك الحزمه ملف وعايز تعرف المعلومات دي عنها بتزود فى كل خيار حرف ال p

علشان يكون الشكل كدا

رمز Code:
rpm -qip pkg pkg.rpm
دي هقولك معلومات عن الحزمه بتاعتك اللى عايز تركبها


نيجي على القسم الاخير وهو التأكيد او ال verfictions


لو معاك حزمه وعايز تتأكد منها عايز تعرف مثلا هيا الحزمه دي فعلا بتاعت RedHat ولا لا

الاول تعمل تركيب install للمفتاح بتاعت ريد هات عندك وهيا غالبا بتكون متركبه

رمز Code:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
علشان تركب الحاجه بتاعت ريد هات

واي حاجه بعد كدا عايز تتأكد منها تقوله

رمز Code:
rpm -V pkg
ولو ملف لسا مركبتوش تقوله

رمز Code:
rpm --checksig pkg.rpm

ويحضرنى فى نهايه الشرح طريقة فكره لعمل حاجه زي rootkitcheck كدا

انت ممكن تعمل سكربت بسيط جدا وحطه جوه الاعمال اليوميه للسرفر فى ال cron.daily او الcrontab

رمز Code:
for p in `rpm -qa` ;do rpm -V $p done
هيقولك ايه البرامج اللى اتعدل عليها وطبعا لو جابلك ملفات كونفيج عادي

هيكون الخارج بالشكل ده كدا
رمز Code:
linux-qf6n:/var/lib/rpm # for i in `rpm -qa` > do > rpm -V $i > done .......T /var/lib/misc/PolicyKit.reload S.5....T /usr/lib/libdv.so.4.0.3 S.5....T c /etc/X11/kstylerc S.5....T c /usr/share/fonts/encodings/encodings.dir
طبعا انا عملت علي جهاز هو جايب ليا ان الملفات دي اتعدل عليها واانا كنت معدل عليها علشان الخطوط وكدا

الطالع ده معناه ايه

S.5....T

بص يا سيدي دي رساله الخطا اللى بيطلعا النظام لما بيجي يشوف ملف ويقولك انه اتلعب فيه




5 - تقول ان الmd5checksum اتغير معناه ان الملف اتغير او اتعدل عليه
s - معناها ان حجم الملف اتغير
L - معناه ان الملف كان له شوت كت واتغيرت مساراتها او اتحذفت
t- ده وقت التعديل وبيقولك ان الملف اتعدل عليه
d- ده لو ان الملف Device
u- معناها ان ملكيه الملف اتغيرت
g- معناها ان المجموعه بتاعته اتغيرت
m- معناها ان التصريح بتاعه اتغير chmod
? - خطا غير معروف مش عارف يقراه

شوف بئا انت دي فكره ممكن تشوف سرفرك لو في backdoor


ملحوظه ان الrpm ممكن يحذف ملفات الكونفيج لو انت مثلا بتعمل اب جريت للbind هو ممكن يحذف الكونفيج القديم وغالبا بيحطه باسم .rpmnew بس للأحتياط لما تيجي ترقي برنامج له كونفيج
خد ملف الكونفيج كوبي


والى لقاء آخر ان شاء الله


سلام عليكم




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى