web-dev-qa-db-ja.com

/ usr / bin / dpkgが誤って削除された

Debianjessieを実行しているRaspberryPiの/usr/bin/dpkgを誤って削除しました。文字通りすべてをチェックしましたが、何も機能しません。緊急のサポートが必要です。

パッケージをインストールしようとしたり、dpkgコマンドを実行したりすると、次のようになります。

open (2:/usr/dpkg/lock does not exist
1
icecreamscoop

最初にパッケージをダウンロードしますdpkg

apt-get download dpkg

これで、現在の作業ディレクトリに.debパッケージが表示されます。これは、次の方法で手動で解凍できます。

ar x dpkg_<package_version>.deb

そのパッケージには、とりわけ、data.tar.gzというファイルが含まれています。実行可能ファイルがあります。現在のディレクトリ内で解凍します。

tar xf data.tar.gz

目的の実行可能ファイルは./usr/bin/dpkgにあり、次のコマンドでコピーして戻すことができます。

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

バイナリが戻ってきたため、シェルから呼び出すことができます。

dpkg --version
3
chaos

残念ながらsudoerが貧弱です...しかし、これは修正できます!

まず、Piがarmelとarmhfのどちらを使用しているかを知る必要があります。これは、Piのモデルを使用したグーグル検索で見つけることができます。例:Raspberry Pi 2 armel or armhf(申し訳ありませんが、頭のてっぺんからはわかりません...)

ファイルのarmelバージョンを取得するには、次のようにします。

wget http://ftp.us.debian.org/debian/pool/main/d/dpkg/dpkg_1.17.25_armel.deb

Armhfの場合:

wget http://ftp.us.debian.org/debian/pool/main/d/dpkg/dpkg_1.17.25_armhf.deb

ダウンロードしたら、次のコマンドを使用します。

ar -x <package name>

これにより、いくつかのファイルが抽出されます。あなたが欲しいのはdata.tar.gz以下を使用して抽出します:

tar xf data.tar.gz

これでusr/およびsbin/ディレクトリ。最後のコマンド:

Sudo cp usr/bin/dpkg /usr/bin/dpkg

そのコマンドの最後の部分の「/」の位置に注意してください

これで、dpkgパッケージが元に戻り、パッケージを心ゆくまでインストールできるようになります。

お役に立てれば!

1
Gamerb