Debianjessieを実行しているRaspberryPiの/usr/bin/dpkg
を誤って削除しました。文字通りすべてをチェックしましたが、何も機能しません。緊急のサポートが必要です。
パッケージをインストールしようとしたり、dpkg
コマンドを実行したりすると、次のようになります。
open (2:/usr/dpkg/lock does not exist
最初にパッケージをダウンロードします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
残念ながら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パッケージが元に戻り、パッケージを心ゆくまでインストールできるようになります。
お役に立てれば!