اطلاعیه

بستن
هنوز اعلام نشده است.

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

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

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

    RPM یا Red Hat Package Manager یکی از ابزارهای مدیریت پکیج محبوب و پیش فرض اوپن سورس برای سیستم های مبتنی بر ردهت می باشد مانند (RHEL, CentOS and Fedora) . این ابزار به مدیران سیستم و کاربران اجازه می دهد تا عملیات install, update, uninstall, query, verify و مدیریت بسته های نرم افزاری سیستم در سیستم عامل های لینوکس/یونیکس را انجام دهند. 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 را پیدا کنید و دانلود کنید.



    همچنین مطالب زیر را بخوانید:


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

    1. چگونه signature بسته rpm را چک کنیم
    همیشه قبل از نصب بسته ها در لینوکس PGP signature آن را چک کنید و از سازگار بودن آن و اصل بودن آن اطمینان حاصل کنید.دستور زیر را به همراه آپشن –checksig (check signature) برای چک signature بسته pidgin به کار ببرید.
    کد:
    [root@tecmint]# 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@tecmint]# 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@tecmint]# 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@tecmint]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm
    
    Preparing...                ########################################### [100%]
       1:BitTorrent             ########################################### [100%]
    دستور بالا بسته rpm را بدون در نظر گرفتن ارورهای وابستگی نصب خواهد کرد، اما اگر فایلهای وابستگی موجود نباشند، آن موقع برنامه اصلا کار نخواهد کرد، مگر اینکه آنها را نصب کنید.


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

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

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

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

    13. به دست آوردن اطلاعات یک بسته rpm نصب شده
    به فرض شما بسته ای را نصب کرده اید و می خواهید اطلاعاتی در مورد آن بسته به دست بیاورید. آپشن -qi (query info) اطلاعات موجود بسته نصب شده را چاپ می کند.
    کد:
    [root@tecmint]# 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@tecmint]# 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@tecmint]# 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@tecmint 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@tecmint]# 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@tecmint]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    19. چگونه تمام کلیدهای RPM GPG وارد شده را لیست کنیم
    برای این کار از دستور زیر استفاده کنید.
    کد:
    [root@tecmint]# 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@tecmint]# cd /var/lib
    [root@tecmint]# rm __db*
    [root@tecmint]# rpm --rebuilddb
    [root@tecmint]# rpmdb_verify Packages
    ویرایش توسط Habili : http://linux-zone.org/forums/member/5-habili در ساعت 02-12-2016, 11:01 AM
پردازش ...
X