Linux 开机自启动详解

一、systemd 自启动

systemd 是目前大部分 Linux 发行版都使用的初始化系统,它可以控制系统进程的启动与管理。在 systemd 启动过程中,会按照一定的顺序启动各个服务,其中 systemd 启动的第一个服务是初始化进程 systemd,其他服务会在 systemd 的控制下依次启动。想要让一个服务在开机时自动启动,只需在启动时改变该服务的状态即可。

1、通过 systemctl 命令管理服务
在 systemd 中,可以使用 systemctl 命令来管理系统的各种服务,包括启动、停止、重启、查看状态等,使用 systemctl 命令设置自启动服务也很方便。下面是设置 docker 自启动的命令:

sudo systemctl enable docker.service

2、通过服务文件管理自启动服务
除了通过命令管理服务的自启动,我们也可以通过编辑服务文件来管理服务的自启动。Linux 下的服务文件一般放在 /usr/lib/systemd/system 或者 /etc/systemd/system 目录下。以 docker.service 文件为例,在该文件中添加下面的一行配置即可设置 docker 自启动:

[Install]
WantedBy=multi-user.target

二、SysVinit 自启动

SysVinit 也是一种 Linux 初始化程序,一些旧的发行版仍在使用。它主要通过运行各个脚本来控制启动过程和系统服务的启动。在使用 SysVinit 时,通常需要编写脚本并放到特定目录中,这样才能实现服务的自启动。

1、通过 chkconfig 命令管理自启动服务
chkconfig 命令可以帮助我们方便地管理启动脚本,在使用该命令时,只需要指定一个服务和启动级别即可,例如下面的命令将 httpd 服务添加到运行级别 3 中:

sudo chkconfig --level 3 httpd on

2、通过在启动脚本中编写注释来实现自启动
除了使用 chkconfig 命令管理启动脚本之外,我们也可以直接编辑脚本文件,在文件头部添加注释实现自启动的配置。在脚本头部添加以下代码即可:

# chkconfig: 2345 80 90

三、其他相关内容

1、在 systemd 中,有两个目标是非常常见的,分别是 multi-user.target 和 graphical.target。multi-user.target 用于启动无 GUI 模式下的服务,该目标是 Linux 系统的标准启动目标。graphical.target 用于启动带有 GUI 模式下的服务。

2、在某些情况下,我们需要在系统启动之后自动运行一些命令。这时,我们可以在 /etc/rc.d/rc.local 文件中添加需要在启动时执行的命令。

总结

Linux 的开机自启动是一个非常重要的功能,它可以帮助我们方便地管理系统服务并保证它们在系统启动后自动运行。本文介绍了 systemd 和 SysVinit 两种初始化系统以及它们的自启动配置方法。此外,我们还介绍了如何在系统启动之后自动运行某些命令。希望这篇文章能够帮助大家更好地理解和使用 Linux 系统。

原创文章,作者:VASZR,如若转载,请注明出处:https://www.506064.com/n/361135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
VASZRVASZR
上一篇 2025-02-24 00:34
下一篇 2025-02-24 00:34

相关推荐

  • 如何在Linux中添加用户并修改配置文件

    本文将从多个方面详细介绍在Linux系统下如何添加新用户并修改配置文件 一、添加新用户 在Linux系统下创建新用户非常简单,只需使用adduser命令即可。使用以下命令添加新用户…

    编程 2025-04-27
  • 如何解决linux jar包 invalid or corrupt jarfile问题

    对于许多开发人员和系统管理员在Linux环境下使用Java开发过程中遇到的一个常见的问题是 invalid or corrupt jarfile(无效或损坏的jar文件)错误。当您…

    编程 2025-04-27
  • 在Linux上安装JRE并配置环境变量

    本文将从以下几个方面为您详细阐述如何在Linux系统上,通过自己账户安装JRE,并且配置环境变量。 一、安装JRE 在进行安装前,我们需要下载JRE的安装包并解压,可以从官方网站下…

    编程 2025-04-27
  • GTKAM:Linux下的照片管理器

    GTKAM是用于Linux操作系统的一款照片管理器,它支持多种相机及存储设备,并提供了一系列强大的工具,让用户可以方便地浏览、管理、编辑和导出照片。本文将从多个方面对GTKAM进行…

    编程 2025-04-27
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • Java BigDecimal 精度详解

    一、基础概念 Java BigDecimal 是一个用于高精度计算的类。普通的 double 或 float 类型只能精确表示有限的数字,而对于需要高精度计算的场景,BigDeci…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25

发表回复

登录后才能评论