次のようにして、特定のバージョンを指定してパッケージをインストールできます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 以降が利用可能な場合にのみ機能します。
( gcc
Debian と Ubuntu のメタパッケージはエポックを使用しますが、現在は 4 です>= 4:8
。)