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.
Doanh nghiệp nên bắt đầu đào tạo AI nội bộ từ đâu? Đào tạo AI nội bộ cho doanh nghiệp thường nên bắt đầu từ các kỹ năng AI ứng dụng thực tế như sử dụng AI chatbot, phân...
Mô hình FUNiX Way là gì? Mô hình FUNiX Way là phương pháp đào tạo trực tuyến kết hợp mentor hỗ trợ 1–1, học theo lộ trình linh hoạt và tập trung vào kỹ năng thực hành trong môi...
App Inventor Robotics là gì? App Inventor Robotics là mô hình học kết hợp giữa lập trình ứng dụng di động và điều khiển robot thông qua điện thoại thông minh. Học sinh có thể sử dụng MIT App...
Học lập trình robot nên bắt đầu từ đâu? Học lập trình robot thường bắt đầu từ kiến thức STEM cơ bản như logic, cảm biến và điều khiển robot. Với học sinh từ lớp 6 đến...
Robotics là gì và vì sao ngày càng quan trọng trong giáo dục? Robotics là lĩnh vực kết hợp giữa lập trình, cơ khí, điện tử và trí tuệ nhân tạo để thiết kế và điều khiển robot. Trong...
Khóa học Fintech FUNiX có phù hợp cho người mới không? Khóa học Fintech FUNiX được thiết kế cho người mới bắt đầu muốn tìm hiểu về tài chính số, ngân hàng số và công nghệ Fintech. Chương trình...
AI trong Fintech được ứng dụng như thế nào? AI trong Fintech được sử dụng để phân tích dữ liệu tài chính, tự động hóa quy trình vận hành và hỗ trợ ra quyết định theo thời gian thực....
Quản trị rủi ro Fintech là gì? Quản trị rủi ro Fintech là quá trình sử dụng công nghệ để phát hiện, kiểm soát và giảm thiểu các rủi ro tài chính trong hệ sinh thái số. Các cô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
)