Skip to content Skip to main navigation Skip to footer

Hướng dẫn sử dụng RPM trên Linux

Hướng dẫn sử dụng RPM trên Linux cho người mới.

I. Giới thiệu

RPM viết tắt của cụm từ (Red Hat Package Manager) là một mã nguồn mở tiện ích dùng để quản lý các gói trên hệ thống Red Hat (RHEL, CentOS, Fedora). Một RPM package một là file chứa các chương trình thực thi, các scripts, tài liệu, và một số file cần thiết khác. Công cụ RPM cho phép người dùng cài đặt, cập nhật, gở cài đặt, truy vấn, xác minh và quản lý các gói rpm trên hệ điều hành Unix/Linux.

RPM trước đây được gọi là tệp .rpm bao gồm các chương trình phần mêm đã biên dịch và các thư viện cần thiết cho các gói và tiện ích này chỉ hoạt động với các gói được xây dựng trên định dạng .rpm. Với các gói cài đặt từ nguồn khác rpm sẽ không quản lý.

1.1 Cấu trúc của một RPM package như sau

<name>-<version>-<release>.<architecture>.rpm

Ví dụ: telnet-0.17-65.el7_8.x86_64.rpm

  • telnet: Package name
  • 0.17: Package Version
  • 65.el7_8: Package release
  • x86_64: Package architecture
  • .rpm: Package type

1.2 Các chế độ của lệnh RPM

  • Install: Lệnh này được sử dụng để cài đặt bất kỳ các gói RPM
  • Remove: Lệnh này dùng để xoá, loại bỏ hoặc huỷ cài đặt bất ký gói RPM nào.
  • Upgrade: Lệnh này để cập nhật goi RPM hiện có
  • Verify: Lệnh này dùng để xác minh gói RPM
  • Query: Lệnh này dùng để truy vấn bất kỳ gói RPM nào

1.3 Một số trang website bạn có thể tìm và tải các gói RPM nổi tiếng như sau

II. Hướng dẫn sử dụng RPM trên Linux

Sau đây là một số ví dụ sử dụng các gói rpm trên Linux. Lưu ý bạn phải sử dụng quyền root để cài đặt.

1. Kiểm tra gói RPM

Việc đầu tiên trước khi cài bạn cần kiểm tra gói theo PGP để đảm bảo tính an toàn và nguồn gốc của nó. Hãy sử dụng lệnh –checksig để kiểm tra. Ví dụ bên dưới mình kiểm tra gói telnet-0.17-65.el7_8.x86_64.rpm

AZDIGI Tutorial
[root@monitor rpm]# rpm --checksig telnet-0.17-65.el7_8.x86_64.rpm
telnet-0.17-65.el7_8.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
    

2. Cài đặt gói RPM

Để cài đặt một gói rpm bạn thêm tuỳ chọn -i để cài đặt. Bên dưới mình cài đặt một gói có tên là telnet-0.17-65.el7_8.x86_64.rpm

AZDIGI Tutorial
rpm -ivh telnet-0.17-65.el7_8.x86_64.rpm
    

Trong đó:

  • -i : Cài đặt một gói
  • -v : verbose hiển thị đẹp mắt hơn
  • -h: hiển thị dấu # khi giải nén gói

3. Kiểm tra các phụ thuộc trước khi cài đặt gói RPM

Giả sử bạn muốn kiểm tra các phần phụ của gói rpm trước khi cài đặt hoặc nâng cấp bạn sử dụng lệnh sau. Nó sẽ hiển thị danh sách các thành phần phụ.

Ví dụ: Mình kiểm tra gói telnet-0.17-65.el7_8.x86_64.rpm như sau

Trong đó:

  • -q: Truy vấn gói
  • -p: Liệt kê các phần phụ mà gói này cung cấp
  • -R: Liệt kê các tthành phần mà gói này phụ thuộc.

4. Cách cài đặt gói RPM không phụ thuộc

Để cài đặt các gói RPM và bỏ quả các phần phụ thuộc bạn sử dụng lệnh và thêm tuỳ chọn như sau –nodeps

Ví dụ:

AZDIGI Tutorial
rpm -ivh --nodeps telnet-0.17-65.el7_8.x86_64.rpm
    

Lệnh trên bắt buộc cài đặt gói rpm bằng cách bỏ qua các lỗi phụ thuộc, nhưng nếu các tệp phụ thuộc đó bị thiếu, thì chương trình sẽ không hoạt động cho đến khi bạn cài đặt lại chúng.

5. Kiểm tra gói RPM đã cài đặt

Để kiểm tra gói đã cài đặt bạn sử dụng lệnh -q với tên gói.

Ví dụ mình tìm gói có tên là telnet

AZDIGI Tutorial
rpm -q telnet

Output
telnet-0.17-65.el7_8.x86_64
[root@monitor rpm]#
    

6. Liệt kê tất cả các file của gói RPM đã cài đặt

Để xem tất cả các file được cài đặt trong gói rpm bạn sử dụng lệnh rpm và tuỳ chọn -ql (query list).

AZDIGI Tutorial
rpm -ql telnet
    

7. Liệt kê các gói RPM được cài đặt gần đây

Để liệt kê tất cả các gói rpm được cài đặt gần đây bạn sử dụng lệnh rpm kèm theo 2 tuỳ chọn như sau -qa --last

AZDIGI Tutorial
rpm -qa --last
    

8. Liệt kê tất cả các gói RPM được cài đặt

Để liệt kê tất cả các gói rpm đã được cài đặt và hệ thống linux bạn sử dụng lệnh rpm kèm tuỳ chọn -qa (query all)

AZDIGI Tutorial
rpm -qa
    

9. Nâng cấp gói RPM

Nếu bạn muốn nâng cấp một gói rpm đã cài đặt, bạn hãy sử dụng lệnh rpm kèm tuỳ chọn -U (Upgrade) và một trong những ưu điểm chính của việc sử dụng tùy chọn này là nó sẽ không chỉ nâng cấp phiên bản mới nhất của bất kỳ gói, mà còn duy trì bản sao lưu của gói cũ hơn để phòng trường hợp nếu gói nâng cấp mới hơn không chạy có thể được sử dụng lại được.

Ví dụ:

AZDIGI Tutorial
rpm -Uvh telnet-0.17-65.el7_8.x86_64.rpm
    

10. Cách xoá gói RPM

Để huỷ cài đặt hoặc xoá gói rpm bạn sử dụng lệnh rpm và tuỳ chọn -e để gở bỏ.

Ví dụ: Mình gở bỏ gói telnet

AZDIGI Tutorial
rpm -evv telnet
    

11. Truy vấn file thuộc gói RPM nào trên Linux

Giả sử bạn có danh sách các file và bạn muốn biết file được thuộc gói rpm nào thì bạn sử dụng tuỳ chọn -qf để kiểm tra.

Ví dụ: Mình kiểm tra file /usr/bin/htpasswd thuộc gói rpm nào mình sử dụng lệnh sau.

AZDIGI Tutorial
rpm -qf /usr/bin/htpasswd
    

Kết quả trả file file thuộc gói rpm có tên là httpd-tools-2.4.6-97.el7.centos.x86_64

12. Truy vấn thông tin gói RPM đã cài đặt.

Để kiểm tra thông tin chi tiết gói rpm đã cài đặt bạn sử dụng tuỳ chọn -qi (query infomation) để xem chi tiết các thông tin về gói.

Ví dụ: Mình kiểm tra thông tin gói telnet đã cài đặt.

AZDIGI Tutorial
rpm -qi telnet
    

13. Kiểm tra thông tin gói RPM khi cài đặt.

Giả sử bạn vừa tải xuống một gói rpm trên internet về, và bạn muốn kiểm tra gói khi cài đặt bạn sử dụng tuỳ chọn là -qip (query info package).

Ví dụ:

AZDIGI Tutorial
rpm -qip telnet-0.17-65.el7_8.x86_64.rpm
    

14. Truy vấn tài liệu gói RPM đã cài đặt.

Để lấy danh sách tài liệu có sẵn của một gói đã cài đặt, hãy sử dụng lệnh sau với tùy chọn -qdf (query document file) sẽ hiển thị các trang liên quan đến gói vmstat trong ví dụ bên dưới.

AZDIGI Tutorial
rpm -qdf /usr/bin/vmstat
    

15. Xác minh gói RPM

Để xác minh gói rpm bạn sử dụng tuỳ chọn -Vp (verify package) để xác minh nhé.

Ví dụ bên dưới mình xác minh gói telnet-0.17-65.el7_8.x86_64.rpm

AZDIGI Tutorial
rpm -Vp telnet-0.17-65.el7_8.x86_64.rpm
    

16. Xác minh tất cả các gói RPM

Để xác minh tất cả các gói rpm bạn sử dụng tuỳ chọn -Va (Verify all) nhé.

AZDIGI Tutorial
rpm -Va
    

17. Nhập khoá RPM GPG

Để xác minh gói RHEL/CentOS hoặc Fedora, bạn phải nhập khóa GPG. Để làm như vậy, hãy thực hiện lệnh sau. Nó sẽ nhập khóa CentOS 7 GPG.

AZDIGI Tutorial
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    

18. Liệt kê tất cả các khoá RPM GPG

Để hiện thị tất cả các khoá GPG trong hệ thống bạn sẽ dụng lệnh sau.

AZDIGI Tutorial
rpm -qa gpg-pubkey*
    

19. Xây dựng lại cơ sở dữ liệu RPM bị hỏng

Đôi khi cơ sở dữ liệu rpm bị hỏng làm tất cả các chức năng của rpm bị dừng và các ứng dụng khác trên hệ thống. Vì vậy, tại thời điểm đó chúng ta cần xây dựng lại cơ sở dữ liệu rpm và khôi phục nó với bằng lệnh sau.

AZDIGI Tutorial
cd /var/lib
rm __db*
rpm --rebuilddb
rpmdb_verify Packages
    

III. Tổng kết

Như vậy mình vừa hướng dẫn bạn sử dụng RPM trên Linux cơ bản. Chúc các bạn có thể thực hiện thành công. Xem thêm các bài viết hữu ích về VPS Linux tại đường dẫn sau:

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:

5 / 5 ( 3 bình chọn )