Nội dung
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
[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
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ụ:
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
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).
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
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)
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ụ:
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
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.
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.
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ụ:
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.
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
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é.
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.
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.
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.
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:
- Hotline 247: 028 888 24768 (Ext 0)
- Ticket/Email: Bạn dùng email đăng ký dịch vụ gửi trực tiếp về: support@azdigi.com.