最近需要用到openSUSE的系统,发现UpCloud的VPS上没有这个系统镜像,所以决定自己装一个。
一般来说应该没多少卖vps的支持这个系统,为了以后能方便在其他商家的机器上装,所以我折腾了一个理论上可以在任意vps上装的方法,只有一个前提条件:内存2GB,这是安装Leap15.3的最低要求。
原系统可以是CentOS也可以是Debian,这里我会记录这两个系统重装为openSUSE的方法。
首先需要知道机器的网络信息。执行下面的命令查看机器的ip地址:
ip a
可以看到这台机器的ip是94.237.72.190:
2: eth0:mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 46:d1:1a:9d:2f:e0 brd ff:ff:ff:ff:ff:ff altname enp0s3 altname ens3 inet 94.237.72.190/22 brd 94.237.75.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::44d1:1aff:fe9d:2fe0/64 scope link valid_lft forever preferred_lft forever
执行下面的命令查看网关ip:
ip route list
可以看到这台机器的网关ip是94.237.72.1:
default via 94.237.72.1 dev eth0 10.0.0.0/8 via 10.10.4.1 dev eth1 proto dhcp 10.10.4.0/22 dev eth1 proto kernel scope link src 10.10.6.135 94.237.72.0/22 dev eth0 proto kernel scope link src 94.237.72.190 169.254.169.254 via 10.10.4.1 dev eth1 proto dhcp 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
计算子网掩码,使用你之前用ip命令看到的ip进行计算:
ipcalc -m 94.237.72.190/22
如果你的系统上这个ipcalc命令不能加-m参数,直接执行即可:
ipcalc 94.237.72.190/22
可以看到子网掩码是255.255.252.0:
Address: 94.237.72.190 01011110.11101101.010010 00.10111110 Netmask: 255.255.252.0 = 22 11111111.11111111.111111 00.00000000 Wildcard: 0.0.3.255 00000000.00000000.000000 11.11111111
现在需要知道硬盘分区的信息,执行下面的命令查看硬盘分区的情况:
lsblk
假设回显如下:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 254:0 0 25G 0 disk └─vda1 254:1 0 25G 0 part /
说明机器只有1块硬盘(vda),分区编号为1(vda1)。记住这些,后续编写GRUB2菜单配置文件需要用到。
下载openSUSE的initrd和linux,假设下载到/root目录下:
cd /root wget -O initrd http://download.opensuse.org/distribution/leap/15.3/repo/oss/boot/x86_64/loader/initrd wget -O linux http://download.opensuse.org/distribution/leap/15.3/repo/oss/boot/x86_64/loader/linux
编辑下面的grub配置文件:
nano /etc/grub.d/40_custom
添加一个菜单:
menuentry 'openSUSE install' { insmod gzio set root='hd0,msdos1' linux /root/linux noapic usessh=1 sshpassword="password" install=http://download.opensuse.org/distribution/leap/15.3/repo/oss/ hostip=94.237.72.190 netmask=255.255.252.0 gateway=94.237.72.1 nameserver=8.8.8.8 initrd /root/initrd }
注意事项:
hd0,表示第一块硬盘,也就是之前我们的vda。msdos1,表示这块硬盘的第一个分区,也就是之前我们的vda1。如果你的硬盘是gpt分区表,这里可以改为hd0,gpt1。
linux /root/linux initrd /root/initrd
这是之前我们下载到/root目录下的文件,路径需要自己注意。
usessh=1 sshpassword="password"
在这里把password设为你的ssh登录密码,不低于8位。登录的用户名是root。
install=http://download.opensuse.org/distribution/leap/15.3/repo/oss/
要安装的版本,这里是15.3。
hostip=94.237.72.190 netmask=255.255.252.0 gateway=94.237.72.1 nameserver=8.8.8.8
改为你之前获取到的网络信息,包括机器IP/网关IP/子网掩码,这里还需要你自己设置一个DNS服务器。
之后更新GRUB2配置文件并让系统下次启动的时候直接进入到我们刚新建的菜单。
如果是Debian系的系统,执行下面的命令:
update-grub grub-reboot "openSUSE install"
如果是CentOS的系统,执行下面的命令:
grub2-mkconfig -o /boot/grub2/grub.cfg grub2-reboot "openSUSE install"
重启机器:
reboot
等待2分钟左右,使用之前你在GRUB2菜单上设置的SSH密码登录,如果正常的话,应该能够看到如下信息:
openSUSE Leap 15.3 Installation Run yast.ssh to start the installation. 0:install:~ #
执行如下命令开始安装openSUSE Leap 15.3:
yast.ssh
配置语言和键盘:
[重要]启用在线存储库:
如没有特殊需求,这里选择的存储库保持默认即可:
[重要]选择安装类型,我们是装在VPS上,这里就选择Server,不要装桌面版:
分区这块会自动帮你划分,没有特殊需求保持默认即可:
配置时区:
[重要]创建用户,注意务必勾选“把此密码也用作管理员用户”,也就是把root用户的密码也设置成和这个用户一样:
确认配置,在这个界面你可以修改防火墙等设置,如无特殊需求直接下一步开始安装就行了:
开始安装,静待片刻:
安装完成后,登录到机器内基本都是OK的。唯独有一个小问题是,UpCloud的机器默认是有3块网卡的,一个eth0是公网IPv4,一个eth1是内网IPv4,还有一个eth2公网IPv6。现在只配置了一个eth0,还有eth1/eth2没配置。
UpCloud是支持DHCP的,所以这里可以简单借助YaST来配置。
执行下面的命令启动YaST:
sudo yast2
找到下面的选项进入:
可以看到eth1/eth2未配置:
把eth1/eth2配置成“动态地址”,方法用DHCP:
完成后如图所示:
现在eth1/eth2都可以正常使用了。
最新评论
5211314
能不能教我 一点不会