LINUX下/ect/rc.d/目录的作用

本文深入解析了Redhat Linux的启动过程,包括init.d、rcx.d等关键目录的作用,以及启动方式、执行次序和初始化脚本的详细内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

init.d/ :各种服务器和程序的二进制文件存放目录。 
rcx.d/: 各个启动级别的执行程序连接目录。里头的东西都是指向init.d/的一些软连接。具体的后边叙述。 
还有三个脚本:rc.sysinit, rc, rc.local 

redhat的启动方式和执行次序是: 
1加载内核 
2执行init程序 
3/etc/rc.d/rc.sysinit           # 由init执行的第一个脚本
4/etc/rc.d/rc$RUNLEVEL.d/*      # $RUNLEVEL为缺省的运行模式 
5/etc/rc.d/rc.local 
6/sbin/mingetty             # 等待用户登录


在Redhat中,/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作,包括: 
1调入keymap以及系统字体 
2启动swapping 
3设置主机名 
4设置NIS域名 
5检查(fsck)并mount文件系统 
6打开quota 
7装载声卡模块 
8设置系统时钟 
9等等。

你在/etc/inittab文件中可以设置运行级别 
/etc/rc.d/rc 则根据其参数指定的运行模式来执行相应目录下的脚本。凡是以Kxx开头的 
,都以stop为参数来调用;凡是以Sxx开头的,都以start为参数来调用。调用的顺序按xx 
从小到大来执行。例如,假设缺省的运行模式是3,/etc/rc.d/rc就会按上述方式调用 
/etc/rc.d/rc3.d/下的脚本。 
值得一提的是,Redhat中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中 
的最后一个,所以用户可以自己在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令。 
init在等待/etc/rc.d/rc执行完毕之后(因为在/etc/inittab中/etc/rc.d/rc的 
action是wait),将在指定的各个虚拟终端上运行/sbin/mingetty,等待用户的登录。 
至此,LINUX的启动结束

### 解决方案 在基于 Debian 或 Ubuntu 的系统中,`/etc/apt/sources.list` 文件是一个非常重要的配置文件,用于指定 APT 软件包管理器从中获取软件包的位置。如果遇到错误提示 `could not find file /etc/apt/sources.list`,这通常意味着该文件丢失或被意外删除。 以下是解决此问题的方法: #### 方法一:重新创建 sources.list 文件 可以通过手动编辑的方式恢复 `/etc/apt/sources.list` 文件的内容。对于标准的 Debian 系统,默认的 `sources.list` 配置可能类似于以下内容[^2]: ```plaintext deb http://ftp.cn.debian.org/debian/ bullseye main contrib non-free deb-src http://ftp.cn.debian.org/debian/ bullseye main contrib non-free deb http://security.debian.org/debian-security bullseye-security main contrib non-free deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free deb http://ftp.cn.debian.org/debian/ bullseye-updates main contrib non-free deb-src http://ftp.cn.debian.org/debian/ bullseye-updates main contrib non-free ``` 请注意,上述 URL 和版本号 (`bullseye`) 可能因具体发行版而异。如果是其他版本(如 `wheezy`),则需替换为对应的版本名称。 执行以下命令来创建并保存新的 `sources.list` 文件: ```bash sudo nano /etc/apt/sources.list ``` 将上述内容粘贴到文件中,并保存退出。 完成之后更新 APT 缓存: ```bash sudo apt update ``` --- #### 方法二:使用官方工具生成默认配置 Debian 提供了一个脚本可以帮助自动生成适合当前系统的 `sources.list` 文件。运行以下命令可以实现这一功能: ```bash sudo dpkg-reconfigure locales sudo rm -f /etc/apt/sources.list.d/* sudo mv /etc/apt/trusted.gpg.d/* ~/.gpg-temp/ sudo apt-get clean all sudo sh -c 'echo "deb http://httpredir.debian.org/debian $(lsb_release -cs) main contrib non-free" > /etc/apt/sources.list' sudo sh -c 'echo "deb-src http://httpredir.debian.org/debian $(lsb_release -cs) main contrib non-free" >> /etc/apt/sources.list' # 添加安全更新源 sudo sh -c 'echo "deb http://security.debian.org/debian-security $(lsb_release -cs)-security main contrib non-free" >> /etc/apt/sources.list' sudo sh -c 'echo "deb-src http://security.debian.org/debian-security $(lsb_release -cs)-security main contrib non-free" >> /etc/apt/sources.list' # 更新缓存 sudo apt update ``` 这些命令会根据当前的操作系统版本自动填充合适的仓库地址[^1]。 --- #### 方法三:从备份或其他机器复制 如果之前有做过系统备份,则可以从备份中提取原始的 `sources.list` 文件。如果没有备份,也可以从另一台相同版本的 Debian 或 Ubuntu 系统上复制该文件。 假设目标路径已设置好,可以直接通过 SCP 或者 USB 设备传输文件至新系统中的 `/etc/apt/` 目录下。 --- #### 注意事项 - 如果不确定正在使用的 Debian 版本,请运行以下命令确认: ```bash lsb_release -a ``` - 修改完成后务必测试是否正常工作: ```bash sudo apt update && sudo apt upgrade ``` --- ### 总结 以上方法涵盖了多种场景下的修复方式,无论是手动重建还是借助自动化工具都可以有效解决问题。确保最终的 `sources.list` 文件符合实际需求以及操作系统版本的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值