Đang tải bài học…
Nội dung sẽ hiển thị khi tải xong.
Nội dung sẽ hiển thị khi tải xong.
Thực hiện trên server của bạn, rồi kiểm tra từng tiêu chí.
Cài phần mềm bằng cách tải file về rồi chép tay thì không cập nhật được, không biết file nào thuộc về đâu và không gỡ sạch được. Package manager giữ danh sách file, phụ thuộc, phiên bản và chữ ký. Trong doanh nghiệp, server thường chỉ được dùng repository nội bộ đã kiểm duyệt. RHCSA trên RHEL 10 yêu cầu cả repository lẫn Flatpak.
dnf.rpm.RPM là định dạng gói và cơ sở dữ liệu các package đã cài. dnf đứng trên RPM: đọc metadata từ các repository, giải quyết phụ thuộc, tải và kiểm tra chữ ký GPG trước khi cài. Mỗi repository được khai báo bằng một file .repo trong /etc/yum.repos.d/.
Flatpak cài ứng dụng (thường là ứng dụng desktop) kèm runtime riêng, tách khỏi thư viện hệ thống. Nó không thay thế dnf cho phần mềm hệ thống, nhưng cho phép cài phiên bản ứng dụng mới mà không ảnh hưởng hệ điều hành.
| Việc | dnf / rpm | Flatpak |
|---|---|---|
| Nguồn | Repository .repo | Remote (flatpak remote-add) |
| Cài | dnf install | flatpak install |
| Danh sách | dnf list --installed, rpm -qa | flatpak list |
| Gỡ | dnf remove | flatpak uninstall |
dnf search jq
dnf info jq
sudo dnf install -y jq
rpm -qi jq | head -5
rpm -ql jq | head
rpm -qf /usr/bin/jq
dnf history | head -5
| Lệnh / tùy chọn | Ý nghĩa |
|---|---|
dnf search jq, dnf info jq | Tìm package và xem mô tả trước khi cài. |
rpm -qi jq | -q truy vấn package đã cài, -i xem thông tin. |
rpm -ql jq | -l liệt kê file do package đã cài cung cấp. |
rpm -qf /usr/bin/jq | -f truy vấn package sở hữu đường dẫn này. |
dnf history | Xem lịch sử giao dịch cài, cập nhật, gỡ package. |
head | Mặc định chỉ in 10 dòng đầu; head -5 lấy 5 dòng. |
dnf list --installed liệt kê package đã cài; rpm -qa truy vấn tất cả (-a) package trong cơ sở dữ liệu RPM. Đây là lệnh RPM trên VM RHEL-family, không chạy trực tiếp trên macOS.
rpm -qf trả lời câu hỏi "file này đến từ package nào?". Lệnh này rất hữu ích khi điều tra một file lạ trên server.
Tải một package vào thư mục, tạo metadata, rồi khai báo repository:
sudo dnf install -y createrepo_c dnf-plugins-core
sudo install -d /srv/kdc-repo
sudo dnf download --destdir /srv/kdc-repo tree
sudo createrepo_c /srv/kdc-repo
sudo tee /etc/yum.repos.d/kdc-local.repo <<'EOF'
[kdc-local]
name=KDC local lab repository
baseurl=file:///srv/kdc-repo
enabled=1
gpgcheck=1
EOF
dnf repolist
sudo dnf install -y --disablerepo='*' --enablerepo=kdc-local tree
dnf info tree | grep -i '^From repo'
dnf download --destdir /srv/kdc-repo tree tải RPM của tree vào thư mục chỉ định, chưa cài nó. createrepo_c sinh metadata để thư mục trở thành repository. dnf repolist liệt kê repository đang bật. --disablerepo='*' tắt mọi repo trong lần gọi này, --enablerepo=kdc-local chỉ bật repo lab; nháy đơn giữ * khỏi bị shell mở rộng thành tên file. grep -i tìm không phân biệt chữ hoa/thường.
Trong file .repo, baseurl=file:///srv/kdc-repo là địa chỉ repo local, enabled=1 bật repo, gpgcheck=1 yêu cầu kiểm tra chữ ký package. Đây là cấu hình, không phải các lệnh shell. Khi bổ sung RPM, dùng createrepo_c --update /srv/kdc-repo để cập nhật metadata; dnf clean metadata xóa cache metadata để DNF tải lại.
gpgcheck=1 buộc dnf kiểm tra chữ ký của package bằng các khóa đã có trong hệ thống. Package tree được ký bởi bản phân phối nên vẫn cài được. Đừng tắt gpgcheck để "cho nhanh".
sudo dnf install -y flatpak
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remotes --system
flatpak search calculator
sudo flatpak install -y --system flathub org.gnome.Calculator
flatpak list --app
flatpak info org.gnome.Calculator | head
flatpak remote-add thêm nguồn ứng dụng; --if-not-exists bỏ qua nếu remote đã có. --system chọn cài đặt cấp toàn hệ thống (khác cài riêng user). flatpak search tìm ứng dụng, install -y cài và tự xác nhận, list --app chỉ liệt kê ứng dụng, info xem metadata. flathub là tên remote; org.gnome.Calculator là ID ứng dụng, không phải đường dẫn file.
Lần cài đầu tải cả runtime org.gnome.Platform: khoảng 420 MB tải về, 1,2 GB sau khi cài (đo tháng 10/2026), nên mất vài phút. Ứng dụng có giao diện đồ họa; trên server không có màn hình, bạn chỉ cần cài và kiểm tra được.
rpm -q jq tree
cat /etc/yum.repos.d/kdc-local.repo
flatpak remotes --system
flatpak list --app
rpm -q jq tree truy vấn (-q) hai package đã cài. flatpak remotes --system xem remote ở phạm vi toàn hệ thống; flatpak list --app chỉ liệt kê ứng dụng, bỏ runtime. cat đọc cấu hình repo.
Chọn server và bấm Kiểm tra kết quả.
dnf download báo không có lệnh: thiếu dnf-plugins-core.createrepo_c hoặc thêm package mà không chạy lại: dnf không thấy package mới. Chạy createrepo_c --update rồi dnf clean metadata.baseurl=/srv/kdc-repo thiếu file://: dnf không hiểu đó là đường dẫn local.flatpak install không có --system khi chạy bằng user thường: ứng dụng được cài vào tài khoản của bạn, không phải toàn hệ thống.dnf history undo <ID> hoàn tác một giao dịch, rất hữu ích khi một bản cập nhật làm hỏng dịch vụ.dnf updateinfo list --security cho biết bản vá nào đang chờ.Dùng apt và dpkg: apt install, dpkg -S /usr/bin/jq (tương đương rpm -qf), dpkg -L jq. Repository khai báo trong /etc/apt/sources.list.d/. Phần repository local và tiêu chí kdc-local.repo chỉ áp dụng cho RHEL-family.
sudo flatpak uninstall -y --system org.gnome.Calculator
sudo flatpak uninstall -y --unused
sudo dnf remove -y tree
sudo rm -f /etc/yum.repos.d/kdc-local.repo
sudo rm -rf /srv/kdc-repo
flatpak uninstall gỡ ứng dụng; --unused gỡ runtime không còn ứng dụng nào cần. dnf remove -y tree gỡ package RPM và tự xác nhận. Đọc danh sách package/runtime sẽ bị gỡ trước khi áp dụng các lệnh này ngoài bài lab.