重要なポイント
- 「sudo apt install -f」を実行して、Ubuntu および Debian ベースのディストリビューションで壊れたパッケージを再インストールして修正します。
- Fedora、CentOS、および RHEL 上の壊れたパッケージを修正するには、コマンド「sudo dnf –refresh reinstall <package_name>」を実行します。
- Arch Linux では、コマンド「sudo pacman -S –force <package_name>」を実行して、破損したパッケージを強制的に再インストールします。
Linux の壊れたパッケージとは、破損または破損したソフトウェア パッケージのことです。パッケージ マネージャーを使用すると、壊れたパッケージを特定して修正し、プログラムの誤動作、システムの不安定性、データ損失などの問題を防ぐことができます。
Linux で壊れたパッケージ エラーを見つけて解決する方法は次のとおりです。
Linux パッケージはどのように壊れるのか?
Linux パッケージは、インストール可能なソフトウェア コードを含むファイルです。これらのパッケージには、ソフトウェアが意図したとおりに機能するための重要なファイル、依存関係、および手順がすべて含まれています。パッケージが壊れるということは、そのインストールまたは構成に問題があり、機能しなくなっているか、最新の状態ではなくなっていることを意味します。
たとえば、プロセスが中断されると、パッケージが半分インストールまたは半分削除された状態のままになることがあります。さらに、パッケージが正しく機能するために他のパッケージ (依存関係) に依存している場合、依存関係の問題が発生する可能性があり、依存関係が欠落しているか壊れている場合、メイン パッケージが使用できなくなる可能性があります。
さらに、リポジトリの問題によってパッケージが破損する可能性もあります。リポジトリはソフトウェア パッケージのコレクションであり、リポジトリの構成が間違っていたり、欠陥のあるパッケージが含まれている場合、そこからインストールされるパッケージで問題が発生する可能性があります。
Linux で壊れたパッケージを修復する方法
壊れたパッケージを修正するプロセスは、使用している Linux ディストリビューション によって異なります。ここでは、Ubuntu/Debian、Fedora/CentOS/RHEL、Arch Linux での方法について説明します。
壊れたパッケージの削除は、間違って行うと危険を伴う可能性があります。一般に、最初に壊れたパッケージの修正を試みることをお勧めします。ただし、パッケージが不要になり、競合が発生していないことが確実な場合は、適切なパッケージ マネージャー コマンドを使用してパッケージを削除できます。
Ubuntu および Debian での壊れたパッケージの更新
Ubuntu/Debian ユーザーの場合は、APT または dpkg コマンドを使用して壊れたパッケージを修正できます。 APT を使用してパッケージを更新することから始めましょう。
APT は 、Ubuntu、Debian、および関連ディストリビューションのデフォルトのパッケージ マネージャーです。これを使用して、パッケージのインストール、アップグレード、削除を行うことができます。
次のコマンドを実行して、破損したパッケージを修正しながらパッケージ インデックスを更新します。
sudo apt update --fix-missing
-f または –fix-broken オプションを使用して、壊れたパッケージを特定し、公式リポジトリから再インストールすることで修正します。
sudo apt install -f
壊れたパッケージをインストールした後、これを実行してパッケージ リストを更新します。
sudo aptアップデート
出力にエラーがなければ、壊れたパッケージは修正されています。
dpkg コマンドを 使用して、壊れたパッケージを検出して修正することもできます。 dpkg を使用して部分的にインストールされたパッケージを再構成するには、次を使用します。
sudo dpkg --configure -a
ここで、 –configure オプションは、dpkg にパッケージを構成するように指示します。パッケージのインストールが失敗すると、パッケージが未構成の状態になる可能性があります。このオプションは、このような問題の解決に役立ちます。さらに、 -a オプションは all を表し、単一のパッケージを指定するのではなく、未構成の状態にあるすべてのパッケージを選択するために使用されます。
grep を dpkg とパイプして、再インストールする必要がある破損したパッケージのリストを確認してみましょう。
sudo dpkg -l | grep ^..r
壊れたプログラムのリストを取得したら、次のコマンドを使用してそれらを 1 つずつ削除できます。
sudo dpkg --purge <パッケージ名>
ここで、 –purge オプションは、構成ファイルを含むパッケージを完全に削除するように dpkg に指示します。壊れたパッケージをすべて削除した後、次を使用してパッケージ キャッシュをクリーンアップする必要があります。
sudo 適切にクリーン
最後に、パッケージ リストを更新するには、次を実行します。
sudo aptアップデート
出力にエラーがなければ、壊れたパッケージはすべて正常に修正されています。
壊れたパッケージを修正しているときに、dpkg ロック エラーが発生することがあります。このエラーは、パッケージをインストールしようとしたときに、システムが別のインストールがすでに行われていると判断した場合に発生します。場合によっては、他のインストールが実行されていない場合でも表示されることがあります。
これを修正するには、進行中のインストールが完了するまで待つか、自動更新を確認するか、必要に応じて自分でロック ファイルを慎重に削除します。ロック ファイルを削除するには、次のコマンドを実行します。
sudo rm /var/lib/apt/lists/lock
これを使用してキャッシュ ロックを削除することもできます。
sudo rm /var/cache/apt/archives/lock
これらのロック ファイルを削除すると、パッケージ管理コマンドを問題なく再度使用できるようになります。
Fedora および RHEL に破損したパッケージを再インストールする
YUM と DNF は壊れたパッケージを処理するのに便利ですが、Linux システム上に多数のパッケージが存在する場合には、依然として問題が発生する可能性があります。ただし、RPM パッケージ マネージャーを使用すると、Fedora、CentOS、および RHEL 上の壊れたパッケージの問題を修正できます。
潜在的な問題を特定するには、 -V フラグを使用してシステム上のすべてのパッケージを確認します。
sudo rpm -Va
このコマンドは、RPM データベースに保存されているパッケージのメタデータをチェックして、パッケージの問題を特定します。インストールされているパッケージを利用可能な最新バージョンにアップグレードすることで、壊れたパッケージの問題を解決することもできます。
sudo dnf アップグレード -b
-b オプションを使用すると、DNF はパッケージの最新バージョンのみを考慮するようになります。
たくさんあるパッケージの中から壊れたパッケージを見つけるとイライラすることがあります。ただし、壊れた特定のパッケージを特定したら、次の dnf コマンドを使用してそれを再インストールできます。
sudo dnf --refresh 再インストール <package_name>
<package_name> を壊れたパッケージの実際の名前に置き換えてください。
YUM を使用していてパッケージ破損エラーが発生した場合は、すべてのパッケージを再インストールしてみてください。
sudo yum を再インストール \*
残念ながら、すべてのパッケージを再インストールしても問題が解決しない場合は、壊れたパッケージをスキップしてみてください。
sudo yum update --skip-broken
上記の手順をすべて実行しても問題が解決しない場合は、壊れたパッケージとその依存関係を削除する必要がある場合があります。
sudo dnf パッケージ名を削除します
Arch Linux で壊れたパッケージを修正する
Arch Linux では、Pacman を使用して壊れたパッケージを簡単に検出して修正できます。 Pacman には、システムにパッケージの問題があるかどうかをチェックするための -Qk フラグがあります。これを使用して、システムに現在インストールされているすべてのパッケージのリストを取得できます。
sudo パックマン -Qk
このリストを使用して、インストールされているソフトウェアを確認し、古いパッケージを特定し、システム構成を追跡できます。ただし、ファイルが欠落しているすべてのパッケージのリストを取得するには、これを実行します。
sudo pacman -Qk 2>/dev/null | grep -v ' 0 個のファイルが見つかりません'
壊れたパッケージのリストを取得したら、それらを再インストールできます。次のコマンドを使用して、これを個別に実行できます。
sudo pacman -S --force <パッケージ名>
–force オプションを使用して、既存のパッケージを上書きできます。 Pacman はパッケージ リストを更新し、指定されたパッケージを再インストールし、途中で壊れた依存関係に対処します。
システムのパッケージ リストを更新して、壊れたパッケージを修正することもできます。
sudo パックマン -Syu
常にシステムをバックアップしてください
注意点として、壊れたパッケージを修正してもシステムの安定性が損なわれることはありませんが、変更を加える前に システムをバックアップする ことをお勧めします。そもそも壊れたパッケージを回避するには、パッケージ リストを最新の状態に保ち、パッケージのインストールまたは削除時に注意し、パッケージ マネージャーの安全機能を使用するだけです。





