我有几个Debian服务器,我想确保一个X服务器永远不会被安装在它们上面。 有时,当我安装一个软件包,它有依赖包括X.有没有什么好的方法来确保X服务器永远不会被安装? 我宁愿X11库也不安装,因为X转发不应该启用。
把一个软件包搁置不起作用(很好)来实现这一点。 它不能以令人满意的方式覆盖所有的工具。 例如,命令行上的aptitude hold somepackage
完全忽略了先前调用aptitude hold somepackage
软件包,安装软件包也会安装依赖项,即使它们处于暂停状态。
在我看来,最好的办法是创build一个与所有你不想要的软件包相冲突的虚拟软件包(命名为“unwanted-pkg”),然后安装它(用dpkg -i
)。 然后你把这个包裹搁置,以避免它的删除。
您可以使用像“equivs”这样的工具来轻松创build假包。 参见equivs-control
和equivs-build
。 冲突字段如下所示:
Conflicts: xserver-xorg-video-2, xserver-xorg-core
您可以与所有不需要的软件包通用的低级别依赖冲突,以避免列出每个单独的软件包(或者使用像xserver-xorg-video-2这样的虚拟软件包)。
请注意,locking无法解决此问题。 如果你使用aptitude install xorg
它会安装许多xserver-xorg- *软件包,尽pipe负面的固定。 顺便说一句,针对被apt识别(使用apt-cache policy <package>
),你必须使用这样一个语法:
$ cat /etc/apt/preferences Package: xserver-xorg-video-vga Pin: version * Pin-Priority: -100 $ LANG=C apt-cache policy xserver-xorg-video-vga xserver-xorg-video-vga: Installed: (none) Candidate: 1:4.1.0-8 Package pin: 1:4.1.0-8 Version table: 1:4.1.0-8 -100 500 http://localhost lenny/main Packages
在Package字段中使用正则expression式不起作用(除了“*”本身,在这种情况下,Pin字段中还有其他一些要求)。
您可以使用apt固定来防止安装某些软件包。 试着把这个放在/etc/apt/preferences
:
包:xserver-xorg * 引脚优先级:-100
应该防止安装所有xserver-xorg *软件包。