最近在老师实验室搞毕设,毕设是做linux下基于opencv和tensorflow的人脸识别系统。老师要求可以用网上的数据集测试代码,但必须自己录数据集进行最后的演示。并且光会调用tensorflow中写好的API实现人脸识别还不行,必须对tensorflow的算法进行优化。。。
优化这种东西是想都不敢想的,不过自己做数据集还是可以尝试一下的嘛。但是问题来了,我的破笔记本根本就带不动这么多数据和程序的运行,于是我就和老师申请实验室的机器,老师想起来实验室有台ubuntu18.04系统的机器闲置,就同意给我使用。
兴奋的在整个实验室凑好一台机器的配件并进行连接(其实就是把主机,显示器,鼠标键盘啥的都找到然后连起来)之后,我开机发现了一个很严重的问题:这台电脑,上不了网!
上不了网肯定不是机器的问题,毕竟是2.5万配的主机(虽然连无限网卡都没有)。于是我开始在网上各种搜索ubuntu18.04网络配置的方法。
首先有人说要配置/etc/NetworkManager/NetworkManager.conf文件, 配置成如下代码:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=true
[device]
wifi.scan-rand-mac-address=no
那在下自然是照做的,毕竟菜鸡要听大佬的话么。配置完之后,还是连不上网,于是我又去搜教程,发现有人说不是配置这个文件,而是要配置/etc/network/interfaces这个文件,文件里的内容如下:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto enp0s31f6
iface enp0s31f6 inet static
address 10.18.47.86 //这个是ip地址
netmask 255.255.255.128 //子网掩马
gateway 10.18.47.126 //默认网关
我一看那就行吧,配吧,反正不配我也没别的办法,更何况我耳边好像有个小人在问我:你配不配?那自然是配的。
配置完之后照例重启系统,这一重启可不得了,我在设置里面连有线连接都看不见了,不过左上角倒是出现了网络的图标,但就是连不上网,显示的是(有线连接 未托管)。那没的说的,打开手机浏览器, 有线连接 未托管 百度一搜,答案就出来了:
OK,什么原因呢?
Ubuntu里面有管理网络连接的方案:
方案1: /etc/network/interfaces(命令行方案)
方案2:Network-manager(图形化界面方案)
两套方案是冲突的,不能同时共存。
第一个方案适用于命令行
如部署在云服务器上,如果你在阿里云,腾讯云,亚马逊云等等这些地方部署了Ubuntu的云服务器的话,就只能这种情况了。
第二个方案适图形化界面
一般来说我们自己电脑上安装的Ubuntu都是采用这个方案,但是如果你在/etc/network/interfaces里设置了网上信息的话,NetworkManager就不会接管该网上,即使是你开了,系统重启过后也会自动关闭。
所以嘛,好好想想你最近有没有修改过/etc/network/interfaces配置文件。如果你不知道自己有没有修改过的话,这个文件正常应该是这样的(看看有没有谁偷偷修改了你的配置文件):
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
OK问题找到了,该怎么解决呢?
把/etc/network/interfaces配置文件回滚到上面的样子?
完全不用,Network-manager默认不是关闭的吗?(interface文件修改的话)把它打开就行了
修改Network-manager的配置文件,默认为打开
sudo vim /etc/NetworkManager/NetworkManager.conf
文件内容如下:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=true
[device]
wifi.scan-rand-mac-address=no
然后重启下Network-manager就可以了
sudo service network-manager restart
1
再次看下网络连接:
可以再点开看下有线设置,你会发现图形化管理界面出现了,这个就是Network-manager:
到了这一步,作者的问题已经解决了,我也替这篇博文的博主感到高兴,可是我的问题还没有解决。正如某位名人说的:热闹是他们的,我什么也没有。我那个气阿,就是连不上网,于是我又去网上搜,结果又搜到一篇博文,内容如下:
Ubuntu 18.04 采用netplan作为网络配置管理,与16.04及之前的版本区别很大
IP配置
sudo vi /etc/netplan/50-cloud-init.yaml #最后的名字因服务器而异。 //你进到netplan目录下ls就能看见了
sudo netplan apply
DNS配置
DNS还是使用resolv.conf
sudo vi /etc/resolv.conf
到这里,这个博主的问题也解决了。至于我,我照搬了前两条命令,当然里面的ip地址,网关什么的我都换成了自己的。
配置好后,我还是连不上网,后来发现是网络设置里的子网掩码写错了。修改好之后,就可以上网了。
最后衷心感谢实验室里所有热心的学弟,很有耐心的帮助我组装机器,配置网络,都是好人阿!让我这个大四的老学长热泪盈眶。
这是我毕设系列的第一篇博文,后面还会陆续更新其他的毕设博文,希望可以用csdn记录我的整个毕设过程!
参考文章:
https://blog.csdn.net/peyte1/article/details/80509056
https://blog.csdn.net/daerzei/article/details/85058130