Sự khác biệt giữa APT và dpkg trong Ubuntu | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Sự khác biệt giữa APT và dpkg trong Ubuntu

Chia sẻ kiến thức 11/03/2022

Ubuntu và các bản phân phối dựa trên Debian khác quản lý các gói sử dụng APT và dpkg. Nhưng cái nào phù hợp hơn cho nhu cầu của bạn?

Nếu bạn sử dụng Ubuntu hoặc bất kỳ bản phân phối Linux dựa trên Debian nào khác, chắc chắn bạn đã từng gặp phải hướng dẫn cài đặt yêu cầu bạn sử dụng lệnh APT, trong khi một số hướng dẫn khác yêu cầu bạn sử dụng dpkg.

Vậy có gì khác biệt nếu bạn cài đặt các gói trên hệ thống Linux của mình với một trong hai trình quản lý gói này? Hôm nay chúng tôi sẽ giải quyết câu hỏi đó để bạn biết cách cài đặt các gói trên Ubuntu một cách tốt nhất.

1. APT vs dpkg: Hai trình cài đặt gói quan trọng

APT và dpkg đều là giao diện quản lý gói trên dòng lệnh (command line) mà bạn có thể sử dụng trong terminal trên Ubuntu và các hệ thống dựa trên Debian khác. Chúng có thể cài đặt tệp DEB, liệt kê các gói đã cài đặt và thực hiện nhiều chức năng khác. 

Nhưng bạn có thể tự hỏi nếu chúng giống nhau như vậy, tại sao bạn cần cả APT và dpkg?

Trên thực tế, hai giao diện này hoạt động cùng nhau, với APT hoạt động giống như một công cụ quản lý gói hoàn chỉnh thông qua việc sử dụng dpkg.

Hơi khó hiểu phải không? Hãy phân tích những điểm khác biệt chính.

1.1 APT sử dụng dpkg để cài đặt gói

Khi APT (hoặc người ‘họ hàng’ của nó, Apt-get) cài đặt một gói, nó thực sự sử dụng dpkg trên back-end để thực hiện điều đó. Theo cách đó, dpkg hoạt động nhiều hơn như một công cụ “ẩn” bên dưới giao diện người dùng thân thiện hơn của APT.

1.2 APT có thể tải xuống các gói

Với APT, bạn có thể lấy một tệp từ kho lưu trữ (repository) từ xa và cài đặt nó, tất cả trong cùng một lệnh. Điều này giúp bạn đỡ mất công tìm kiếm và tải xuống gói theo cách thủ công trước khi cài đặt.

Với dpkg, bạn chỉ có thể cài đặt các tệp cục bộ mà bạn đã tự tải xuống. Nó không thể tìm kiếm hoặc lấy các gói từ các kho lưu trữ từ xa.

1.3 Dpkg sẽ không cài đặt gói phụ thuộc

Khi bạn cài đặt một gói với dpkg, hệ thống sẽ chỉ cài đặt gói đó. Tuy nhiên, một số gói cần phần mềm bổ sung được gọi là gói phụ thuộc (dependency) để hoạt động. Trong trường hợp này, dpkg có thể cảnh báo bạn bằng một thông báo lỗi.

Tuy nhiên, APT sẽ tự động kiểm tra và tải xuống các phần phụ thuộc có liên quan để đảm bảo rằng ứng dụng bạn đang cố gắng cài đặt vận hành một cách chính xác. Đó là lý do tại sao chúng tôi khuyên bạn rằng, sau khi cài đặt gói có dpkg, bạn vẫn nên sử dụng lệnh đặc biệt của APT để khôi phục các phần phụ thuộc.

sudo apt install -f

1.4 Dpkg chỉ Index (lập chỉ mục) gói cục bộ

Nếu bạn đang cố gắng tìm hiểu về các gói được cài đặt trên hệ thống của mình, thì so với APT, hàm –list trong dpkg có thể phục vụ bạn tốt hơn. Đó là bởi vì, giống như cách nó không thể tìm và tải xuống các gói từ xa, dpkg cũng không thể liệt kê bất kỳ gói nào không ở sẵn trên thiết bị.

dpkg --list

Lệnh list của APT  sẽ liệt kê mọi gói mà nó biết, cục bộ hoặc không. 

apt list

Để chỉ xem các gói đã cài đặt, bạn phải thêm tùy chọn –installed hoặc -i .

apt list --installed

2. Dpkg so với Apt: Cái nào tốt hơn?

Nếu bạn muốn cài đặt các gói cục bộ với dpkg, bạn có thể làm như vậy mà không gặp phải bất kỳ vấn đề nào. Tuy nhiên, bạn nên sử dụng APT hoặc Apt-get nếu thường xuyên tìm kiếm các gói trên kho phần mềm từ xa.

APT sẽ thực hiện công việc tìm và tải xuống gói bạn muốn và nó sẽ đảm bảo tải cả tất cả các phần phụ thuộc cần thiết. Bạn vẫn có thể sử dụng dpkg, nhưng APT sẽ thực hiện chức năng tương tự trong khi đảm bảo phần mềm của bạn hoạt động theo cách bạn cần. Ngoài ra, APT là lựa chọn lý tưởng để gỡ cài đặt các gói đúng cách và xóa chúng khỏi hệ thống của bạn.

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

 

Vân Nguyễn

 

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

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)        
Chat Button
FUNiX V2 GenAI Chatbot ×

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