debian 安装xfce4时如何排除指定依赖?

为什么aptitude install xfce4 直接连lightdm也安装上了?难道还要进一步剥离?
edit:是自动安装上了 lightdm greeter

请使用 aptitude why 命令检查哪个软件包引入了 lightdm 依赖。

最小化安装 然后安装x-window-system-core,再然后xfce4,重启直接就出来了lightdm
,这不是依赖问题吧。在reddit看到个同样的问题,有人说只安装xfce4-session

既然这个软件包出现在了你的系统内又没有特意安装它,那一定是有其它软件以硬依赖(dep)或软依赖(rec)的方式对它进行了引入。排查一定是可以找到来源的。

在安装xfce4-session的时候 依赖有个lightdm-greeter-gtk。除了这个session没装任何其他程式。

那是自然,xfce4-session 推荐 light-locker,light-locker 依赖 lightdm,lightdm 依赖 lightdm-gtk-greeter

你要不想要她,就加上 --no-install-recommends。不过这样其它 recommends 的软件也不会安装

这样影响可能比较大,所以还是任其装好后再卸载比较好

aptitude why有些时候查的可能不准
例如出现仅依赖或仅推荐虚包(Virtual Pakage)的情况,就可能不准了
比如在stretch基本系统下安装lxde-core后会出现termit,但aptitude why termit

root@debian:/# aptitude why termit
i   lxde-core Recommends lxterminal | x-terminal-emulator
i A termit    Provides   x-terminal-emulator  

按照aptitude why的提示应该是安装lxterminal,但实际安装的却是termit.
根据vickycq用equivs测试的结果来看,是lxpanel仅推荐虚包导致的这个Bug
http://forum.ubuntu.org.cn/viewtopic.php?p=3191014#p3191014

现在仔细想想,也许应该先给aptitude报bug?因为这个lxpanel仅推荐虚包的Bug正好可以拿来测试,要是先被修复了反而给aptitude报Bug的时候没证据了.

我看了下dwbian的packages,果然。能指定某一rec
不安装么命令么?比如类似 --no-recommends -light-locker。

试试这个 https://serverfault.com/a/663803
答案说的是忽略某个依赖,不过猜测也可以用来忽略“推荐”
忽略依赖链里最靠前的包,比如,忽略 light-locker

1 个赞

有空在虚拟机里测试下。
你搜索的关键词是 ignore dependencies么?学习下搜索技巧。
edit:实测有效

一开始搜的是 apt no install recommends certain package,不过这组关键词搜不到有用的东西
好像讨论这个问题的人比较少

按你的关键词搜 apt ignore dependency 第一个结果就是上面的链接