测试说明
本文主旨通过使用 systemd 方式创建服务的方式来实现开机自动修改MAC地址的目的,使用命令行修改MAC地址再开机时,配置信息会丢失,以下方法用于设置后保存到系统,再次开机时依然生效。
测试环境
开发板:OK1028A-C
创建MAC开机自启服务
1、创建脚本文件
root@forlinx:~#touch MAC.sh
root@forlinx:~#vi MAC.sh
/*文件内容如下:*/
#!/bin/sh
ifconfig swp0 hw ether c2:b6:98:52:c9:c5
ifconfig swp1 hw ether dc:b6:98:52:c9:88
ifconfig swp2 hw ether b2:b6:98:52:46:c4
ifconfig swp3 hw ether e6:02:7f:60:d1:57
2、修改权限
root@forlinx:~#chmod 777 MAC.sh
3、创建设置MAC的服务文件
进入到“/lib/systemd/system/”目录下,并新建一个MAC.service 文件,命令如下:
root@forlinx:~# cd /lib/systemd/system
root@forlinx:~# vi MAC.service
[Unit]
Description=MAC
After=basic.service X.service thermal-zone-init.service
[Service]
ExecStart=/root/MAC.sh
[Install]
WantedBy=multi-user.target
其中 Description 一行需写入服务名,ExecStart 需要写入可执行文件的绝对路径。
保存退出后,在终端上执行如下命令:
root@forlinx:~# systemctl -f enable /lib/systemd/system/MAC.service
此时即可将新添加的自启动服务生效,重启开发板后,此程序即可自动运行,在命令行查看swp0-swp3网卡信息,会发现MAC地址发生了改变:
未修改前的swp0-spw3网卡信息: