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.
HOẶC
Và đây là cách trang hướng dẫn giải thích về nó:
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.
Ví dụ:
Sau đây là tất cả các bước liên quan đến quy trình cài đặt:
Ví dụ:
Đây là những gì trang hướng dẫn nói về tùy chọn này:
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:
Ví dụ:
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.
Sau đây là nội dung trang hướng dẫn về tùy chọn này:
Ví dụ:
Ví dụ: đầu ra của lệnh trên tạo ra trên hệ thống của tôi là:
Đây là những gì trang hướng dẫn nói về tùy chọ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
Mã:
dpkg [tùy chọn] tên tệp
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.
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]
Mã:
dpkg -i google-chrome-stable_current_amd64.deb
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]
Mã:
dpkg -r googler_3.3.0-1_all.deb
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
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]
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]
Mã:
dpkg --configure [package-name]
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]
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
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]
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.