web-dev-qa-db-ja.com

DebianまたはUbuntuにパッケージをインストールする前に、複数の依存関係が存在するかどうかを確認してください

次のコマンドを実行することで、パッケージをDebianまたはUbuntuにインストールするために必要な複数の依存関係がリポジトリに存在するかどうかを確認できることをすでに知っています。

apt policy first-package second-package ... last-package  

このコマンドは、各パッケージが現在インストールされているかどうかも通知します。

私の質問は、現在インストールしていないサポート対象のバージョンのDebianまたはUbuntuに複数の依存パッケージが存在するかどうかをすばやく確認する方法です。そのOSが現在インストールされていないため、依存パッケージがローカルおよびオフラインに存在するかどうかを確認できませんが、必要な依存パッケージが端末からデフォルトのリポジトリに存在するかどうかを確認したいと思います。

この情報の用途の1つは、Ubuntuにインストールされているアプリケーションが最新バージョンのUbuntuにもインストールできるかどうかを確認してから、最新バージョンのUbuntuをインストールするか、既存のOSを最新バージョンにアップグレードすることです。

8
karel

このための理想的なツールは 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
10
Stephen Kitt

rmadisonは、DebianとUbuntuの両方のパッケージを同時に検索でき、両方のサポート終了のパッケージも検索できます。 (12.04)および未リリース(18.10)のUbuntuバージョン。これらは素晴らしい機能ですが、rmadisonは私のコンピューターで部分的なキーワード検索を行うことができません。探しているパッケージ名全体を思い出せないことがあります。私はその一部しか覚えていません。次の手順もこの状況で機能します。それ以外の場合は、UbuntuおよびDebianでコマンドSudo apt-get install devscriptsによってインストールできるrmadisonを使用します。

  1. Open-multiple-URLs-in-Firefox.shという名前の複数のパッケージが存在するかどうかを照会するシェルスクリプトを作成します。スクリプトには次のコードが含まれています。

    #!/bin/bash
    while read line; do
        firefox --new-tab "https://packages.ubuntu.com/$line"
    done < packages.txt
    
  2. スクリプトを実行可能にします。

    chmod +x Open-multiple-URLs-in-Firefox.sh
    
  3. 必要なすべての依存パッケージの名前を含むpackages.txtという名前のファイルを作成します。各パッケージは別々の行にあります。 packages.txtをOpen-multiple-URLs-in-Firefox.shと同じディレクトリに保存します。

  4. スクリプトを実行します。

    ./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
3
karel