如何在Ubuntu上查找软件包更新的服务依赖关系?

这个问题与此相似。

在安装软件包更新时,可以很容易地find与apt-cache depends相关的软件包依赖关系,但是,我不知道如何找出哪些服务可能受到影响。 在某些情况下,这是一个重大问题。 在另一个问题的答案表明服务重启只需要几秒钟,但事实并非如此,例如一个大的MySQL实例可能需要几个小时才能closures! 说有一个更新到php5-curl。 这取决于libapache2-mod-php5,后者又取决于apache2-mpm-prefork。 该软件包在aptitude show提供列表中包含'apache2',所以告诉我它与该服务有关,但不一定需要重启。 我怀疑单独的包依赖不足以解决这个问题 – 我可以想象类似的依赖链不需要服务重启(例如,如果服务dynamic地加载这样的外部)。

当我进行aptitude full-upgrade ,我在“以下软件包将被升级…”中得到很好的输出结果。 我所追求的将会是这样的一个部分:“下列服务将会重新启动…”。 我怎么能得到这个?

一个明确的方法是阅读软件包附带的(前/后)安装脚本。 也许一个grep“重启”就够了。

另一种方法是有一个相同的testing系统,在那里你可以运行你的命令,看看会发生什么。

你将不得不创build一个脚本,看起来更新您的系统,并像jojo说searchstring“重新启动”