ubuntu 下怎么没有/etc/inittab

因为debian 系衍生出来的linux 一向是没有使用/etc/inittab 作为登入状态文档来使用的。但是

虽然没有系统默认没有这个文件,但是你可以自己建一个inittab文件。

因为从/etc/event.d/中的rc-default文件中代码可以看出:

script
runlevel --reboot || true

if grep -q -w -- "-s/|single/|S" /proc/cmdline; then
telinit S
elif [ -r /etc/inittab ]; then
RL="$(sed -n -e "/^id:[0-9]*:initdefault:/{s/^id://;s/:.*//;p}" /etc/inittab || true)"
if [ -n "$RL" ]; then
telinit $RL
else
telinit 2
fi
else
telinit 2
fi
end script

系统会首先搜寻inittab文件,如果不存在,那么将运行在2级别上。所以你可以自己建个inittab文件,或者把相应的telinit 2 改为 telinit X(你想要运行的级别)

转到kubuntu之前曾经学习了一下,了解到ubuntu在6.10开始用upstart替代init,主要脚本都在/etc/event.d下面,默认情况下/etc下没有inittab文件。

刚装上kubuntu时候专门到/etc/event.d下看了一下,特别注意到rc-default这个脚本,里面有一段内容:

elif [ -r /etc/inittab ] then

说明默认情况下inittab虽然不存在,但是用户建立的inittab还是会被注意到的。

然后又经别人的指点看了一下/usr/share/doc/upstart/下面的文档,其中README.Debian中有这么一段内容:

这就给我这样一个印象,即虽然ubuntu用upstart替代init,但还是和init保持兼容。

今天正好需要将系统直接启动到字符界面下,即不启动kdm。

edit the /etc/inittab file

那就试试自建一个inittab文件,并按照以前的习惯写入一行id:3:initdefault: ,保存后重新启动,结果发现毫无变化,依然启动到桌面,有点纳闷,难道inittab不起作用?在终端里输入runlevel检查当前状态,显示 N 3,说明inittab有效果,那是什么原因呢?

将刚才建立的inittab移除,将系统恢复到之前的状态并重新启动,再用runlevel检查,显示 N 2,说明ubuntu系统的default runlevel可能是2,这和我以前的常识有些冲突,看来又需要学习了。

先去分别查看/etc/rc2.d至rc5.d下的内容,发现基本一致,都启动了kdm。这与其他的linux发行版不太一致,通常runlevel 3是Multi user mode,即直接登录到字符界面;而runlevel 5是Multi user mode with GUI,即登录到图形界面。

后来在Debian的FAQ里面搜索到这样的内容:

0(halt the system)
1(single-user mode)
2through5(various muli-user modes),and
6(reboot the system)

小区别就在这里了,看来debian以及衍生出来的发行版,如ubuntu的default runlevel确实是2,而且id 2至5都是一样的。

真相大白,再次建立inittab,写入id:3:initdefault: ,然后进入/etc/rc3.d,将S13kdm移动到其他目录备份起来,重新启动系统,如愿以偿进入字符界面。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这三个文件在Linux系统中有不同的功能: 1. `/etc/fstab`:该文件是存储文件系统表的文件,它定义了在启动时要挂载的文件系统以及它们的属性。每当系统启动时,内核会根据 `/etc/fstab` 文件中的配置信息自动挂载文件系统。这些配置包括文件系统类型、设备路径、挂载点、挂载选项等。通过编辑 `/etc/fstab` 文件,您可以管理系统上的磁盘分区和网络文件系统(NFS)等。 2. `/etc/inittab`:该文件是早期System V init系统中使用的配置文件,但在许多现代Linux发行版中已被systemd或其他替代init系统取代。`/etc/inittab` 文件定义了系统的运行级别(runlevel)以及与每个运行级别关联的进程。它还包含了在引导过程中要启动的各种初始化脚本和服务的定义。然而,现代Linux发行版中,如Ubuntu、CentOS等已经转向使用systemd或Upstart等替代init系统,因此 `/etc/inittab` 文件可能不再存在或不再使用。 3. `/etc/resolv.conf`:该文件是存储系统的DNS解析器配置的文件。DNS解析器用于将域名解析为IP地址。`/etc/resolv.conf` 文件包含了用于DNS解析的域名服务器的IP地址,以及其他相关的配置选项,如搜索域(search domain)和域名解析超时时间等。通过编辑 `/etc/resolv.conf` 文件,您可以配置系统的DNS解析器以满足特定的网络需求。 请注意,对于不同的Linux发行版和系统配置,这些文件的功能和作用可能会有所不同。在对这些文件进行更改之前,请确保您了解其作用,并备份相关文件以防止意外情况发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值