APT và DNF: So sánh trình quản lý gói Linux

Chia sẻ kiến thức 14/08/2022

APT và DNF là hai trình quản lý gói những người mới sử dụng Linux thường khả năng gặp phải. Vậy lựa chọn nào dễ sử dụng và có hiệu suất cao hơn? 

 

Bạn không nhất thiết phải sử dụng dòng lệnh để thêm hoặc xóa các chương trình trên Linux, nhưng nó sẽ nhanh hơn so với sử dụng một ứng dụng đồ họa. 

APT và DNF là hai trong số các trình quản lý gói phổ biến nhất cho công việc này. Hai chương trình này rất giống nhau, nhưng chúng có một số khác biệt về cách hoạt động. 

Tìm hiểu APT và DNF

APT và DNF có nhiều điểm chung và cú pháp tương tự cho nhiều hàm. Nếu bạn đã quen thuộc với một trong hai, bạn có thể sẽ không gặp khó khăn khi học cái còn lại. Nếu bạn là một người mới hoàn toàn, hãy biết rằng hai trình quản lý gói này là hai lựa chọn khá dễ học, đặc biệt là so với trình quản lý gói Pacman ít trực quan hơn trong Arch Linux và các bản phân phối dựa trên Arch khác.

APT là viết tắt của Advanced Package Tool. Nó đóng vai trò là trình quản lý gói mặc định cho Debian và các bản phân phối Linux dựa trên Debian như Ubuntu. Vì Ubuntu là bản phân phối Linux phổ biến nhất và có rất nhiều bản phân phối dựa trên Ubuntu, APT là trình quản lý gói mà nhiều người dùng gặp phải đầu tiên. Phần mềm trong Linux có các định dạng khác nhau và APT hoạt động với định dạng gói DEB.

DNF là trình quản lý gói mặc định trong Fedora và các bản phân phối dựa trên Fedora như Red Hat Enterprise Linux và CentOS. DNF hoạt động với định dạng gói RPM.

DNF so với YUM

Tên của DNF không phải là một từ viết tắt. Ba chữ cái đó là viết tắt của “Dandified YUM.”

DNF là bản viết lại của YUM, “Yellowdog Updater, đã được sửa đổi.” Bản thân YUM là bản viết lại của “Yellowdog UPdater”, hay YUP, ban đầu được phát triển cho Yellow Dog Linux.

Mặc dù bạn có thể thấy YUM được sử dụng trên các hệ thống cũ hơn, nhưng nó đã bị ngừng sử dụng vì sự có mặt của DNF. 

Ví dụ về lệnh APT và DNF

Hãy bắt đầu với một trong những tác vụ đầu tiên mà nhiều người thực hiện sau khi cài đặt bản phân phối Linux mới — tải xuống các bản cập nhật hệ thống.

Tải xuống các bản cập nhật hệ thống

Trong APT, việc này bao gồm hai lệnh.

sudo apt update
sudo apt upgrade

Hãy chia nhỏ những thứ này:

sudo cung cấp cho bạn quyền truy cập quản trị vào hệ thống. Nếu không có nó, lệnh của bạn sẽ không thành công với thông báo lỗi do thiếu quyền.

Lệnh update tải xuống siêu dữ liệu về các gói từ các nguồn phần mềm có sẵn để máy tính của bạn biết cần yêu cầu phiên bản nào.

Sau khi cơ sở dữ liệu cục bộ của bạn được cập nhật, thì đã đến lúc tải xuống và cài đặt phần mềm mới nhất. Việc này được thực hiện nhờ lệnh upgrade (nâng cấp). 

Để cài đặt các bản cập nhật hệ thống bằng DNF, hãy chạy:

sudo dnf update

hoặc

sudo dnf upgrade

DNF tự động kiểm tra siêu dữ liệu bất cứ khi nào bạn bắt đầu cập nhật hệ thống hoặc cài đặt phần mềm. Vì lý do này, các lệnh update và upgrade thực hiện cùng một chức năng và bạn có thể sử dụng chúng thay thế cho nhau.

Tìm kiếm một Gói

Giả sử bạn muốn cài đặt một chương trình, nhưng bạn không biết tên chính xác mà bản phân phối của bạn sử dụng cho gói chương trình đi kèm. Trong một ứng dụng đồ họa, bạn có thể duyệt qua phần mềm có sẵn, nhưng trong dòng lệnh, bạn phải tìm kiếm dựa trên văn bản.

Trong trường hợp này, cho dù bạn đang sử dụng APT hay DNF, bạn chỉ cần nhớ một lệnh duy nhất. Nếu bạn muốn tìm kiếm một chương trình có tên “package”, chỉ cần nhập:

sudo apt search package

hoặc

sudo dnf search package

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

Giống như tìm kiếm, lệnh cài đặt chương trình bằng APT hoặc DNF cũng giống như vậy.

Trong APT:

sudo apt install package

Trong DNF:

sudo dnf install package

Một lợi thế của DNF so với APT là khả năng cài đặt RPM mà bạn đã tải xuống theo cách thủ công từ web. Bạn có thể làm như vậy bằng cách sử dụng cùng một lệnh install, nhưng bao gồm đường dẫn đầy đủ đến RPM thay vì tên gói.

sudo dnf install /path/to/package.rpm

Ngược lại, để cài đặt DEB mà bạn đã đặt trong thư mục Tải xuống của mình, bạn không thể sử dụng APT và phải chuyển sang chương trình dòng lệnh riêng biệt chẳng hạn như dpkg.

Gỡ cài đặt phần mềm

Có một số cách để làm cho phần mềm biến mất bằng cách sử dụng APT. Tùy chọn đầu tiên và trực tiếp nhất là:

sudo apt remove package

Để xóa các tệp cấu hình, ngoài dữ liệu ứng dụng, hãy chạy:

sudo apt purge package

Để APT tự động xóa phần mềm đã được cài đặt dưới dạng phụ thuộc (dependencies) và không còn cần thiết nữa, bạn có thể sử dụng:

sudo apt autoremove

DNF không có lệnh tương đương trực tiếp với lệnh purge, vì các bản phân phối dựa trên RPM không quản lý các tệp cấu hình theo cách giống như các hệ thống dựa trên Debian. Nhưng hai lựa chọn còn lại đều giống nhau.

Để gỡ cài đặt một chương trình bằng DNF, hãy chạy:
sudo dnf remove package

Và để tự động loại bỏ các phụ thuộc không cần thiết, hãy sử dụng:

sudo dnf autoremove

APT và DNF giống hơn là khác

APT và DNF phần lớn giống nhau. Sự khác biệt của chúng rất tinh tế, chẳng hạn như DNF tự động tải xuống thông tin gói trước khi cài đặt phần mềm hoặc kiểm tra các bản cập nhật.

Cách chúng trình bày thông tin khác nhau, như bạn có thể thấy trong hai ảnh chụp màn hình ở trên.

Tuy nhiên, cả hai đều là các chương trình dòng lệnh hoạt động gần như tức thì, với thời gian chờ đợi chủ yếu bị ảnh hưởng bởi kết nối internet và tốc độ của máy chủ bạn đang kết nối. Đối với hầu hết người dùng, có được quyền truy cập vào một trình quản lý gói khác hầu như không phải là lý do để chuyển từ bản phân phối này sang bản phân phối khác.

APT và DNF: Nên sử dụng cái nào?

Giữa APT và DNF, không có cái nào đặc biệt mạnh mẽ hơn hoặc có khả năng hơn cái còn lại. Lựa chọn giữa APT hay DNF phần lớn phụ thuộc vào việc bạn sử dụng bản phân phối nào. Và nếu bạn cần chuyển đổi vào một ngày nào đó, việc này không hề khó. 

Vân Nguyễn 

Dịch từ: https://www.makeuseof.com/apt-vs-dnf-vs-yum/

Bình luận (
0
)

Graphic Noti Complete Course

Chúc mừng học viên

Hoàng Lê Tuấn Nam

Đã xuất sắc hoàn thành

Kỹ sư phần mềm cơ bản - Basic Software Engineer đạt học bổng 5%

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        

yêu cầu gọi lại

error: Content is protected !!