以下を実行して、パッケージをインストールする特定のバージョンを指定できます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#syntax-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世代のepochを使用しています>= 4:8
。)