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.
Khóa học lập trình cho học sinh tại FUNiX giúp xây nền tảng công nghệ sớm, lộ trình bài bản, học online linh hoạt và mở rộng cơ hội nghề nghiệp. Mục lục Vì sao nên học khóa Software Engineering...
Khóa học Software Engineering cho học sinh tại FUNiX cung cấp một lộ trình toàn diện từ nền tảng lập trình cơ bản đến kỹ năng phần mềm chuyên sâu. Học sinh cấp 3 sẽ tiếp cận với các môn...
Lập trình web là một trong những kỹ năng được săn đón nhất trong kỷ nguyên số. Dù ở doanh nghiệp lớn, startup hay làm việc tự do, khả năng xây dựng website và ứng dụng web sẽ giúp bạn...
Khóa học Tester tại FUNiX cung cấp nền tảng toàn diện cho người mới bắt đầu muốn bước chân vào lĩnh vực kiểm thử phần mềm. Trong 20 tuần, học viên sẽ nắm vững từ kỹ năng viết test case,...
Khóa học Business Analysis FUNiX (Business Analyst) là chương trình dành cho người mong muốn gia nhập ngành CNTT với vai trò cầu nối giữa kinh doanh và công nghệ. Khóa học cung cấp lộ trình 7 tháng, từ cơ...
Khóa học Data Analysis tại FUNiX trang bị cho học viên kỹ năng phân tích dữ liệu toàn diện – từ Excel, SQL, Power BI đến Python, scikit-learn. Người học sẽ làm chủ quy trình xử lý dữ liệu, trực...
Khóa học Software Engineering tại FUNiX dành cho người đi làm mang đến lộ trình toàn diện từ kiến thức lập trình cơ bản đến chuyên sâu. Học viên được học các học phần tín chỉ tương đương chương trình...
Trong bối cảnh công nghệ phát triển vũ bão, trí tuệ nhân tạo (AI) đã trở thành một phần không thể thiếu trong mọi lĩnh vực – từ y tế, tài chính đến giáo dục và sản xuất. Với sinh...
Đă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
Địa chỉ:
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.
Văn phòng TP.HCM: Lầu 8, Tòa nhà Giày Việt Plaza 180-182 Lý Chính Thắng, phường Nhiêu Lộc, TP. Hồ Chí Minh.
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
)