SDB:Upgrade Aliyun ECS

跳转至: 导航, 搜索
本教学将向您演示如何在阿里云上面更换系统为 openSUSE,并更新到最新的 Tumbleweed。

更换系统盘

在您的 ECS 处于停止状态时,您可以选择“更换系统盘”,目前可以选择的 openSUSE 只有 openSUSE 13.1 32/64 版本。我们建议更换系统盘到 openSUSE 13.1 64 位版本。

升级系统

在阿里云控制台页面,选择“远程连接”,会 vnc 进入到您新更换的 openSUSE 13.1 64 位版本。

在升级系统前,我们需要先备份以下几样东西(可以用手机拍照):

  • ifconfig -a 里面 eth0 的 IP 地址和 netmask。ip 地址一般是你的私有 IP 也就是内网 IP。而阿里云的 netmask 是 255.255.240.0。
  • /etc/resolv.conf 里面的 dns。
  • route -n 的结果。(重要!)

如果这些没有备份的话,恐怕您就要重新来过了。

然后运行 zypper lr 列出全部软件源,然后再 zypper rr 一个一个删除掉。

接着添加软件源,可以去 http://download.opensuse.org 查找,我用的是 tumbleweed 的源:

   http://download.opensuse.org/tumbleweed/repo/oss
   http://download.opensuse.org/tumbleweed/repo/non-oss

然后运行 zypper dup 升级。

升级后先****不要重启****,运行一下 yast, 选择 network settings 进去,会提示你安装 SUSEFirewall2,选择安装。

然后就可以去控制台重启了。

网络设置

重启之后,我们需要进入 yast - network settings,把之前的 dhcp4 删除掉,然后选择编辑网卡,使用静态地址,IP 为你的内网 IP,网关是你之前备份的那个。

接着 vi /etc/resolv.conf, 按下 i 键进入编辑模式,在里面写入:

   nameserver 100.100.2.138
   nameserver 100.100.2.136

按下 ESC,然后输入 :wq! 保存。

接着我们就要根据我们之前备份的路由表来更新路由了。

   route add -net 0.0.0.0 netmask 0.0.0.0 gw <GATEWAY> <DEVICE>
   route add -net 127.0.0.0 netmask 255.0.0.0 lo
   route add -net 169.254.0.0 netmask 255.255.0.0 <DEVICE>
   route add -net 172.19.224.0 netmask 255.255.240.0 <DEVICE>

其中 GATEWAY 是你备份的路由表里面 FLAGS 是 GW 的那个 IP 地址。DEVICE 是你升级完运行 “ip a” 命令得到的网卡名。对比一下你备份的路由表,就可以大体知道上面命令应该怎么替换了。

持久化路由

上面使用 route 命令添加的路由在系统重启后会消失,这时你会发现在外网又 ssh 不进去了。

我们需要使用 yast 把它持久化一下:

在 YaST - Network Settings 里面,切换到 Routing 选项卡(终端 yast 使用 TAB 键和方向键操作,Return 键是确认):

在 Default IPv4 Gateway 里输入你的 Gateway,后面设备选你用 “ip a” 命令查看到的网卡名,ens3 这种。

在 Routing Table 里点 Add,添加三条,Destination 对应上面 -net 后面的值,Netmask 对应 -netmask 的值,设备同上。网关是 0.0.0.0。(注意输入 Netmask 和 Gateway 的时候,把前面的 “-” 按 Backspace 键删掉。

保存即可。下次重启就会自动添加这些路由信息。