Liên hệProfile
Danh mục

Mục Lục

    Dpkg là gì? Hướng dẫn quản lý gói deb với Dpkg chi tiết cho người mới

    Nguyễn Hưng

    Ngày đăng:

    25/04/2026

    Cập nhật lần cuối:

    25/04/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    Đánh giá bài viết

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    25/04/2026

    Cập nhật lần cuối:

    25/04/2026

    Mục lục

    Thay vì chỉ dựa vào các trình quản lý tự động, mình luôn ưu tiên dùng Dpkg mỗi khi cần can thiệp sâu vào cấu trúc hoặc kiểm tra thông tin chi tiết của một tệp .deb cụ thể. Những thao tác này đã giúp mình tiết kiệm rất nhiều thời gian khi thiết lập môi trường làm việc trên Linux mà không lo làm hỏng hệ thống. Bài viết dưới đây là toàn bộ hướng dẫn chi tiết về Dpkg mà mình đã kiểm chứng và áp dụng thành công, giúp các bạn mới bắt đầu có cái nhìn trực quan và tự tin hơn.

    Những điểm chính

    Đối với mình, việc quản lý gói phần mềm trên Linux không chỉ giúp hệ thống hoạt động ổn định mà còn là nền tảng để kiểm soát phiên bản, phụ thuộc và bảo mật một cách chủ động. Để giúp bạn hiểu rõ hơn về dpkg trong quá trình sử dụng thực tế, bài viết dưới đây sẽ cung cấp các thông tin gồm:

    • Khái niệm: Hiểu rõ dpkg là trình quản lý gói cấp thấp trong hệ sinh thái Debian, dùng để thao tác trực tiếp với các gói phần mềm định dạng .deb.
    • Chức năng: Nắm được các chức năng chính như cài đặt, gỡ bỏ, liệt kê và cấu hình gói, giúp bạn kiểm soát chi tiết từng gói phần mềm ở mức hệ thống.
    • So sánh với APT: Phân biệt rõ sự khác biệt giữa dpkg và APT, giúp bạn lựa chọn đúng công cụ cho từng tác vụ quản lý gói.
    • Cú pháp và tùy chọn: Nắm vững cú pháp lệnh và các tùy chọn quan trọng như -i, -r, -l, giúp bạn tự tin thực hiện các tác vụ cài đặt, gỡ bỏ và tra cứu gói.
    • Các tác vụ phổ biến: Tham khảo các ví dụ cụ thể cho việc cài đặt, gỡ bỏ, liệt kê và tìm kiếm gói, giúp bạn áp dụng vào các tác vụ quản trị hệ thống hàng ngày.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến dpkg.

    Dpkg là gì?

    Dpkg là trình quản lý gói cấp thấp trong hệ sinh thái Debian, dùng để thao tác trực tiếp với các gói phần mềm định dạng .deb trên những bản phân phối Linux dựa trên Debian như Ubuntu. Dpkg là tiện ích dòng lệnh chuyên xử lý việc cài đặt, gỡ bỏ, giải nén, cấu hình và liệt kê các gói .deb đã có sẵn trên hệ thống, đồng thời ghi nhận trạng thái các gói trong cơ sở dữ liệu của hệ điều hành.

    Dpkg không đảm nhận việc tìm, tải gói từ kho phần mềm và cũng không tự động giải quyết quan hệ phụ thuộc giữa các gói, mà chỉ làm việc với file .deb do người dùng cung cấp hoặc tải trước đó. Nhiều trình quản lý gói cấp cao như APT hay apt sử dụng dpkg ở phía sau để thực thi thao tác cài đặt, nâng cấp hoặc gỡ bỏ phần mềm khi người dùng ra lệnh qua các công cụ đó.

    Dpkg là trình quản lý gói cấp thấp của Debian, dùng để thao tác trực tiếp với các gói .deb
    Dpkg là trình quản lý gói cấp thấp của Debian, dùng để thao tác trực tiếp với các gói .deb

    Các chức năng của dpkg

    Các chức năng của dpkg tập trung vào việc thao tác trực tiếp với các gói .deb đã có trên hệ thống thông qua dòng lệnh, giúp quản trị viên chủ động kiểm soát từng gói phần mềm ở mức chi tiết. Các chức năng cụ thể gồm:

    • Cài đặt gói cục bộ: dpkg cho phép cài đặt các tệp .deb đã tải về máy, thường sử dụng với cú pháp lệnh dpkg -i .deb để thêm phần mềm vào hệ thống mà không cần truy cập kho trực tuyến.
    • Gỡ bỏ gói phần mềm: Người dùng có thể gỡ bỏ chương trình đã cài đặt bằng dpkg -r hoặc xóa luôn cả các tệp cấu hình đi kèm với dpkg –purge khi muốn làm sạch hoàn toàn dấu vết của gói đó.
    • Liệt kê và tra cứu gói: Thông qua dpkg -l hoặc dpkg –list, công cụ hỗ trợ xem danh sách gói đã cài, kiểm tra tên, phiên bản và trạng thái từng gói để tiện cho việc quản lý và kiểm tra hệ thống.
    • Cấu hình lại gói: Với các gói đã được cài đặt, bạn có thể chạy lại quá trình cấu hình (như đặt lại tham số hoạt động) bằng các tiện ích liên quan như dpkg-reconfigure, giúp điều chỉnh phần mềm mà không cần cài lại từ đầu.
    Các chức năng của Dpkg
    Các chức năng của Dpkg

    So sánh dpkg với APT

    Từ góc độ quản trị, bạn có thể xem nhanh sự khác nhau giữa dpkg và APT qua bảng so sánh chi tiết dưới đây, trước khi quyết định nên dùng công cụ nào cho từng tình huống:

    Tiêu chídpkgAPT
    Mức độ công cụCông cụ cơ bản, làm việc trực tiếp với từng gói .deb riêng lẻ trên hệ thống.Công cụ cấp cao hơn, cung cấp giao diện quản lý gói toàn diện và dễ dùng hơn cho người quản trị.
    Cách thức hoạt độngXử lý file gói có sẵn: cài, gỡ, liệt kê, cấu hình lại các gói .deb cục bộ.Gửi yêu cầu đến kho phần mềm, sau đó gọi Dpkg ở phía sau để thực thi cài đặt, nâng cấp hoặc gỡ bỏ.
    Khả năng tìm kiếm góiKhông hỗ trợ tìm kiếm gói trong repository, chỉ làm việc với file .deb do người dùng cung cấp.Có thể tra cứu tên gói, mô tả và phiên bản trực tiếp từ các kho phần mềm được cấu hình trong hệ thống.
    Quản lý phụ thuộc (dependency)Không tự động tải hoặc giải quyết các gói phụ thuộc, mọi phụ thuộc phải được xử lý thủ công.Tự động phân tích, tải về và cài đặt đầy đủ các gói phụ thuộc cần thiết cho phần mềm chính.
    Mức độ thân thiện sử dụngPhù hợp khi cần thao tác chi tiết với file .deb, nhưng đòi hỏi người dùng hiểu rõ các gói liên quan.Thân thiện hơn cho tác vụ hằng ngày, giúp cài và cập nhật phần mềm nhanh, gọn với ít lệnh hơn.
    Vai trò trong hệ thốngĐóng vai trò bộ xử lý cốt lõi cho định dạng .deb mà các công cụ cấp cao dựa vào.Hoạt động như lớp điều phối, tận dụng Dpkg để triển khai việc quản lý phần mềm một cách tiện lợi.

    Từ góc độ quản trị, sự khác biệt giữa dpkg và APT nằm ở phạm vi xử lý và khả năng tự động hóa quy trình. Dựa trên thực tế vận hành, dpkg là công cụ thực thi trực tiếp trên các tệp .deb cục bộ, cho phép can thiệp chính xác vào từng gói đơn lẻ. Ngược lại, APT đóng vai trò là hệ thống điều phối, tự động hóa việc tìm kiếm và giải quyết các gói phụ thuộc từ kho lưu trữ trực tuyến.

    Các cú pháp cơ bản của lệnh dpkg

    Cú pháp tổng quát của lệnh dpkg như sau:

    sudo dpkg [tùy chọn] [tên_gói | tên_tệp.deb]

    Trong đa số trường hợp, bạn cần có quyền sudo để thực hiện các thao tác cài đặt hoặc gỡ bỏ gói.

    Tóm tắt các tùy chọn quan trọng:

    Tùy chọnTên đầy đủMô tả
    -i–installCài đặt gói từ tệp .deb.
    -r–removeGỡ bỏ gói nhưng vẫn giữ lại các tệp cấu hình.
    -P–purgeGỡ bỏ triệt để gói, bao gồm cả tệp cấu hình liên quan.
    -l–listLiệt kê những gói đã được cài đặt trên hệ thống.
    -s–statusHiển thị trạng thái hiện tại và thông tin chi tiết của một gói.
    -c–contentsLiệt kê toàn bộ nội dung tệp bên trong một gói .deb.
    -S–searchTìm gói nào đang sở hữu một tệp cụ thể trên hệ thống.

    1. Cài đặt gói

    Bạn sử dụng tùy chọn -i hoặc –install để cài đặt một gói từ tệp .deb lưu trữ cục bộ, và thay thế /đường/dẫn/đến/tệp.deb bằng đường dẫn thực tế đến gói bạn muốn cài đặt:

    sudo dpkg -i /đường/dẫn/đến/tệp.deb

    iconLưu ý

    Nếu gói cần cài đặt bị thiếu phụ thuộc, dpkg sẽ báo lỗi và không tiếp tục cài. Khi đó, bạn có thể chạy sudo apt install -f hoặc sudo apt –fix-broken install để tự động bổ sung các gói phụ thuộc còn thiếu sau khi dpkg thất bại.

    2. Gỡ bỏ gói

    Bạn dùng tùy chọn -r hoặc –remove để gỡ bỏ một gói đã được cài đặt và chỉ xóa các tệp nhị phân cùng tài liệu trong khi vẫn giữ lại các tệp cấu hình của gói:

    sudo dpkg -r tên_gói

    3. Gỡ bỏ hoàn toàn gói

    Bạn sử dụng tùy chọn -P hoặc –purge khi bạn muốn xóa sạch một gói bao gồm cả toàn bộ các tệp cấu hình liên quan:

    sudo dpkg -P tên_gói

    4. Liệt kê các gói đã cài đặt

    Bạn dùng tùy chọn -l hoặc –list để xem danh sách tất cả các gói hiện đang được cài đặt trên hệ thống:

    dpkg -l

    Bạn có thể kết hợp thêm grep nếu bạn muốn tìm nhanh một gói cụ thể trong danh sách:

    dpkg -l | grep tên_gói_cụ_thể
    Liệt kê các gói được cài đặt và quản lý bởi dpkg
    Liệt kê các gói được cài đặt và quản lý bởi dpkg

    5. Kiểm tra trạng thái gói

    Bạn sử dụng tùy chọn -s hoặc –status để xem thông tin chi tiết về một gói. Trong đó, bạn có thể kiểm tra trạng thái (đã cài đặt, đã gỡ bỏ,…), phiên bản và mô tả:

    dpkg -s tên_gói

    6. Xem nội dung tệp gói

    Bạn dùng tùy chọn -c hoặc –contents để liệt kê các tệp nằm bên trong một gói .deb trước khi quyết định cài đặt gói đó:

    dpkg -c /đường/dẫn/đến/tệp.deb

    7. Tìm gói sở hữu một tệp

    Bạn sử dụng tùy chọn -S hoặc –search để tìm xem gói nào đang sở hữu một tệp với đường dẫn cụ thể (hoặc khớp một phần đường dẫn) trên hệ thống của bạn:

    dpkg -S /usr/bin/python3

    8. Tài nguyên bổ sung

    Bạn có thể tham khảo trang hướng dẫn sử dụng để xem chi tiết đầy đủ mọi tùy chọn mà dpkg hỗ trợ:

    man dpkg

    Câu hỏi thường gặp

    Có thể dùng dpkg để nâng cấp một gói từ tệp .deb mới hơn không?

    Bạn hoàn toàn có thể nâng cấp gói bằng dpkg bằng cách cài đè tệp .deb phiên bản mới lên phiên bản cũ, miễn là bạn cung cấp đúng file và các phụ thuộc cần thiết đã được đáp ứng trước đó.

    Khi nào bạn nên ưu tiên dùng dpkg thay vì APT?

    Bạn thường nên dùng dpkg khi bạn cần thao tác trực tiếp với một tệp .deb tải thủ công từ nhà cung cấp hoặc khi cần xử lý sự cố ở mức gói đơn lẻ mà các công cụ cấp cao hơn không giải quyết triệt để.

    Bạn có thể dùng dpkg để khắc phục một số lỗi quản lý gói không?

    Bạn đôi khi có thể dùng dpkg kết hợp với các lệnh khác (như di chuyển file trong /var/lib/dpkg/ hoặc cấu hình lại gói) để xử lý những lỗi liên quan đến cơ sở dữ liệu gói hoặc các gói bị kẹt trạng thái trên hệ thống.

    Khi nắm rõ cách sử dụng dpkg, bạn có thể chủ động cài đặt, gỡ bỏ, kiểm tra và truy vết các gói .deb trên hệ thống một cách chi tiết. Việc kết hợp dpkg với các công cụ như APT giúp vừa quản lý được từng gói ở mức thấp, vừa đảm bảo quá trình làm việc với kho phần mềm diễn ra tự động và ổn định hơn trên Debian/Ubuntu. Cảm ơn bạn đã theo dõi bài viết!

    Đánh giá bài viết
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Ltrace là gì? Phân tích Dynamic Library Calls với ltrace trên Ubuntu
    Ltrace là gì? Phân tích Dynamic Library Calls với ltrace trên Ubuntu

    Trong những lần xử lý sự cố phần mềm mà các tệp log không hiển thị rõ nguyên nhân, mình thường sử dụng ltrace để soi xét chính xác những gì đang diễn ra giữa ứng dụng và các thư viện chia sẻ. Việc quan sát trực tiếp các hàm được gọi trong thời gian…

    25/04/2026

    Lệnh rsync trong Linux là gì? Cách cài đặt, sử dụng rsync và ví dụ thực tế
    Lệnh rsync trong Linux là gì? Cách cài đặt, sử dụng rsync và ví dụ thực tế

    Việc thiết lập các kịch bản backup tự động sẽ trở nên vô cùng rủi ro nếu bạn không hiểu rõ cách vận hành của rsync, công cụ mà mình tin dùng trong suốt nhiều năm qua để duy trì sự ổn định cho hạ tầng cloud. Từ kinh nghiệm trực tiếp cấu hình các…

    25/04/2026

    unzip Linux là gì? Đặc điểm, chức dẫn và hướng dẫn sử dụng lệnh unzip trong Linux
    unzip Linux là gì? Đặc điểm, chức dẫn và hướng dẫn sử dụng lệnh unzip trong Linux

    Trong quá trình triển khai các dự án website cho khách hàng, việc giải nén nhanh các bộ mã nguồn đồ sộ trực tiếp trên Terminal bằng lệnh unzip đã giúp mình tiết kiệm đến 80% thời gian so với việc tải lên từng file thủ công. Những tham số như giải nén đè file…

    25/04/2026

    Lệnh gunzip trên Linux là gì? Đặc điểm và cách sử dụng lệnh gunzip
    Lệnh gunzip trên Linux là gì? Đặc điểm và cách sử dụng lệnh gunzip

    Khi triển khai các dự án tối ưu hạ tầng cho website, việc thao tác trực tiếp với các tệp tin backup nén qua gunzip đã trở thành một phần không thể thiếu. Sự ổn định và tốc độ của lệnh này là lý do vì sao dù có nhiều công cụ mới ra đời,…

    25/04/2026

    linux

    lenh

    text