最近迷上了Docker,偷得两日闲想把Docker与公司的开发流程结合。下午手贱把试验的Ubuntu 14.04的版本升级至16.04LTS,更贱的顺手把公司的文件服务器也同时进行升级。

[highlight dark=”no”]sudo do-release-upgrade -d[/highlight]

升级完成后提示需要重启,于是当然的

[highlight dark=”no”]sudo reboot now[/highlight]

结果印证了什么叫No Zuo No Die, 系统报了个错就再也连不上了。

[highlight dark=”no”]Failed to start reboot.target: Failed to setup environment correctly
See system logs and ‘systemctl status reboot.target’ for details.[/highlight]

u1

这下傻眼了,还有公司的文件服务器也是同样的问题。这SSH连接不上,只好乖乖地起个VMware vSphere Client连到公司的ESX服务器上去查怎么回事。发现原来的网卡eth0不见了,取之是一个名为ens32的网卡,想手工启动这个网卡,但系统报没有权限,用root用户也不行,看来此路不通。把虚拟机的网卡删除再重新安装,重启除了网卡名字变了外,还是然并卵。

u2

傻眼了,肠子都悔青了。自己做的坏事,怎么着也只能自己解决了。查了各种资料、各种折腾,最后总算搞明白是因为ubuntu 15版本的-udev升级,导致出现这个网卡丢失的问题。多种尝试后用以下方法解决。

1.先取得网卡的MAC地址

[highlight dark=”no”]ip link[/highlight]

u3

由上图可知00:0c:20…..是俺丢掉的宝贝网卡的地址,把此地址记下来。

2. 创建/etc/udev/rules.d/10-network.rules 文件,增加网卡信息。

[highlight dark=”no”]sudo vim  /etc/udev/rules.d/10-network.rules [/highlight]

在文件中增加以下一行,保存并退出。

[highlight dark=”no”]SUBSYSTEM==”net”, ACTION==”add”, ATTR{address}==”00:0c:29:de:d9:c1″, NAME=”eth0″[/highlight]

3.重启系统,可以发现丢失的网卡又回来了。

u4

NND,吓出一身冷汗。:)

Note: If no DNS resolution after upgraded, solve the problem as following code:

[highlight dark=”no”]sudo rm /etc/resolv.conf
sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf
sudo resolvconf -u[/highlight]

俺的解法是简单粗暴直接,删掉了resolv.conf后直接创建一个新的:)。