首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rc,rc.local和rc.sysinit有什么区别?

rc,rc.local和rc.sysinit有什么区别?
EN

Unix & Linux用户
提问于 2014-07-02 01:30:33
回答 2查看 11.4K关注 0票数 3

我试图在启动时显示当前运行级的启动脚本列表。我写了以下代码。

代码语言:javascript
复制
rl=`runlevel | cut -d " " -f2`
ls /etc/rc.d/rc$rl.d/S* | cut -d "/" -f5
sleep 10

如果我将这段代码放入rc.local文件中,它就可以工作了。

但是,如果我将其放入rc文件或单独的脚本文件中,abc/etc/init.d中并通过在运行级目录中创建软链接,则无法工作。

但是,下面这样的简单命令可以在所有方法中运行。

代码语言:javascript
复制
ls /etc/init.d

除非一些脚本已经启动,否则运行级或管道之类的命令会不能工作吗?或者还有别的什么吗?

如果我把我的代码放在rc文件中,我的代码会在重新启动之前和之后运行。

  • 那么rcrc.localrc.sysinit文件之间有什么区别呢?
  • 我到底需要在哪里编辑这些文件?

此外,我还可以在2、3、4和5个运行级别中找到用于S99local ->的rc.local软链接。

这是否意味着rc.local不会在运行级别1上运行?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2014-07-02 02:17:46

  • rc通常不是Linux发行版使用的,而是用于BSD
  • 使用rc.local可以在启动期间执行附加命令,而不必添加符号链接。
  • rc.sysinit似乎是特定于红帽的,并且在这个过程中很早就被执行了。它作为第一批脚本之一执行,而rc.local则在稍后执行。

此外,我还可以在2,3,4和5个运行级别中找到用于S99local ->的rc.local软链接。这是否意味着rc.local不会在运行级别1上运行?

正确,这意味着S99local是指向/etc/rc.local的符号链接,它将是进入运行级2345时执行的最后一个脚本之一。它不会在运行级1中执行,因为1单用户运行级,通常用于救援/维护工作。

票数 6
EN

Unix & Linux用户

发布于 2019-06-09 10:13:39

rc.sysinit是由init进程执行的第一个脚本。此脚本用于初始化系统,其中包括以下内容:

  • 加载内核模块
  • 设置主机名
  • 从sysctl.conf配置内核参数
  • 初始化串口,RAID,LVM
  • 检查和挂载文件系统(/proc、/sys和/etc/fstab中的其他文件系统)。这是当它用/etc/fstab中指定的选项重新挂载根文件系统时(请记住,在启动init进程之前,根文件系统是以只读方式在/sysroot挂载的)

rc.sysinit执行后,运行级脚本将执行(如果默认运行级别为3,则/etc/rc.d/rc3.d/中的脚本)。

运行级脚本执行完毕后,/etc/rc.d/rc.local脚本将执行,如果不想执行整个SysV脚本内容,则可以在该文件中放置额外的启动内容,这涉及创建符号链接和以特定格式命名脚本等。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/140270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档