Ubuntu 16.04 と Debian 9 で壊れたパッケージを修正する方法。Ubuntu 16.04 と Debian 9″ width=”742″ height=”371″ data-lazy-src=”https://www.rosehosting.com/blog/wp-content/uploads/2018/05/How-to-Fix-Broken-Packages-on-Ubuntu-16.04-and-Debian-9.jpg” class=”alignnone”>

How to Fix Broken Packages on Ubuntu 16.04 and Debian 9

Ubuntu と Debian は、ユーザーが自分のマシンでもっといろいろできるようにシステムの能力を追加するためにパッケージを使用しています。 しかし、このパッケージシステムがどれほど素晴らしいものであっても、物事はやはり壊れるものなのです。 インストールがまずかったのか、設定がまずかったのか、 あるいはインストール後に外部からファイルを変更されたのか、 パッケージは時々おかしくなって動かなくなり、「壊れた」状態になることがあります。 これは内蔵パッケージマネージャである apt-get にも影響を与え、追加パッケージのインストールや更新、あるいは完全な削除ができなくなる可能性があります。

このチュートリアルでは、Ubuntu 16.04 と Debian 9 の両方で壊れたパッケージを修正する方法をいくつか説明します。 この問題はいくつかの理由で発生する可能性があるため、いくつかの解決策が存在します。

目次

方法1: apt-get を使う

多くの場合、インストール後に壊れたパッケージは apt-get の内蔵ツールのおかげで比較的簡単に修正することができます。 以下のコマンドを実行すると、現在システムにインストールされている壊れたパッケージの修正を試みます:

sudo apt-get update --fix-missing
sudo apt-get install -f

(-f オプションは fix-broken の略です。)

最初のコマンドで問題が修正されるかどうか試してから、2番目のコマンドを実行してみてください。 発見されたエラーを修正するのに少し時間がかかります。 もしうまくいったら、壊れていたパッケージを使ってみてください – おそらく今は直っているでしょう。

方法 2: dpkg と apt-get を使用する

この方法は、ソフトウェア パッケージがインストール中に壊れた場合に役に立ちます。 続行する前に、前の方法を使用してみると、役立つことがあります。 まず、apt-get をクリーンアップし、dpkg を使って必要なパッケージを設定してみます:

sudo dpkg --configure -asudo apt-get cleansudo apt-get update

この後、パッケージが修正されたかどうかを確認します。 そうでない場合は、ロックファイルを削除する必要があるかもしれません。 ロックファイルは、特定のプログラムが利用できるリソースを維持するために使用されます。これは、他のプログラムが同時にファイルにアクセスするのを防ぐのに役立ちます。 これは、lockfile list:

sudo rm /var/lib/apt/lists/lock

を削除することで行えます。この後、もう一度上記のコマンドを実行してみてください。

方法3: dpkg を使って強制的に削除する

まれに、上記のコマンドが動作せず、壊れたパッケージが修正できないことがあります。 この場合、パッケージを手動で強制的に削除する必要があります。 この方法は、どのパッケージが壊れているかを既に知っている必要があります。

まず、以下のコマンドを入力して apt-get から問題のあるパッケージを普通に削除してみてください:

sudo apt-get remove

おそらく成功しませんが、強制的に削除する前に試す価値はあると思います。

パッケージを普通に削除しようとしたときのエラーにもよりますが、dpkg と grep を使って壊れたパッケージを特定できるかもしれません:

dpkg -l | grep ^..r

このコマンドはすべてのパッケージをリストし、grep は、3番目のフィールドに “reinst-required” (reinstall required) を意味する ‘r’ フラッグを含む結果をすべてリストします。 壊れたパッケージが表示されたら、それを削除することができます。

次のコマンドを実行して、マシンからパッケージを強制的に削除してください。 削除を許可するためのパスワードの入力を忘れないでください。 壊れたパッケージの名前に置き換えてください。

sudo dpkg --remove --force-remove-reinstreq

これが終わったら、apt-getのクリーンアップとアップデートを行います:

sudo apt-get cleansudo apt-get update

その後、パッケージをゼロからインストールしてみてください。 これで正常にインストールされるはずです。

その他の解決策

これらの方法は、システムから壊れたパッケージを修正または削除する最良の方法です – しかし、これだけでは十分でないこともあります。 まれに、システムが壊れたパッケージを全く認識しないことがありますが、 それでも apt-get が正常に機能するのを妨げます。 このような場合、手動でファイルを削除するのが最も良い解決方法です。 しかし、これらのファイルを削除するプロセスはパッケージによって異なり、危険を伴うことがあります。 したがって、システムからファイルを削除しようとする前に、まずこれらの解決策を試してください。

うまくいけば、これらの方法に従って、システムで見つかった壊れたパッケージをうまく修正または削除することができます。 もちろん、当社のマネージド Linux VPS サービスをご利用の場合は、壊れたパッケージを自分で修正する必要はありません。 彼らは24時間365日体制で、壊れたパッケージをすぐに修正する手助けをしてくれます。

コメントを残す

メールアドレスが公開されることはありません。