BizMaC bizmac.com

Tổng hợp lệnh rpm trên Linux kèm bảng tra

Hướng dẫn Linux Server · cập nhật 22/08/2026

Lệnh rpm quản lý gói phần mềm trên các bản Linux dòng Red Hat: cài, gỡ, nâng cấp, tra cứu gói và kiểm tra file thuộc gói nào. Bảng tra ở đầu bài đủ dùng cho hầu hết việc hàng ngày, tra một dòng mất chưa tới mười giây.

Bài này viết cho RHEL, CentOS, AlmaLinux, Rocky Linux và Fedora. Các bản Debian và Ubuntu dùng dpkg với apt, cú pháp khác hẳn nên không áp dụng được.

  1. Tra bảng bên dưới để chọn đúng tuỳ chọn.
  2. Chạy lệnh bằng quyền root.
  3. Kiểm lại bằng một lệnh truy vấn để chắc gói đã đúng trạng thái mong muốn.
Lệnh rpm cài đúng file trong gói và không tự tải gói phụ thuộc. Cài phần mềm mới trên máy đang chạy thì nên dùng yum hoặc dnf. Chỉ dùng rpm khi bạn có sẵn file .rpm trong tay hoặc cần tra cứu thông tin gói đã cài.

Bảng tra lệnh rpm dùng khi nào

Lệnh rpm có năm nhóm chức năng chính, phân biệt bằng chữ cái đầu sau dấu gạch: cài đặt, nâng cấp, gỡ bỏ, truy vấn và xác minh. Bảng dưới liệt kê các tổ hợp dùng nhiều nhất, đủ cho phần lớn việc quản trị máy chủ hàng ngày.

Việc cần làmLệnhGhi chú
Cài một gói từ filerpm -ivh file.rpmBáo lỗi nếu gói đã có
Nâng cấp hoặc cài mớirpm -Uvh file.rpmChưa có thì cài, có rồi thì thay
Chỉ nâng cấp gói đã córpm -Fvh file.rpmChưa cài thì bỏ qua
Gỡ một góirpm -e tengoiDùng tên gói, không dùng tên file
Liệt kê mọi gói đã càirpm -qaKết hợp grep để lọc
Kiểm tra một gói đã cài chưarpm -q tengoiPhải gõ đúng tên gói
Xem thông tin chi tiết góirpm -qi tengoiPhiên bản, ngày cài, nhà phát hành
Liệt kê file trong góirpm -ql tengoiĐường dẫn đầy đủ từng file
Tra file này thuộc gói nàorpm -qf /duong/danNgược lại của -ql
Xem gói cài gần đây nhấtrpm -qa --lastSắp theo thời gian giảm dần
Xem gói phụ thuộc của một góirpm -qR tengoiDanh sách yêu cầu để chạy được
Xác minh file có bị sửa khôngrpm -V tengoiIm lặng nghĩa là nguyên vẹn
Xem file cấu hình của góirpm -qc tengoiLọc riêng file config
Đọc thông tin từ file chưa càirpm -qip file.rpmThêm p để hỏi vào file

Ba chữ cái đi kèm hầu hết mọi lệnh cài: -v in chi tiết quá trình, -h vẽ thanh tiến trình bằng dấu thăng, --test chạy thử mà không đụng vào hệ thống.

Cài và nâng cấp gói bằng lệnh rpm

Cài gói là chép các file trong gói vào đúng vị trí trên máy và ghi bản kê vào cơ sở dữ liệu ở /var/lib/rpm. Trước khi chép, rpm kiểm tra kiến trúc máy, phiên bản hệ điều hành và các gói phụ thuộc. Thiếu một điều kiện là nó dừng lại và in ra thứ còn thiếu.

1. Cài gói mới

rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
Preparing...                ########################################### [100%]
   1:wget                   ########################################### [100%]

Tên file gói gồm bốn phần: tên gói, phiên bản, số bản phát hành và kiến trúc. Với wget-1.14-18.el7_6.1.x86_64.rpm thì gói là wget, phiên bản 1.14, bản phát hành 18 dành cho el7, chạy trên kiến trúc x86_64.

2. Nâng cấp lên bản mới hơn

rpm -Uvh wget-1.19.5-7.el8_0.1.x86_64.rpm

Tuỳ chọn -U gỡ bản cũ rồi cài bản mới trong một lượt, giữ lại file cấu hình đã sửa bằng cách đổi tên thành .rpmsave. Máy chưa có gói đó thì -U cài mới luôn, nên dùng được cả hai trường hợp.

3. Chạy thử trước khi cài thật

rpm -ivh --test tengoi.rpm

Lệnh này kiểm tra hết điều kiện rồi in ra thứ còn thiếu mà không chép file nào. Nên chạy trước mỗi lần cài gói trên máy chủ đang phục vụ, để biết trước có vướng phụ thuộc hay xung đột file với gói khác hay không.

Truy vấn gói và tra ngược file thuộc gói nào

Nhóm lệnh truy vấn bắt đầu bằng -q và không đụng gì vào hệ thống, chạy được bằng tài khoản thường. Đây là nhóm dùng nhiều nhất khi tìm hiểu một máy chủ lạ: xem đang cài gì, phiên bản bao nhiêu, file này ở đâu ra.

Tìm xem một phần mềm đã có trên máy chưa:

rpm -qa | grep -i php

Tra một file đang có trên đĩa thuộc gói nào. Cách này hay dùng khi phát hiện file lạ hoặc cần biết gỡ gói nào thì mất file đó:

rpm -qf /usr/bin/python2.7
python2-2.7.15-24.module_el8.0.0+193+7850e68f.x86_64

Xem toàn bộ file mà một gói đã đặt lên máy:

rpm -ql wget

Liệt kê gói mới cài gần đây, hữu ích khi máy vừa hỏng sau một lần cập nhật và cần biết đợt đó thay những gì:

rpm -qa --last | head -20

Gỡ gói và xử lý phụ thuộc bị vướng

Gỡ gói dùng tuỳ chọn -e kèm tên gói, không kèm tên file và không kèm đuôi kiến trúc. Nếu có gói khác đang cần gói này thì rpm từ chối gỡ và in danh sách gói phụ thuộc, đây là hàng rào bảo vệ chứ không phải lỗi.

rpm -e wget

Thông báo khi vướng phụ thuộc:

error: Failed dependencies:
	wget is needed by (installed) some-package-1.0-1.el7.x86_64

Lúc này có hai đường. Đường an toàn là gỡ luôn gói đang phụ thuộc, hoặc dùng yum remove để nó tự tính cả cây phụ thuộc. Đường nhanh nhưng rủi ro là bỏ qua kiểm tra:

rpm -e --nodeps wget

Tuỳ chọn --nodeps để lại các gói khác trong trạng thái thiếu thư viện và chúng sẽ hỏng lúc chạy. Chỉ dùng khi bạn biết chắc gói kia không còn được dùng, hoặc khi đang gỡ để cài ngay bản khác thay thế.

Xác minh gói và nhập khoá GPG

Lệnh rpm -V so từng file của gói với bản kê gốc, phát hiện file bị sửa, bị xoá hay đổi quyền. Không in gì nghĩa là mọi thứ nguyên vẹn. Đây là cách nhanh nhất để kiểm tra máy bị can thiệp sau một sự cố bảo mật.

rpm -V httpd

Có sai lệch thì mỗi dòng bắt đầu bằng một dãy ký tự cho biết thứ đã đổi:

Ký tựNghĩa
SKích thước file đã đổi
MQuyền hoặc kiểu file đã đổi
5Nội dung khác bản gốc, sai mã băm MD5
TThời gian sửa file đã đổi
UChủ sở hữu file đã đổi
GNhóm sở hữu file đã đổi
cĐây là file cấu hình, sửa là bình thường

File cấu hình có chữ c ở cột cuối thì lệch là chuyện đương nhiên vì bạn đã sửa nó. File nhị phân trong /usr/bin mà lệch mã băm mới là dấu hiệu đáng xem lại.

Nhập khoá GPG để công cụ xác thực chữ ký gói trước khi cài:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
rpm -qa gpg-pubkey*

Khi nào dùng rpm và khi nào dùng yum

Lệnh rpm làm việc với đúng file bạn đưa cho nó, không biết gì về kho gói trên mạng và không tự tải gói phụ thuộc. Lệnh yum hoặc dnf đứng một tầng trên, biết hỏi kho gói và tự giải quyết cây phụ thuộc. Chọn sai công cụ là nguồn gốc của phần lớn ca cài dở dang.

Tình huốngNên dùngVì sao
Cài phần mềm từ kho chính thứcyum hoặc dnfTự tải đủ gói phụ thuộc
Có sẵn một file .rpm tải riêngrpm -ivhKhông cần kho, cài thẳng
Tra file thuộc gói nàorpm -qfYum không có lệnh tương đương gọn bằng
Gỡ gói kèm mọi thứ phụ thuộcyum removeTính được cả cây phụ thuộc
Kiểm tra file bị sửa đổirpm -VChỉ công cụ này làm được
Cập nhật toàn hệ thốngyum updateXử lý hàng trăm gói một lượt

Trên máy chủ CentOS 7 và CentOS 8 đã hết vòng đời, yum không hỏi được kho gói cũ nữa. Nếu lệnh yum của bạn báo lỗi tải metadata, sửa theo hướng dẫn fix lỗi Not found trying other mirror trên CentOS 7 trước khi quay lại làm việc với gói.

Điều cần nhớ khi làm việc với gói rpm

Cơ sở dữ liệu gói nằm ở /var/lib/rpm và là thứ duy nhất rpm dựa vào để biết máy đang cài gì. Xoá thư mục này là mất toàn bộ danh sách gói, dựng lại được nhưng mất công. Nếu truy vấn báo lỗi cơ sở dữ liệu hỏng, chạy rpm --rebuilddb để dựng lại chỉ mục.

Trước mỗi lần gỡ gói trên máy chủ đang phục vụ, chạy rpm -q --whatrequires tengoi để xem thứ gì đang cần nó. Một phút kiểm tra đổi lấy việc không phải dựng lại dịch vụ lúc nửa đêm.

Hướng dẫn này có giúp được Anh/Chị không?

Bài khác trong Linux Server

Xem cả 23 bài
Cài SQL Server 2025 trên Ubuntu 24.04 chạy cùng Plesk Cài SQL Server 2025 lên máy Ubuntu 24.04 đang chạy Plesk, chọn edition đúng giấy phép, tạo tài khoản riêng thay cho sa và mở kết nối từ xa mà không phơi cổng 1433. 11 phút đọc 106 lượt xem Cập nhật 16/09/2026 Cài tường lửa UFW cơ bản cho VPS Ubuntu Cách cài UFW trên Ubuntu, cho phép cổng SSH trước khi bật, mở cổng web 80 và 443, rồi kích hoạt tường lửa mà không mất kết nối cho người mới quản trị VPS. 5 phút đọc 136 lượt xem Cập nhật 29/08/2026 Đổi port SSH mặc định để bảo mật VPS Cách đổi cổng SSH từ 22 sang cổng khác trong file sshd_config, mở cổng mới trên tường lửa trước khi khởi động lại dịch vụ, và kiểm tra kết nối cho người mới. 5 phút đọc 90 lượt xem Cập nhật 28/08/2026 Cài Fail2Ban chống dò mật khẩu SSH Cách cài Fail2Ban trên Ubuntu và CentOS, tạo file cấu hình jail.local, đặt số lần sai và thời gian khoá IP, rồi kiểm tra danh sách IP đang bị chặn. 5 phút đọc 77 lượt xem Cập nhật 28/08/2026 Phân quyền file thư mục bằng chmod và chown Cách đọc dãy quyền rwx, dùng chmod đổi quyền theo số và chown đổi chủ sở hữu file trên Linux, kèm bảng số quyền hay dùng và cảnh báo chmod 777. 5 phút đọc 51 lượt xem Cập nhật 27/08/2026 15 lệnh Linux cơ bản cho người mới quản trị VPS Bảng tra 15 lệnh Linux thiết yếu để đi lại trong thư mục, xem và sửa file, kiểm tra tài nguyên và quản lý dịch vụ trên VPS, kèm ví dụ cho người mới. 5 phút đọc 59 lượt xem Cập nhật 26/08/2026