Linux パッケージ マネージャーを使用すると、ソフトウェアのインストールとアップグレードが非常に簡単になります。ただし、必ず「ターゲット パッケージが見つかりません」というエラーが発生します。そんなときにできることは次のとおりです。
パッケージ マネージャーは、毎回オンラインでパッケージを検索するわけではありません。検索は実際にはローカル キャッシュ上で実行されます。ローカル リストをしばらく更新していない場合、オンライン リポジトリとの同期が失われ、たとえ公式リポジトリで利用可能であっても、パッケージ マネージャーはパッケージを見つけることができません。したがって、「ターゲット パッケージにはインストール候補がありません」のようなメッセージが表示された場合でも、必ずしもパッケージがリモート サーバーで利用できないことを意味するわけではありません。
これを修正する最も簡単な方法は、ローカル データベースを更新し、公式リポジトリと再同期することです。 Debian および Ubuntu システムでは、次のコマンドを実行してパッケージのローカル リストを更新できます。
sudo apt update
Arch システムでは、次のコマンドを使用して、Pacman にパッケージ リストを再同期させ、更新させることができます。
sudo pacman -Syu
更新コマンドを実行した後、ターゲット アプリを再度インストールしてみてください。
公式 Pacman リポジトリは APT ほど大きくないため、パッケージをインストールしようとすると Pacman が空になるのはよくあることです。幸運なことに、コミュニティはその余裕を取り戻しています。 Arch User Repository (AUR) は、公式 Pacman リポジトリにはないパッケージの膨大なライブラリを備えたコミュニティによって管理されるリポジトリです。
ただし、AUR は事前に構築されたパッケージではなく、「pkgbuild」スクリプトのライブラリです。これらのスクリプトは、デバイス上でソフトウェアをコンパイルするためのレシピとして機能します。すべてを自動化する AUR ヘルパーと呼ばれるツールがあるため、これらのスクリプトを手動で実行する必要さえありません。たとえば、Pacman を使用して「yay」のような AUR ヘルパーをインストールし、それを使用してターゲット パッケージをインストールできます。
sudo pacman -S yay
yay -S signal-desktop
Ubuntu および Debian ユーザーは、個人用パッケージ アーカイブまたは PPA について Canonical の Launchpad または UbuntuUpdates をチェックできます。ターゲット PPA を APT パッケージ マネージャーに手動で追加してから、アプリのインストールを再試行する必要があります。
sudo add-apt-repository
ローカル アプリ リストを再度更新した後、このコマンドを実行します。
sudo apt update
次に、APT を使用してターゲット パッケージをインストールしてみます。
概して、AUR パッケージはコミュニティが精査し、フィードバックを提供し、有害なパッケージにフラグを立てるため、ほとんど安全です。ただし、AUR ヘルパーを使用する場合でも、ソースからコンパイルすると時間がかかることがあります。
PPA は誰でもホストでき、精査したりフラグを立てたりできる中央ポータルがないため、PPA についてはより慎重になる必要があります。リポ APT を追加する前にプロバイダーを信頼してください。
あらゆる Linux ディストリビューション上で実行できるように設計されたパッケージ形式がいくつかあります。 Flatpaks や Snap パッケージなどの形式は、ほとんどの Linux ディストリビューションで実行できます。これらのパッケージはサイロ化されており、すべての依存関係を備えているため、サンドボックス内で独立して実行できます。それはまた、重量が重くなり、起動に少し時間がかかることを意味します。これらはディストリビューションのデフォルトのパッケージマネージャーから取得されたものではないため、残りのアプリでも更新されません。手動で更新する必要があります。
Flatpaks や Snap パッケージを好まない人はたくさんいますが、私は選択肢があるほうがいいと思います。 Snap はすでに Ubuntu および Ubuntu ベースのディストリビューションにバンドルされています。ディストリビューションにインストールされていない場合は、次の APT コマンドを使用してインストールできます。
sudo apt install snapd
その後、Snapd を使用して、Canonical アプリ ストアから Snap パッケージをインストールできます。
sudo snap install firefox
Flatpaks も同様に簡単に取り付けられます。まず、Flatpak パッケージ マネージャーをインストールします。
sudo apt install flatpak
次に、Flatpak リポジトリを追加します。
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Flatpaks は 1 行のコマンドでインストールできます。
flatpak install flathub com.usebottles.bottles
Debian または Ubuntu の .deb アーカイブや Fedora の .rpm などのプラットフォーム固有のバイナリも別のオプションです。これらのファイル形式をダブルクリックするだけで、GUI インストーラー ユーティリティが起動する場合があります。あるいは、端末を使い続けることもできます。 「wget」を使用して .deb または .rpm ファイルをダウンロードし、次のコマンドを使用してインストールします。
Ubuntuの場合、
sudo dpkg -i ./package_name.deb
.rpm パッケージの場合、
sudo dnf install ./package_name.rpm
プリコンパイルされたバイナリが tarball として見つかる場合もあります。アイデアは、アーカイブを「usr/local/bin」ディレクトリに解凍し、そこからアプリにアクセスすることです。
たとえば、公式 GitHub リポジトリから neovim パッケージをダウンロードできます。
wget https://github.com/neovim/neovim/releases/download/nightly/nvim-linux-x86_64.tar.gz
次に、選択したフォルダーに解凍します。
tar xzvf nvim-linux-x86_64.tar.gz
次に、ネオビムを実行します。
./nvim-linux-x86_64/bin/nvim
Tab キーを押すと、ファイル名を自動入力できます。
他のすべてが失敗した場合は、いつでもソースからアプリをコンパイルできます。ハードウェア リソースとターゲット ソフトウェアの複雑さによっては、ソースからのコンパイルにかなりの時間がかかる場合があります。
Arch または Arch ベースのディストリビューションを使用している場合、公式リポジトリ以外のソフトウェアを入手するには AUR が最適です。他のディストリビューションの場合は、Snap、Flatpak、AppImage などのユニバーサル パッケージ形式を使用する方が安全で便利です。 Flatpaks や Snap が気に入らない場合は、プリコンパイルされたバイナリも選択肢になります。これらはインストールが簡単で、ユニバーサル パッケージよりも優れたパフォーマンスを発揮します。