Debian 10 查看开机自启动脚本的详细指南

admin
本文介绍了Debian 10系统中查看开机自启动脚本的详细方法,主要涵盖两种方式:一是通过systemd管理服务,使用systemctl list-unit-files --type=service列出所有开机启动服务,或查看/etc/systemd/system//usr/lib/systemd/system/目录下的.service文件;二是针对传统SysVinit脚本,检查/etc/init.d/目录及/etc/rc*.d/链接文件,也可使用chkconfig --list(若安装),可通过systemctl status 服务名查看服务状态,或直接查看脚本内容确认配置。

在Linux系统管理中,开机自启动脚本(或服务)是确保关键服务、工具或自定义程序在系统启动时自动运行的核心机制,Debian 10(Buster)作为广泛使用的服务器和桌面系统,默认采用systemd作为初始化系统(init system),同时保留了对传统init.d脚本和rc.local的支持,本文将详细介绍在Debian 10中查看开机自启动脚本的多种方法,帮助用户快速定位和管理自启动配置。

通过 Systemd 查看系统级自启动服务(推荐方法)

systemd是Debian 10的默认初始化系统,负责管理系统启动、服务运行、资源管理等核心任务,绝大多数系统级自启动服务都以systemd单元(unit)的形式存在,通过systemctl命令可以方便地查看和管理。

列出所有已启用的自启动服务

使用以下命令查看所有在系统启动时自动启用的systemd服务:

Debian 10 查看开机自启动脚本的详细指南

systemctl list-unit-files --type=service --state=enabled

输出示例:

UNIT FILE           STATE  
networkd.service    enabled  
ssh.service         enabled  
cron.service        enabled  
user@1000.service   enabled  
  • UNIT FILE:服务单元文件名(通常为<服务名>.service);
  • STATEenabled表示开机自启动,disabled表示禁用,static表示由其他服务触发启动。

查看具体服务的启动脚本路径

每个systemd服务的配置文件位于/lib/systemd/system//etc/systemd/system/目录下(前者为系统默认配置,后者为用户自定义覆盖),查看ssh服务的配置文件:

cat /lib/systemd/system/ssh.service
```  解析:  
- `[Unit]`:定义服务的基本信息(如依赖关系、描述);  
- `[Service]`:定义服务的启动命令、运行用户、工作目录等(如`ExecStart=/usr/sbin/sshd -D`);  
- `[Install]`:定义服务的安装方式(如`WantedBy=multi-user.target`表示在多用户模式下启动)。  
### 3. 查看服务的启动状态和日志
若需确认服务是否成功启动,可使用以下命令:  
```bash
systemctl status ssh.service
journalctl -u ssh.service -b  # 查看本次启动中ssh服务的日志

-b参数表示显示本次启动的日志(--boot可显示所有启动日志)。

查看传统 init.d 脚本(兼容旧版服务)

虽然systemd已成为主流,但Debian 10仍保留了对init.d脚本的支持(位于/etc/init.d/目录),部分老旧服务或自定义脚本可能仍通过init.d管理。

列出所有 init.d 脚本

ls /etc/init.d/

输出示例:

bootmisc.sh  cron  hostname  networking  ssh  udev  ...  

查看脚本是否启用(及启动级别)

init.d脚本的启用状态通过update-rc.d管理,可通过以下命令查看脚本的启动链接:

ls /etc/rc*.d/ | grep <脚本名>

查看ssh脚本的启动链接:

ls /etc/rc*.d/ | grep ssh

输出示例:

S02ssh  K20ssh  
  • S开头的链接表示“启动”(S后面的数字是启动顺序,越小越先启动);
  • K开头的链接表示“停止”(K后面的数字是停止顺序,越小越先停止)。
    若存在S链接,表示该脚本会在对应运行级别下启动(如rc2.d对应多用户无网络模式,rc3.d对应多用户有网络模式)。

查看脚本内容

直接查看/etc/init.d/下的脚本文件:

cat /etc/init.d/ssh

脚本通常包含startstoprestart等函数,通过service <脚本名> start手动启动时调用。

检查 rc.local 自启动脚本

rc.local是Linux系统中经典的“自定义启动脚本”入口,允许用户在系统启动时执行自定义命令,在Debian 10中,rc.local默认不启用,但可通过简单配置恢复。

检查 rc.local 是否启用

systemctl status rc-local

若输出“Active: inactive (dead)”,表示未启用;若为“Active: active (running)”,则已启用。

启用 rc.local(如未启用)

创建/etc/systemd/system/rc-local.service参考/usr/lib/systemd/system/rc-local.service),并执行:

		
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码