nvhpc
我正在安装一个从第三方存储库调用的包。
为此,我使用推荐的方法,包括:
$ apt-get update && apt-get install --no-install-recommends -y --quiet ca-certificates
$ echo 'deb [trusted=yes] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /'
$ apt-get update -y
$ apt-get install --no-install-recommends -y nvhpc-22-2
事实证明,这会尝试安装nvhpc-22-3
较新的版本。(我不想安装它,因为除其他原因外,我的虚拟机中没有足够的空间容纳这两个版本)。
奇怪的是,如果我明确安装nvhpc-22-3
(或nvhpc
),它只会安装版本 22.3,而如果我要求,nvhpc-22-2
它将安装 22.2 和 22.3。(22.3 或 22.2 单独应该适合磁盘。)
我认为存储库apt-get
正在尝试变得智能并安装新旧版本。
我如何才能阻止安装新版本?(即具体名为nvhpc-22-3
或 的包nvhpc
)?
请注意,我传递这个参数是--no-install-recommends
为了防止类似的事情发生,以防万一。
这是上面最后一条命令的输出:
$ apt-get install --no-install-recommends -y nvhpc-22-2
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
nvhpc-22-2 nvhpc-22-3 perl ...
...
0 upgraded, 98 newly installed, 0 to remove and 14 not upgraded.
Need to get 5909 MB of archives.
After this operation, 20.5 GB of additional disk space will be used.
...
Selecting previously unselected package nvhpc-22-3.
Preparing to unpack .../94-nvhpc-22-3_22.3_amd64.deb ...
Unpacking nvhpc-22-3 (22.3) ...
Selecting previously unselected package nvhpc-2022.
Preparing to unpack .../95-nvhpc-2022_22.3_amd64.deb ...
Unpacking nvhpc-2022 (22.3) ...
Selecting previously unselected package nvhpc-22-2.
Preparing to unpack .../96-nvhpc-22-2_22.2_amd64.deb ...
Unpacking nvhpc-22-2 (22.2) ...
答案1
这不是版本问题。这实际上是两个不同的包,而不是同一个包的两个不同版本。看起来这nvhpc-22-3
是 的依赖项nvhpc-22-2
。
无论出于什么原因,他们将其设为依赖项,因此您必须安装这两个包。很可能nvhpc-22-2
不完整,并且包含一些完成nvhpc-22-3
所需的内容。nvhpc-22-2
无论如何,每个版本都有不同的名称,因此版本号的问题无关紧要(您不能使用典型的 apt 固定方法到特定版本)。如果您认为没有必要这样做,或者想知道为什么有必要这样做,您可以联系供应商。
您可以通过运行来验证这一点:
apt-cache show nvhpc-22-2 | grep -i depends
这应该表明这nvhpc-22-3
是一个依赖项。除了依赖项问题之外,Apt 并不智能,并且不会尝试安装非依赖项的软件包,特别是当您使用该--no-install-recommends
标志时。
最后,如果您觉得这是一个错误,您也可以向软件供应商提交错误报告。