问题描述
假设我有一个使用Synaptic安装的软件包(在本例中为Python软件包)。由于此软件包的版本有些过时,因此我在Synaptic中将其删除,然后使用easy_install
进行安装。还使用Synaptic安装了其依赖项之一,但我宁愿保留Synaptic-installed版本,也不要保留easy_installing
版本。
唯一的问题是该依赖项现在标记为可自动删除。除了删除并重新安装外,是否有其他方法可以将其标记为手动安装?如果有所作为,我正在使用Ubuntu Jaunty。
最佳办法
您可以在Ubuntu中”hold”一个软件包。
Holding a package basically means you’re telling the package manager to keep the current version no matter what. This is useful if more recent version of a currently working program breaks after an update.
您可以通过Synaptic或通过apt /dpkg在命令行上进行。用于容纳软件包的命令行版本为:
echo package_name hold | dpkg --set-selections
Ubuntu社区文档拥有更完整的指南,解释了to pin or hold packages的操作方式。
次佳办法
我知道您可以做到。您可以在其GUI中通过选择软件包并单击’m’或从”Package”菜单中选择”Mark manual”来执行此操作,或者使用命令行:
aptitude install <package_name>&m
第三种办法
您可以为此使用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>
,它将被隐式标记为手动。