ค้นหาเว็บไซต์

20 ตัวอย่างการใช้งานคำสั่ง RPM ใน Linux


RPM (Red Hat Package Manager) เป็นโอเพ่นซอร์สเริ่มต้นและเป็นยูทิลิตี้การจัดการแพ็คเกจที่ได้รับความนิยมสูงสุดสำหรับระบบที่ใช้ Red Hat เช่น (RHEL , CentOS และ Fedora) เครื่องมือนี้ช่วยให้ผู้ดูแลระบบและผู้ใช้สามารถ ติดตั้ง, อัปเดต, ถอนการติดตั้ง, สอบถาม, ยืนยัน และจัดการแพ็คเกจซอฟต์แวร์ระบบในระบบปฏิบัติการ Unix/Linux RPM เดิมชื่อไฟล์ .rpm ซึ่งรวมถึงโปรแกรมซอฟต์แวร์ที่คอมไพล์และไลบรารีที่จำเป็นสำหรับแพ็คเกจ ยูทิลิตี้นี้ใช้งานได้กับแพ็คเกจที่สร้างในรูปแบบ .rpm เท่านั้น

บทความนี้มี ตัวอย่างคำสั่ง 20 RPM ที่มีประโยชน์ซึ่งอาจเป็นประโยชน์กับคุณ ด้วยความช่วยเหลือของคำสั่ง rpm เหล่านี้ คุณสามารถจัดการเพื่อติดตั้ง อัปเดต ลบแพ็คเกจในระบบ Linux ของคุณได้

ข้อเท็จจริงบางประการเกี่ยวกับ RPM (ตัวจัดการแพ็คเกจ RedHat)

  1. RPM นั้นฟรีและเผยแพร่ภายใต้ GPL (General Public License)
  2. RPM จะเก็บข้อมูลของแพ็คเกจที่ติดตั้งไว้ทั้งหมดภายใต้ฐานข้อมูล /var/lib/rpm
  3. RPM เป็นวิธีเดียวที่จะติดตั้งแพ็คเกจภายใต้ระบบ Linux หากคุณได้ติดตั้งแพ็คเกจโดยใช้ซอร์สโค้ด rpm จะไม่จัดการมัน
  4. RPM เกี่ยวข้องกับไฟล์ .rpm ซึ่งมีข้อมูลจริงเกี่ยวกับแพ็คเกจ เช่น มันคืออะไร, มาจากที่ใด, ข้อมูลการขึ้นต่อกัน, ข้อมูลเวอร์ชัน ฯลฯ

มีโหมดพื้นฐานห้าโหมดสำหรับคำสั่ง RPM

  1. ติดตั้ง : ใช้สำหรับติดตั้งแพ็คเกจ RPM ใดๆ
  2. ลบ : ใช้เพื่อลบ ลบ หรือยกเลิกการติดตั้งแพ็คเกจ RPM ใด ๆ
  3. อัปเกรด : ใช้เพื่ออัปเดตแพ็คเกจ RPM ที่มีอยู่
  4. ยืนยัน : ใช้เพื่อตรวจสอบแพ็คเกจ RPM
  5. แบบสอบถาม : ใช้ค้นหาแพ็คเกจ RPM ใด ๆ

จะหาแพ็คเกจ RPM ได้ที่ไหน

ด้านล่างนี้คือรายการไซต์ rpm ซึ่งคุณสามารถค้นหาและดาวน์โหลดแพ็คเกจ RPM ทั้งหมดได้

  1. http://rpmfind.net
  2. http://www.redhat.com
  3. http://freshrpms.net/
  4. http://rpm.pbone.net/

อ่านเพิ่มเติม :

  1. 20 ตัวอย่างคำสั่ง YUM ใน Linux
  2. 10 ตัวอย่างคำสั่ง Wget ใน Linux
  3. 30 คำสั่ง Linux ที่มีประโยชน์ที่สุดสำหรับผู้ดูแลระบบ

โปรดจำไว้ว่าคุณจะต้องเป็นผู้ใช้ รูท เมื่อติดตั้งแพ็คเกจใน Linux ด้วยสิทธิ์รูท คุณสามารถจัดการคำสั่ง rpm ด้วยตัวเลือกที่เหมาะสมได้

1. วิธีตรวจสอบแพ็คเกจลายเซ็น RPM

ตรวจสอบลายเซ็น PGP ของแพ็คเกจทุกครั้งก่อนที่จะติดตั้งบนระบบ Linux ของคุณ และตรวจสอบให้แน่ใจว่าความสมบูรณ์และที่มาของแพ็คเกจนั้น ตกลง ใช้คำสั่งต่อไปนี้พร้อมกับตัวเลือก –checksig (ตรวจสอบลายเซ็น) เพื่อตรวจสอบลายเซ็นของแพ็คเกจที่เรียกว่า 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
  1. -i : ติดตั้งแพ็คเกจ
  2. -v : verbose เพื่อการแสดงผลที่สวยงามยิ่งขึ้น
  3. -h: พิมพ์เครื่องหมายแฮชเมื่อไฟล์เก็บถาวรของแพ็กเกจถูกคลายแพ็ก

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
  1. -q : ค้นหาแพ็คเกจ
  2. -p : แสดงรายการความสามารถที่แพ็คเกจนี้มีให้
  3. -R: แสดงรายการความสามารถที่แพ็คเกจนี้ขึ้นอยู่กับ..

4. วิธีการติดตั้งแพ็คเกจ RPM โดยไม่ต้องพึ่งพา

หากคุณทราบว่าแพ็คเกจที่จำเป็นทั้งหมดได้รับการติดตั้งแล้ว และ RPM นั้นโง่เกินไป คุณสามารถเพิกเฉยต่อการอ้างอิงเหล่านั้นได้โดยใช้ตัวเลือก –nodeps (ไม่มีการตรวจสอบการขึ้นต่อกัน) ก่อนทำการติดตั้ง บรรจุุภัณฑ์.

[root@tecmint]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm

Preparing...                ########################################### [100%]
   1:BitTorrent             ########################################### [100%]

คำสั่งข้างต้นบังคับให้ติดตั้งแพ็คเกจ rpm โดยไม่สนใจข้อผิดพลาดในการอ้างอิง แต่หากไฟล์อ้างอิงเหล่านั้นหายไป โปรแกรมจะไม่ทำงานเลยจนกว่าคุณจะติดตั้ง

5. วิธีตรวจสอบแพ็คเกจ RPM ที่ติดตั้ง

การใช้ตัวเลือก -q พร้อมชื่อแพ็คเกจ จะแสดงว่าติดตั้ง rpm หรือไม่

[root@tecmint]# rpm -q BitTorrent

BitTorrent-5.2.2-1.noarch

6. วิธีแสดงรายการไฟล์ทั้งหมดของแพ็คเกจ RPM ที่ติดตั้ง

หากต้องการดูไฟล์ทั้งหมดของแพ็คเกจ rpm ที่ติดตั้ง ให้ใช้ -ql (รายการข้อความค้นหา) พร้อมด้วยคำสั่ง 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 ที่ติดตั้งล่าสุด

ใช้คำสั่ง 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 ที่ติดตั้งทั้งหมด

พิมพ์คำสั่งต่อไปนี้เพื่อพิมพ์ชื่อทั้งหมดของแพ็คเกจที่ติดตั้งบนระบบ Linux ของคุณ

[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

หากเราต้องการอัปเกรดแพ็คเกจ RPM ใด ๆ “–U” (อัปเกรด) จะถูกนำมาใช้ ข้อดีที่สำคัญประการหนึ่งของการใช้ตัวเลือกนี้คือ ไม่เพียงแต่จะอัพเกรดเวอร์ชันล่าสุดของแพ็คเกจใด ๆ เท่านั้น แต่ยังจะรักษาการสำรองข้อมูลของแพ็คเกจเก่าไว้ด้วย เผื่อว่าในกรณีที่แพ็คเกจที่อัพเกรดใหม่กว่าไม่ได้รันแพ็คเกจที่ติดตั้งก่อนหน้านี้ สามารถนำมาใช้ใหม่ได้

[root@tecmint]# 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 (ลบ) ใช้เพื่อลบแพ็คเกจ

[root@tecmint]# rpm -evv nx

11. วิธีลบแพ็คเกจ RPM โดยไม่ต้องพึ่งพา

ตัวเลือก –nodeps (อย่าตรวจสอบการขึ้นต่อกัน) บังคับให้ลบแพ็คเกจ rpm ออกจากระบบ แต่โปรดจำไว้ว่าการลบแพ็คเกจบางตัวออกอาจทำให้แอพพลิเคชั่นอื่น ๆ ที่ทำงานเสียหายได้

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

12. วิธีการสืบค้นไฟล์ที่เป็นของ RPM Package ใด

สมมติว่าคุณมีรายการไฟล์และต้องการทราบว่าแพ็คเกจใดเป็นของไฟล์เหล่านี้ ตัวอย่างเช่น คำสั่งต่อไปนี้ที่มีตัวเลือก -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 ที่ติดตั้ง

สมมติว่าคุณได้ติดตั้งแพ็คเกจ rpm และต้องการทราบข้อมูลเกี่ยวกับแพ็คเกจ ตัวเลือก -qi (ข้อมูลการสืบค้น) ต่อไปนี้จะพิมพ์ข้อมูลที่มีอยู่ของแพ็คเกจที่ติดตั้ง

[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 (แพ็คเกจข้อมูลการสืบค้น) จะพิมพ์ข้อมูลของแพ็คเกจ 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 (ไฟล์เอกสารแบบสอบถาม) จะแสดงหน้าคู่มือที่เกี่ยวข้องกับแพ็คเกจ 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. วิธีการตรวจสอบแพ็คเกจ RPM

การตรวจสอบแพ็กเกจจะเปรียบเทียบข้อมูลของไฟล์ที่ติดตั้งของแพ็กเกจกับฐานข้อมูล rpm -Vp (ยืนยันแพ็คเกจ) ใช้ในการตรวจสอบแพ็คเกจ

[root@tecmint downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm

S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf

17. วิธีการตรวจสอบแพ็คเกจ RPM ทั้งหมด

พิมพ์คำสั่งต่อไปนี้เพื่อตรวจสอบแพ็คเกจ 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

หากต้องการตรวจสอบแพ็คเกจ RHEL/CentOS/Fedora คุณต้องนำเข้าคีย์ GPG โดยดำเนินการคำสั่งต่อไปนี้ มันจะนำเข้าคีย์ GPG CentOS 6

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

19. วิธีแสดงรายการคีย์ RPM GPG ที่นำเข้าทั้งหมด

หากต้องการพิมพ์คีย์ 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 ใหม่และกู้คืนด้วยคำสั่งต่อไปนี้

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