۲۰ مثال کاربردی از دستورات RPM در لینوکس
موضوعاتی که در این مقاله به آنها پرداخته خواهد شد، به شرح زیر است:
- آموزش برسی امضای بسته RPM
- آموزش نصب یک بسته RPM
- آموزش برسی وابستگیهای قبل از نصب بسته RPM
- آموزش نصب یک بسته RPM را بدون بررسی وابستگی ها
- آموزش بررسی بسته های RPM نصب شده
- آموزش پیدا کردن مسیر نصب فایل های بسته RPM
- آموزش لیست کردن بسته های RPM که اخیرا نصب شده
- آموزش لیست کردن تمامی بسته های نصب شده RPM
- آموزش بهروزرسانی یک بسته RPM
- آموزش حذف یک بسته RPM
- آموزش حذف یک بسته RPM بدون حذف وابستگی ها
- آموزش پیدا کردن بسته RPM مربوط به یک فایل خاص
- آموزش جستجوی اطلاعات یک بسته RPM نصب شده
- آموزش بدست آوردن اطلاعات یک بسته RPM را قبل از نصب
- آموزش جستجوی مستندات یک بسته RPM نصب شده
- آموزش برسی یک بسته RPM
- آموزش برسی تمام بستههای RPM
- آموزش وارد کردن یک کلید GPG RPM
- آموزش لیست کردن تمامی کلیدهای GPG وارد شده برای بستههای RPM
- آموزش بازسازی پایگاه داده خراب شده 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 فراهم میکنند. با استفاده از این دستورات، میتوانید نصب، بهروزرسانی، حذف، بررسی و تأیید بستهها را بهصورت کارآمد انجام دهید و سیستم خود را بهخوبی مدیریت کنید.