Hướng dẫn sử dụng lệnh dpkg của Linux dành cho người mới bắt đầu (8 ví dụ)

theanh

Administrator
Nhân viên
Nếu bạn đang sử dụng hệ thống Debian hoặc dựa trên Debian (như Ubuntu), rất có thể bạn đã gặp phải các gói .deb. Đây là các gói Debian và dòng lệnh Linux cung cấp các lệnh/công cụ tích hợp để xử lý loại gói này. Một công cụ như vậy là dpkg, chúng ta sẽ thảo luận về công cụ này trong hướng dẫn này.

Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ trong hướng dẫn này đều đã được thử nghiệm trên máy Ubuntu 16.04LTS.

Lệnh dpkg của Linux​

Công cụ dpkg về cơ bản là trình quản lý gói cho các hệ thống dựa trên Debian/Debian. Sau đây là cú pháp của nó:
Mã:
dpkg ACTIONS
HOẶC
Mã:
dpkg [tùy chọn] tên tệp
Và đây là cách trang hướng dẫn giải thích về nó:
Mã:
dpkg là một công cụ để cài đặt, xây dựng, gỡ bỏ và quản lý các gói Debian.
 Giao diện chính và thân thiện hơn với người dùng cho dpkg là aptitude(1).
 Bản thân dpkg được điều khiển hoàn toàn thông qua các tham số dòng lệnh, bao gồm chính xác một hành động và không có hoặc nhiều tùy chọn. Tham số action-
 cho dpkg biết phải làm gì và các tùy chọn kiểm soát hành vi của hành động
 theo một cách nào đó.

 dpkg cũng có thể được sử dụng làm giao diện người dùng cho dpkg-deb(1) và dpkg-query(1).
 Danh sách các hành động được hỗ trợ có thể được tìm thấy sau trong phần ACTIONS?
 tion. Nếu gặp bất kỳ hành động nào như vậy, dpkg chỉ chạy dpkg-deb hoặc
 dpkg-query với các tham số được cung cấp cho nó, nhưng không có tùy chọn cụ thể nào
 được truyền cho chúng hiện tại, để sử dụng bất kỳ tùy chọn nào như vậy, các giao diện người dùng cần được gọi trực tiếp.
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ cung cấp cho bạn ý tưởng cơ bản hay về cách hoạt động của dpkg.

Câu hỏi 1. Làm thế nào để cài đặt một gói bằng dpkg?​

Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -i.
Mã:
dpkg -i [tên-gói]
Ví dụ:
Mã:
dpkg -i google-chrome-stable_current_amd64.deb
Sau đây là tất cả các bước liên quan đến quy trình cài đặt:
Mã:
 1. Trích xuất các tệp điều khiển của gói mới.

 2. Nếu một phiên bản khác của cùng một gói đã được cài đặt trước
 khi cài đặt mới, hãy thực thi tập lệnh prerm của gói cũ.

 3. Chạy tập lệnh preinst, nếu được gói cung cấp.

 4. Giải nén các tệp mới và đồng thời sao lưu các tệp
 cũ để có thể khôi phục nếu có sự cố.

 5. Nếu một phiên bản khác của cùng một gói đã được cài đặt trước
 khi cài đặt mới, thực thi tập lệnh postrm của gói cũ?
 tuổi. Lưu ý rằng tập lệnh này được thực thi sau tập lệnh preinst
 của gói mới, vì các tệp mới được ghi cùng lúc
 với các tệp cũ bị xóa.

 6. Cấu hình gói. Xem --configure để biết thông tin chi tiết về cách thực hiện việc này.

Q2. Làm thế nào để xóa một gói đã cài đặt bằng dpkg?​

Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -r.
Mã:
dpkg -r [package-name]
Ví dụ:
Mã:
dpkg -r googler_3.3.0-1_all.deb
Đây là những gì trang hướng dẫn nói về tùy chọn này:
Mã:
Việc xóa một gói bao gồm các bước sau:

 1. Chạy tập lệnh prerm

 2. Xóa các tệp đã cài đặt

 3. Chạy tập lệnh postrm

Câu hỏi 3. Làm thế nào để liệt kê tất cả các gói đã cài đặt trong hệ thống?​

Để làm điều này, bạn có thể sử dụng tùy chọn dòng lệnh -l.
Mã:
dpkg -l
Ví dụ, đây là đầu ra mà tùy chọn dòng lệnh này tạo ra trên hệ thống của tôi:


Câu hỏi 4. Làm thế nào để tạo dpkg liệt kê nội dung của một gói?​

Điều này có thể được thực hiện bằng cách sử dụng cờ --contents.
Mã:
dpkg --contents [tên gói]
Ví dụ:


Câu hỏi 5. Làm thế nào để chỉ giải nén một gói bằng dpkg?​

Có thể có những lúc bạn chỉ muốn giải nén gói, không cấu hình nó. Vâng, dpkg cũng cung cấp một tùy chọn cho việc này: --unpack.
Mã:
dpkg --unpack [package-name]
Nếu sau này bạn muốn cấu hình một gói đã giải nén, bạn có thể thực hiện bằng tùy chọn dòng lệnh --configure.
Mã:
dpkg --configure [package-name]
Sau đây là nội dung trang hướng dẫn về tùy chọn này:
Mã:
Cấu hình bao gồm các bước sau:

 1. Giải nén các tập tin confile và đồng thời sao lưu các tập tin confile
 cũ để có thể khôi phục nếu có sự cố xảy ra.

 2. Chạy tập lệnh postinst, nếu gói cung cấp.

Câu 6. Làm thế nào để kiểm tra xem một gói đã được cài đặt hay chưa?​

Sử dụng tùy chọn dòng lệnh -s cho việc này.
Mã:
dpkg -s [package-name]
Ví dụ:


Câu 7. Làm thế nào để in kiến trúc của các gói dpkg installs?​

Có thể truy cập thông tin này bằng tùy chọn dòng lệnh --print-architecture.
Mã:
dpkg --print-architecture
Ví dụ: đầu ra của lệnh trên tạo ra trên hệ thống của tôi là:
Mã:
amd64

Câu 8. Làm thế nào để xóa một gói bằng dpkg?​

Chúng ta đã thảo luận về cách xóa một gói bằng lệnh dpkg. Bạn cũng có thể xóa một gói, một quy trình xóa mọi thứ, bao gồm cả các tệp conffile. Điều này có thể được thực hiện bằng tùy chọn dòng lệnh -P.
Mã:
dpkg -P [tên-gói]
Đây là những gì trang hướng dẫn nói về tùy chọn này:
Mã:
Một số tệp cấu hình có thể không được dpkg biết đến vì
 chúng được tạo và xử lý riêng thông qua các tập lệnh configura?
 tion. Trong trường hợp đó, dpkg sẽ không tự xóa chúng,
 nhưng tập lệnh postrm của gói (được gọi bởi dpkg) phải
 xử lý việc xóa chúng trong quá trình xóa. Tất nhiên, điều này chỉ
 áp dụng cho các tệp trong thư mục hệ thống, không phải tệp cấu hình
 được ghi vào thư mục gốc của từng người dùng.

 Việc xóa một gói bao gồm các bước sau:

 1. Xóa gói, nếu chưa xóa. Xem --remove để biết
 thông tin chi tiết về cách thực hiện.

 2. Chạy tập lệnh postrm.

Kết luận​

Lệnh dpkg cung cấp rất nhiều tùy chọn. Những gì chúng tôi thảo luận ở đây là những tùy chọn sẽ giúp bạn bắt đầu sử dụng công cụ. Sau khi thực hành xong những tùy chọn này, hãy đếntrang hướng dẫn của lệnh để biết thêm thông tin.
 
Back
Bên trên