最近突然很想试一试滚动更新的Linux,找了一圈常用的dd脚本基本都是安装Debian/Ubuntu/CentOS的,而咱的主机提供商不支持上传安装自定义镜像,好在最后发现有远程安装这种好东西。

获取安装文件

下载openSUSE的kernel和initrd,因为是重装系统所以没必要特地放到/boot

cd /root 
wget https://download.opensuse.org/tumbleweed/repo/oss/boot/x86_64/loader/linux
wget https://download.opensuse.org/tumbleweed/repo/oss/boot/x86_64/loader/initrd

获取网络信息

执行cat /etc/network/interfaces获取vps网络信息。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 74.14.203.236
gateway 74.14.203.193
netmask 255.255.255.255
dns-nameservers 8.8.8.8 8.8.4.4

根据实际情况的不同,可能需要读取/etc/network/interfaces.d/下的配置,另外若配置中仅包含CIDR可使用ipcalc命令计算子网掩码。

配置GRUB

/etc/grub.d/40_custom中追加如下内容:

menuentry 'openSUSE install' {
insmod gzio
set root='hd0,msdos1'
linux /root/linux noapic usessh=1 sshpassword="Yu3&gV8JwKr!*3" install=http://download.opensuse.org/tumbleweed/repo/oss hostip=74.14.203.236 netmask=255.255.255.192 gateway=74.14.203.193 nameserver=8.8.8.8
initrd /root/initrd
}

其中hd0,msdos1是vps第一个磁盘的第一个dos分区,若使用gpt分区则需将其修改为hd0,gpt1

使用lsblk查看kernel/initrd所在分区,fdisk -l查看分区类型。

install后的链接需使用http

再依次执行命令:

update-grub
grub-reboot "openSUSE install"
reboot

即可重启至远程安装系统(大约需要3分钟完成初始化)。

安装系统

ssh连接主机,执行yast.ssh开始安装。

使用tab切换选项,回车确认执行,空格选中。

这里我启用了Online Repositories

System Role选则Server

默认会使用btrfs并创建子卷,若要使用其他分区类型可以在Expert Partitioner中调整

设置时区为Asia/Shanghai

创建用户

开始安装

安装大约耗时12分钟

最后确认便会重启至新系统

Have a lot of fun…

参考