次のコマンドを実行することで、パッケージをDebianまたはUbuntuにインストールするために必要な複数の依存関係がリポジトリに存在するかどうかを確認できることをすでに知っています。
apt policy first-package second-package ... last-package
このコマンドは、各パッケージが現在インストールされているかどうかも通知します。
私の質問は、現在インストールしていないサポート対象のバージョンのDebianまたはUbuntuに複数の依存パッケージが存在するかどうかをすばやく確認する方法です。そのOSが現在インストールされていないため、依存パッケージがローカルおよびオフラインに存在するかどうかを確認できませんが、必要な依存パッケージが端末からデフォルトのリポジトリに存在するかどうかを確認したいと思います。
この情報の用途の1つは、Ubuntuにインストールされているアプリケーションが最新バージョンのUbuntuにもインストールできるかどうかを確認してから、最新バージョンのUbuntuをインストールするか、既存のOSを最新バージョンにアップグレードすることです。
このための理想的なツールは rmadison
です。これは、依存関係がほとんどない単純なPerlスクリプトです(URI
モジュールとwget
またはcurl
)なので、ほとんどどこでも実行できます。 DebianとUbuntuがホストするMadisonサービスに問い合わせて、パッケージの可用性を判断します。
rmadison gcc-7
さまざまなDebianスイートで利用できるGCC7のバージョンを示します。
rmadison -u ubuntu gcc-7
ubuntuでも同じです。
出力を特定のバージョンに制限できます。
rmadison -u ubuntu -s bionic gcc-7
rmadisonは、DebianとUbuntuの両方のパッケージを同時に検索でき、両方のサポート終了のパッケージも検索できます。 (12.04)および未リリース(18.10)のUbuntuバージョン。これらは素晴らしい機能ですが、rmadisonは私のコンピューターで部分的なキーワード検索を行うことができません。探しているパッケージ名全体を思い出せないことがあります。私はその一部しか覚えていません。次の手順もこの状況で機能します。それ以外の場合は、UbuntuおよびDebianでコマンドSudo apt-get install devscripts
によってインストールできるrmadisonを使用します。
Open-multiple-URLs-in-Firefox.shという名前の複数のパッケージが存在するかどうかを照会するシェルスクリプトを作成します。スクリプトには次のコードが含まれています。
#!/bin/bash
while read line; do
firefox --new-tab "https://packages.ubuntu.com/$line"
done < packages.txt
スクリプトを実行可能にします。
chmod +x Open-multiple-URLs-in-Firefox.sh
必要なすべての依存パッケージの名前を含むpackages.txtという名前のファイルを作成します。各パッケージは別々の行にあります。 packages.txtをOpen-multiple-URLs-in-Firefox.shと同じディレクトリに保存します。
スクリプトを実行します。
./Open-multiple-URLs-in-Firefox.sh
必要な各依存関係パッケージに関する情報を含むWebページは、Firefoxの個別のタブで開きます。
で複数のパッケージを検索するには Debian シェルスクリプトのhttps://packages.ubuntu.com/
を次のように置き換えます https://packages.debian.org/search?keywords=
このコマンドは、1つまたは2つのパッケージのみを検索する場合に使用する、上記のシェルスクリプトのより簡単な代替手段です。
firefox --new-tab https://packages.ubuntu.com/first-package https://packages.ubuntu.com/next-package https://packages.ubuntu.com/last-package