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

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

假设我有一个使用 Synaptic 安装的包(在本例中是 Python 包)。由于此包的版本有些过时,因此我在 Synaptic 中将其删除,然后使用 安装easy_install。它的一个依赖项也是使用 Synaptic 安装的,但我宁愿保留 Synaptic 安装的版本easy_installing

唯一的问题是依赖项现在被标记为自动可移动。除了删除并重新安装之外,还有其他方法可以将其标记为手动安装吗?如果有什么不同,我使用的是 Ubuntu Jaunty。

答案1

您可以在 Ubuntu 中“保留”一个包。

保留软件包基本上意味着你告诉软件包管理器无论如何都要保留当前版本。如果当前正在运行的程序的较新版本在更新后出现故障,这将非常有用。

您可以通过 Synaptic 或通过 apt/dpkg 在命令行上执行此操作。保存包的命令行版本是:

echo package_name hold | dpkg --set-selections

Ubuntu 社区文档有一个更完整的指南,解释了如何固定或固定包裹

答案2

我知道你可以在 aptitude 中做到这一点。你可以在它的 GUI 中通过选择包并点击“m”或从“包”菜单中选择“标记手册”来做到这一点,或者使用命令行:

aptitude 安装 <软件包名称>&m

答案3

您可以使用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>在已安装的软件包上使用,它将被隐式标记为手动。

相关内容