۲۰ مثال کاربردی از دستورات RPM در لینوکس

موضوعاتی که در این مقاله به آنها پرداخته خواهد شد، به شرح زیر است:

۲۰ مثال کاربردی از دستورات RPM در لینوکس مبتنی بر Red Hat

در آموزش ۲۰ مثال کاربردی از دستورات RPM در لینوکس خواهید آموخت که : مدیر بسته‌های RPM (Red Hat Package Manager) یک ابزار مدیریت بسته‌ها با کد منبع باز و پرکاربرد است که به صورت پیش‌فرض در سیستم‌های مبتنی بر Red Hat مانند CentOS، Fedora، Rocky و Alma Linux استفاده می‌شود.

ابزار مدیریت بسته‌های RPM به مدیران سیستم و کاربران این امکان را می‌دهد تا بسته‌های نرم‌افزاری را در سیستم‌عامل‌های یونیکس/لینوکس نصب، به‌روزرسانی، حذف، جستجو، اعتبارسنجی و مدیریت کنند. فایل‌های بسته با فرمت .rpm حاوی برنامه‌های نرم‌افزاری کامپایل شده و کتابخانه‌هایی هستند که توسط این بسته‌ها نیاز می‌شوند.

این مقاله ۲۰ مثال کاربردی از دستورات RPM را ارائه می‌دهد که می‌تواند برای شما مفید باشد. با استفاده از این دستورات، می‌توانید مدیریت نصب، به‌روزرسانی و حذف بسته‌های نرم‌افزاری را در سیستم‌های لینوکسی خود به سادگی انجام دهید.

حقایقی درباره RPM (مدیر بسته‌های Red Hat)

  • – RPM به‌صورت رایگان در دسترس بوده و تحت مجوز عمومی همگانی (GPL) منتشر شده است.
  •  RPM یک پایگاه داده از تمامی بسته‌های نصب شده را نگهداری می‌کند و این اطلاعات را در مسیر `/var/lib/rpm` ذخیره می‌نماید.
  • RPM به عنوان روش اصلی نصب بسته‌ها در سیستم‌های لینوکسی مورد استفاده قرار می‌گیرد. اگر بسته‌ها از طریق کد منبع نصب شده باشند، RPM مدیریت آن‌ها را بر عهده ندارد.
  • RPM با فایل‌های .rpm کار می‌کند که شامل اطلاعات مهم بسته مانند شناسه، منبع، وابستگی‌ها، جزئیات نسخه و موارد دیگر می‌باشد.

حالت‌های اصلی برای دستور RMP در آموزش ۲۰ مثال کاربردی از دستورات RPM در لینوکس

حالت‌های اصلی دستور RPM

دستور RPM دارای حالت‌های مختلفی برای مدیریت بسته‌ها در سیستم‌های لینوکسی است. در اینجا مهم‌ترین حالت‌های آن معرفی می‌شوند:

  • نصب (Install): دستور `rpm -i` یک بسته جدید را در سیستم نصب می‌کند.
  • به‌روزرسانی (Upgrade): دستور `rpm -U` یک بسته موجود را به نسخه جدیدتری به‌روزرسانی می‌کند.
  • حذف (Remove): دستور `rpm -e` یک بسته را از سیستم حذف می‌کند.
  • جستجو (Query): دستور `rpm -q` اطلاعاتی درباره بسته‌های نصب‌شده از پایگاه داده RPM نمایش می‌دهد.
  • اعتبارسنجی (Verify): دستور `rpm -V` صحت فایل‌های بسته‌های نصب‌شده را بررسی می‌کند.
  • تازه‌سازی (Freshen): دستور `rpm -F` فقط اگر بسته قبلاً نصب شده باشد، آن را به‌روزرسانی یا نصب می‌کند.
  • بازسازی پایگاه داده (Rebuild Database): دستور `rpm –rebuilddb` پایگاه داده RPM را بازسازی کرده و مشکلات احتمالی آن را حل می‌کند.
  • وارد کردن کلید GPG (Import GPG Key): دستور `rpm –import` یک کلید GPG را برای اعتبارسنجی امضای بسته‌ها وارد می‌کند.
  • جستجوی تمامی بسته‌ها (Query All): دستور `rpm -qa` تمامی بسته‌های نصب‌شده روی سیستم را فهرست می‌کند.
  • جستجوی فایل‌ها (Query Files): دستور `rpm -ql` تمامی فایل‌های نصب‌شده توسط یک بسته خاص را نمایش می‌دهد.
  • جستجوی مستندات (Query Documentation): دستور `rpm -qd` فایل‌های مستندات ارائه‌شده توسط یک بسته را فهرست می‌کند.
  • جستجوی وابستگی‌ها (Query Dependencies): دستور `rpm -qR` وابستگی‌های زمان اجرای یک بسته را نمایش می‌دهد.
  • جستجوی قابلیت‌ها (Query Provides): دستور `rpm -q –provides` قابلیت‌هایی که یک بسته ارائه می‌دهد را لیست می‌کند.
  • جستجوی نیازمندی‌ها (Query Requires): دستور `rpm -q –requires` وابستگی‌های مورد نیاز یک بسته را فهرست می‌کند.

این لیست می‌تواند به کاربران کمک کند تا بسته‌ها را به شکل موثرتری مدیریت کنند و از تمامی امکانات RPM بهره‌مند شوند.

پ.ن
آیا نیاز به سرور مجازی فنلاند دارید؟ لطفا بر روی لینک اون کلیک کنید! اگر نیاز به وی پی اس فنلاند با آی پی تمیز و بدون محدودیت دارید کلیک کنید.

مکان‌های یافتن بسته‌های RPM در آموزش نحوه نصب بسته RPM

مکان‌هایی برای یافتن بسته‌های RPM

بسته‌های RPM را می‌توان بسته به توزیع لینوکسی خود از منابع مختلفی دانلود کرد. در اینجا برخی از رایج‌ترین مکان‌ها برای یافتن و دانلود بسته‌های RPM آورده شده است:

این وب‌سایت‌ها منابع معتبری برای دسترسی به بسته‌های RPM هستند که کاربران لینوکس می‌توانند از آن‌ها استفاده کنند.

برای نصب بسته‌ها در لینوکس، باید کاربر ریشه (root) باشید. با داشتن دسترسی‌های ریشه، می‌توانید دستورات RPM را با گزینه‌های مناسب مدیریت کنید. دستورات مدیریت بسته مانند نصب، به‌روزرسانی، و حذف بسته‌ها به مجوزهای مدیریتی نیاز دارند، بنابراین باید با دسترسی ریشه (از طریق `sudo` یا با ورود به حساب root) اجرا شوند تا به درستی عمل کنند.

1. آموزش برسی امضای بسته RPM 

همیشه قبل از نصب بسته‌ها در آموزش نحوه نصب بسته RPM بر روی سیستم‌های لینوکسی خود، امضای PGP آن‌ها را بررسی کنید و اطمینان حاصل کنید که صحت و منشأ آن‌ها صحیح است.
برای بررسی امضای یک بسته به نام hardinfo، از دستور زیر با گزینه –checksig استفاده کنید:

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`: نصب را به‌صورت verbose (مفصل) نمایش می‌دهد، که به معنای نمایش جزئیات بیشتر و نمای زیباتر است.
– `-h`: نوار پیشرفت نصب را با استفاده از hash marks (#) نمایش می‌دهد تا روند نصب را مشاهده کنید.

با استفاده از این گزینه‌ها، می‌توانید نصب بسته‌های RPM را با اطلاعات و پیشرفت واضح‌تری دنبال کنید.

3. آموزش برسی وابستگی‌های قبل از نصب بسته RPM

 برای بررسی وابستگی‌های یک بسته قبل از نصب یا به‌روزرسانی، می‌توانید از دستور زیر استفاده کنید. این دستور وابستگی‌های زمان اجرای بسته hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm را جستجو کرده و نمایش می‌دهد تا اطمینان حاصل شود که تمام وابستگی‌های لازم برآورده شده‌اند:

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 استفاده کنید. این گزینه بسته را به‌صورت اجباری نصب می‌کند، بدون آنکه وابستگی‌ها را بررسی کند. به عنوان مثال، برای نصب بسته hardinfo بدون بررسی وابستگی‌ها:

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

دستور فوق بسته RPM را به‌صورت اجباری نصب می‌کند و خطاهای مربوط به وابستگی‌ها را نادیده می‌گیرد. اما اگر فایل‌های وابستگی مورد نیاز نصب نشده باشند، برنامه به‌درستی کار نخواهد کرد تا زمانی که این وابستگی‌ها به‌صورت دستی نصب شوند.

بنابراین، نصب بسته‌ها بدون بررسی وابستگی‌ها ممکن است منجر به مشکلات اجرایی شود و باید با احتیاط انجام شود.

5. آموزش برسی بسته های RPM نصب شده 

در آموزش نحوه نصب بسته RPM برای بررسی یک بسته RPM نصب‌شده، می‌توانید از گزینه -q استفاده کنید. این گزینه اطلاعات مربوط به نسخه نصب‌شده از بسته را جستجو و نمایش می‌دهد. به‌عنوان مثال:

rpm -q hardinfo hardinfo-2.0.11-1.x86_64

۶. آموزش پیدا کردن مسیر نصب فایل های بسته RPM 

در مقاله ۲۰ مثال کاربردی از دستورات RPM در لینوکس برای مشاهده تمامی فایل‌های یک بسته RPM نصب‌شده، می‌توانید از گزینه -ql (query list) همراه با دستور rpm استفاده کنید. به عنوان مثال، برای مشاهده فایل‌های نصب‌شده بسته hardinfo:

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 ...

۷. آموزش لیست کردن بسته های RPM که اخیرا نصب شده 

برای لیست کردن تمامی بسته‌های RPM که اخیراً نصب شده‌اند، از دستور زیر با گزینه qa (query all)- استفاده کنید:

 

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 ...

۸. آموزش لیست کردن تمامی بسته های نصب شده RPM 

دستور زیر را تایپ کنید تا نام تمامی بسته های نصب شده در سیستم لینوکسی شما نمایش داده شود:

 

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 ...

۹. آموزش به‌روزرسانی یک بسته RPM 

اگر بخواهیم یک بسته RPM را به‌روزرسانی کنیم، از گزینه `-U` (upgrade) استفاده خواهیم کرد. یکی از مزایای عمده استفاده از این گزینه این است که نه تنها نسخه جدیدتر بسته را به‌روزرسانی می کند، بلکه نسخه قبلی بسته را نیز به عنوان پشتیبان نگه می‌دارد. به این ترتیب، در صورتی که بسته جدید به درستی کار نکند، می‌توانید به نسخه قبلی نصب شده بازگشت و از آن استفاده کرد.

 

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

۱۰. آموزش حذف یک بسته RPM

برای حذف یک بسته RPM، به عنوان مثال، از نام بسته hardinfo استفاده می‌کنیم، نه از نام کامل بسته مانند hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm. گزینه -e (erase) برای حذف بسته استفاده می‌شود:

 

rpm -evv hardinfo 

۱۱. آموزش حذف یک بسته RPM بدون حذف وابستگی ها

گزینه `–nodeps` (عدم بررسی وابستگی‌ها) به‌طور اجباری بسته RPM را از سیستم حذف می‌کند. اما توجه داشته باشید که حذف یک بسته خاص ممکن است باعث ایجاد اختلال در برنامه‌های دیگری که به آن وابسته هستند، شود.

 

rpm -ev --nodeps hardinfo 

۱۲. آموزش پیدا کردن بسته RPM مربوط به یک فایل خاص

اگر فهرستی از فایل‌ها دارید و می‌خواهید مشخص کنید که هر فایل متعلق به کدام بسته است، می‌توانید از دستور زیر استفاده کنید. به‌عنوان مثال، دستور زیر با گزینه -qf (query file) به شما نشان می‌دهد که فایل /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

۱۳. آموزش جستجوی اطلاعات یک بسته RPM نصب شده 

در ادامه آموزش ۲۰ مثال کاربردی از دستورات RPM در لینوکس اگر یک بسته RPM را نصب کرده‌اید و می‌خواهید اطلاعات مربوط به آن بسته را بدست آورید، می‌توانید از گزینه -qi (query info) استفاده کنید. این دستور اطلاعات موجود درباره بسته نصب‌شده را چاپ می‌کند:

 

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.

۱۴. آموزش بدست آوردن اطلاعات یک بسته RPM را قبل از نصب 

اگر بسته‌ای را از اینترنت دانلود کرده‌اید و می‌خواهید اطلاعات آن را قبل از نصب مشاهده کنید، می‌توانید از گزینه -qip (query info package) استفاده کنید. به‌عنوان مثال، دستور زیر اطلاعات بسته 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.

۱۵. آموزش جستجوی مستندات یک بسته RPM نصب شده 

برای دریافت فهرست مستندات موجود برای یک بسته نصب‌شده، از دستور زیر با گزینه -qdf (query document files) استفاده کنید. این دستور صفحات راهنمای مربوط به بسته 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 ...

۱۶. آموزش برسی  یک بسته RPM 

بررسی صحت یک بسته، اطلاعات فایل‌های نصب‌شده بسته را با پایگاه داده RPM مقایسه می‌کند. برای بررسی صحت یک بسته، از گزینه -Vp (verify package) استفاده کنید:

 

rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf

۱۷. آموزش برسی تمام بسته‌های 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. آموزش وارد کردن یک کلید GPG RPM 

برای تأیید بسته‌های RHEL/CentOS/Fedora، باید کلید GPG مربوطه را وارد کنید. برای وارد کردن کلید GPG CentOS 8، دستور زیر را اجرا کنید:

 

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

۱۹. آموزش لیست کردن تمامی کلیدهای GPG وارد شده برای بسته‌های RPM

برای چاپ تمامی کلیدهای 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

۲۰. آموزش بازسازی پایگاه داده خراب‌ شده RPM 

گاهی اوقات پایگاه داده RPM خراب می‌شود و تمام عملکردهای مربوط به RPM و دیگر برنامه‌های سیستم را متوقف می‌کند. در چنین مواقعی، لازم است که پایگاه داده RPM را بازسازی کرده و با کمک دستور زیر آن را بازیابی کنید:

 

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

در نتیجه، دستورات ارائه‌شده RPM یک راهنمای جامع برای مدیریت مؤثر بسته‌های نرم‌افزاری در توزیع‌های لینوکس مبتنی بر RHEL فراهم می‌کنند. با استفاده از این دستورات، می‌توانید نصب، به‌روزرسانی، حذف، بررسی و تأیید بسته‌ها را به‌صورت کارآمد انجام دهید و سیستم خود را به‌خوبی مدیریت کنید.

مطالب مرتبط: