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.
Mục lục Nhân viên ngân hàng chuyển sang Fintech cần học gì? Vì sao nhiều banker chuyển sang Fintech? Các kỹ năng quan trọng khi chuyển sang Fintech Lộ trình chuyển nghề từ ngân hàng sang Fintech Các vị trí...
Nội dung chính (TOC) Tổng quan định nghĩa Các mô hình Fintech cốt lõi và thuộc tính Hệ sinh thái Fintech và Chuyển đổi số ngân hàng Xu hướng Fintech 2026 (Dự báo tác động) Bằng chứng áp dụng thực...
Mục lục Fintech Data Analyst là gì? Vai trò của Data Analyst trong hệ sinh thái Fintech Các kỹ năng cốt lõi của Fintech Data Analyst Entity và Attribute trong phân tích dữ liệu Fintech Các ứng dụng thực tế...
Trong kỷ nguyên của trí tuệ nhân tạo (AI), thuật ngữ “Vibe Coding” đã nổi lên như một hiện tượng, thay đổi hoàn toàn cách chúng ta tiếp cận việc xây dựng phần mềm. Không còn đơn thuần là việc...
Sự bùng nổ của các mô hình ngôn ngữ lớn khiến nhiều người tin rằng chỉ cần dùng ChatGPT trong lập trình là đã có thể “làm việc với AI”. Thực tế, ChatGPT có thể hỗ trợ viết code, giải...
Trong kỷ nguyên lập trình với AI, việc chọn lựa công cụ hỗ trợ (AI Code Editor/Extension) cũng quan trọng giống như việc chọn ngôn ngữ lập trình. Hai cái tên đang thống trị thị trường hiện nay là Cursor...
Trong giới lập trình năm 2026, có một thuật ngữ đang làm mưa làm gió: Vibe Coding. Nếu bạn từng thấy ai đó dựng xong một ứng dụng web chỉ trong một buổi chiều bằng cách “chat” với máy tính,...
Trong vài năm trở lại đây, trí tuệ nhân tạo (AI) không còn là khái niệm mang tính nghiên cứu mà đã trở thành công cụ thực tế trong quy trình phát triển phần mềm. Câu hỏi đặt ra không...
Đăng ký nhận bản tin
Nhận bản tin, báo cáo từ các chuyên gia hàng đầu về lĩnh vực Công nghệ thông tin mới nhất!
×
×
Tầng 0, tòa nhà FPT, 17 Duy Tân, phường Cầu Giấy, Hà Nội
info@funix.edu.vn
0782313602 (Zalo, Viber)
Cơ quan chủ quản: Công ty Cổ phần Giáo dục Trực tuyến FUNiX
MST: 0108171240 do Sở kế hoạch và Đầu tư thành phố Hà Nội cấp ngày 27 tháng 02 năm 2018
– Văn phòng Hà Nội:
+ Tầng 4, Tòa nhà 25T2, đường Nguyễn Thị Thập, phường Yên Hòa, Hà Nội.
+ Tầng 0, tòa nhà FPT, đường 17 Duy Tân, phường Cầu Giấy, Hà Nội.
– Văn phòng TP.HCM: Lầu 3A, tòa nhà 51-53 Võ Văn Tần, Phường Xuân Hòa, Thành phố Hồ Chí Minh, Việt Nam
Hotline: 078 231 3602 – Email: info@funix.edu.vn
yêu cầu gọi lại
Yêu cầu FUNiX gọi lại để hỗ trợ thông tin, chương trình học, chỉ tiêu - điều kiện tuyển sinh - học phí,... hoàn toàn FREE
Bình luận (0
)