Lệnh yum: cách dùng và tùy chọn, yum-utils và kiểm tra kho lưu trữ
Lệnh yum là lệnh quản lý gói dùng để cài đặt, cập nhật và gỡ gói trên Linux họ RHEL. Khi chạy thử các lệnh tra cứu, kiểm tra cập nhật và các công cụ yum-utils trên máy chủ AlmaLinux 9, yum chạy như cùng một chương trình với dnf và kết quả xuất ra cũng giống dnf.
Danh sách kho lưu trữ, số phát hành (release) của gói và thời gian cài đặt trong kết quả bên dưới là giá trị ví dụ.
1️⃣ Cách dùng cơ bản lệnh yum: yum và dnf
Trên AlmaLinux 9, gõ yum sẽ chạy dnf. Đó là vì /usr/bin/yum là liên kết trỏ tới dnf-3.
ls -l /usr/bin/yum /usr/bin/dnflrwxrwxrwx 1 root root 5 Oct 5 10:12 /usr/bin/dnf -> dnf-3
lrwxrwxrwx 1 root root 5 Oct 5 10:12 /usr/bin/yum -> dnf-3Cả hai tệp đều là liên kết trỏ tới dnf-3. Vì vậy chạy yum --version cũng hiện phiên bản dnf.
yum --version4.14.0
Installed: dnf-0:4.14.0-21.el9_8.alma.1.noarch at Mon Oct 5 10:12:30 2026
Built : AlmaLinux Packaging Team <packager@almalinux.org> at Fri May 1 09:30:00 2026
Installed: rpm-0:4.16.1.3-23.el9.x86_64 at Mon Oct 5 10:12:08 2026
Built : AlmaLinux Packaging Team <packager@almalinux.org> at Thu Mar 12 08:15:20 2026Dòng đầu 4.14.0 là phiên bản dnf, bên dưới là thời điểm cài các gói dnf và rpm. Phiên bản rpm cũng hiện ra vì cuối cùng yum cài các gói nhận từ kho lưu trữ bằng rpm.
Dạng cơ bản của lệnh là yum, tùy chọn, lệnh và tên gói theo thứ tự đó. Dòng đầu của --help chính là dạng này, bên dưới là danh sách lệnh.
yum --help | head -n 12usage: yum [options] COMMAND
List of Main Commands:
alias List or create command aliases
autoremove remove all unneeded packages that were originally installed as dependencies
check check for problems in the packagedb
check-update check for available package upgrades
clean remove cached data
deplist [deprecated, use repoquery --deplist] List package's dependencies and what packages provide them
distro-sync synchronize installed packages to the latest available versions
downgrade Downgrade a packageCác lệnh hay dùng được gom vào bảng.
| Lệnh | Chức năng | |
|---|---|---|
| list installed | Danh sách gói đã cài (thêm tên gói thì chỉ gói đó) | |
| list updates | Danh sách gói có phiên bản mới hơn trong kho lưu trữ | |
| check-update | Kiểm tra có bản cập nhật hay không (có thì mã thoát 100) | |
| info | Phiên bản, kích thước, kho lưu trữ và mô tả của một gói | |
| search | Tìm gói theo tên và tóm tắt | |
| install | Cài gói (kèm phụ thuộc) | |
| remove | Gỡ gói (giống erase) | |
| update | Nâng các gói đã cài lên phiên bản mới (giống upgrade) | |
| autoremove | Gỡ các gói được cài làm phụ thuộc và không còn cần nữa | |
| makecache | Tải trước metadata của kho lưu trữ và tạo bộ nhớ đệm | |
| clean all | Xóa toàn bộ bộ nhớ đệm đã tải | |
| repolist | Danh sách kho lưu trữ đang bật | |
| deplist | Phụ thuộc và gói cung cấp (nên dùng repoquery --deplist) | |
| history | Lịch sử giao dịch cài đặt và gỡ bỏ |
2️⃣ Tùy chọn của lệnh yum: -y, -C, exclude, enablerepo
Tùy chọn đặt giữa yum và lệnh. -y trả lời có cho mọi câu hỏi nên dùng trong script; khi chạy update bằng tay trên máy chủ thật, tốt hơn là không dùng -y mà đọc bảng giao dịch rồi tự trả lời.
| Tùy chọn | Sao chép | Mô tả |
|---|---|---|
| -C, --cacheonly | Chỉ dùng bộ nhớ đệm đã tải mà không kết nối tới kho lưu trữ. | |
| -q, --quiet | Ẩn các thông báo như dòng metadata và chỉ in kết quả. | |
| --showduplicates | In cả phiên bản đã cài lẫn các phiên bản trong kho lưu trữ của cùng một gói. | |
| --exclude=PKG, -x PKG | Loại gói đó khỏi lệnh lần này (dùng được mẫu như kernel*). | |
| --enablerepo=REPO | Bật kho lưu trữ đang tắt chỉ cho lệnh lần này. | |
| --version | In phiên bản yum (dnf) và rpm. | |
| -h, --help | In trợ giúp. |
| Tùy chọn | Sao chép | Mô tả |
|---|---|---|
| -y, --assumeyes | Trả lời có cho mọi câu hỏi. | |
| -v, --verbose | In chi tiết quá trình thực hiện. | |
| --disablerepo=REPO | Tắt kho lưu trữ đang bật chỉ cho lệnh lần này. | |
| --skip-broken | Bỏ qua các gói bị hỏng phụ thuộc và tiếp tục với phần còn lại. |
-C in kết quả chỉ từ bộ nhớ đệm đã tải, không kết nối tới kho lưu trữ. Dòng đầu cho biết lần cuối bộ nhớ đệm được làm mới, kết quả bắt đầu từ dòng thứ hai.
yum -C list treeLast metadata expiration check: 0:35:03 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
tree.x86_64 1.8.0-12.el9 @baseosThêm -q thì dòng đầu biến mất và chỉ còn kết quả.
yum -C -q list installed treeInstalled Packages
tree.x86_64 1.8.0-12.el9 @baseos--showduplicates in song song phiên bản đã cài và các phiên bản có trong kho lưu trữ.
yum -C --showduplicates list libavifLast metadata expiration check: 0:38:15 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
libavif.x86_64 0.11.1-7.el9 @epel
Available Packages
libavif.x86_64 1.1.1-2.el9 epel0.11.1 ở Installed Packages và 1.1.1 ở Available Packages là hai phiên bản của cùng một gói. Phiên bản trong kho lưu trữ cao hơn, nên libavif là gói cần cập nhật.
--exclude loại gói đó khỏi lệnh lần này.
yum -C --exclude=libavif check-update libavif libdav1dLast metadata expiration check: 0:35:10 ago on Thu Oct 29 05:32:35 2026.
libdav1d.x86_64 1.5.4-2.el9 epelĐã chỉ định hai gói nhưng libavif bị loại và chỉ còn libdav1d. Khi thêm vào update, mọi thứ được cập nhật trừ gói đó.
3️⃣ Quản lý gói bằng yum và thứ tự cập nhật
Dù biết tùy chọn, bạn vẫn phải xem trước cái gì đã cài và cái gì mới ra thì mới quyết định được gói nào cần cập nhật. Vì vậy ta bắt đầu từ các lệnh kiểm tra gói đã cài.
yum -C list installed treeInstalled Packages
tree.x86_64 1.8.0-12.el9 @baseos@baseos ở cột cuối là kho lưu trữ đã dùng khi cài gói. Tra bằng rpm -q thì phiên bản hiện trên một dòng.
rpm -q tree htop libaviftree-1.8.0-12.el9.x86_64
package htop is not installed
libavif-0.11.1-7.el9.x86_64Với gói chưa cài, kết quả kết thúc bằng một dòng not installed, và mã thoát là 1.
Các gói có phiên bản mới trong kho lưu trữ được kiểm tra bằng list updates.
yum -C list updates libavif libdav1dLast metadata expiration check: 0:35:07 ago on Thu Oct 29 05:32:35 2026.
Available Upgrades
libavif.x86_64 1.1.1-2.el9 epel
libdav1d.x86_64 1.5.4-2.el9 epelBên dưới Available Upgrades là các gói có phiên bản mới. Nếu không thêm tên gói, lệnh xét toàn bộ gói đã cài.
check-update cũng báo cùng danh sách đó qua mã thoát.
yum -C check-update libavif libdav1d; echo $?Last metadata expiration check: 0:35:08 ago on Thu Oct 29 05:32:35 2026.
libavif.x86_64 1.1.1-2.el9 epel
libdav1d.x86_64 1.5.4-2.el9 epel
100Số 100 ở dòng cuối là mã thoát. Có bản cập nhật thì là 100, không có thì là 0, nên script dựa vào giá trị này để quyết định.
Cập nhật theo thứ tự makecache, update, autoremove.
yum makecachemakecache tải trước metadata của kho lưu trữ. update tự tải nên có thể bỏ qua bước này.
yum updateupdate nâng toàn bộ gói đã cài lên phiên bản mới và xử lý luôn phụ thuộc.
yum update libavifThêm tên gói thì chỉ nâng gói đó.
yum autoremoveautoremove xóa các gói được cài kèm làm phụ thuộc và không còn cần nữa. Chạy sau update.
yum update --exclude='kernel*'Muốn cập nhật mà không đụng tới kernel, thêm mẫu kernel vào --exclude. Sau khi kernel được cập nhật phải khởi động lại mới chạy bằng kernel mới, còn có cần khởi động lại hay không thì kiểm tra bằng needs-restarting của yum-utils.
4️⃣ Công cụ yum-utils: yumdownloader, repoquery, needs-restarting
Trên AlmaLinux 9, yum-utils là lớp tương thích do dnf-plugins-core cung cấp. Tên lệnh vẫn như thời YUM cũ, nhưng thứ thực sự chạy là plugin của dnf.
yum -C info yum-utilsLast metadata expiration check: 0:38:12 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
Name : yum-utils
Version : 4.3.0
Release : 14.el9
Architecture : noarch
Size : 23 k
Source : dnf-plugins-core-4.3.0-14.el9.src.rpm
Repository : @System
From repo : baseos
Summary : Yum-utils CLI compatibility layer
URL : https://github.com/rpm-software-management/dnf-plugins-core
License : GPLv2+
Description : As a Yum-utils CLI compatibility layer, supplies in CLI shims for
: debuginfo-install, repograph, package-cleanup, repoclosure, repomanage,
: repoquery, reposync, repotrack, repodiff, builddep, config-manager, debug,
: download and yum-groups-manager that use new implementations using DNF.Source là dnf-plugins-core và Summary là Yum-utils CLI compatibility layer. Nếu chưa cài thì cài bằng [yum install yum-utils].
17 lệnh mà gói này cài được liệt kê bằng rpm -ql.
rpm -ql yum-utils | grep bin//usr/bin/debuginfo-install
/usr/bin/find-repos-of-install
/usr/bin/needs-restarting
/usr/bin/package-cleanup
/usr/bin/repo-graph
/usr/bin/repoclosure
/usr/bin/repodiff
/usr/bin/repomanage
/usr/bin/repoquery
/usr/bin/reposync
/usr/bin/repotrack
/usr/bin/yum-builddep
/usr/bin/yum-config-manager
/usr/bin/yum-debug-dump
/usr/bin/yum-debug-restore
/usr/bin/yum-groups-manager
/usr/bin/yumdownloaderls -l /usr/bin/yumdownloader /usr/bin/repoquery /usr/bin/needs-restarting /usr/bin/yum-config-managerlrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/needs-restarting -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/repoquery -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/yum-config-manager -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/yumdownloader -> /usr/libexec/dnf-utilsTất cả đều là liên kết trỏ tới một tệp duy nhất là /usr/libexec/dnf-utils. Các công cụ hay dùng và việc chúng làm được gom thành cây.
yumdownloader chỉ tải tệp gói mà không cài. Thêm --urls thì chỉ in địa chỉ sẽ tải về.
yumdownloader --urls treeLast metadata expiration check: 0:35:16 ago on Thu Oct 29 05:32:35 2026.
https://repo.almalinux.org/almalinux/9.8/BaseOS/x86_64/os/Packages/tree-1.8.0-12.el9.x86_64.rpmĐịa chỉ kho lưu trữ và tên tệp hiện trên một dòng. Với địa chỉ này, bạn có thể tải trước các tệp để mang sang cài trên máy chủ không có internet.
repoquery tra các tệp mà một gói cài và các phụ thuộc của nó.
repoquery -l treeLast metadata expiration check: 0:35:17 ago on Thu Oct 29 05:32:35 2026.
/usr/bin/tree
/usr/lib/.build-id
/usr/lib/.build-id/e0
/usr/lib/.build-id/e0/e2ec3d46003583b56979e08d437395bd0d2a07
/usr/share/doc/tree
/usr/share/doc/tree/README
/usr/share/licenses/tree
/usr/share/licenses/tree/LICENSE
/usr/share/man/man1/tree.1.gz-l là danh sách tệp của gói đó. Gồm một tệp thực thi cùng tài liệu, giấy phép và trang hướng dẫn.
repoquery --requires treeLast metadata expiration check: 0:35:19 ago on Thu Oct 29 05:32:35 2026.
libc.so.6(GLIBC_2.34)(64bit)
rtld(GNU_HASH)--requires là các thư viện cần thiết. yum deplist cũng in nội dung đó kèm gói cung cấp, nhưng trợ giúp ghi là deprecated nên dùng repoquery --deplist thay thế.
yum -C repoquery --deplist treeLast metadata expiration check: 0:38:17 ago on Thu Oct 29 05:32:35 2026.
package: tree-1.8.0-12.el9.x86_64
dependency: libc.so.6(GLIBC_2.34)(64bit)
provider: glibc-2.34-170.el9_8.x86_64
dependency: rtld(GNU_HASH)
provider: glibc-2.34-170.el9_8.i686
provider: glibc-2.34-170.el9_8.x86_64Dòng dependency là thứ cần có, còn dòng provider là gói cung cấp thứ đó.
Có cần khởi động lại sau khi cập nhật hay không thì kiểm tra bằng needs-restarting -r.
needs-restarting -rNo core libraries or services have been updated since boot-up.
Reboot should not be necessary.Sau khi kernel hoặc thư viện cốt lõi được cập nhật, thông báo chuyển sang báo cần khởi động lại và kết thúc với mã thoát 1.
Chạy package-cleanup không kèm tùy chọn thì chỉ in thông báo yêu cầu chọn kiểu kiểm tra.
package-cleanuppackage-cleanup has to be executed with one of the options: --dupes, --leaves, --orphans, --problems or --cleandupes5️⃣ Kiểm tra kho lưu trữ yum: repolist và tùy chọn enablerepo
Dù có đủ công cụ, nếu gói không có trong kho lưu trữ thì yum cũng không tìm thấy gì. Vì vậy trước hết hãy xem kho lưu trữ yum nào đang bật.
yum repolistrepo id repo name
appstream AlmaLinux 9 - AppStream
baseos AlmaLinux 9 - BaseOS
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras AlmaLinux 9 - Extrasrepolist chỉ in các kho có enabled=1 trong tệp cấu hình. baseos và appstream là kho mặc định của bản phân phối, còn epel là kho được thêm riêng.
yum repolist --all | head -n 12repo id repo name status
appstream AlmaLinux 9 - AppStream enabled
appstream-debuginfo AlmaLinux 9 - AppStream - Debug disabled
appstream-source AlmaLinux 9 - AppStream - Source disabled
baseos AlmaLinux 9 - BaseOS enabled
baseos-debuginfo AlmaLinux 9 - BaseOS - Debug disabled
baseos-source AlmaLinux 9 - BaseOS - Source disabled
crb AlmaLinux 9 - CRB disabled
crb-debuginfo AlmaLinux 9 - CRB - Debug disabled
crb-source AlmaLinux 9 - CRB - Source disabled
epel Extra Packages for Enterprise Linux 9 - x enabled
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 ope enabled--all in cả các kho đang tắt kèm cột status. Gói trong kho disabled như crb không cài được nếu để nguyên như vậy.
Muốn bật kho đang tắt chỉ cho lệnh lần này, thêm --enablerepo.
yum --enablerepo=crb repolistrepo id repo name
appstream AlmaLinux 9 - AppStream
baseos AlmaLinux 9 - BaseOS
crb AlmaLinux 9 - CRB
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras AlmaLinux 9 - Extrascrb đã vào danh sách. Tệp cấu hình vẫn giữ nguyên nên ở lệnh sau crb lại bị loại ra. Muốn giữ kho luôn bật, hãy đổi tệp cấu hình bằng yum-config-manager. Bạn có thể xem cảnh kho được bật và tắt bằng cách nhấn các nút lệnh trong sơ đồ bên dưới.
Thêm một kho mới như EPEL chỉ cần cài một gói kho lưu trữ.
yum install epel-releaseSau khi cài, tệp epel.repo được tạo trong /etc/yum.repos.d/ và epel xuất hiện trong repolist.
🔲 Trình mô phỏng lệnh yum
Trong trình mô phỏng bên dưới, bạn có thể tự gõ yum list, check-update, repolist và các lệnh yum-utils rồi xem kết quả. Danh sách kho dùng cùng giá trị ví dụ như bài viết, còn các lệnh cài, gỡ và cập nhật chỉ hiện thông báo.
🔢 FAQ & nội dung đề xuất
Linux · Khái niệm
Gói Linux là gì
Giải thích gói mà yum xử lý là gì và vì sao sinh ra phụ thuộc, so sánh với tệp cài đặt của Windows.
Ubuntu · Gói
Lệnh apt trên Ubuntu
Lệnh apt đảm nhận vai trò của yum trên họ Debian, khác biệt với apt-get và cách cài đặt, cập nhật.
Linux · Gói
Cài snapd trên Linux
Cách cài bằng snap các chương trình không có trong kho của bản phân phối, đã kiểm tra trên Rocky Linux.
ℹ️ Thông báo tiếp thị liên kết
Nội dung trên trang này có chứa liên kết affiliate (tiếp thị liên kết). Khi khách truy cập mua sản phẩm hoặc dịch vụ qua các liên kết này, trang sẽ nhận hoa hồng từ bên bán. Trong quá trình đó, số tiền người mua phải trả (sẽ giảm khi có chương trình khuyến mãi ↓) không hề tăng lên. Giá, khuyến mãi và tình trạng hàng được đăng theo thời điểm viết bài và có thể khác với thực tế, vì vậy hãy kiểm tra lại lần cuối với bên bán trước khi mua. Việc chọn và đánh giá sản phẩm dựa trên tiêu chí riêng của trang; việc có nhận hoa hồng hay không không ảnh hưởng đến thứ tự giới thiệu hay nội dung đánh giá.