linux centos7 修改默认网卡命名规则为eth0脚本
CentOS6之前基于传统的命名方式如:eth1,eth0....
Centos7提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名是全自动的、可预知的,缺点是比eth0、wlan0更难读。比如enp5s0

系统环境
[root@demo1 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@demo1 ~]# uname -a
Linux demo1 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@demo1 ~]# date
2021年 07月 01日 星期四 14:28:21 CST
脚本使用
等待60秒进行重启即可,60秒内随时按下Ctrl+C取消重启
重启后网卡名称已设置为eth0
配置恢复
执行恢复操作后会恢复至之前的ens命名规则
有部分机器恢复后会出现还是eth0的情况,可以使用nmtui进行修改下即可
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
cp="/bin/cp"
mv="/bin/mv"
BAK_PATH="/usr/src"
#GRUB_FILE="/etc/sysconfig/grub"
GRUB_FILE2="/etc/default/grub"
GRUB_CFG="/boot/grub2/grub.cfg"
DATE_NEW=`date +"%y-%m-%d"`
FILE_PATH="/etc/sysconfig/network-scripts"
FILE_NAMES=`ls ${FILE_PATH} | grep ifcfg | grep -Ev 'bak|lo'`
IPADDR=`ifconfig | grep -E '^ens' -A 1 | tail -1 | awk -F'[ ]+' '{print $3}'`
CHECK_ROOT() {
[[ $EUID != 0 ]] && echo -e "${ERROR} 当前账号非ROOT(或没有ROOT权限),无法继续操作,请使用${GREEN_BACKGROUND_PREFIX} sudo su ${FONT_COLOR_SUFFIX}来获取临时ROOT权限(执行后会提示输入当前账号的密码)。" && exit 1
}
CHKECK_IP () {
CHECK_STEP1=`echo $1 | awk -F"." '{print NF}'`
if [ $CHECK_STEP1 -eq 4 ] || [ $CHECK_STEP1 -eq 6 ]
then
CHECK_STEP2=`echo $1 | awk -F"." '{if ($1!=0 && $NF!=0) split ($0,IPNUM,".")} END \
{ for (k in IPNUM) if (IPNUM[k]==0) print IPNUM[k]; else if (IPNUM[k]!=0 && IPNUM[k]!~/[a-z|A-Z]/ && length(IPNUM[k])<=3 &&
IPNUM[k]<255 && IPNUM[k]!~/^0/) print IPNUM[k]}'| wc -l`
if [ $CHECK_STEP2 -eq $CHECK_STEP1 ]
then
echo 0
else
echo 1
fi
else
echo 1
fi
}
RollBACK() {
cp $BAK_PATH/grub2.${DATE_NEW} $GRUB_FILE2
BAK_NETWORK=`ls -lrth $BAK_PATH | grep ifcfg | tail -1 | awk '{print $NF}'`
NEW_NETWORK=`ls -lrth $BAK_PATH | awk '/ifcfg-ens/{print $NF}' | awk -F'.' '{print $1}' | tail -1`
cp $BAK_PATH/$BAK_NETWORK $FILE_PATH/$NEW_NETWORK
mv -bf $FILE_PATH/ifcfg-eth0 /tmp >/dev/null 2>&1
echo "Script done!"
}
echo "是否修改以下网卡配置文件:
$FILE_NAMES
"
echo && stty erase '^H' && read -p "continue?(y继续/b还原/*退出): " YN
case $YN in
y)
CHECK_ROOT
CHECK_IPADDR=`CHKECK_IP $IPADDR`
if [ $CHECK_IPADDR -eq 1 ]
then
echo "这个 $IPADDR 不是正确合法的有效IP !"
exit 110
fi
for NAME in $FILE_NAMES; do
PD=`grep "" $FILE_PATH/$NAME | wc -l`
if [[ $PD -eq 0 ]]; then
continue
fi
DEVN=`grep "NAME" $FILE_PATH/$NAME | awk -F'=' '{print $2}'`
cp $FILE_PATH/$NAME $BAK_PATH/${NAME}.${DATE_NEW}
#cp $GRUB_FILE $BAK_PATH/grub.${DATE_NEW}
cp $GRUB_FILE2 $BAK_PATH/grub2.${DATE_NEW}
trap 'onCtrlC' INT
function onCtrlC () {
echo '检测到用户按下Ctrl+C尝试终止脚本,正在进行回滚...'
RollBACK
exit 110
}
sed -i "s/$DEVN/eth0/g" $FILE_PATH/$NAME
sed -i "/UUID/d" $FILE_PATH/$NAME
mv $FILE_PATH/$NAME $FILE_PATH/ifcfg-eth0
#sed -i '/rhgb quiet/s/.$//' $GRUB_FILE
#sed -i '/rhgb quiet/s/$/ net.ifnames=0 biosdevname=0 /' $GRUB_FILE
#sed -i '/rhgb quiet/s/.$/\"/' $GRUB_FILE
sed -i '/rhgb quiet/s/.$//' $GRUB_FILE2
sed -i '/rhgb quiet/s/$/ net.ifnames=0 biosdevname=0 /' $GRUB_FILE2
sed -i '/rhgb quiet/s/.$/\"/' $GRUB_FILE2
echo ""
echo && stty erase '^H' && read -p "重新生成GRUB...(y/n): " NG
case $NG in
y)
grub2-mkconfig -o $GRUB_CFG
echo "正在准备重启..."
IFNAMES=`grep "ifnames" $GRUB_CFG | wc -l`
if [[ ! $IFNAMES -ge 2 ]]; then echo "$GRUB_CFG 异常,请手动检查,正在进行回滚..." ; RollBACK ; grub2-mkconfig -o $GRUB_CFG; exit 110; fi
shutdown -r 1
trap 'onCtrlC' INT
function onCtrlC () {
echo '检测到用户按下Ctrl+C尝试终止脚本,正在取消重启...'
shutdown -c
exit 110
}
for ((s=59;s>0;s--))
do
[ $s -gt 0 -a $s -lt 10 ] && echo "距离关机还有 0$s 秒" || echo "距离关机还有 $s 秒"
sleep 1
clear
done
;;
*)
echo "Input Error! "
echo "Script Exit... "
exit 110
;;
esac
done
;;
b)
RollBACK
grub2-mkconfig -o $GRUB_CFG
exit 110
;;
*)
exit 110
;;
esac
linux centos7 修改默认网卡命名规则为eth0脚本的更多相关文章
- Centos7修改默认网卡名(改为eth0)以及网卡启动报错RTNETLINK answers: File exists处理
安装好centos7版本的系统后,发现默认的网卡名字有点怪,为了便于管理,可以手动修改.下面对centos7版本下网卡重命名操作做一记录:1)编辑网卡信息[root@linux-node2~]# cd ...
- centos7修改默认网卡名称
问题场景: 使用centos7有好一阵子了,安装过centos7的朋友都会发现网卡命名跟6.x系统的不一样,类似ifcfg-eno16780032, ens192,或者enp2s0等其他不习惯的.不容 ...
- Linux(CentOS7)修改默认yum源为国内的阿里云、网易yum源
修改方式: echo 备份当前的yum源 mv /etc/yum.repos.d /etc/yum.repos.d.backup4comex echo 新建空的yum源设置目录 mkdir /etc/ ...
- dede修改文章页命名规则
一.DEDEcms 修改默认文章命名规则 1.单独添加分类默认修改,修改文件:include/common.inc.php. 大概在251行文档的命名规则 $cfg_df_namerule = '{ ...
- centos7修改网卡命名规则
实验目的: 修改默认的网卡命名规则,习惯于ethx的形式 实验环境: centos7 熟悉控制网卡名字的规则生产的参数biosdevname/net.ifnames /etc/default/gr ...
- RHEL 7.3修改网卡命名规则为ethX
RHEL 7网卡默认命名规则:以太网卡(Ethernet)为enX,无线网卡(WLAN)为wlX,修改网卡命名规则为ethX如下: 1.修改/etc/sysconfig/grub文件,添加net.if ...
- CentOS7.3将网卡命名方式设置为传统方式
CentOS7.3将网卡命名方式设置为传统方式 生产环境可能拥有不同系列的操作系统,比如,既有CentOS6系列,也有CentOS7系列的系统,而CentOS6和CentOS7在网卡命名方面有着较大区 ...
- PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键
PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键 1. 附加:工具栏不见了 调色板(Palette)快捷工具栏不见了PowerDesigner ...
- ubuntu 18.04网卡命名规则改回传统的ethx
自15版本开始网卡命名规则就不叫eth0了.而是用可预期网络接口设备名称的命名规则,比如网卡名为enp3s0 . 如果想要变回ethx也是可以的,参考以下步骤: 1.编辑/etc/default/gr ...
随机推荐
- Junit5快速入门指南-4
Junit5套件测试 @RunWith(JUnitPlatform.class) 执行套件 @SelectPackages({"packageA","packageB&q ...
- JAVA安全基础之代理模式(一)
JAVA安全基础之代理模式(一) 代理模式是java的一种很常用的设计模式,理解代理模式,在我们进行java代码审计时候是非常有帮助的. 静态代理 代理,或者称为 Proxy ,简单理解就是事情我不用 ...
- python 直接插入排序
# 先将未排序的元素放到九天之上,一个临时变量temp,上到九天之上去观察前面已经排好的序列, # 然后从后向前对比,只要临时变量小于某个位置的值,就将其向前移动一位,就是给比它下标大 # 1的位置处 ...
- JDK源码阅读:Object类阅读笔记
Object 1. @HotSpotIntrinsicCandidate @HotSpotIntrinsicCandidate public final native Class<?> g ...
- CodeForce-734C Anton and Making Potions(贪心+二分)
CodeForce-734C Anton and Making Potions C. Anton and Making Potions time limit per test 4 seconds m ...
- 手把手教你调试SpringBoot启动 IoC容器初始化源码,spring如何解决循环依赖
授人以鱼不如授人以渔,首先声明这篇文章并没有过多的总结和结论,主要内容是教大家如何一步一步自己手动debug调试源码,然后总结spring如何解决的循环依赖,最后,操作很简单,有手就行. 本次调试 是 ...
- 华为云计算IE面试笔记-FusionCompute虚拟机热迁移定义,应用场景,迁移要求,迁移过程
*热迁移传送了什么数据?保存在哪? 虚拟机的内存.虚拟机描述信息(配置和设备信息).虚拟机的状态 虚拟机的配置和设备信息:操作系统(类别.版本号).引导方式(VM通过硬盘.光盘.U盘.网络启动)和引导 ...
- iOS之内存管理-字节对齐
字节对齐 1 struct Mystruct1{ 2 char a; //1字节 3 double b; //8字节 4 int c; //4字节 5 short d; //2字节 6 }Mystru ...
- 自学 Python,视频教程和代码一看就懂,动手就废,应该这么学
一.代码量太少了,看得多做得少,导致一做就错. 每一个测试工程师必定是在大量的时间和代码中提升的自己,如果你只是看视频的话,那永远都停留在理论上,很多问题是要实践才能发现的 我打个比方你看视频的时 ...
- vue成就购物城的功能 (展示增删改查)
<!DOCTYPE html><html> <!DOCTYPE html> <html> <head> <meta charset=& ...







