ubuntu设置开机启动命令

news/2025/1/13 7:54:00/

文章目录

  • 概述
  • 系统版本
  • 设置开机启动命令
    • 1. 查看`rc-local`服务状态
    • 2. 设置`rc-local`服务开机启动
    • 3. 手动创建系统自启动服务
    • 4. 创建`rc.local`文件
    • 5. 设置`rc.local`文件权限
    • 6.添加开机启动命令
    • 7.启用`rc-local`服务
    • 8.查看`rc-local`服务状态
    • 9.重启系统

概述

本文档主要记录Ubuntu系统使用/etc/rc.local设置开机指令的方法。

系统版本

Ubuntu 20.04

设置开机启动命令

1. 查看rc-local服务状态

sudo systemctl status rc-local

输出结果如下:

root@localhost:~$ systemctl status rc-local
● rc-local.service - /etc/rc.local CompatibilityLoaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled)Drop-In: /usr/lib/systemd/system/rc-local.service.d└─debian.confActive: inactive (dead)Docs: man:systemd-rc-local-generator(8)

2. 设置rc-local服务开机启动

sudo systemctl enable rc-local

注: Ubuntu 20.04不能直接启用rc-local服务,会报错,需要手动创建rc-local服务文件。指令报错如下:

root@localhost:~$ sudo systemctl enable rc-local
[sudo] password for simple:
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's.wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which hasa requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with someinstance name specified.

3. 手动创建系统自启动服务

sudo vim /etc/systemd/system/rc-local.service

输入以下内容:

[Unit]Description=/etc/rc.local CompatibilityConditionPathExists=/etc/rc.local
[Service]Type=forkingExecStart=/etc/rc.local startTimeoutSec=0StandardOutput=ttyRemainAfterExit=yesSysVStartPriority=99
[Install]WantedBy=multi-user.target

4. 创建rc.local文件

sudo vim /etc/rc.local

输入以下内容:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
# _IP=$(hostname -I) || true
# if [ "$_IP" ]; then
#   printf "My IP address is %s\n" "$_IP"
# fi
exit 0

5. 设置rc.local文件权限

sudo chmod +x /etc/rc.local

6.添加开机启动命令

以删除某条冗余静态路由为例,例如,现在有双网卡环境,需要将其中一张网卡用于内网数据传输,另外一张网卡用于访问互联网数据传输,但是在配置完成后,发现内网数据传输正常,但是互联网数据传输异常,经过排查发现,是因为在配置内网网卡时,误将内网网卡的默认网关设置为了内网网关,导致互联网数据传输异常,因此需要删除该条冗余静态路由。删除指令为sudo route del -net 0.0.0.0 dev enp0s8,现在希望在开机时自动执行该指令,因此需要将该指令添加到rc.local文件中。

sudo vim /etc/rc.local

exit 0前添加以下内容:

sudo route del -net 0.0.0.0 dev enp0s8

7.启用rc-local服务

sudo systemctl start rc-local
sudo systemctl enable rc-local

8.查看rc-local服务状态

sudo systemctl status rc-local

9.重启系统

sudo reboot

系统完成重启后,可查看路由表,发现冗余静态路由已被删除。



http://www.ppmy.cn/news/488801.html

相关文章

【带你刷《剑指Offer》系列】【每天40分钟,跟我一起用50天刷完 (剑指Offer)】第一天

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

Matthew Ball:十多年后AR/VR为何依然发展缓慢?

2010年,Magic Leap和微软就开始研发AR技术,直到2012年Oculus才成立,AR/VR经过了13年左右的时间,虽然受到越来越多人关注,但发展依然缓慢。VR的主要应用场景还是游戏,但VR游戏只是游戏市场的一个分支&#x…

java、jvm与.net

现在sun已经被oracle收购了!也从侧面验证了作者的一些论断! 当然从技术上看,这篇文章也是分析很精辟。反正我自己感觉c很好用,java以及所谓的OO更多是一些概念。 Java在自取灭亡 一个比较Java语言发展的讨论贴,非常…

五个字的英语单词

abide v.(by)坚持,遵守 about ad. 在周围,附近,到处;大约,差不多 prep. 关于,对于;在……周围,在……附近 a.准备 above prep. 在……上面,超过,高于a. 上面的,上述的ad. 在上面,以上 abuse v./n. 滥用;虐待;谩骂 actor n. 男演员 acute a. 敏锐的,尖锐的;(疾病)急性的 adapt v…

如果编程语言是妹纸

试想一下,当Java、C、Python、Ruby、PHP、C#、JS等编程语言变成了动漫人物会是怎样的一幅场景呢?下面就一起看看在日本作家渡辺将人的笔下,各种编程语言都是哪类“美女”的吧! Java 犹如宫泽贤治的《不畏风雨》中出现的、性格木讷…

Allegro如何设置默认器件的高度信息操作指导

Allegro如何设置默认器件的高度信息操作指导 在给PCB设置限高的时候,一般会添加一个package keepout的铜皮,如下图 如果器件有高度信息,且没有超过限高要求,是不会有DRC报错的,如果器件没有高度信息,软件会默认给匹配一个高度信息,从而导致误报,如下图 可以看到默认的高…

Google C++ Style文档及常用代码规范(三):来自 Google 的奇技、其他 C++ 特性、规则特例、结束语

文章目录 Google C Style文档及常用代码规范(三):来自 Google 的奇技、其他 C 特性、规则特例、结束语来自 Google 的奇技所有权与智能指针Cpplint 其他 C 特性右值引用变长数组和 alloca()异常运行时类型识别类型转换流前置自增和自减const用…

KD缴费中心全国话费直充97-99.5折浮动,慢充93-98折浮动9y3y.com详细报价登陆KD缴费中心查看,消费达到相应数额赠送点卡平台一套

KD缴费中心全国话费直充97-99.5折浮动,慢充93-98折浮动9y3y.com详细报价登陆KD缴费中心查看,消费达到相应数额赠送点卡平台一套