Lost / Deleted dpkg(Debianのパッケージマネージャー)。どうすれば元に戻すことができますか?


8

OS:Ubuntu 12.04

誤って削除しましたdpkg。現在、パッケージはインストールできません。したがって、dpkgパッケージをインストールするインストーラーが必要です。

回答:


2

ディストリビューションのバージョンを補完するパッケージをダウンロードします。 https://launchpad.net/ubuntu/+source/dpkg/1.16.1.2ubuntu7

ファイルを解凍します。

cd dpkgソースディレクトリのルートに。

./configure

make

sudo make install

./configure失敗した場合、いくつかのパッケージをダウンロードする必要があるかもしれません


「./configure」と入力すると、何かが表示され、最後に「configure:エラー:cursesライブラリが見つかりません」...
Mohammad Mahdi Naderi

これは実際には何も説明せず、現在は機能しません。./configureには多くのものが必要であり、それが正確に何を望んでいるかは不明です。
G_V

1
@G_V新しい質問がある場合は、誰かが長い説明を提供したいと思うでしょう。新しい質問に構成エラーを投稿します。dpkgを機能させるには、いくつかのパッケージをインストールする必要があるようです。
j0h

@ j0h OSパーティションの修復インストールを行うことになり、面倒が減りました。以前にmakeを使用して何もインストールしたことがないため、。/ configureが何であるか、またはmakeが実際に何をするのかを理解できませんでした。このリンクは、実際に何が起こっているのかを理解するのに役立ちました。
G_V 2017年

9

何を削除したかに応じて、手動でダウンロードしたファイルから必要な部分を抽出することで、状況を救うことができる場合あり.debます。もちろん、コツは.deb、動作せずにファイルを解凍する方法を見つけることですdpkg-幸いにもここに解決策があります

コマンドdpkgなしで.debを抽出してインストールする方法は?


まずpackages.ubuntu.comに移動し.deb、OSバージョンとアーキテクチャに適したファイルをダウンロードしてください。

mkdir debroot && cd debroot
wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.18.4ubuntu1_amd64.deb

ar通常の代わりに使用してdebファイルを解凍しますdpkg -x

ar -x dpkg_1.18.4ubuntu1_amd64.deb

dpkg_1.18.4ubuntu1_amd64.debダウンロードした実際のdebの名前に置き換えます)。これで、次のコンテンツが得られます

control.tar.gz  data.tar.gz  debian-binary  dpkg_1.18.4ubuntu1_amd64.deb

パッケージのファイルはバイナリファイルをローカルでdata.tar.gz抽出するようにに配置する必要がありdpkgます

tar xf data.tar.gz ./usr/bin/dpkg

それがうまくいった場合./usr/bin/dpkg/usr/binディレクトリにコピーできるファイルが必要です。

sudo cp ./usr/bin/dpkg /usr/bin/

[ /使用に関連してファイルを直接untarすることもできますがsudo tar -C ...、2つの手順でファイルを解凍すると、少し安全に感じるだけです。]


それが機能する場合、一貫性を保つためにリポジトリからすべてを再インストールすることをお勧めします。

sudo apt-get update
sudo apt-get install --reinstall dpkg

(新しいシステムでは、あなたは置き換えることができますapt-getによってapt)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.