热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

debian的脚本启动方式

debian的脚本启动方式--Linux发行版技术-Debian信息,下面是详情阅读。
同所有的 Unix 一样, Debian 启动时要执行 init 程序. init 的配置文件(/etc/inittab)中指定的第一个执行脚本应该是 /etc/init.d/rcS. 该脚本执行 /etc/rcS.d/ 目录中各脚本的扩展名指定或衍生进程完成诸如检查并挂载文件系, 装载内核模块, 启动网络服务, 设定时钟等系统初始化工作. 接着, 为了兼容性考虑, 它运行 /etc/rc.boot/ 目录下的文件(除了那些文件名中包含 `.' 的文件), 目录中的脚本通常是供系统管理员使用的, 用于有兼容性问题的软件包.

完成系统启动进程后, init 执行默认运行级别(该运行级别由 /etc/inittab 中的 id 给出)指定的所有的启动脚本. 同大多数 System V 兼 容Unix 一样, Linux 有 7 个运行级别:

0 (关闭系统),

1 (单用户模式),

2 到 5 (各种多用户模式), 以及

6 (重启系统).

Debian 系统运行 id=2, 它表示进入多用户模式时默认运行级别为 '2', 所以将运行 /etc/rc2.d/ 中的脚本.

实际上, 任意目录 /etc/rcN.d/ 中的脚本都是指向 /etc/init.d/ 的符号链接(软件链接#ln -s 源文件 目标文件名). 然而, 每个 /etc/rcN.d/ 目录中文件的名称用来指定 /etc/init.d相应脚本的运行方式. 特别是, 在进入任何运行级别之前, 所有名称以 'K' 打头的脚本均被运行, 这些脚本的工作是中止进程. 然后, 所有名称以 'S' 打头的脚本被运行, 这些脚本的工作是启动进程. 名称中跟在 'K' 或 'S' 后的两位数规定了脚本运行的先后次序, 数字小的脚本先运行.

采用这种工作方式是因为 /etc/init.d/ 中的脚本均有一个参数规定脚本`start', `stop', `reload', `restart' 或 `force-reload', 脚本按各自参数的赋值执行任务. 这些脚本甚至可以在系统启动后, 用来控制各种进程.

例如, 使用带 `reload' 参数的命令

/etc/init.d/sendmail reload

发给 sendmail daemon 进程一个信号, 要它重读配置文件。

我们可在rc.local文件中添加开机要启动的项目,就可以达到开机自动启动的效果。因为rc.local在/etc/init.d/下。rc.local又默认符号链接到debian开机启动脚本rc2.d下。或者可直接在/etc/init.d下创建一个可执行的脚本,直接在rc2.d中做一个符号链接。如:在init.d下创建了一个firewall的脚本,在rc2.d下一个符号链接#ln -s /etc/init.d/firewall S20firewall
推荐阅读
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文介绍如何通过更改软件源来提前体验Ubuntu 8.10,包括详细的配置步骤和相关注意事项。 ... [详细]
  • 本文提供了在 Kali Linux 2020.01 x64 版本上安装 Docker 的详细步骤,包括环境准备、使用清华大学镜像源、配置 APT 仓库以及安装过程中的常见问题处理。 ... [详细]
  • 本文介绍了如何在Ubuntu 16.04系统上配置Nginx服务器,以便能够通过网络访问存储在服务器上的图片资源。这解决了在网页开发中需要使用自定义在线图标的需求。 ... [详细]
  • Linux环境下配置Subclipse访问SVN+SSH仓库的方法
    本文详细介绍如何在Linux操作系统中配置Subclipse,以便通过SSH协议安全访问SVN仓库。不同于常见的Windows配置指南,本文提供了针对Linux用户的详细步骤。 ... [详细]
  • 本文探讨了Unix和Linux操作系统的起源和发展历程。从20世纪60年代计算机技术的初期阶段,到Unix的诞生及后续Linux的崛起,文章详细介绍了这些操作系统如何逐步成为现代计算不可或缺的一部分。 ... [详细]
  • 在Ubuntu 14.04 (Desktop AMD64) 上安装与配置ROS Indigo
    本文档详细介绍了如何在Ubuntu 14.04 (Desktop AMD64) 系统上安装和配置ROS Indigo。包括设置软件源、安装ROS核心组件、初始化rosdep以及创建ROS工作空间等步骤。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 本文介绍了Linux操作系统的核心组成部分——内核及其版本分类,以及市面上常见的几种Linux发行版,旨在为初学者提供一个清晰的学习路径。 ... [详细]
  • 本文介绍了如何在Linux系统中获取库源码,并在从源代码编译软件时收集所需的依赖项列表。 ... [详细]
  • 本文详细介绍了如何使用Layui框架实现动态和静态数据表的分页功能,具有较高的实用性和参考价值。适合需要开发管理后台的开发人员参考。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 当我们忘记了Debian系统的登录密码而无法进入系统时,可以通过以下方法进行密码重置。在GRUB2引导界面中选择Debian启动项,按下“e”键进入编辑模式。接着找到以“linux”或“linux16”开头的行,在该行末尾添加“init=/bin/bash”参数。保存并继续启动,系统将进入单用户模式,此时可以使用`passwd`命令来重置root用户的密码。完成后重启系统即可正常登录。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
author-avatar
手机用户2602909133
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有