- 如何察看与修改 runlevel 呢?
察看很简单,只要输入『 runlevel 』就可以得知。而如果要修改目前的 runlevel ,
可以直接输入 init [level] 例如要去到 runlevel 3 可以:『 init 3 』即可。
如果想要每次启动都配置固定的 runlevel ,那么可以修改 /etc/inittab 这个文件!
将里面这一行改成:『id:3:initdefault:』即可。
- 我有个朋友跟我说,他想要让一个程序在 Linux 系统下一启动就启动,但是在关机前会自动的先结束该程序,我该怎么建议他?
由於 /etc/rc.d/rc[0-6].d 里面有的 Sxxname 与
Kxxname 可以配置启动启动与关机结束的事项!所以我就可以轻易的写一个 script
放在 /etc/rc.d/init.d 里面,并连结到我的 run-level 里头,就可以让他自由自在的启动与结束了!
- 万一不幸,我的一些模块没有办法让 Linux 的核心捉到,但是偏偏这个核心明明就有支持该模块,
我要让该模块在启动的时候就被加载,那么应该写入那个文件?
应该写入 /etc/modprobe.conf (kernel 2.6.x) 或者是 /etc/modules.conf (kernel 2.4.x)
这个文件,他是模块加载相关的地方呢!当然,也可以写入 /etc/sysconfig/modules/* 里面。
- 如何在 grub 启动过程当中,指定以『 run level 1 』来启动?
在启动进入 boot loader 之后,利用 grub shell 的功能,亦即输入『 e 』进入编辑模式,
然后在 kernel 后面添加:
kernel (hd0,0)/boot/vmlinuz ro root=/dev/hda1 .... single
那个 single 也可以改成 1 ,就能够进入。同样的,若使用 lilo 时,按下 tab 按键后,
输入
label_name -s
就能够进入 run level 1 罗!
- 由於一些无心之过,导致系统启动时,只要运行 init 就会产生错误而无法继续启动,
我们知道可以在启动的时候,不要以 init 加载系统,可以转换第一支运行程序,
假设我第一支运行程序想要改为 /bin/bash ,好让我自行维护系统(不同於 run level 1 喔!),
该如何进行此一工作?
在启动的过程当中,进入 lilo 或 grub 的画面后,在 kernel 的参数环境下,加入 init=/bin/bash
来取代 /sbin/init ,则可略过 init 与 /etc/inittab 的配置项目,不过,您必须相当熟悉 grub
与 lilo 的配置才行喔! ^_^
- 在 CentOS 当中,我们如何自动可加载的模块?
可以经由配置 /etc/modprobe.conf 或者是将自行做好的配置档写入到 /etc/sysconfig/modules/ 目录中,
并且将档名取为 filename.modules ,注意喔,文件结果务必是 .modules 才行。
相关资讯可以参考 /etc/rc.d/rc.sysinit 喔!
- 如果你不小心先安装 Linux 再安装 Windows 导致 boot loader 无法找到 Linux 的启动菜单,该如何挽救?
方法有很多,例如:
(1)藉助第三方软件,安装类似 spfdisk 的软件在 MBR 里面,因为他同时认识 Linux 与 Windows ,所以就可以用他来进入
Linux 啦!
(2)或者使用类似 KNOPPIX 的 Live CD 以光盘启动进入 Linux 之后,再以 chroot 软件切换根目录
(/),然后重新安装 grub 等 boot loader ,同样也可以重新让两个操作系统存在啦!
总之,只要你知道 MBR / Super block / boot loader 之间的相关性,怎么切换都可能啊! ^_^