Hướng dẫn từng bước cài đặt, cấu hình và sử dụng YUM (Yellowdog Updater, Modified) – công cụ quản lý gói RPM mạnh mẽ cho Fedora, RHEL, CentOS.
YUM tự động giải quyết phụ thuộc (dependencies) khi cài đặt/cập nhật gói – khác với rpm thủ công. Đây là tiền thân của DNF (Dandified YUM) dùng trong Fedora 22+, RHEL 8+.
Cài đặt YUM (nếu chưa có)
Tải từ yum.baseurl.org phiên bản phù hợp, rồi cài:
# rpm -ivh yum-3.4.3-3.xxx.x.xxxx.noarch.rpm
Lưu ý: Trên hệ thống hiện đại, YUM/DNF đã cài sẵn. Bài này mang tính tham khảo lịch sử.
Cấu hình kho chứa (Repository)
Mở /etc/yum.conf (hoặc tạo file .repo trong /etc/yum.repos.d/ – khuyến khích cách này):
[base]
name=Fedora Core $releasever – $basearch – Base
baseurl=https://mirrors.kernel.org/fedora/core/$releasever/$basearch/os
enabled=1
gpgcheck=1
gpgkey=https://github.com/repoforge/repo-files/blob/master/repo/RPM-GPG-KEY.dag.txt
Cài khóa GPG:
# rpm --import https://github.com/repoforge/repo-files/blob/master/repo/RPM-GPG-KEY.dag.txt
Cập nhật cơ sở dữ liệu:
# yum check-update
Các lệnh YUM thông dụng
| Lệnh | Chức năng |
|---|---|
yum install <gói> | Cài đặt gói + phụ thuộc |
yum update | Cập nhật tất cả gói |
yum update <gói> | Cập nhật gói cụ thể |
yum remove <gói> | Gỡ cài đặt gói |
yum list installed | Liệt kê gói đã cài |
yum list updates | Liệt kê gói có bản cập nhật |
yum search <từ khóa> | Tìm gói theo tên/mô tả |
yum info <gói> | Xem chi tiết gói |
yum provides <tệp> | Tìm gói cung cấp tệp cụ thể |
yum clean all | Xóa cache |
yum history | Xem lịch sử giao dịch |
Ví dụ thực tế
# Cài cowsay (chương trình vui vẽ bò nói)
# yum install cowsay
# Cập nhật hệ thống
# yum update
# Tìm gói cung cấp lệnh netstat
# yum provides "*/netstat"
Kho chứa phổ biến (Repo)
- EPEL (Extra Packages for Enterprise Linux):
sudo dnf install epel-release(RHEL/CentOS/Rocky/Alma). - RPM Fusion: Codec đa phương tiện, driver proprietary.
- RepoForge (rpmforge): Kho cũ, ít cập nhật – ít dùng hiện nay.
YUM vs DNF vs APT
- YUM: Cũ, Python 2, chậm hơn.
- DNF: Thay thế YUM từ Fedora 22, hiệu năng tốt hơn, giải quyết phụ thuộc thông minh hơn.
- APT: Dùng trên Debian/Ubuntu, tương tự về khái niệm.
Mẹo nâng cao
- Tạo repo cục bộ (local YUM repo) cho mạng nội bộ – tiết kiệm băng thông.
- Downgrade gói:
yum downgrade <gói>. - Xem phụ thuộc ngược:
yum deplist <gói>.