Ubuntu 开机配置脚本


前言

Linux开机的时候,有时候我们希望自动运行一些默认配置,例如:网口的IP地址配置,交叉编译环境配置等。本文记录两种配置方法。


一、/etc/rc.local

将需要运行的shell命令添加到/etc/rc.local文件末尾。

vi /etc/rc.local

//打开文件后,在末尾添加指令

注意:ubuntu18.04没有rc.local文件,参考第3小节。

二、~/.bashrc

将需要运行的shell命令添加到~/.bashrc文件末尾,每次打开shell终端的时候生效。

vim ~/.bashrc

//打开文件后,在末尾添加指令

三、Ubuntu18.04方法

Ubuntu 18.04不再使用initd管理系统,改用systemd,包括用systemctl命令来替换了service和chkconfig的功能。
systemd 默认读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接 /lib/systemd/system/下的文件。
不同于以往的版本,ubuntu18.04默认不带/etc/rc.local文件,我们需要通过配置来让rc.local.service生效。然后我们就可以像以前那样,直接把启动脚本写入/etc/rc.local文件,这样机器启动时就会自动运行它。

  1. 检查系统目录/lib/systemd/system/rc-local.service,如果没有就自己新建文件。文件内容如下(如果文件存在本身是没有[Install]项的,需要自己添加进去):
#### 文件中本身就有的
[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
Alias=rc-local.service

  1. 创建/etc/rc.local脚本文件,并写入想要运行的脚本程序。
#!/bin/bash
# 设置eth0 默认IP
ifconfig eth0 192.168.1.1
  1. 给rc.local执行的权限
sudo chmod +x /etc/rc.local
  1. 启用服务
sudo systemctl enable rc-local 
//执行后会生成/etc/systemd/system/rc-local.service

sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
  1. 查看效果
// 查看ip地址是否修改了
$ ifconfig
  1. 重启验证
    重启后,查看ip地址是否正确。
$ ifconfig eth0 192.168.2.1	//手动修改ip地址
$ sudo reboot	//重启后查看ip地址是否为192.168.1.1
  1. 这个时候就可以按照第1节的方法修改/etc/rc.local文件了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值