Dpkg để làm gì?


21

Câu hỏi của tôi rất đơn giản - tôi muốn biết thêm về dpkg - nó làm gì?


Điều này đã được chỉnh sửa ít nhất hai lần để cải thiện sự rõ ràng - vì nó có thể đáng để giữ mở (miễn là nó không phải là một bản sao) vì nó đã tạo ra ít nhất một câu trả lời hay.
belacqua

1
bạn nên truy cập trước: en.wikipedia.org/wiki/Dpkg
Pandya

Câu trả lời:


17

Như đã nói, dpkglà một công cụ hệ thống cấp thấp để trích xuất, phân tích, giải nén và cài đặt hoặc xóa các tệp .deb. Tuy nhiên, tốt hơn là sử dụng Software Centrehoặc Gdebicài đặt hoặc xóa các tệp .deb đã thu được từ các nguồn khác vì hai chương trình này có độ phân giải phụ thuộc.

Tuy nhiên, điều chưa được giải thích là giải phẫu của một bản cập nhật sử dụng dpkgapt-get. Ví dụ, nếu chúng ta gọi apt-getđể cài đặt cheese, cây phụ thuộc được phân tích và các tệp cần thiết được tìm nạp apt-get, sau đó chuyển chúng dpkgđể trích xuất, phân tích và cài đặt đến đúng vị trí và định cấu hình chúng theo các tập lệnh bên trong chúng.

Các tập lệnh được đọc dpkgbên trong mỗi tệp .deb rất quan trọng vì chúng cung cấp thông tin cho chương trình liên quan đến việc cài đặt, gỡ bỏ và cấu hình của các gói. Do đó, khi bạn nhìn vào, /var/log/dpkg.logcó rất nhiều chi tiết dài dòng về 'trình kích hoạt' và các gói trải qua các giai đoạn khác nhau của việc giải nén và cấu hình. Trong blog của mình, Raphael Hertzog (một nhà phát triển và bảo trì chính của Debian dpkg) giải thích thêm về các trình kích hoạt dpkg và cách dpkgkiểm tra và định cấu hình các gói.

Bây giờ chúng ta đang đi vào trung tâm của những gì dpkglàm; nó chuyên nghiệp xử lý các gói Debian, thay vì phụ thuộc vào chúng. Với dpkg-deb, ví dụ, bạn có thể thực hiện hành động khác nhau trong việc phân tích và các tập tin bằng tay chiết xuất từ các văn khố .deb; xem man dpkg-debđể biết thêm thông tin

Trạng thái của mỗi gói được liệt kê trong /var/lib/dpkg/status, có thể được sử dụng grepđể kiểm tra trên một gói cụ thể. Dpkgcũng có thể được gọi để cấu hình lại các gói cụ thể đã được cấu hình (xem man dpkg-reconfigure):

sudo dpkg-reconfigure <package>

Hoặc để thực hiện định cấu hình tất cả các gói chưa được định cấu hình nếu có sự cố với bản cập nhật và cấu hình của một số gói vẫn đang chờ xử lý:

sudo dpkg --configure -a

Để có một hướng dẫn tuyệt vời tập trung vào dpkgapt-get, hãy xem chương 5 và 6 của Cẩm nang Debian , đây là phần thảo luận tốt nhất hiện có. Nhập man dpkgvào thiết bị đầu cuối của bạn hoặc xem các trang web Ubuntu trực tuyến để xem tất cả nhiều tùy chọn có sẵn, chẳng hạn như sử dụng dpkg -lđể liệt kê các gói hiện được cài đặt.


4

dpkg là một cách dòng lệnh để cài đặt từ .deb hoặc xóa các gói đã cài đặt. Ví dụ: nếu bạn có tệp .deb trong thư mục chính của mình, việc chạy dpkg -i yourpackage.debsẽ cài đặt gói đó cho bạn. Tôi thấy điều này ít nhất hữu ích cho tôi vì đôi khi khi nhấp vào tệp .deb, nó tải Trung tâm phần mềm Ubuntu nhưng không bao giờ thực sự cài đặt nó hoặc gặp sự cố.


4

Như mọi khi, manlệnh là một nơi tuyệt vời để bắt đầu.
man dpkgcó thể cung cấp cho bạn tất cả các tùy chọn, tuy nhiên:

dpkg là trình quản lý gói cho các hệ thống dựa trên Debian. Nó có thể cài đặt, gỡ bỏ và xây dựng các gói, nhưng không giống như các hệ thống quản lý gói khác, nó không thể tự động tải xuống và cài đặt các gói và các phụ thuộc của chúng.

Vì vậy, về cơ bản, nó có thể nhận được mà không cần giải quyết phụ thuộc và được sử dụng để cài đặt các tệp .deb.

Tôi cảnh báo bạn mặc dù: Gỡ cài đặt các gói bằng dpkg, trong hầu hết các trường hợp, KHÔNG được khuyến khích. Tốt hơn là sử dụng một trình quản lý gói xử lý các phụ thuộc, để đảm bảo rằng hệ thống ở trạng thái nhất quán.

Ví dụ: bằng cách sử dụng, dpkg -r zipbạn có thể xóa gói zip, nhưng bất kỳ gói nào phụ thuộc vào gói đó vẫn sẽ được cài đặt và có thể không còn hoạt động chính xác nữa.

Bạn có thể đọc thêm một số về nó trong hướng dẫn máy chủcác nơi khác .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.