在Ubuntu / Debian中,如何将软件包标记为不可自动移动?


9

假设我有一个使用Synaptic安装的软件包(在这种情况下为Python软件包)。由于此软件包的版本有些过时,因此我在Synaptic中将其删除,然后使用进行安装easy_install。还使用Synaptic安装了其依赖项之一,但是我宁愿保留Synaptic安装的版本,也不要保留easy_installing它。

唯一的问题是该依赖项现在标记为可自动删除。除了删除并重新安装外,是否有其他方法可以将其标记为手动安装?如果有所作为,我正在使用Ubuntu Jaunty。

Answers:


3

您可以在Ubuntu中“保存”软件包。

基本上,拥有一个软件包意味着您要告诉软件包管理器无论如何都保持当前版本。如果更新后当前正在运行的程序的较新版本中断,这将很有用。

您可以通过Synaptic或在命令行上通过apt / dpkg来实现。用于保存软件包的命令行版本为:

echo package_name hold | dpkg --set-selections

Ubuntu社区文档中有更完整的指南,介绍了如何固定或保存软件包



2
保留通常用于防止升级到较新的版本。它不应该用来保存包裹。使用保留将阻止您接收安全更新和发行版更新,并且将在升级期间增加负担。将软件包标记为手动安装应该是正确的方法(请参阅我的回答...)。
Thomas Guyot-Sionnest

6

我知道您可以做到。您可以在其GUI中通过选择软件包并点击'm'或从“软件包”菜单中选择“标记手册”或使用命令行来执行此操作:

aptitude install <软件包名称>&m

5

您可以apt-mark manual <package>在Synaptic中使用Package=> [ ] Automatically Installed(取消选中它)。

例如:

# Mark <some_package> as manually-installed:
apt-mark manual <some_package>

# Mark <other_package> as automatically-installed (ex if you know it's a
# dependency to something else and you want to make sure it'll be
# auto-removable if it's no longer used):
apt-mark auto <other_package>

另外,如果apt-get install <package>在已安装的软件包上使用,它将隐式标记为手动。


这似乎完全符合要求。它把包裹的状态从[installed,auto-removable]变为[installed]
mwfearnley
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.