20 مثالًا عمليًا لأوامر RPM في Linux

معدل الدورات في الدقيقة (مدير حزمة القبعة الحمراء) هو أداة إدارة حزم مفتوحة المصدر وشائعة الاستخدام افتراضيًا لأنظمة القبعة الحمراء المبنية على مثل CentOS Fedora وRocky وAlma Linux.

تمكن أداة إدارة حزم rpm المسؤولين عن النظام والمستخدمين من تثبيت وتحديث وإلغاء تثبيت واستعلام والتحقق من وإدارة حزم البرمجيات على أنظمة التشغيل Unix/Linux، والتي كانت معروفة سابقًا باسم ملف .rpm وتحتوي على برامج البرمجيات المترجمة والمكتبات المطلوبة بواسطة الحزم.

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

حقائق عن RPM

فيما يلي بعض الحقائق حول RPM (مدير حزمة القبعة الحمراء):

  • يتوفر RPM بحرية ويتم إصداره بموجب رخصة العام العامة (GPL).
  • يحتفظ RPM بقاعدة بيانات لجميع الحزم المثبتة، ويخزن هذه المعلومات في دليل /var/lib/rpm.
  • يعمل RPM كالطريقة الرئيسية لتثبيت الحزم على أنظمة Linux. إذا تم تثبيت الحزم باستخدام الشفرة المصدرية، فإن RPM لا يديرها.
  • يعمل RPM مع ملفات .rpm، والتي تحتوي على معلومات الحزمة الأساسية مثل هويتها ومصدرها والتبعيات وتفاصيل الإصدار وغير ذلك.

وضعيات أساسية لأمر RPM

فيما يلي الوضعيات الرئيسية لأمر RPM:

  • تثبيت – يقوم الأمر rpm -i بتثبيت حزمة جديدة على النظام.
  • ترقية – يقوم الأمر rpm -U بترقية حزمة موجودة إلى نسخة أحدث.
  • إزالة – يقوم الأمر rpm -e بإلغاء تثبيت أو إزالة حزمة من النظام.
  • استعلام – يقوم الأمر rpm -q بالاستعلام عن قاعدة بيانات RPM للحصول على معلومات حول الحزم المثبتة.
  • التحقق – يقوم الأمر rpm -V بالتحقق من سلامة ملفات الحزم المثبتة.
  • تحديث – يقوم الأمر rpm -F بترقية أو تثبيت حزمة فقط إذا كانت مثبتة بالفعل.
  • إعادة بناء قاعدة البيانات – يقوم الأمر rpm --rebuilddb بإعادة بناء قاعدة بيانات RPM، مع حل مشاكل تلف قاعدة البيانات.
  • استيراد مفتاح GPG – يقوم الأمر rpm --import باستيراد مفتاح GPG المستخدم للتحقق من توقيع الحزمة.
  • استعلام الكل – يقوم الأمر rpm -qa بعرض قائمة بجميع الحزم المثبتة على النظام.
  • استعلام الملفات – يقوم الأمر rpm -ql بعرض قائمة بجميع الملفات التي تم تثبيتها بواسطة حزمة محددة.
  • استعلام الوثائق – يقوم الأمر rpm -qd بعرض قائمة بملفات الوثائق المقدمة من قبل حزمة.
  • استعلام الاعتماديات – يقوم الأمر rpm -qR بعرض قائمة بالاعتماديات الزمنية لحزمة.
  • توفير الاستعلام – يُظهر الأمر rpm -q --provides القدرات التي يوفرها الحزمة.
  • الاستعلام عن المتطلبات – يُظهر الأمر rpm -q --requires التبعيات المطلوبة من قبل الحزمة.

أين يمكن العثور على حزم RPM

يمكنك العثور على حزم RPM في عدة أماكن، اعتمادًا على توزيعة Linux الخاصة بك. هنا بعض المواقع الشائعة التي يمكنك من خلالها العثور على حزم RPM وتنزيلها.

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

1. كيفية فحص توقيع حزمة RPM

تحقق دائمًا من توقيع PGP للحزم قبل تثبيتها على أنظمة لينكس الخاصة بك وتأكد من أن سلامتها وأصلها موافق.

استخدم الأمر التالي مع --checksig (فحص التوقيع) خيار للتحقق من توقيع حزمة تسمى hardinfo.

rpm --checksig hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm: digests OK

2. كيفية تثبيت حزمة RPM

لتثبيت حزمة برنامج RPM، استخدم الأمر التالي مع -ivh خيار، والتي ستثبت حزمة rpm تسمى hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm على نظام لينكس.

rpm -ivh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:hardinfo-2.0.11-1                ################################# [100%]

دعونا نفصل مكونات الأمر أعلاه:

  • -i : تثبيت حزمة
  • -v : مفصل لعرض أجمل
  • -h: طباعة نجمات (#) لإظهار تقدم تثبيت البرنامج الثابت.

3. كيفية فحص التبعيات لحزمة RPM قبل التثبيت

لنفترض أنك ترغب في إجراء فحص للتبعيات قبل تثبيت أو ترقية حزمة. على سبيل المثال، استخدم الأمر التالي لفحص التبعيات لحزمة hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm.

يستعرض الأمر ويعرض التبعيات التشغيلية المطلوبة من حزمة “hardinfo“، مما يساعد على تحديد والتأكد من توافر جميع التبعيات اللازمة قبل تثبيت الحزمة.

rpm -qpR hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
 
libX11.so.6()(64bit)
libatk-1.0.so.0()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.33)(64bit)
libc.so.6(GLIBC_2.34)(64bit)
libc.so.6(GLIBC_2.38)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libcairo-gobject.so.2()(64bit)
libcairo.so.2()(64bit)
...

دعونا نحلل مكونات الأمر أعلاه:

  • -q : استعلام حزمة.
  • -p : سرد القدرات التي توفرها هذه الحزمة.
  • -R : سرد القدرات التي تعتمد عليها هذه الحزمة.

4. كيفية تثبيت حزمة RPM بدون تبعيات

لتثبيت حزمة rpm بدون تبعيات، يمكنك استخدام خيار --nodeps، الذي سيقوم بتثبيت حزمة RPM بشكل عزل دون فحص أو حل تبعيات.

rpm -ivh --nodeps hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

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

5. كيفية فحص حزمة RPM المثبتة

للتحقق من حزمة rpm المثبتة، يمكنك استخدام خيار -q، الذي سيستعلم ويعرض معلومات حول الإصدار المثبت من الحزمة.

rpm -q hardinfo

hardinfo-2.0.11-1.x86_64

6. كيفية العثور على مواقع تثبيت ملفات RPM

لعرض جميع الملفات لحزمة rpm المثبتة ، استخدم -ql (استعلام عن القائمة) مع أمر rpm.

rpm -ql hardinfo

/usr/bin/hardinfo2
/usr/lib/.build-id
/usr/lib/.build-id/3a
/usr/lib/.build-id/53
/usr/lib/.build-id/7c
/usr/lib/.build-id/ba
/usr/lib/.build-id/e0
/usr/lib64/hardinfo2
/usr/lib64/hardinfo2/modules
/usr/lib64/hardinfo2/modules/benchmark.so
/usr/lib64/hardinfo2/modules/computer.so
/usr/lib64/hardinfo2/modules/devices.so
/usr/lib64/hardinfo2/modules/network.so
...

7. كيفية سرد الحزم RPM المثبتة مؤخرًا

استخدم الأمر rpm التالي مع -qa (استعلام عن الكل) ، سيسرد جميع الحزم rpm المثبتة مؤخرًا.

rpm -qa --last


hardinfo-2.0.11-1.x86_64                      Mon 04 Mar 2024 01:32:14 PM IST
pipewire-pulseaudio-1.0.3-1.fc39.x86_64       Mon 04 Mar 2024 01:32:02 PM IST
pipewire-jack-audio-connection-kit-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST
pipewire-alsa-1.0.3-1.fc39.x86_64             Mon 04 Mar 2024 01:32:02 PM IST
libsoup-devel-2.74.3-3.fc39.x86_64            Mon 04 Mar 2024 01:32:02 PM IST
json-glib-devel-1.8.0-1.fc39.x86_64           Mon 04 Mar 2024 01:32:02 PM IST
gtk3-devel-3.24.41-1.fc39.x86_64              Mon 04 Mar 2024 01:32:02 PM IST
xdg-desktop-portal-gtk-1.15.1-1.fc39.x86_64   Mon 04 Mar 2024 01:32:01 PM IST
xdg-desktop-portal-1.18.2-1.fc39.x86_64       Mon 04 Mar 2024 01:32:01 PM IST
libcanberra-gtk3-0.30-32.fc39.x86_64          Mon 04 Mar 2024 01:32:01 PM IST
gtk3-3.24.41-1.fc39.x86_64                    Mon 04 Mar 2024 01:32:01 PM IST
...

8. كيفية سرد جميع الحزم المثبتة RPM

اكتب الأمر التالي لطباعة جميع أسماء الحزم المثبتة على نظام Linux الخاص بك.

rpm -qa

fonts-filesystem-2.0.5-12.fc39.noarch
libreport-filesystem-2.17.11-3.fc39.noarch
hunspell-filesystem-1.7.2-5.fc39.x86_64
abattis-cantarell-vf-fonts-0.301-10.fc39.noarch
fedora-gpg-keys-39-1.noarch
fedora-repos-39-1.noarch
setup-2.14.4-1.fc39.noarch
filesystem-3.18-6.fc39.x86_64
basesystem-11-18.fc39.noarch
default-fonts-core-sans-4.0-9.fc39.noarch
langpacks-fonts-en-4.0-9.fc39.noarch
...

9. كيفية ترقية حزمة RPM

إذا كنا نريد ترقية أي حزمة RPM ” –U ” (ترقية) سيتم استخدام الخيار. إحدى المزايا الرئيسية لاستخدام هذا الخيار هو أنه لن يقوم فقط بترقية الإصدار الأحدث من أي حزمة ، بل سيحافظ أيضًا على نسخة احتياطية من الحزمة القديمة بحيث في حالة لم يعمل الحزمة المترقية الأحدث ، يمكن استخدام الحزمة المثبتة مسبقًا مرة أخرى.

rpm -Uvh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

10. كيفية التخلص من حزمة RPM

للغاء تثبيت حزمة RPM ، على سبيل المثال ، نستخدم اسم الحزمة hardinfo ، وليس اسم الحزمة الأصلي hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm. يتم استخدام الخيار -e (محو) لإزالة الحزمة.

rpm -evv hardinfo

11. كيفية إزالة حزمة RPM بدون تبعيات

يُستخدم الخيار --nodeps (لا تتحقق من التبعيات) لإزالة الحزمة rpm بقوة من النظام. لكن احتفظ بفكرة إزالة حزمة معينة قد تكسر تطبيقات عامة تعمل.

rpm -ev --nodeps hardinfo

12. كيفية العثور على حزمة RPM لملف معين

لنفترض أن لديك قائمة من الملفات وترغب في معرفة أي حزمة تنتمي إلى هذه الملفات. على سبيل المثال، سيعرض الأمر التالي بخيار -qf (استعلام ملف) ملف /usr/bin/htpasswd الذي يملكه الحزمة httpd-tools-2.4.58-1.fc39.x86_64.

rpm -qf /usr/bin/htpasswd

httpd-tools-2.4.58-1.fc39.x86_64

13. كيفية الاستعلام عن معلومات الحزمة RPM المثبتة

لنفترض أنك قد قمت بتثبيت حزمة rpm وترغب في معرفة المعلومات حول الحزمة. سيطبع الخيار -qi (استعلام معلومات) التالي المعلومات المتاحة للحزمة المثبتة.

rpm -qi hardinfo

Name        : hardinfo
Version     : 2.0.11
Release     : 1
Architecture: x86_64
Install Date: Mon 04 Mar 2024 01:32:14 PM IST
Group       : unknown
Size        : 5174404
License     : GPL2+
Signature   : (none)
Source RPM  : hardinfo-2.0.11-1.src.rpm
Build Date  : Sat 02 Mar 2024 06:37:42 AM IST
Build Host  : fedora.bigbear.dk
Relocations : /usr 
Vendor      : Humanity
URL         : https://www.hardinfo2.org
Summary     : hardinfo2 built using CMake
Description :
Hardinfo2 is a small application that displays information about your hardware and operating system.  It has online benchmarking to check your machine performance against other machines.

14. الحصول على معلومات حزمة RPM قبل التثبيت

لقد قمت بتنزيل حزمة من الإنترنت وترغب في معرفة معلومات الحزمة قبل التثبيت. على سبيل المثال، سيقوم الخيار التالي -qip (استعلام معلومات الحزمة) بطباعة معلومات الحزمة sqlbuddy.

rpm -qip sqlbuddy

Name        : sqlbuddy                     Relocations: (not relocatable)
Version     : 1.3.3                        Vendor: (none)
Release     : 1                            Build Date: Wed 02 Nov 2011 11:01:21 PM BDT
Install Date: (not installed)              Build Host: rpm.bar.baz
Group       : Applications/Internet        Source RPM: sqlbuddy-1.3.3-1.src.rpm
Size        : 1155804                      License: MIT
Signature   : (none)
Packager    : Erik M Jacobs
URL         : http://www.sqlbuddy.com/
Summary     : SQL Buddy â Web based MySQL administration
Description : SQLBuddy is a PHP script that allows for web-based MySQL administration.

15. كيفية الاستعلام عن الوثائق لحزمة RPM المثبتة

للحصول على قائمة الوثائق المتاحة لحزمة مثبتة، استخدم الأمر التالي مع الخيار -qdf (استعلام عن ملف الوثائق) سيعرض الصفحات الدليلية المتعلقة بحزمة vmstat.

rpm -qdf /usr/bin/vmstat

/usr/share/doc/procps-ng/AUTHORS
/usr/share/doc/procps-ng/FAQ
/usr/share/doc/procps-ng/NEWS
/usr/share/doc/procps-ng/README.md
/usr/share/doc/procps-ng/bugs.md
/usr/share/man/man1/free.1.gz
/usr/share/man/man1/pgrep.1.gz
...

16. كيفية التحقق من حزمة RPM

تحقق الحزمة من خلال مقارنة معلومات الملفات المثبتة من الحزمة مع قاعدة بيانات rpm. يُستخدم -Vp (التحقق من الحزمة) للتحقق من حزمة.

rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm

S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf

17. كيفية التحقق من جميع حزم RPM

اكتب الأمر التالي للتحقق من جميع حزم rpm المثبتة.

rpm -Va

S.5....T.  c /etc/rc.d/rc.local
.......T.  c /etc/dnsmasq.conf
.......T.    /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf
S.5....T.  c /etc/yum.conf
S.5....T.  c /etc/yum.repos.d/epel.repo

18. كيفية استيراد مفتاح RPM GPG

للتحقق من حزم RHEL/CentOS/Fedora، يجب عليك استيراد مفتاح GPG. للقيام بذلك، قم بتنفيذ الأمر التالي. سيتم استيراد مفتاح CentOS 8 GPG.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8

19. كيفية عرض جميع مفاتيح RPM GPG المستوردة

لطباعة جميع مفاتيح GPG المستوردة في النظام الخاص بك، استخدم الأمر التالي.

rpm -qa gpg-pubkey*

gpg-pubkey-0608b895-4bd22942
gpg-pubkey-7fac5991-4615767f
gpg-pubkey-0f2672c8-4cd950ee
gpg-pubkey-c105b9de-4e0fd3a3
gpg-pubkey-00f97f56-467e318a
gpg-pubkey-6b8d79e6-3f49313d
gpg-pubkey-849c449f-4cb9df30

20. كيفية إعادة بناء قاعدة بيانات RPM التالفة

أحيانًا تتلف قاعدة بيانات rpm وتوقف جميع وظائف rpm والتطبيقات الأخرى على النظام. لذلك، في هذا الوقت نحتاج إلى إعادة بناء قاعدة بيانات rpm واستعادتها بمساعدة الأمر التالي.

cd /var/lib
rm __db*
rpm --rebuilddb
rpmdb_verify Packages

في الختام، تقدم أوامر rpm المقدمة دليلاً شاملاً لإدارة الحزم البرمجية بكفاءة على توزيعات Linux المعتمدة على RHEL.

Source:
https://www.tecmint.com/20-practical-examples-of-rpm-commands-in-linux/