APT so với DNF so với YUM: So sánh trình quản lý gói Linux
Việc sử dụng dòng lệnh để thêm hoặc xóa các chương trình trên Linux là không cần thiết, nhưng nó sẽ nhanh hơn so với sử dụng một ứng dụng đồ họa. Nhiều người nhận thấy rằng tại một số thời điểm trong hành trình sử dụng Linux, họ kết thúc việc mở một thiết bị đầu cuối để cài đặt các ứng dụng hoặc bản cập nhật hệ thống mới.
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. 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 chúng hoạt động. Hãy đi sâu vào.
Mục Lục
Tìm hiểu APT và DNF
APT và DNF có nhiều điểm chung và chia sẻ 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 kia. 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à một trong những trình quản lý gói dễ học hơn, đặc biệt là so với trình quản lý gói Pacman ít trực quan hơn được tìm thấy 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à nói cách khác là 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 trong chúng ta 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 nói riêng.
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ì DNF. Không có nhiều lý do để tìm đến YUM ngay hôm nay.
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 trong chúng ta 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, điều 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 của bạn. 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.
Các cập nhật lệnh 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 của bạn để máy tính của bạn biết phiên bản nào cần yêu cầu.
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. Đó là nơi nâng cấp lệnh đến.
Để 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ập nhật và nâng cấp các lệnh thực hiện cùng một chức năng và bạn có thể tự do 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 thực hiện thay vào đó là 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 và đó là lệnh mà bạn có thể đoán được. 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ư thực hiện 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 Tải về 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, 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 và không còn cần thiết nữa, bạn có thể sử dụng:
sudo apt autoremove
DNF không tương đương trực tiếp với thanh trừng lệnh, 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
DNF và APT giống nhau hơn là khác nhau
Một số người dùng Linux lâu năm có sở thích được thiết lập giữa APT và DNF. Họ đã học được cú pháp để thực hiện các hoạt động mạnh mẽ hơn và việc chuyển đổi liên quan đến việc phân tích lại những gì họ đã biết.
Nhưng đối với người mới, hai trình quản lý gói 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.
Hai trình quản lý gói cũ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 liên quan nhiều hơn đến kết nối internet của bạn và tốc độ của máy chủ bạn đang kết nối. Đối với hầu hết chúng ta, 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 Linux này sang bản phân phối Linux khác.
APT so với DNF: Bạn nên sử dụng cái nào?
Việc bạn sử dụng 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. Điều này có nghĩa là, đối với hầu hết người dùng Linux, lựa chọn được thực hiện cho chúng tôi. Nhưng nếu bạn có sở thích đủ mạnh, bạn có thể chọn bản phân phối của mình dựa trên việc nó sử dụng APT hay DNF.
Không có trình quản lý gói nào đặc biệt mạnh mẽ hơn hoặc có khả năng hơn trình quản lý gói khác. Vì vậy, bất kỳ cái nào bạn gặp khó khăn là một cái hoàn toàn tốt để học. Và nếu bạn cần chuyển đổi vào một ngày nào đó, làm như vậy không phải là quá khó.