在 HostVDS 服务器上安装 FreeBSD 操作系统

前言

作为性价比超高(最低配置一个月仅 0.99美元、性能超棒且无限流量的主机商,HostVDS很受我的喜爱。(如果你心动了:我的HostVDS邀请链接,捧个场呗?)

但是和大部分主机商一样,HostVDS的管理者认识不到FreeBSD的好处,仅提供了包括Arch Linux在内的各种Linux镜像。虽说作为前Arch用户,这挺抓我的眼球,但为了让服务器更稳定,我还是决定安装FreeBSD 操作系统

必要条件

主机商提供了可以看到VPS启动界面的 VNC连接

前期准备

在开始之前,我们需要对服务器的根分区完整地访问,这就需要不在根分区上加载操作系统。也就是加载一个另外的操作系统。

有两种方法可以做到:

  • 在启动环节使用GRUB加载copy-to-ram的急救系统
  • 基于OpenStack的服务商一般会提供的Rescue功能

方案1:在启动环节使VPS加载急救系统

有基本Linux功能的、能copy-to-ram的发行版即可担负此重任。此处,使用Tiny Core Linux来作为示范。

先转到Tiny Core Linux的官网,下载Core版本即可。(不在国内的服务器,建议不要使用带X的版本,否则延迟会非常折磨人)

将文件上传到服务器的用户目录下,用以下命令将镜像挂载到 /mnt

mount -o loop ~/Core-current.iso /mnt

tree 查看一下目录结构:

这么多文件,只有core.gz、vmlinuz和isolinux.cfg是我们需要的。其中

core.gz : 是Tiny Core Linux的根目录(同时也是initrd

isolinux.cfg : 是该镜像附带的bootloader的配置文件

vmlinuz : 是Linux内核

打开 isolinux.cfg,可以看见如下行:

label microcore
        kernel /boot/vmlinuz
        initrd /boot/core.gz
        append loglevel=3

如此,我们就知道如何启动Tiny Core Linux了。然后将 core.gzvmlinuz 放到/boot下(最好新建一个目录)

此时,打开服务器的VNC菜单,并在ssh重启VPS。

注意:在VPS上,为了增加启动速度,一般GRUB超时被设置成很短的时间。此时需要手动修改 grub.cfg,设置成一个很长的超时(比如100)。

进入GRUB界面后,先上下移动光标使倒计时解除,然后按 c进入GRUB命令行。

首先先确定ROOT是否是服务器硬盘(通常来说,是的):

ls /boot

如果没有报错,那么请往下看。

使用上面获得的isolinux启动流程启动Tiny Core Linux:

ls /boot/tinycore # 确定Tiny Core文件位置
linux /boot/tinycore/vmlinuz # 加载内核
initrd /boot/tinycore/core.gz # 加载根文件系统
boot # 启动

过一会,出现一个小机器人,说明启动成功,可以开始下一步。(由于QEMU特性,有时候会出现像下图一样一大堆文字,不用惊慌,回车就好)

启动成功

方法2:加载急救系统

没什么好说的。在HostVDS管理页面,选中实例,点击Rescue即可。

写入mfsBSD

在进入以上系统后,我们就能拥有根分区的完全改写权了。由于过程需要访问网络,请先验证ip是否正确:

ifconfig || ip address

然后把mfsBSD写入硬盘(380MB):

wget -O- --no-check-certificate https://mfsbsd.vx.sk/files/images/13/amd64/mfsbsd-se-13.1-RELEASE-amd64.img | dd bs=1M of=/dev/vda # 根据实际情况更改/dev/vda

注意:你可以下载标准版本(98MB)以减少流量用量。

此时输出类似于

完成后(停止救援并)重启,进入mfsBSD。但因为mfsBSD是copy-to-ram,所以还不能直接投入生产,需要再次安装。

安装FreeBSD操作系统

进入基于FreeBSD操作系统的mfsBSD引导界面,按回车直接选择 Boot Multi User:

使用root登录(密码:mfsroot),运行 bsdinstall 指令来安装。

设置主机名
选择分区

注意:RAM小于2GB的、没有RAID需求的VPS不建议使用ZFS。

分区
分区表
选择最近的镜像,作为HostVDS用户,当然是选择俄罗斯
安装中
创建root用户
选择时区
附加组件

注意:添加用户时,请把用户添加进wheel组

完成安装

最后使用 reboot 重启,配置FreeBSD 操作系统

配置新的FreeBSD操作系统

先任意运行一个pkg指令(比如安装vim),下载pkg二进制文件:

配置ssh

编辑sshd配置文件:

vim /etc/ssh/sshd_config

重启sshd

service sshd restart

配置sudo

pkg install sudo
EDITOR=vim visudo #反注释"%wheel ALL=ALL(ALL) ALL"

最后别忘记在本地终端测试ssh设置。

后记

写博客耗费了很长时间呢()只是想记录下来有意义的东西罢。这样一想倒是能开心很多,也不大可惜了。最终的成果还是满意的——无论是FreeBSD 操作系统,还是这篇文章。不过FreeBSD 操作系统虽稳定却也难配置。大抵是为了折腾而折腾罢。

参考资料

在不支持BSD的VPS上安装BSD系统》- FreeKai