Linuxで壊れたパッケージを見つけて修正する方法
壊れたパッケージは修理する必要があります。そうでなければソフトウェアは実行されません。ここでは、壊れたパッケージを見つけて修正する方法をLinuxで説明します。
Linuxのパッケージマネージャーは、パッケージのインストールや削除を制御することを可能にします。さらに、パッケージマネージャーは、システム上の壊れたパッケージを見つけ出し、それらを再インストールしてLinuxパッケージに関連するさまざまな問題を修正するのにも役立ちます。
Linuxで壊れたパッケージを見つけて修正するためにどのコマンドを使用すればよいか知らない場合は、このガイドがあなたのためのものです。壊れたパッケージとは何か、システムに壊れたパッケージがあるかどうかを確認する方法、エラーを修正するためにそれらを適切に再インストールする方法について簡単に説明します。
Linuxにおける壊れたパッケージとは何ですか?
Linuxに新しいパッケージをインストールするとき、システムのパッケージマネージャーがインストールプロセス全体を担当します。これらのパッケージマネージャーには、例外やエラーを処理するための組み込みの方法があります。しかし、予期しない問題が発生した場合、インストールが停止し、完全なパッケージがインストールされないことがあります。そのようなパッケージを壊れたパッケージと呼びます。
APTのようなパッケージマネージャーは、システムに壊れたパッケージが見つかると、これ以上のインストールを許可しません。そのような状況では、壊れたパッケージを修復することが唯一の選択肢です。
Linuxで壊れたパッケージを見つけて修正する方法
すべてのパッケージマネージャは異なる種類のパッケージを扱います。たとえば、DNFとYUMはRed Hatパッケージマネージャ(RPM)と連携してRPMパッケージをダウンロードおよびインストールします。同様に、APTはDebianベースのディストリビューションの基本のdpkgソフトウェアのフロントエンドラッパーとして機能します。
UbuntuおよびDebianで壊れたパッケージを再インストールする
APTは、すべてのDebianベースのディストリビューションにプリインストールされているデフォルトのパッケージマネージャーです。APTの他に、DebianおよびUbuntuユーザーはdpkgを使用してパッケージを手動でダウンロードしてインストールすることもできます。
以下に挙げる手順は、Kali Linuxで壊れたパッケージを修正したい場合にも適用できます。結局のところ、KaliはDebianベースのディストリビューションだからです。
APTを使用してDebian系ディストリビューションの壊れたパッケージを修正するには:
キーボードでCtrl + Alt + Tを押してターミナルを開き、次のコマンドを入力します:
sudo apt --fix-missing update利用可能なソースからシステムのパッケージリストを更新してください:
sudo apt update今、-f フラグを使用して壊れたパッケージのインストールを強制します。APTは自動的にシステム上の壊れたパッケージを検索し、公式リポジトリから再インストールします。
sudo apt install -f
前述の手順がうまくいかない場合は、dpkgを使って問題を解決することができます。
未設定のパッケージのうち、すでに展開されているが構成を行う必要があるものを、dpkgを強制的に再構成します。以下のコマンドの-aフラグは全てを意味します:
sudo dpkg --configure -adpkgを使用して、Requiredとしてマークされたすべてのパッケージのリストを取得するためにパイプgrepを使用します。
sudo dpkg -l | grep ^..r-
--remove フラグを使用して、すべての壊れたパッケージを削除します。
sudo dpkg --remove --force-remove-reinstreq パッケージキャッシュをクリーンアップし、apt cleanを使用してスクリプトをインストールします。
sudo apt clean今、次のコマンドを使ってシステムのパッケージリストを更新してください:
sudo apt update
Fedora/CentOSおよびRHELでの壊れたパッケージの修正
YUMとDNFは壊れたパッケージを自動的に管理するのに優れていますが、Linuxシステムに数千のパッケージがインストールされているため、時々問題が発生することがあります。そのような状況では、FedoraやCentOSの基本パッケージマネージャであるRPMを使用して、迅速に問題を解決できます。
システム上のすべてのパッケージを-Vフラグを使用して確認してください:
sudo rpm -Vaシステムにインストールされているすべてのパッケージの長いリストが表示されます。壊れたパッケージの問題を引き起こしていると思われるパッケージを再インストールします。
sudo dnf --refresh reinstall packagename
上記の手順は非常に不便であり、何百ものリストからどのパッケージが問題を引き起こしているかを特定するのは疲れる作業です。RPMは強力なパッケージマネージャーであり、そういった問題に遭遇することはほとんどありませんが、近い将来に似たような状況に直面したときにこれらの問題を解決する方法を知っておくことは依然として重要です。
Linuxディストリビューション上のパッケージ管理
Linuxのパッケージマネージャーは、失敗したインストールを含むほとんどの問題を処理することができます。しかし、時々、直感的にしか解決できないさまざまな問題が発生します。壊れたパッケージを修正するための解決策は、壊れたパッケージの特定、再インストール、システムのパッケージリストの更新といういくつかのステップから成ります。
試す価値のある無数のLinuxディストリビューションが存在しますが、根本的にはどれも似たような基盤を持っています。
デスクトップ環境は、各ディストリビューションを独自のユーザー体験で区別します。Linuxを使用することを決定した場合、あなたの好みに合った理想的なデスクトップ環境を選ぶことが優先事項であるべきです。
