Câu trả lời:
Tải về gói bổ sung cho phiên bản phân phối của bạn. https://launchpad.net/ubfox/+source/dpkg/1.16.1.2ubfox7
Giải nén tập tin.
cd
vào thư mục gốc của thư mục nguồn dpkg.
./configure
make
sudo make install
Bạn có thể cần phải tải xuống một số gói nếu ./configure
thất bại
Tùy thuộc chính xác những gì bạn đã xóa, bạn có thể giải cứu tình huống bằng cách trích xuất các phần cần thiết từ .deb
tệp được tải xuống thủ công . Thủ thuật, tất nhiên, là tìm cách giải nén .deb
tệp mà không cần làm việc dpkg
- may mắn thay, có một giải pháp ở đây
Làm thế nào để giải nén và cài đặt .deb mà không cần lệnh dpkg?
Trước tiên, hãy truy cập gói.ubfox.com và tải xuống .deb
tệp thích hợp cho phiên bản và kiến trúc hệ điều hành của bạn, vd
mkdir debroot && cd debroot
wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.18.4ubuntu1_amd64.deb
Bây giờ hãy giải nén tệp deb bằng cách sử dụng ar
thay cho thông thườngdpkg -x
ar -x dpkg_1.18.4ubuntu1_amd64.deb
(thay thế dpkg_1.18.4ubuntu1_amd64.deb
bằng tên của cuộc tranh luận thực tế mà bạn đã tải xuống). Bây giờ bạn sẽ có các nội dung sau đây
control.tar.gz data.tar.gz debian-binary dpkg_1.18.4ubuntu1_amd64.deb
Các tệp của gói phải được đặt ở vị trí data.tar.gz
để trích xuất dpkg
tệp nhị phân cục bộ
tar xf data.tar.gz ./usr/bin/dpkg
Nếu nó hoạt động, bạn nên có một tập tin ./usr/bin/dpkg
mà bạn có thể sao chép vào /usr/bin
thư mục của bạn
sudo cp ./usr/bin/dpkg /usr/bin/
[Lưu ý rằng bạn có thể gỡ bỏ tệp trực tiếp liên quan đến /
việc sử dụng sudo tar -C ...
nhưng thực hiện theo hai bước chỉ cảm thấy an toàn hơn một chút.]
Nếu nó hoạt động, tôi khuyên bạn nên cài đặt lại toàn bộ từ kho lưu trữ để đảm bảo tính nhất quán
sudo apt-get update
sudo apt-get install --reinstall dpkg
(trên các hệ thống mới hơn, bạn có thể thay thế apt-get
bằng apt
).