Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法

2023-11-18

一、问题描述

VMware中克隆虚拟机是经常的事情,虽然如此,用到虚拟机时,本人还是喜欢新安装一个操作系统,针对服务器的应用,在安装操作系统时,一并安装好,并且也花不了多少时间。但最近需要大量的配置一样的虚拟机进行测试,故安装了一个模板虚拟机,然后直接复制模板虚拟机到不同的文件夹,然后使用VMware 直接打开使用,但问题出来了,打开这些复制(克隆)的虚拟机全部会出现网络无法启动的问题。使用 service network start  命令出现报错如下:

device eth0 does not seem to be present
RTNETLINK answers: File exists 
RTNETLINK answers: File exists 

RTNETLINK answers: File exists

二、原因分析

使用VMware 打开复制过来的操作系统文件,VMware会为新产生的虚拟机配置一个与原始虚拟机网卡MAC地址不同的网卡。对于CentOS这样的Linux系统,会把运行时的网卡MAC地址记入到 /etc/udev/rules.d/70-persistent-net.rules 文件中。这样克隆好的新系统里也保存了这个记录。当新系统启动时,由于vmware已经为其配置了不同的MAC地址,因此系统会在启动扫描硬件时把这个新的MAC地址的网卡当做是eth1,并且增加记入上述文件中。而此时配置文件里的 /etc/sysconfig/network-scripts/ifcfg-eth0 里记录的还是原来的MAC地址,而这个MAC地址在新系统里是不存在的,所以无法启动。

三、解决方法
编辑/etc/udev/rules.d/70-persistent-net.rules
找到含NAME="eth0"的那行直接删除,如下:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:ac:95:31", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

--------------------------------------------------------------------------------
 
编辑含NAME="eth1"的那行:"eth1"更改为"eth0"

--------------------------------------------------------------------------------
 
编辑/etc/sysconfig/network-scripts/ifcfg-eth0
更改HWADDR地址跟上面rules文件的MAC地址一样。

--------------------------------------------------------------------------------
最后 init 6 或者reboot 系统搞定;(必须尝试)

这个是另外一个博客写的,能解决一部分问题:

之前也遇到过这种情况,克隆的虚拟机在网卡一直有问题,也没有太担心,无非是两种方案:

第一种: 和 NetworkManager 服务有冲突,这个好解决,直接关闭 NetworkManger 服务就好了, service NetworkManager stop,并且禁止开机启动 chkconfig NetworkManager off 。之后重启就好了。

第二种:和配置文件的MAC地址不匹配,这个也好解决,直接修改  /etc/udev/rules.d/70-persistent-net.rules文件的MAC地址和 /etc/sysconfig/network-scripts/ifcfg-eth0一样就好了。

这两种方法整了半天,还是没弄出来,折磨了一晚上,今天早晨还继续搞,结果从哪个不知名的帖子上发现了这么一条命令  ip addr flush dev eth0,(刷新一下网卡信息,这个并没有解决我的问题)。


我遇到问题是,通过VMware 的ESXi6.0 的云主机下载了一个配置好的centos7 的服务器,下载过程我的另一篇文章:https://blog.csdn.net/weixin_37569048/article/details/80325609

下载过程大概20分钟很快了已经,下载后可以通过VMware 直接打开虚拟机镜像,但是问题来了,ifconfig 时只有lo,virbg0,两个网卡,我们经常用的eno16777984怎么竟然没有,,查看了eno16777984配置文件还存在,service network restart 就报错了,RTNETLINK answers: File exists

解决方案:

我的不是最终解决方案,但是可以解决部分问题,参考以上两种方案:

    ①查看复制后的镜像,VMware给赋值的新的MAC地址

        

②复制新的MAC地址后,修改编辑/etc/udev/rules.d/70-persistent-net.rules

    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:ac:95:31", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"                //"00:0c:29:ac:95:31"==》改为新的MAC地址

    /etc/sysconfig/network-scripts/ifcfg-eth0  对应自己的网卡的配置文件

    修改或添加HWADDR=新的MAC地址    保存!

③reboot 虚拟机

    此时ifconfig,你会发现网卡会多一个,就是你刚修改的那个,据说此时service network restart就好用的,但是我的不可以,看到网卡了,我们可以配置临时的ip地址,先用ifconfig 网卡名 ip地址,此时的ip地址是可以用的!

到这里问题解决了一半,网卡重启问题还要解决,,,,待续!!

    

    

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法 的相关文章

  • MathType改变字体大小

    目录 一 MathType中的公式字体 二 临时自定义字体大小 三 更改默认字体大小 四 总结 一 MathType中的公式字体 MathType中默认的字体大小为12pt 在word中即小四 word字体对应MathType的字体大小如下

随机推荐

  • Android Studio开发环境的搭建

    Android Studio开发环境的搭建 一 实验目的及任务 Windows下掌握Android Studio的安装和配置 模拟器的创建 Activity的创建和注册 二 实验环境 Jdk Android Studio 三 实验步骤 An
  • 7 种提升SpringBoot 吞吐量神技

    架构师专栏 2022 04 11 08 44 大家好 我是磊哥 一 异步执行 实现方式二种 1 使用异步注解 aysnc 启动类 添加 EnableAsync注解 2 JDK 8本身有一个非常好用的Future类 CompletableFu
  • 计算两个数之和,不能用+ = 运算符

    在lintcode的一个简单的算法题 计算两数的和 不能用 运算符 对于这个题 我是一点思路都没有 不用 那能用什么计算呢 于是在网上找了找答案 答案其实很简单 主要是涉及到运算 我是觉得应该记一下 所以才将这个题写下来 具体代码 异或 运
  • centos 6.5 连接MySQL 提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:

    centos 6 5 连接MySQL 提示 ERROR 1045 28000 Access denied for user root localhost using password NO CentOs 第一次登入MySQL 默认超级用户
  • 深度学习中的优化算法之AdaGrad

    之前在https blog csdn net fengbingchun article details 123955067 介绍过SGD Mini Batch Gradient Descent MBGD 有时提到SGD的时候 其实指的是MB
  • 链表和线性表的优缺点

    链表和线性表的优缺点 作为我们最先接触的两个数据结构 链表和线性表的优缺点都较为明显 并且二者互相补足 文章目录 链表和线性表的优缺点 线性表 线性表的组成 线性表的缺点 线性表的优点 链表 链表的组成 链表的优点 链表的缺点 总结 线性表
  • Spring系列之BeanFactory扩展(BeanFactoryPostProcessor、BeanDefinitionRegistryPostProcessor)

    先来看几个问题 BeanFactoryPostProcessor是做什么的 BeanDefinitionRegistryPostProcessor是干什么的 BeanFactoryPostProcessor和BeanDefinitionRe
  • Uni-app 之uParse 富文本 样式

    富文本如果内容过多 会导致有些列不出现在屏幕内 如果只被挡的只有一两列 显示出来也不拥挤 可以修改样式使其全部展示出来 增加tag style
  • 什么是项目管理?项目经理应该如何进行管理?

    项目管理 一是指一种管理活动 一种有意识地按照项目的特点和规律 对项目进行组织管理的活动 二是指一种管理学科 以项目管理活动为研究对象的一门学科 它是探求项目活动科学组织管理的理论与方法 就是把各种知识 技能 手段和技术应用于项目活动之中
  • unity2D横版游戏教程10-场景控制

    我们让角色掉出地图时重置游戏 我们在Hierarchy那里创建一个一个空项目 命名为DeathLine 也就是死亡线 我们给它添加一个盒体碰撞器 调整一下碰撞器 我们要把这个碰撞器当做触发器使用 所以我们勾选Is Trigger 我们既然用
  • DevOps初识

    博主入职了 正在学习一些在学校没有接触过的东西 在此进行记录 背景 随着软件发布迭代的频率越来越高 传统的 瀑布型 开发 测试 发布 模式已经不能满足快速交付的需求 打破开发和运维的壁垒 聪明的大佬创造出一套模式 就是devops 当我们提
  • qt中treeView的使用

    参考博客 1 https blog csdn net CSND Ayo article details 71106067 utm medium distribute pc relevant none task blog BlogCommen
  • CSS学习总结

    CSS学习视频 狂神说 CSS 目录 简介 什么是CSS 什么是CSS CSS发展史 快速入门 CSS的3种导入方式 选择器 基本选择器 层次选择器 结构伪类选择器 属性选择器 美化网页元素 为什么要美化网页 字体样式 文本样式 阴影 超链
  • sonarqube代码规则配置

    sonarqube做代码检测 可以自定义配置规则库的规则和绑定项目 方法如下 1 进入sonarqube质量配置页面 选择某一语言 点击右侧设置按钮 选择复制 2 输入名称后 点击复制 进入配置页面 3 点击修改项目 可以选择当前已存在的项
  • 谷歌浏览器崩溃之错误代码:RESULT_CODE_MISSING_DATA

    打开谷歌 突然页面崩溃了 所有插件提示也用不了了 页面显示崩溃的错误代码是 RESULT CODE MISSING DATA 我在网上找到一个大神的解决方法 亲测有限 解决方法 首先在谷歌浏览器右键打开属性 在箭头所指的位置复制粘贴 no
  • 用远见超越未见

    2022年是极不平凡的一年 外部的世界局势逐步恶化 内部的新冠疫情转段迈向新阶段 2022年也是伟大的一年 党的二十大胜利召开 党的二十大报告就 推进国家安全体系和能力现代化 坚决维护国家安全和社会稳定 作出专章部署 明确指出 国家安全是民
  • AD16出现your licence is already used on computer的解决办法

    AD16出现报错警告如何解决 AD16持续出现报错警告 AD为什么会报错 如何解决报错 AD16持续出现报错警告 AD为什么会报错 在使用破解版AD的时候 你用的注册表跟别人的注册表一样 也就是说你两用的是同一个安装包 用的是相同的注册码
  • 【第一天】Linux基础命令1

    聊一聊 Hello 好久不见 好久没更新了 因为小编现在是一名大三专科生 正在准备升本 所以正在全力进行备考 备考的过程中 也算是属于没怎么碰过电脑的那种 以前学的知识都忘的差不多了 于是 我决定每天抽出两到三个小时 来写一篇知识总结 这样
  • VUE3 + TS + MapboxGL + 拖拽定位

    VUE3 TS MapboxGL 拖拽定位 mapbox的拖拽定位 相对于其他api来说还是相对容易实现的 只需要在中心创建图层 之后在地图移动时候一直更改图层的中心即可 首先 安装部分不过多描述 官网安装地址 之后 要使用mapboxGL
  • Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法

    一 问题描述 VMware中克隆虚拟机是经常的事情 虽然如此 用到虚拟机时 本人还是喜欢新安装一个操作系统 针对服务器的应用 在安装操作系统时 一并安装好 并且也花不了多少时间 但最近需要大量的配置一样的虚拟机进行测试 故安装了一个模板虚拟