Mọi thứ cần biết về trình quản lý gói DNF

Mọi thứ cần biết về trình quản lý gói DNF

Dandified Yum (DNF) là một giao diện người dùng quản lý gói mạnh mẽ dành cho các bản phân phối Linux dựa trên RPM. Bài viết sau đây sẽ chỉ cho bạn mọi thứ cần biết về trình quản lý gói DNF và các lệnh DNF khác nhau có thể sử dụng để quản lý các gói của mình.

Tại sao nên sử dụng trình quản lý gói DNF?

Nhiều bản phân phối Linux, chẳng hạn như Red Hat Enterprise Linux, CentOS Stream và Fedora Linux có kho lưu trữ riêng sử dụng file RPM Package Manager (RPM) để phân phối chương trình, tài liệu và thư viện. Đó là định dạng lưu trữ nén có thể chạy script, xác minh nội dung bên trong và lưu trữ siêu dữ liệu gói.

Một nhược điểm của RPM là nó không thể cài đặt gói trừ khi các điều kiện tiên quyết của nó có trong hệ thống. DNF thu hẹp khoảng cách này bằng cách tìm nạp các dependency cần thiết cho gói và giải quyết mọi xung đột phần mềm trong quá trình cài đặt.

Terminal hiển thị chi tiết về kho lưu trữ Fedora DNF.
Terminal hiển thị chi tiết về kho lưu trữ Fedora DNF.

Ngoài ra, DNF còn cung cấp các công cụ bổ sung để cài đặt và quản lý những gói trong hệ thống. Nó bao gồm khả năng thêm các kho lưu trữ bên ngoài, tìm kiếm nội dung từ xa, cũng như hỗ trợ khôi phục và dọn dẹp hệ thống thích hợp.

Cài đặt gói bằng DNF

Cài đặt gói là chức năng cơ bản của mọi trình quản lý gói. Để cài đặt gói từ xa trong DNF, hãy chạy dnf install theo sau là tên gói:

sudo dnf install nano

Màn hình cài đặt DNF
Màn hình cài đặt DNF

Lệnh install có một số flag cho phép thay đổi hành vi mặc định của nó. Ví dụ, có thể bao gồm --setopt=install_weak_deps=False để bỏ qua “Weak Dependencies” khi cài đặt một chương trình.

Terminal hiển thị màn hình cài đặt cho Emacs mà không có bất kỳ dependency nào.
Terminal hiển thị màn hình cài đặt cho Emacs mà không có bất kỳ dependency nào.

Tìm nạp và cài đặt file RPM bằng DNF

DNF cũng có thể tìm nạp các gói .rpm trống từ kho lưu trữ upstream. Điều này có thể hữu ích nếu bạn đang thiết lập một máy ngoại tuyến và muốn sideload các gói RPM vào máy đó.

sudo dnf download emacs

Bạn thậm chí có thể sử dụng lệnh install trên file .rpm để cài đặt nó vào máy. Làm điều này sẽ mang lại lợi ích của việc giải quyết dependency cho các gói không phải repo.

sudo dnf install ~/your-package.rpm
Terminal hiển thị quá trình cài đặt DNF cho các file RPM.
Terminal hiển thị quá trình cài đặt DNF cho các file RPM.

Cài đặt lại các gói hiện có

Hơn nữa, DNF có thể buộc cài đặt lại các chương trình trong máy hiện tại. Điều này có thể hữu ích nếu bạn gặp sự cố với gói hiện có và muốn đảm bảo rằng mình đã cài đặt gói đó đúng cách.

sudo dnf reinstall nano
Terminal hiển thị quá trình cài đặt lại GNU Nano trong DNF.
Terminal hiển thị quá trình cài đặt lại GNU Nano trong DNF.

Lệnh reinstall cũng có một số flag tùy chọn để sửa đổi hành vi của nó. Ví dụ, flag --allowerasing sẽ xóa mọi xung đột dependency tiềm ẩn ngay khi cài đặt lại chương trình.

Xử lý nhóm gói trong DNF

Nhóm gói là một tính năng DNF đặc biệt để cài đặt các chương trình xung quanh một chủ đề hoặc công cụ. Điều này có thể hữu ích nếu muốn thiết lập một bản build desktop nhất quán hoặc quản lý bộ sưu tập phần mềm.

Để xem các nhóm gói có sẵn cho hệ thống, hãy chạy lệnh sau:

dnf group list
Terminal hiển thị các nhóm gói DNF có sẵn cho Fedora 40.
Terminal hiển thị các nhóm gói DNF có sẵn cho Fedora 40.

Có thể kiểm tra nội dung của nhóm gói bằng cách chạy đối số info sau lệnh group. Ví dụ, chạy dnf groups info Editors sẽ in một mô tả ngắn về nhóm và các gói mà nhóm sẽ cài đặt.

Terminal hiển thị thông tin chi tiết về nhóm gói Editors trong DNF.
Terminal hiển thị thông tin chi tiết về nhóm gói Editors trong DNF.

Cài đặt và gỡ bỏ nhóm gói

Lệnh group cũng xử lý quá trình cài đặt riêng của nó. Chạy lệnh group với đối số install, sau đó cung cấp tên nhóm mà bạn muốn cho hệ thống của mình:

sudo dnf group install Editors
Terminal hiển thị lời nhắc cài đặt cho nhóm gói Editors.
Terminal hiển thị lời nhắc cài đặt cho nhóm gói Editors.

Để xóa toàn bộ nhóm gói, hãy thay thế đối số install bằng remove theo sau là tên của nhóm mà bạn muốn xóa:

sudo dnf group remove Editors
Terminal hiển thị lời nhắc gỡ cài đặt cho nhóm gói Editors.
Terminal hiển thị lời nhắc gỡ cài đặt cho nhóm gói Editors.
 

Nguồn tin: Quantrimang.com