Mất / Xóa dpkg (trình quản lý gói cho Debian). Làm thế nào để tôi nhận được nó trở lại?


8

HĐH: Ubuntu 12.04

Vô tình bị xóa dpkg. Bây giờ, các gói không thể được cài đặt. Vì vậy, cần một trình dpkgcài đặt cài đặt các gói.

Câu trả lời:


2

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 ./configurethất bại


Khi tôi gõ "./cool", nó nói một cái gì đó và cuối cùng là: "configure: error: no curses library" ...
Mohammad Mahdi Naderi

Điều này thực sự không giải thích bất cứ điều gì và hiện tại nó không hoạt động. ./mình yêu cầu một loạt các thứ và không rõ chính xác nó muốn gì.
G_V

1
@G_V Nếu bạn có một câu hỏi mới, tôi chắc chắn ai đó sẽ thích đưa ra một lời giải thích dài dòng. Gửi lỗi cấu hình của bạn cho câu hỏi mới của bạn. Có vẻ như bạn cần cài đặt một số gói để làm cho dpkg hoạt động.
j0h

@ j0h Cuối cùng tôi đã thực hiện cài đặt sửa chữa phân vùng HĐH của mình, ít rắc rối hơn. Tôi đã không thực sự hiểu những gì. Liên kết này đã giúp để hiểu những gì đang thực sự xảy ra.
G_V

9

Tùy thuộc chính xác những gì bạn đã xóa, bạn 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ừ .debtệ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 .debtệ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 .debtệ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 arthay cho thông thườngdpkg -x

ar -x dpkg_1.18.4ubuntu1_amd64.deb

(thay thế dpkg_1.18.4ubuntu1_amd64.debbằ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 dpkgtệ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/binthư 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-getbằng apt).

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.