zhangjiannan
项目案例 核心能力 交付流程 文档库
ON THIS PAGE
    # Ubuntu2204开机自启脚本配置 © 2026 zhangjiannan. All Rights Reserved. **文档控制** |**序号**|**修改人/验证人**|**修改内容**|**日期**| |---|---|---|---| |1|zhangjiannan|创建文档|2025\.2\.15| ||||| ||||| ||||| # 一、关于本指导书 ## 1\.1 指导书目的 针对客户指定服务、软件、脚本需要开机自启的情况,为实施人员提供简明规范性技术指导。 ## 1\.2 指导书适用对象 本指导书适用于涉及服务器交付的实施人员。 ## 1\.3 指导书中的格式定义 本指导书代码块中内容为执行的shell命令及输出,例如: ```Bash [bjuci@server01 ~]$ ls Intel ``` ## 1\.4 本指导书测试平台 |**处理器平台**|Intel\(R\) Core\(TM\) i7\-1165G7 @ 2\.80GHz| |---|---| |**操作系统版本**|Ubuntu 22\.04\.4 LTS Server版| |**前置条件**|无| ## 1\.5 所需软件官方下载地址 |不涉及|不涉及| |---|---| # 二、背景介绍 在 Ubuntu 18\.04 版本后,rc\.local 脚本被弃用了,这意味着 rc\.local 脚本在 Ubuntu 18\.04 版本后不再被默认启用。相反,systemd 已经成为 Ubuntu 的系统服务管理器,systemd 的方式可以更好地管理系统服务。 在 systemd 中,可以使用 systemd 的 systemctl 命令来启动、停止、重启和管理服务。相比于 rc\.local,systemd 提供了更加灵活和可靠的服务管理方式,例如可以控制服务的启动顺序、并行启动多个服务等。 因此,从 Ubuntu 18\.04 开始,建议使用 systemd 来管理系统服务,而不是使用 rc\.local。如果需要在启动时运行自定义脚本,可以考虑使用 systemd 的 systemd\-unit\-files 功能 # 三、解决方案 在 Ubuntu 22\.04 上实现开机自启脚本需要遵循以下步骤 ## 3\.1 创建需要开机自动执行的脚本 编写需要自启动的脚本文件,比如 /etc/rc\.local 。 ## 3\.2 给该脚本文件赋予可执行权限 ```Bash *$ chmod +x /etc/rc.local * ``` ## 3\.3 创建服务 在/etc/systemd/system 目录下创建一个新的 service 文件,命名为 rc\-local\.service ```Bash *$ sudo vim rc-local.service* ``` 在该文件中输入以下内容: ```Bash [Unit] Description=/etc/rc.local Compatibility After=network.target [Service] ExecStart=/etc/rc.local TimeoutSec=0 RemainAfterExit=true [Install] WantedBy=multi-user.target ``` **各参数解释:** **【Description】** 对本服务的描述 **【After】**字段不是必须的,服务依赖的其他服务,本例中需要在 network\.target 服务启动后才能启动本服务。可以省略。如果省略该字段,则 systemd 将默认将当前服务的启动顺序设置为与其他服务无关,即在启动过程中没有任何依赖性关系,服务的启动顺序由系统自行决定。然而,在某些情况下,如果服务依赖于其他服务,可以使用 After 字段来明确指定其依赖关系,以确保服务的启动顺序正确。 **【User】**字段不是必须的,如果省略该字段,服务将使用 root 用户来运行脚本。 **【ExecStart】** 关键字段,服务启动命令,指定服务启动时需要执行的命令或脚本 **【WantedBy】**用于指定服务的自动启动级别,在 Linux 系统中,多用户模式是指允许多个用户同时登录并使用系统资源的模式,与之相对的是单用户模式,只有一个用户可以登录并使用系统资源。多用户模式是 Linux 系统最常用的模式之一,因此 multi\-user\.target 是系统默认的运行级别。 ## 3\.4 启动该服务并设置开机自启 ```Bash $ *sudo systemctl daemon-reload* *$ sudo systemctl start rc-local.service* *$ sudo systemctl enable rc-local.service* ``` 现在/etc/rc\.local脚本文件将在每次系统启动时自动运行。 如果需要停止该服务并禁用开机自启,可以使用以下命令: ```Bash *$ sudo systemctl stop rc-local.service* *$ sudo systemctl disable rc-local.service* ``` 注意:在创建 service 文件时,需要确保该文件的命名与服务名称相同,并且后缀为 \.service。同时,在使用 systemctl 命令时,需要使用 sudo 权限。 ## 3\.5 脚本示例 /etc/rc\.local文件内容如下: ```Bash #!/bin/bash cpupower frequency-set --governor performance nvidia-smi -pm 1 exit 0 ``` 此时,在rc\.local中写入的命令,将在开机时自动运行。该脚本则是开机默认打开CPU性能模式,打开GPU常驻模式。
    DOCUMENT FEEDBACK
    暂无留言,欢迎提交反馈。