fla*_*urn 7 64-bit package-management apt 32-bit
我需要安装一个tofrodos 1.17.3
for i386
. 我正在运行Ubuntu 16.04.2
,并且我知道如果我运行sudo apt-get install tofrodos:i386
它将安装 version 1.17.3
。然而,这将在一个脚本中,可能会在以后使用,我需要修复版本1.17.3
和 32 位架构,i386
. 有谁知道这是怎么做到的吗?
我已经尝试过了
sudo apt-get install tofrodos=1.17.3:i386
sudo apt-get install tofrodos:i386=1.17.3
Run Code Online (Sandbox Code Playgroud)
但他们都不起作用。
任何帮助表示赞赏。
没有人可以保证存储库中的包将是固定版本。
可以阻止已安装的软件包升级,但apt
始终会安装存储库中的可用版本。没有人保留旧版本。
实际上可能有两个版本:初始版本和“升级”版本。
但在 LTS 存储库中,软件包不太可能升级到某个新的主要版本。可能会发布一些小修复,但我认为它不会影响功能。
这
sudo apt-get install tofrodos:i386=version
Run Code Online (Sandbox Code Playgroud)
是正确的命令。1.17.3
但仓库中没有版本。
正确的版本是1.7.13+ds-2ubuntu1
.
pilot6@Pilot6:~$apt-cache policy tofrodos
tofrodos:
Installed: (none)
Candidate: 1.7.13+ds-2ubuntu1
Version table:
1.7.13+ds-2ubuntu1 500
500 http://ru.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
Run Code Online (Sandbox Code Playgroud)
所以
sudo apt-get install tofrodos:i386=1.7.13+ds-2ubuntu1
Run Code Online (Sandbox Code Playgroud)
应该管用。
这是 的“初始”版本xenial
。xenial-updates
即使在命令中升级了软件包也会安装这个版本。
如果存储库中提供了该软件包,您可以使用以下命令从软件包的特定架构安装特定版本:
sudo apt-get install package:i386=version
Run Code Online (Sandbox Code Playgroud)
要查看您想要的版本是否可用,请使用:
apt-cache madison package-name
Run Code Online (Sandbox Code Playgroud)
或者
apt-cache policy package-name
Run Code Online (Sandbox Code Playgroud)
您的情况的另一个选择是:
apt list -a i386 tofrodos
Run Code Online (Sandbox Code Playgroud)
而且存储库中似乎不存在您想要的软件包版本。