インストールする最小バージョンをapt-getで指定する

インストールする最小バージョンをapt-getで指定する

次のようにして、特定のバージョンを指定してパッケージをインストールできますapt-get install pkg=version

しかし、最小バージョンを指定することはできますか?

たとえば、少なくとも gcc 8 が必要ですが、gcc 9 でも問題ありません。

次のようなものです (明らかに動作しません):apt-get install pkg>=version

答え1

Sice apt 1.9 (2019 年 6 月 17 日リリース) では、次のように使用できますapt(-get) satisfy

sudo apt-get satisfy "foo (>= 1.0), bar (>= 2.0)"

依存関係文字列の構文については、以下で説明します。

https://www.debian.org/doc/debian-policy/ch-relationships.html#構文-of-relationship-fields

答え2

aptパッケージの のオプションを使用すると、ユーザーは が認識しているパッケージのさまざまなバージョンから選択できますapt。ただし、一般的なパッケージ制約を指定することはできません。

目的を達成するための最も簡単な方法は、 を使用することですequivs。 次のようにファイルに書き込みますmingcc

Section: devel
Priority: optional
Standards-Version: 4.5.0

Package: gcc-8-or-later
Depends: gcc (>= 4:8)
Description: dependency package ensuring GCC 8 or later is installed
 This meta-package ensures that GCC 8 or later is installed.

次にパッケージをビルドします。

equivs-build mingcc

gcc-8-or-later_1.0_all.debこれにより、現在のディレクトリまたは にパッケージ が生成されます$TMP。 次のようにしてインストールできますapt

apt install ./gcc-8-or-later_1.0_all.deb

インストールは、GCC 8 以降が利用可能な場合にのみ機能します。

( gccDebian と Ubuntu のメタパッケージはエポックを使用しますが、現在は 4 です>= 4:8。)

関連情報