Linux dnf command

Tìm hiểu về lệnh dnf trong Linux: Quản lý gói phần mềm dễ dàng hơn bao giờ hết

Trong thế giới Linux, việc quản lý gói phần mềm là một phần không thể thiếu trong quá trình sử dụng và vận hành hệ thống. Nếu bạn đã từng làm việc với các bản дистрибутив Linux dựa trên Red Hat như Fedora, CentOS Stream, hoặc Rocky Linux, chắc hẳn bạn đã quen thuộc với lệnh yum. Tuy nhiên, dnf (Dandified Yum) đang dần thay thế yum trở thành trình quản lý gói mặc định, mang lại nhiều cải tiến đáng kể về hiệu suất và tính năng. Bài viết này sẽ cung cấp cho bạn cái nhìn tổng quan về lệnh dnf, từ cơ bản đến nâng cao, giúp bạn làm chủ công cụ mạnh mẽ này để quản lý gói phần mềm trên hệ thống Linux của mình một cách hiệu quả.

dnf là gì? Tại sao dnf lại quan trọng?

dnf là trình quản lý gói phần mềm thế hệ mới, được phát triển để thay thế yum. Nó được giới thiệu lần đầu trong Fedora 18 và dần trở thành trình quản lý gói mặc định cho nhiều bản дистрибутив Linux dựa trên Red Hat. dnf mang đến nhiều cải tiến so với yum, bao gồm hiệu suất tốt hơn, quản lý phụ thuộc thông minh hơn, và hỗ trợ nhiều tính năng mới. Việc nắm vững dnf là rất quan trọng đối với bất kỳ ai sử dụng các bản дистрибутив Linux dựa trên Red Hat, giúp họ dễ dàng cài đặt, cập nhật, gỡ bỏ và quản lý các gói phần mềm một cách hiệu quả.

Cài đặt dnf

Thông thường, dnf đã được cài đặt sẵn trên các bản дистрибутив Linux dựa trên Red Hat như Fedora, CentOS Stream, hoặc Rocky Linux. Tuy nhiên, nếu vì lý do nào đó mà dnf chưa được cài đặt, bạn có thể dễ dàng cài đặt nó bằng lệnh sau (thường yêu cầu quyền root hoặc sudo):

sudo yum install dnf

Sau khi cài đặt, bạn có thể kiểm tra phiên bản dnf bằng lệnh:

dnf --version

Các lệnh dnf cơ bản

dnf cung cấp rất nhiều lệnh để quản lý gói phần mềm. Dưới đây là một số lệnh cơ bản và thường dùng nhất:

Tìm kiếm gói phần mềm

Để tìm kiếm một gói phần mềm cụ thể, bạn có thể sử dụng lệnh search:

dnf search [từ khóa]

Ví dụ, để tìm kiếm gói phần mềm liên quan đến "apache", bạn có thể sử dụng lệnh:

dnf search apache

Lệnh này sẽ hiển thị danh sách các gói phần mềm có chứa từ khóa "apache" trong tên hoặc mô tả của chúng.

Liệt kê các gói phần mềm đã cài đặt

Để liệt kê tất cả các gói phần mềm đã được cài đặt trên hệ thống, bạn có thể sử dụng lệnh list installed:

dnf list installed

Lệnh này sẽ hiển thị danh sách tất cả các gói phần mềm đã cài đặt, cùng với phiên bản và nhà cung cấp của chúng.

Cài đặt gói phần mềm

Để cài đặt một gói phần mềm, bạn có thể sử dụng lệnh install:

dnf install [tên gói]

Ví dụ, để cài đặt gói phần mềm "vim", bạn có thể sử dụng lệnh:

dnf install vim

dnf sẽ tự động giải quyết các phụ thuộc và cài đặt tất cả các gói cần thiết.

Gỡ bỏ gói phần mềm

Để gỡ bỏ một gói phần mềm, bạn có thể sử dụng lệnh remove:

dnf remove [tên gói]

Ví dụ, để gỡ bỏ gói phần mềm "vim", bạn có thể sử dụng lệnh:

dnf remove vim

dnf cũng sẽ tự động gỡ bỏ các gói phụ thuộc không còn cần thiết.

Cập nhật gói phần mềm

Để cập nhật một gói phần mềm lên phiên bản mới nhất, bạn có thể sử dụng lệnh update:

dnf update [tên gói]

Nếu bạn muốn cập nhật tất cả các gói phần mềm trên hệ thống, bạn có thể sử dụng lệnh:

dnf update

dnf sẽ tải xuống và cài đặt các phiên bản mới nhất của tất cả các gói phần mềm có sẵn.

Kiểm tra cập nhật

Để kiểm tra xem có bản cập nhật nào cho các gói phần mềm đã cài đặt hay không, bạn có thể sử dụng lệnh check-update:

dnf check-update

Lệnh này sẽ hiển thị danh sách các gói phần mềm có bản cập nhật mới.

Xóa bộ nhớ cache

dnf sử dụng bộ nhớ cache để lưu trữ thông tin về các gói phần mềm. Đôi khi, bạn có thể cần phải xóa bộ nhớ cache để giải quyết các vấn đề liên quan đến quản lý gói. Bạn có thể sử dụng lệnh clean all để xóa tất cả các tệp trong bộ nhớ cache:

dnf clean all

Các tùy chọn dnf nâng cao

Ngoài các lệnh cơ bản, dnf còn cung cấp nhiều tùy chọn nâng cao để tùy chỉnh hành vi của nó. Dưới đây là một vài ví dụ:

--assumeyes hoặc -y

Tùy chọn này cho phép bạn tự động chấp nhận tất cả các câu hỏi "yes/no" mà dnf có thể đưa ra trong quá trình cài đặt, cập nhật hoặc gỡ bỏ gói phần mềm. Điều này rất hữu ích khi bạn muốn thực hiện các thao tác này một cách tự động mà không cần phải tương tác thủ công.

dnf install vim -y

--nobest

Tùy chọn này yêu cầu dnf cài đặt phiên bản mới nhất của gói phần mềm, ngay cả khi nó có thể gây ra xung đột với các gói khác. Thường thì bạn không nên sử dụng tùy chọn này trừ khi bạn thực sự biết mình đang làm gì.

dnf update --nobest

--enablerepo--disablerepo

Các tùy chọn này cho phép bạn bật hoặc tắt các kho phần mềm cụ thể. Điều này có thể hữu ích nếu bạn muốn cài đặt gói phần mềm từ một kho không được bật theo mặc định.

dnf install --enablerepo=epel vim

Lệnh này sẽ cài đặt gói phần mềm "vim" từ kho "epel".

Ví dụ thực tế

Dưới đây là một vài ví dụ thực tế về cách sử dụng dnf trong các tình huống khác nhau:

  • Cài đặt một ứng dụng web server (Apache):
    sudo dnf install httpd
    
  • Cập nhật hệ thống để vá các lỗ hổng bảo mật:
    sudo dnf update --security
    
  • Tìm kiếm một thư viện cần thiết cho việc phát triển phần mềm:
    dnf search libxml2-devel
    
  • Gỡ bỏ một ứng dụng không còn sử dụng:
    sudo dnf remove firefox
    

So sánh dnf và yum

Mặc dù dnf là người kế nhiệm của yum, chúng vẫn có một số điểm khác biệt quan trọng. Dưới đây là bảng so sánh chi tiết:

Tính năng yum dnf
Hiệu suất Chậm hơn Nhanh hơn
Quản lý phụ thuộc Ít thông minh hơn Thông minh hơn, giải quyết xung đột tốt hơn
Hỗ trợ plugin Có, kiến trúc plugin được cải tiến
Bộ nhớ Tiêu thụ nhiều hơn Tiêu thụ ít hơn
Độ ổn định Ít ổn định hơn Ổn định hơn

Câu hỏi thường gặp (FAQ)

dnf có an toàn không?
Có, dnf là một công cụ quản lý gói an toàn. Nó sử dụng các chữ ký số để xác minh tính toàn vẹn của các gói phần mềm trước khi cài đặt. Hãy luôn cập nhật hệ thống của bạn để đảm bảo an toàn.
Tôi có thể sử dụng yum thay vì dnf không?
Trong hầu hết các trường hợp, bạn nên sử dụng dnf vì nó có nhiều cải tiến so với yum. Tuy nhiên, yum vẫn có thể được sử dụng trong một số trường hợp nhất định, đặc biệt là trên các hệ thống cũ.
Làm cách nào để tìm hiểu thêm về dnf?
Bạn có thể tham khảo trang man page của dnf bằng lệnh man dnf. Bạn cũng có thể tìm thấy nhiều tài liệu và hướng dẫn trực tuyến.
Tại sao dnf lại tải xuống chậm?
Tốc độ tải xuống của dnf có thể bị ảnh hưởng bởi nhiều yếu tố như tốc độ mạng của bạn, tải của máy chủ chứa kho phần mềm, hoặc cấu hình dnf. Bạn có thể thử thay đổi máy chủ tải xuống (mirrors) để cải thiện tốc độ.
Làm thế nào để biết gói phần mềm nào cung cấp một lệnh cụ thể?
Bạn có thể sử dụng lệnh dnf provides /path/to/command để tìm ra gói phần mềm cung cấp một lệnh cụ thể. Ví dụ: dnf provides /usr/bin/ls sẽ cho bạn biết gói nào cung cấp lệnh ls.

Kết luận

dnf là một công cụ quản lý gói phần mềm mạnh mẽ và linh hoạt, mang lại nhiều lợi ích so với yum. Bằng cách nắm vững các lệnh cơ bản và các tùy chọn nâng cao của dnf, bạn có thể dễ dàng quản lý gói phần mềm trên hệ thống Linux của mình một cách hiệu quả. Hãy bắt đầu khám phá và tận dụng sức mạnh của dnf ngay hôm nay!

Last Updated : 22/08/2025