آذرسیس

20 working examples of RPM commands in Linux
5/5 - (1 امتیاز)

در این آموزش 20 مثال عملی از دستورات RPM در لینوکس را بررسی خواهیم کرد! RPM (Red Hat Package Manager) یک منبع باز پیش‌فرض و محبوب‌ترین ابزار مدیریت بسته برای سیستم‌های مبتنی بر Red Hat مانند (RHEL، CentOS و Fedora) است.

این ابزار به مدیران و کاربران سیستم اجازه می‌دهد تا بسته‌های نرم‌افزاری سیستم را در سیستم‌عامل‌های یونیکس/لینوکس نصب، به‌روزرسانی، حذف، جستجو، تأیید و مدیریت کنند.

 

آذرسیس ارائه دهنده سرور مجازی ، سرور اختصاصی و انواع سرور مجازی لینوکس و سرور مجازی ویندوز با بهترین سخت افزار و قیمت مناسب است.

 

RPM که قبلاً به عنوان فایل rpm. شناخته می شد که شامل برنامه های نرم افزاری کامپایل شده و کتابخانه های مورد نیاز بسته ها می باشد. این ابزار فقط با بسته هایی که بر اساس فرمت rpm. ساخته شده اند کار می کند.

با کمک دستور rpm می توانید موفق به نصب، به روز رسانی، حذف بسته ها در سیستم های لینوکس خود شوید.

20 مثال عملی از دستورات RPM در لینوکس

فهرست مطالب

20 مثال عملی از دستورات RPM در لینوکس

 نکاتی در مورد RPM (RedHat Package Manager)

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

پنج حالت اصلی برای دستورات RPM

  • Install: برای نصب هر بسته RPM
  • Remove: برای پاک کردن، حذف یا حذف هر بسته RPM
  • Upgrade: برای به روز رسانی بسته RPM موجود
  • Verify: برای تایید بسته های RPM
  • Query: برای پرس و جو در هر بسته RPM

نحوه پیدا کردن بسته های دستورات RPM

در زیر لیستی از سایت های rpm وجود دارد که می توانید تمام بسته های RPM را پیدا و دانلود کنید.

  • http://rpmfind.net
  • http://www.redhat.com
  • http://freshrpms.net/
  • http://rpm.pbone.net/

لطفاً به یاد داشته باشید که هنگام نصب بسته ها در لینوکس باید کاربر اصلی باشید، با امتیازات root  می توانید دستورات rpm را با گزینه های مناسب آنها مدیریت کنید.

1. نحوه بررسی بسته RPM Signature

همیشه PGP signatur بسته‌ها را قبل از نصب آن‌ها در سیستم‌های لینوکس خود بررسی کنید و مطمئن شوید که یکپارچگی و منشاء آن صحیح است. از دستور زیر با گزینه –checksig (check signature) برای بررسی signature  بسته ای به نام pidgin استفاده کنید.

[root@admin]# rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm
pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK

2. نحوه نصب بسته RPM

برای نصب بسته نرم افزاری rpm از دستور زیر با گزینه -i استفاده کنید. مثلا  بسته rpm به نام pidgin-2.7.9-5.el6.2.i686.rpm. را به صورت زیر نصب کنید.

[root@admin]# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm
Preparing...                ########################################### [100%]
   1:pidgin                 ########################################### [100%]

دستورات RPM + گزینه های موجود

  • -i : install a package
  • -v : verbose for a nicer display
  • -h : print hash marks as the package archive is unpacked

3. نحوه بررسی dependencies بسته ها و دستورات RPM قبل از نصب

فرض کنید می خواهید قبل از نصب یا ارتقاء بسته، dependency را بررسی کنید. برای مثال، از دستور زیر برای بررسی dependencies بسته BitTorrent-5.2.2-1-Python2.4.noarch.rpm استفاده کنیدکه لیستی از وابستگی های بسته را نمایش می دهد.

[root@admin]# rpm -qpR BitTorrent-5.2.2-1-Python2.4.noarch.rpm
/usr/bin/python2.4
python >= 2.3
python(abi) = 2.4
python-crypto >= 2.0
python-psyco
python-twisted >= 2.0
python-zopeinterface
rpmlib(CompressedFileNames) = 2.6

دستورات RPM و گزینه ها

  • -q : Query a package
  • -p : List capabilities this package provides
  • -R :  List capabilities on which this package depends

20 مثال عملی از دستورات RPM در لینوکس

4. نحوه نصب بسته دستورات RPM بدون Dependencies

اگر می‌دانید که همه بسته‌های مورد نیاز قبلاً نصب شده‌اند و RPM گیج کننده است، می‌توانید با استفاده از گزینه –nodeps (بدون بررسی Dependencies) قبل از نصب بسته، وابستگی‌ها را نادیده بگیرید.

[root@admin]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm
Preparing...                ########################################### [100%]
   1:BitTorrent             ########################################### [100%]

دستور بالا به اجبار بسته rpm را با نادیده گرفتن خطاهای dependencies نصب می کند، اما اگر فایل های وابستگی از دست رفته باشند، برنامه به هیچ وجه کار نخواهد کرد، تا زمانی که آنها را نصب نکنید.

5. نحوه بررسی بسته دستورات RPM نصب شده

با استفاده از گزینه -q با نام بسته، نشان می دهد که آیا rpm نصب شده است یا خیر.

[root@admin]# rpm -q BitTorrent
BitTorrent-5.2.2-1.noarch

6. نحوه فهرست کردن همه فایل های بسته دستورات RPM نصب شده

برای مشاهده تمام فایل های بسته های rpm نصب شده، از -ql (لیست query) با دستور rpm استفاده کنید.

[root@admin]# rpm -ql BitTorrent
/usr/bin/bittorrent
/usr/bin/bittorrent-console
/usr/bin/bittorrent-curses
/usr/bin/bittorrent-tracker
/usr/bin/changetracker-console
/usr/bin/launchmany-console
/usr/bin/launchmany-curses
/usr/bin/maketorrent
/usr/bin/maketorrent-console
/usr/bin/torrentinfo-console

7. نحوه فهرست کردن بسته های RPM اخیراً نصب شده

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

[root@admin]# rpm -qa --last
BitTorrent-5.2.2-1.noarch                     Tue 04 Dec 2012 05:14:06 PM BDT
pidgin-2.7.9-5.el6.2.i686                     Tue 04 Dec 2012 05:13:51 PM BDT
cyrus-sasl-devel-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:06 PM BDT
cyrus-sasl-2.1.23-13.el6_3.1.i686             Tue 04 Dec 2012 04:43:05 PM BDT
cyrus-sasl-md5-2.1.23-13.el6_3.1.i686         Tue 04 Dec 2012 04:43:04 PM BDT
cyrus-sasl-plain-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:03 PM BDT

8. نحوه فهرست کردن همه بسته های RPM نصب شده

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

[root@admin]# rpm -qa
initscripts-9.03.31-2.el6.centos.i686
polkit-desktop-policy-0.96-2.el6_0.1.noarch
thunderbird-17.0-1.el6.remi.i686

9. نحوه ارتقا بسته دستورات RPM

اگر بخواهیم هر بسته RPM را ارتقا دهیم، از گزینه “–U” (upgrade) استفاده خواهد شد. یکی از مزایای اصلی استفاده از این گزینه این است که نه تنها آخرین نسخه هر بسته را ارتقا می دهد، بلکه پشتیبان بسته قدیمی را نیز حفظ می کند تا در صورت عدم اجرای بسته ارتقا یافته جدید، بسته نصب شده قبلی را اجرا و دوباره استفاده کند.

[root@admin]# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm
Preparing...                ########################################### [100%]
   1:nx                     ########################################### [100%]

10. نحوه حذف بسته دستورات RPM

برای حذف نصب بسته RPM، به عنوان مثال، از نام بسته nx استفاده می کنیم، نه از نام بسته اصلی nx-3.5.0-2.el6.centos.i686.rpm. گزینه -e (erase) برای حذف بسته استفاده می شود.

[root@admin]# rpm -evv nx

11. نحوه حذف بسته RPM بدون Dependencies

گزینه –nodeps (Do not check dependencies) بسته rpm را از سیستم حذف می کند. اما به خاطر داشته باشید که حذف بسته خاص ممکن است سایر برنامه های کاربردی را خراب کند.

[root@admin]# rpm -ev --nodeps vsftpd

12. نحوه Query فایل متعلق به بسته دستورات RPM

فرض کنید شما لیستی از فایل ها را دارید و می خواهید بدانید که کدام بسته به این فایل ها تعلق دارد. به عنوان مثال، دستور زیر با گزینه -qf (query file) به شما نشان می دهد که یک فایل /usr/bin/htpasswd متعلق به بسته httpd-tools-2.2.15-15.el6.centos.1.i686 است.

[root@admin]# rpm -qf /usr/bin/htpasswd
httpd-tools-2.2.15-15.el6.centos.1.i686

13. نحوه استعلام اطلاعات بسته دستورات RPM نصب شده

فرض کنید یک بسته rpm را نصب کرده اید و می خواهید اطلاعات مربوط به بسته را بدانید. گزینه -qi (اطلاعات query) زیر اطلاعات موجود بسته نصب شده را چاپ می کند.

 

[root@admin]# rpm -qi vsftpd
Name        : vsftpd                                         Relocations: (not relocatable)
Version     : 2.2.2                                           Vendor: CentOS
Release     : 11.el6                                         Build Date: Fri 22 Jun 2012 01:54:24 PM BDT
Install Date: Mon 17 Sep 2012 07:55:28 PM BDT      Build Host: c6b8.bsys.dev.centos.org
Group       : System Environment/Daemons           Source RPM: vsftpd-2.2.2-11.el6.src.rpm
Size        : 351932                               License: GPLv2 with exceptions
Signature   : RSA/SHA1, Mon 25 Jun 2012 04:07:34 AM BDT, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://vsftpd.beasts.org/
Summary     : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.

14. دریافت اطلاعات بسته RPM قبل از نصب

شما یک بسته را از اینترنت دانلود کرده اید و می خواهید قبل از نصب از اطلاعات یک بسته مطلع شوید. به عنوان مثال، گزینه زیر -qip (پکیج اطلاعات query) اطلاعات یک بسته sqlbuddy را چاپ می کند.

 

[root@admin]# rpm -qip sqlbuddy-1.3.3-1.noarch.rpm
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 (query document file) استفاده کنید، صفحاتmanual  مربوط به بسته vmstat را نمایش می دهد.

[root@admin]# rpm -qdf /usr/bin/vmstat
/usr/share/doc/procps-3.2.8/BUGS
/usr/share/doc/procps-3.2.8/COPYING
/usr/share/doc/procps-3.2.8/COPYING.LIB
/usr/share/doc/procps-3.2.8/FAQ
/usr/share/doc/procps-3.2.8/NEWS
/usr/share/doc/procps-3.2.8/TODO

16. نحوه تایید بسته RPM

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

[root@admin downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm
S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf

17. نحوه تایید تمام بسته های RPM

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

[root@admin]# 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 6 GPG را وارد کنید.

[root@admin]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

19. نحوه فهرست کردن همه کلیدهای RPM GPG وارد شده

برای چاپ تمام کلیدهای GPG وارد شده در سیستم خود از دستور زیر استفاده کنید.

[root@admin]# 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 را بازسازی کرده و با کمک دستور زیر آن را بازیابی کنیم.

[root@admin]# cd /var/lib
[root@admin]# rm __db*
[root@admin]# rpm --rebuilddb
[root@admin]# rpmdb_verify Packages

نتیجه گیری

در این آموزش 20  مثال عملی از دستورات RPM در لینوکس را بررسی کردیم. امیدوارم این مقاله برایتان مفید بوده باشد. نظرات خود را از طریق فرم زیر با ما به اشتراک بگذارید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *