اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

دستور rpm در لینوکس به همراه 20 مثال عملی

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    دستور rpm در لینوکس به همراه 20 مثال عملی

    RPM یا Red Hat Package Manager یکی از ابزارهای مدیریت پکیج (نصب، حذف، آپدیت و ..) و پیش فرض اوپن سورس برای سیستم های مبتنی بر ردهت می باشد مانند (RHEL, CentOS and Fedora) . این ابزار به مدیران سیستم و کاربران اجازه می دهد تا عملیات install, update, uninstall, query, verify و مدیریت بسته های نرم افزاری سیستم در سیستم عامل های لینوکس/یونیکس را انجام دهند. RPM قبلا به نام فایل .rpm شناخته می شد، که شامل برنامه های نرم افزاری کامپایل شده و کتابخانه های مورد نیاز توسط بسته ها بود. این ابزار فقط با بسته هایی کار می کند که به صورت فرمت .rpm ساخته شده اند.
    دستور rpm در لینوکس




    این مقاله 20 دستور مفید RPM را که ممکن است برایتان مفید باشد توضیح خواهد داد. با کمک این دستورات rpm شما می توانید بسته ها را در سیستم لینوکسی تان نصب، آپدیت، حذف کنید.


    چند واقعیت در باره RPM یا RedHat Package Manager
    • RPM رایگان هست و تحت GPL یا General Public License انتشار یافته است.
    • RPM اطلاعات تمام بسته های نصب شده را در دیتابیس ، مسیر /var/lib/rpm نگه داری می کند.
    • RPM تنهاترین راه برای نصب بسته ها در سیستم های لینوکسی است ، اگر شما بسته ای را توسط سورس کد نصب کرده باشید ، rpm آن را مدیریت نخواهد کرد.
    • RPM با فایلهای .rpm سر وکار دارد، که شامل اطلاعات واقعی درباره بسته هاست مانند : چه چیزی هست، از کجا آمده است، اطلاعات وابستگی، اطلاعات ورژن ...



    5 تا مد اصلی برای دستورات RPM داریم

    Install : برای نصب هر بسته rmp به کار می رود.
    Remove : برای erase، remove ، un-installکردن بسته های rpm به کار می رود.
    Upgrade : برای آپدیت بسته های rpm موجود به کار می رود.
    Verify : برای کوئری بسته های مختلف rpm استفاده می شود.
    Query : برای verify کردن بسته های rpm به کار می رود . (((توضیح: فکر کنم جای این دو سطر اشتباهه)))
    کجا پکیج های rpm را بیابیم


    در زیر لیست سایتهای rpm موجود است، که شما می توانید بسته های rpm را پیدا کنید و دانلود کنید.
    همچنین توصیه میشود مطالعه کنید :

    دستور yum در توزیع های لینوکس RHEL/CentOS برای مدیریت پکیج ها به همراه 20 مثال عملی

    دستور apt در توزیع های لینوکس Debian/Ubuntu برای مدیریت پکیج ها به همراه 15 مثال عملی


    شما باید یوزر root باشید تا بتوانید بسته ها را در لینوکس نصب کنید، با مجوز root می توانید دستورات rpm را به همراه آپشن هایش مدیریت کنید.


    1. چگونه signature بسته rpm را چک کنیم

    همیشه قبل از نصب بسته ها در لینوکس PGP signature آن را چک کنید و از سازگار بودن آن و اصل بودن آن اطمینان حاصل کنید.دستور زیر را به همراه آپشن –checksig (check signature) برای چک signature بسته pidgin به کار ببرید.
    کد:
    [root@linux-zone]# 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@linux-zone]# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm
    
    Preparing...                ########################################### [100%]
       1:pidgin                 ########################################### [100%]
    دستورات rpm و آپشن هایش
    • -i : نصب یک بسته
    • -v : برای نمایش اطلاعات بیشتر
    • -h : همین که بسته unpack می شود پیشرفت آن را با هش مارک نشان می دهد.


    3. چطور پیش نیازهای یک بسته rpm را قبل از نصب چک کنیم

    به فرض می خواهیم قبل از نصب وابستگی های یک بسته را چک کنیم. برای مثال، می خواهیم وابستگی بسته BitTorrent-5.2.2-1-Python2.4.noarch.rpm را با دستور زیر چک کنیم. در پایین لیست وابستگی های بسته نمایش داده شده است.
    کد:
    [root@linux-zone]# 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 : کوئری یک بسته
    • -p : لیست توانایی های بسته مورد نظر
    • -R : لیست تواناییهایی که این بسته وابسته است.



    4. نحوه نصب بسته rpm بدون پیش نیازها

    اگر شما می دانید که تمام بسته های مورد نیاز نصب شده اند ، شما می توانید وابستگی ها را با استفاده از آپشن –nodeps (no dependencies check) قبل از نصب بسته نادیده بگیرید.
    کد:
    [root@linux-zone]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm
    
    Preparing...                ########################################### [100%]
       1:BitTorrent             ########################################### [100%]
    دستور بالا بسته rpm را بدون در نظر گرفتن ارورهای وابستگی نصب خواهد کرد، اما اگر فایلهای وابستگی موجود نباشند، آن موقع برنامه اصلا کار نخواهد کرد، مگر اینکه آنها را نصب کنید.



    5. چگونه یک بسته rpm نصب شده را چک کنیم

    استفاده از آپشن –q با نام بسته، نشان می دهد که بسته نصب هست یا نه.
    کد:
    [root@linux-zone]# rpm -q BitTorrent
    
    BitTorrent-5.2.2-1.noarch


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

    برای دیدن تمام فایلهای یک بسته rpm نصب شده، از آپشن -ql (query list) به همراه دستور rpm استفاده کنید.
    کد:
    [root@linux-zone]# 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 که اخیرا نصب شده

    دستور زیر را با آپشن -qa (query all) استفاده کنید، که تمام بسته های rpm اخیر نصب شده را نمایش خواهد داد.
    کد:
    [root@linux-zone]# 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 نصب شده

    دستور زیر را برای دیدن کل بسته های rpm نصب شده بر روی سیستم لینوکس تایپ کنید.
    کد:
    [root@linux-zone]# 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

    برای این کار از آپشن “–U” (upgrade) استفاده کنید. یکی از فواید استفاده از این آپشن این است که نه تنها بسته را به آخرین ورژن آپگرید می کند، بلکه یک بک آپ ازبسته قدیمی را نگه می دارد تا اگر بسته جدید آپگرید شده اجرا نشد نسخه قدیمی را اجرا کند.
    کد:
    [root@linux-zone]# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm
    Preparing...                ########################################### [100%]
       1:nx                     ########################################### [100%]


    10. نحوه حذف یک بسته rpm

    برای un install کردن یک بسته rpm ، برای مثال نام بسته را nx در نظر می گیریم، نه نام اصلی بسته را nx-3.5.0-2.el6.centos.i686.rpm . از آپشن -e (erase) برای حذف بسته بهره می گیریم.
    کد:
    [root@linux-zone]# rpm -evv nx


    11. نحوه حذف یک بسته rpm بدون پیش نیازها

    آپشن –nodeps (Do not check dependencies) بسته rpm را به اجبار از سیستم حذف می کند. اما در نظر بگیرید با این کار شاید دیگر اپلیکیشت ها نیز از کار بیافتند.
    کد:
    [root@linux-zone]# rpm -ev --nodeps vsftpd


    12. یک فایل به کدام بسته rpm تعلق دارد

    به فرض، شما لیست فایلها را دارید و می خواهید ببینید که این فایله به کدام بسته ها متعلق هستند. برای مثال، دستور زیر با آپشن -qf (query file) به شما نشان می دهد که فایل /usr/bin/htpasswd به بسته httpd-tools-2.2.15-15.el6.centos.1.i686 تعلق دارد.
    کد:
    [root@linux-zone]# rpm -qf /usr/bin/htpasswd
    
    httpd-tools-2.2.15-15.el6.centos.1.i686


    13. به دست آوردن اطلاعات یک بسته rpm نصب شده

    به فرض شما بسته ای را نصب کرده اید و می خواهید اطلاعاتی در مورد آن بسته به دست بیاورید. آپشن -qi (query info) اطلاعات موجود بسته نصب شده را چاپ می کند.
    کد:
    [root@linux-zone]# 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 info package) اطلاعاتی در باره بسته sqlbuddy را چاپ خواهد کرد.
    کد:
    [root@linux-zone]# 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@linux-zone]# 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. نحوه verify کردن یک بسته rpm

    Verifying یعنی مقایسه اطلاعات فایل های نصب شده از پکیج با دیتابیس rpm. -Vp (verify package) برای verify کردن یک پکیج استفاده می شود.
    کد:
    [root@linux-zone downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm
    
    S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf


    17. نحوه verify کردن تمام بسته های rpm

    دستور زیر را برای verify کردن تمام بسته های نصب شده rpm تایپ کنید.
    کد:
    [root@linux-zone]# 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 را وارد کنیم

    برای verify کردن بسته های RHEL/CentOS/Fedora، شما باید یک کلید GPG وارد کنید. برای این کار، دستور زیر را وارد کنید. این دستور کلید CentOS 6 GPG را وارد خواهد کرد.
    کد:
    [root@linux-zone]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


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

    برای این کار از دستور زیر استفاده کنید.
    کد:
    [root@linux-zone]# 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 را دوباره بسازیم و آن را restore کنیم .برای این کار از دستور زیر استفاده کنید.
    کد:
    [root@linux-zone]# cd /var/lib
    [root@linux-zone]# rm __db*
    [root@linux-zone]# rpm --rebuilddb
    [root@linux-zone]# rpmdb_verify Packages

    همچنین توصیه میشود مطالعه کنید :

    دستور dpkg برای مدیریت بسته های .deb در Debian/Ubuntu به همراه 15 مثال عملی


    امیدوارم از مطالعه این مقاله لذت برده باشید. فراموش نکنید نکات و ترفندهای دیگر خود را با ما به اشتراک بگذارید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-17-2021, 11:57 AM.
    اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforum

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X