快速重装 Gentoo

平时用 Gentoo 时有个习惯,Portage 添加了 FEATURES="buildpkg"

这个功能是在安装包的时候,顺便把编译好的二进制包存到 /usr/portage/packages 下,以作重装使用。

所以重装时,就可以用这些二进制包来重装,以避免重复编译浪费时间。

备份 portage 配置文件

包括 /etc/portage/ 目录,/var/lib/portage/{world, world_sets} 等文件,可以用 git 同步到 Github 或者 Bitbucket。

制作二进制包

因为 /usr/portage/packages 下可能存在一个软件的多个版本,而我们只需要最新版本,所以可以使用 eclean packages 清除旧版本的包,只保留最新版本。

而之前没有注意备份二进制包的话,可以使用 quickpkg 创建二进制包。

1 sudo quickpkg --include-config y `equery -qC l *' -F'$cp'`
  • --include-config y 表示连同软件的配置文件一同打包,因此安装了之后无需再次配置。

  • equery -qC l *' -F'$cp' 用来列出当前系统中所有已安装的包。

当然有时会出现有的包有二进制包,而有的没有,这时也不值得全部重新打包,可以用 equery -qC l '*' -b -F'$cp' 找出缺失二进制包的包

这个过程时间有点长,我 600 个包用了 1 个小时,后来安装这 600 个包用了 2 个小时。但是我编译这 600 个包用了 11 个小时,相比之下,这点时间不算什么的。

所有二进制包都做好之后,就备份 /usr/portage/packages 目录,可以做成 squashfs 文件或者打 tar

安装二进制包

在解压完 stage3portage snapshotchroot 之后,就把上一步做好的 squashfs 文件挂载到 /usr/portage/packages 目录上或者直接将 squashfs 文件或 tar 包解压到 /usr/portage/packages 下。

然后恢复 portage 配置文件,接着用 emerge -auvDN --usepkg world --exclude gentoo-sources 安装前面备份的二进制包及其配置文件。

另建立一个终端安装内核 emerge -O1 --usepkg gentoo-sources,再之后就是编译内核、模块,安装 grub 等等了。

整个过程只用了 3 个小时便完成了

本文作者: zhustec

本文标题: 快速重装 Gentoo

本文链接: https://blog.zhustec.me/posts/fastly-reinstall-gentoo

发布时间: 2014-10-14T06:45:00+00:00

版权声明: 本文由 zhustec 原创 采用 CC BY-NC-ND 4.0 许可协议 转载请保留以上声明信息!