让 Archlinux 的 pacman 健步如飞
时间:2015-01-22 02:58 来源:linux.it.net.cn 作者:IT
使用 Archlinux 的朋友大概遇到过这样的烦恼,软件安装得比较多的时候,再用 pacman
做任何事情的时候都可以看到硬盘狂转一段时间,然后才有反应。
pacman
官方给了一个 pacman-optimize
,它会把 pacman
数据库文件打包到别的地方,删除,然后再放回去。这样做可能会让这些零碎的文件在硬盘上是连续排列的,但实际效果却不是很好。
虽然用 Archlinux 应该有三年左右了,但我还从来没有看过 pacman
的数据库是什么模样。有一天终于忍不住去看了一下 /var/lib/pacman
下面到底是什么,原来是这么多零碎的小文件啊!
于是解决方案也就有了:把所谓的 pacman
数据库放到 reiserfs 文件系统里。如果你本来在这个地方用的就是 reiserfs 的话,那么不需要做任何事情, pacman
应该就很快了。如果你和我一样用的是 ext4 这样的文件系统,也不必慌张地把整个分区都换成 reiserfs。
新建一个 160 MB 的 reiserfs 文件 pacman_db.fs
:
truncate pacman_db.fs --size
160M
mkfs.reiserfs -f
./
pacman_db.fs
把现有的 pacman
数据库复制到这个 reiserfs 里面:
sudo
mount
pacman_db.fs -t
reiserfs /
mnt -o
loop
cp
-a
/
var/
lib/
pacman/*
/
mnt
sudo
umount
/
mnt
接下来修改 /etc/fstab
,加上一行:
/[path_to_pacman_db]/pacman_db.fs /var/lib/pacman reiserfs defaults,loop 0 4
左边的 [path_to_pacman_db]
需要根据实际情况填一下。最右边的 4 应该是比 fstab
中其他条目大一些的数字,表示 fsck
检查时最后处理这个地方。
如果想让这个设置立即生效,执行 sudo mount /var/lib/pacman
即可。否则,重启一下就可以了。现在,使用 pacman -Syu
更新一下系统,是不是比以前快许多?
(责任编辑:IT)
使用 Archlinux 的朋友大概遇到过这样的烦恼,软件安装得比较多的时候,再用 pacman 做任何事情的时候都可以看到硬盘狂转一段时间,然后才有反应。
虽然用 Archlinux 应该有三年左右了,但我还从来没有看过
于是解决方案也就有了:把所谓的
新建一个 160 MB 的 reiserfs 文件 truncate pacman_db.fs --size 160M mkfs.reiserfs -f ./ pacman_db.fs
把现有的 sudo mount pacman_db.fs -t reiserfs / mnt -o loop cp -a / var/ lib/ pacman/* / mnt sudo umount / mnt
接下来修改 /[path_to_pacman_db]/pacman_db.fs /var/lib/pacman reiserfs defaults,loop 0 4
左边的
如果想让这个设置立即生效,执行 |