Raspbian2B+ Ubuntu do-release-upgrade升级后trouble shooting

Raspbian2B+烧录的系统版本为Ubuntu MATE16.04版本,ssh过去的时候显示可以do-release-upgrade升级系统,我决定试一试。

事实证明No zuo, No die.

起初初始化完成之后我就开启了SSH服务,默认开机是多用户模式,也就是runlevel设置为3。

更新完之后物理机无法SSH连接,尝试ICMP测试,目标主机不可达。

于是通过HDMI连接显示器一探究竟:

#ifconfig
lo

#ifconfig -a
enxb****
lo

ifconfig显示仅换回测试口打开,ifconfig -a显示有en开头的以太网设备。

首先怀疑的是,是不是更新之后网卡设置有问题。这里我们通过修改/etc/network/interfaces文件完成eth0的相关参数设置,RedHat系列对/etc/sysconfig/network-scripts/ifcfg-eth0进行设置。

#ubuntu
#发现仅有lo口相关参数,我们添加如下内容
auto eth0 #网卡名
iface eth0 inet static #静态地址
address 192.168.1.102 
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 114.114.114.114 #ubuntu的DNS设置可以直接在这个文件中进行设置

我们尝试ifconfig查看发现依然是enxb后面很长一段编码的网卡名,证明映射存在问题,ifconfig eth0 up自然无法工作。

Linux一切皆文件,在2.61.3版本之后,其中设备文件是通过udev完成了物理到系统层面的映射。

udev映射方式可以很好地支持动态设备,转而作为用户空间(user-space)工具运行来对/dev目录进行管理,解决了设备映射不确定性、devfs命名不灵活、内核空间(kernel-space)内存占用多等问题。其中/etc/udev/rules.d/目录下以.rules结尾的文件中定义了规则来帮助udev分配名字给设备文件以便于被内核识别。

以10-local-rpi.reules为例:

cat 10-local-rpi.rules 
SUBSYSTEM=="vchiq", GROUP="video", MODE="0660"

规则命名一般以两个数字开头,表示系统应用该规则的顺序。我们观察可以发现udev文件中,键/值对之间通过,进行分隔。

udev 键/值对操作符
操作符匹配或赋值解释
==匹配相等比较
!=匹配不等比较
=赋值分配一个特定的值,可覆盖
+=赋值追加一个特定的值
:=赋值分配一个特定的值,不可被覆盖

udev完全工作于用户态(userspace),利用设备加入或移除时内核所发送的hotplug事件(event)来工作。关于设备的详细信息是由内核输出(export)到位于/sys的sysfs文件系统的,所有的设备命名策略、权限控制和事件处理都是在用户态下完成的。

简单而言,也就是udev作为一种运行于用户空间的工具,它能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。设备文件通常放在/dev目录下。使用udev后,在/dev目录下就只包含系统中真正存在的设备,相比devfs而言,减少了/dev目录下的文件格式(采用devfs的情况下,无法确定/dev目录下那些文件是active的)。

因此这里我们修改/etc/udev/rules.d目录下的文件,试图看看设置udev映射能不能解决这个问题。

完成物理上的映射,我们需要知道一个标识硬件的参数然后才能去正确的完成映射。

ip link

查找刚才ifconfig -a和ifconfig差额设备的MAC地址 link/ether b8:27:*:*:a6:26,记录下来,我们下面会用到。

vim /etc/udev/rules.d/10-network.rules #创建并修改该文件
SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="b8:27:*:*:a6:26",NAME="eth0"
#SUBSYSTEM    子系统名字,比如sound,net
#ACTION       一个时间活动的名字,比如add,当设备增加的时候
#ATTR{}       归属,将一个特定的值分配给某个键
#NAME         根据这个规则创建的设备文件的文件名

至此,重启就可以解决这个问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值