在VPS上部署Gentoo
目前的vps都是debian之类的系统不是喜欢的形状,日常使用gentoo习惯了想要把这些vps都重装成gentoo,同时做一些安全加密尽量防止云厂商偷看我的东西(bushi。
这篇文章其实是和之前的一篇文章是类似的不过更偏向于小内存的vps,所以会省略掉很多内容,如果想看更详细的配置更推荐看官方的Handbook。
环境准备
我这边的vps是buyvm家的vps,这家的话是可以用自定义的iso的,同时支持直接vnc去操作还是比较方便的。
buyvm这家的自定义上传iso发现有点问题,gentoo的iso引导不起来用arch反而可以正常引导。

挂载之后重新启动就可以正常引导进入archlinux的livecd了:

|
再使用ssh进行链接:
|
安装Gentoo
分区
我这里买的是buyvm家最低的vps,硬盘是只有20G,这次分区就打算是一个200M的 /boot
剩下的全部给/
用luks加密
初始化/boot
的文件系统:
|
初始化LUKS
|
打开luks
|
初始化文件系统
|
创建挂载点:
|
挂载分区:
|
创建boot分区:
|
挂载boot分区:
|
查看目前的挂载情况:
|

下载stage3
|
解压:
|
portage的配置这里就直接跳过了,可以参考官方的文档或者是我上篇文章。
安装软件
这里用的是luks在文件系统这个sets里面的内容就不太一样了,这个要注意。
创建并编辑/etc/portage/sets/filesystem
文件,内容如下:
|
创建并编辑/etc/portage/sets/kernel
文件,内容如下:
|
创建并编辑/etc/portage/sets/bootloader
文件,内容如下:
|
内核安装
这里没有选择自己编译内核直接选择二进制的内核,二进制内核USE会帮我们创建initramfs;我这里不要它帮我创建的,因此要关掉一个USE:
|
安装内核:
|
生成initramfs
创建文件夹:
|
创建并编辑/etc/dropbear/authorized_keys
文件,里面就存放自己的公钥:
|
生成initramfs:
|
这个vps只有1G的内存在生成initramfs的时候遇到内存不足的问题了,用swapfile先顶替一下:
|
重新运行genkernel
命令就可以正常构建了。
引导配置
配置grub
blkid查看一下磁盘的uuid:
|
编辑/etc/default/grub
文件,修改GRUB_CMDLINE_LINUX
这行的内容如下:
|
crypt_root
后续跟着的是luks所在的分区UUID,注意不是解锁之后的UUIDdosshd
在initramfs中启动一个sshd守护进程root
解锁之后root所在的位置ip
这里使用dhcp分配对应的ipgk.sshd.port=2222
sshd守护进程的端口init=/lib/systemd/systemd
systemd init的配置net.ifnames=0
网卡都遵循类似etch0, eth1
这样的格式
安装grub:
|
生成grub的配置文件:
|
fstab
编辑/etc/fstab
添加内容如下:
|
收尾工作
清理掉distfiles
vps空间不大可以清理掉distfiles节省一些空间:
|
清理掉stage3文件
|
卸载挂载
退出chroot:
|
卸载挂载:
|
重启
|
重启之后远程链接就可以直接使用:
|
如下图所示:

TODO
- 安全加固
- 备份