如何使dpkg更快?


17

在Debian系统上安装(卸载)软件包的速度非常慢,部分原因是它可以处理大量(小)文件。缺少更快的存储,我如何加快存储速度?我在想,也许可以将一些高度访问的目录加载到RAM中作为一种解决方案,但是我该怎么做呢?有没有更好的解决方案?


您拥有什么文件系统和多少个软件包?对于大型目录,与dir_index不带ext2或ext3的ext3或更高版本相比,带有ext3或更高版本的选件(或Reiser)是一个显着的改进dir_index
吉尔(Gilles)“所以,别再邪恶了”,

@Gilles我使用ext4并安装了约1400个软件包。
tshepang 2011年

Answers:


17

对于此解决方案,您将需要dpkg的版本至少为1.15.8.6。

从该版本的dpkg开始,有一个新force-unsafe-io选项将禁止dpkg在每个软件包之间调用sync()等。您可以将此选项添加到/ etc / dpkg中的配置中,以使其始终有效。

如果您有较旧的dpkg版本,则可以选择使用eatmydata

并且请记住,这两种解决方案都是不安全的,如果在dpkg运行时或运行后不久出现电源故障,可能会导致数据丢失。


所以,我只添加force-unsafe-io/etc/dpkg/dpkg.cfg,就是这样吗?
tshepang 2011年

1
我目前没有可使用的Linux机器(PSU故障),但echo "force-unsafe-io" > /etc/dpkg/dpkg.cfg.d/force-unsafe-io应该可以使用。或者,您可以将其添加到我认为是/etc/dpkg/dpkg.cfg的主dpkg配置文件中。
Arrowmaster

3
无论是否选择此选项,我都为它计时,性能没有明显变化。
tshepang 2011年

您是否尝试过eatmydata?另外,当我开始在pbuilder chroots中使用force-unsafe-io选项时,我记得有一个非常明显的区别。
Arrowmaster

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.