使用 rc-local.service

rc-local.service 是系统自带的一个开机自启服务,但是在 ubuntu 20.04 上,该服务默认没有开启。

在文件的最后面添加 [Install] 段的内容,

cat > /lib/systemd/system/rc-local.service

# SPDX-License-Identifier: LGPL-2.1-or-later

#

# This file is part of systemd.

#

# systemd is free software; you can redistribute it and/or modify it

# under the terms of the GNU Lesser General Public License as published by

# the Free Software Foundation; either version 2.1 of the License, or

# (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by

# systemd-rc-local-generator if /etc/rc.local is executable.

[Unit]

Description=/etc/rc.local Compatibility

Documentation=man:systemd-rc-local-generator(8)

ConditionFileIsExecutable=/etc/rc.local

After=network.target

[Service]

Type=forking

ExecStart=/etc/rc.local start

TimeoutSec=0

RemainAfterExit=yes

GuessMainPID=no

[Install]

WantedBy=multi-user.target

创建 /etc/rc.local

Ubuntu 20.04 默认不存在 /etc/rc.local,需要自己创建,注意第一行必须是#!/bin/bash,否则启动rc-local服务报错。Failed at step EXEC spawning /etc/rc.d/init.d/nginx: Exec format error.

cat /etc/rc.local

#!/bin/bash

/usr/sbin/ifconfig enp0s1 down

/usr/sbin/ifconfig enp0s1 hw ether b6:f5:2c:0d:3d:16

/usr/sbin/ifconfig enp0s1 up

修改 /etc/rc.local 权限

chmod 755 /etc/rc.local

安装ifconfig命令

apt-get install net-tools

设置rc-local为开机自启动

systemctl enable rc-local

启动rc-local服务

启动rc-local服务后,mac地址即可更改。并且以后reboot机器也不会失效。

systemctl daemon-reload

systemctl start rc-local

参考文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。