假设我有一个软件的 PPA(例如 Blender;http ://ppa.launchpad.net/thomas-schiex/blender/ubuntu),由于某些原因,它包含一个 Python3.6 版本。
假设我想要“更好的”Python3.6 包,例如来自 python 专用 ppa,就我而言;http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu
如何apt选择要安装的软件包,有没有一种方法可以告诉我apt从一个所需的 ppa 安装它?
我猜它会选择最新的包(我错了吗?),但是如果出于某些原因我想保留特定的旧版本怎么办?
python3.6 的例子在这里“只是”一个例子,这可能对任何包都有用。
注意重复:
即使评论中建议链接中的答案相同,入口点,即“问题”是完全相同的,很多人可能会通过此搜索结果而不是其他。所以,以我的拙见,严格来说,答案有点重复,而不是问题。
正如您猜测apt的那样,将安装源中可用的最新版本。
例如:
$ apt-cache madison firefox
firefox | 61.0.1+build1-0ubuntu0.18.04.1 | http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
firefox | 61.0.1+build1-0ubuntu0.18.04.1 | http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
firefox | 59.0.2+build1-0ubuntu1 | http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
Run Code Online (Sandbox Code Playgroud)
如您所见,有两种不同版本的 Firefox 可供我安装,让我们检查一下将安装哪一个:
$ apt-cache policy firefox | head -3
firefox:
Installed: (none)
Candidate: 61.0.1+build1-0ubuntu0.18.04.1
Run Code Online (Sandbox Code Playgroud)
如您所见,将要安装最新版本(它是安装的候选)
您可以使用:
sudo apt install package-name=version
Run Code Online (Sandbox Code Playgroud)
例如:
sudo apt install firefox=59.0.2+build1-0ubuntu1
Run Code Online (Sandbox Code Playgroud)
安装旧版本的软件。
作为pining的替代方法,您可以apt-mark阻止它升级:
sudo apt-mark hold firefox
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1345 次 |
| 最近记录: |