Unix toolbox注解3之Linux运行级别和内核模块
2012-12-19 15:47
330 查看
1.5 运行级别
一旦内核加载完成,内核会启动init 进程,然后运行rc脚本,之后运行所有属于其运行级别的命令脚本。这些脚本都储存在/etc/rc.d/rcN.d 中(N代表运行级别),并且都建立着到/etc/init.d子目录中命令脚本程序的符号链接。默认运行级别配置在 /etc/inittab 中。它通常为3或5:
# grep default: /etc/inittab
id:3:initdefault:
可以使用init 来改变当前运行级别。举个例子:
# init 5 #
进入运行级别 5
运行级别列表如下:
0 系统停止
1 进入单用户模式(也可以是 S)
2 没有 NFS
特性的多用户模式
3 完全多用户模式(正常操作模式)
4 未使用
5 类似于级别3,但提供XWindow 系统登录环境
6 重新启动系统
使用chkconfig 工具控制程序在一个运行级别启动和停止。
# chkconfig --list
# 列出所有 init
脚本
# chkconfig --list sshd
# 查看 sshd
在各个运行级别中的启动配置
# chkconfig sshd --level 35 on
# 对sshd
在级别 3 和 5 下创建启动项
# chkconfig sshd off
# 在所有的运行级别下禁用 sshd
同样可以使用进程init 进入下列状态级别。举个例子: # init 6 为重启。
0 停止系统并关闭电源 (信号USR2)
1 进入单用户模式 (信号TERM)
6 重新启动 (信号INT)
c 阻止进一步登录 (信号TSTP)
q 重新检查 ttys(5) 文件 (信号HUP)
1.6 重设root密码
Linux方法1:在引导加载器(lilo 或 grub)中,键入如下启选项:
init=/bin/sh
内核会挂载root分区,进程init 会启动bourne shell而不是rc,然后是运行级别。使用命令passwd设置密码然后重启。别忘了需要在单用户模式下做这些动作。
如果重启后root分区被挂载为只读,重新挂在它为读写:
# mount -o remount,rw /
# passwd #
或者删除 root 密码 (/etc/shadow)
# sync; mount -o remount,ro /
# sync 在重新挂在为只读之前 sync
一下
# reboot
(关于第一种方法笔者会专文介绍)
Linux方法2:
通过livecd或者安装盘(包括CD、网络rescue都可以)
Linux方法3:
当然也可以通过单人模式修改
1.7 内核模块
# lsmod# 列出所有已载入内核的模块
# modprobe isdn #
载入 isdn 模块
# insmod isdn #
载入isdn 模块,和modprobe类似,功能没有modprobe强大
# rmmod isdn #
移除某个模块
1.8 编译内核
# cd /usr/src/linux# make mrproper
# 清除所有东西,包括配置文件
# make oldconfig
# 从当前内核配置文件的基础上创建一个新的配置文件
# make menuconfig
# 或者 xconfig (Qt)
或者 gconfig (GTK)
# make
# 创建一个已压缩的内核映像文件
# make modules
# 编译模块
# make modules_install
# 安装模块
# make install
# 安装内核
# reboot
对于Redhat如下:
# pwd
/usr/src/kernels/2.6.32-131.0.15.el6.i686
# makemenuconfig
相关文章推荐
- Unix toolbox注解3之Linux运行级别和内核模块
- rmmod命令_Linux rmmod 命令用法详解:从运行的内核中移除指定的内核模块
- 编译在linux arm核上运行的内核模块
- linux模块编程(二)——运行不息的内核线程kthread
- linux设备驱动编程-初探(2)--在内核中构造和运行模块
- linux模块编程(二)——运行不息的内核线程kthread
- linux模块编程(二)——运行不息的内核线程kthread
- LKRG:用于运行时完整性检查的可加载内核模块 | Linux 中国
- 在linux系统上运行新加的内核模块(驱动模块) 需要安装的东西
- linux模块编程(二)——运行不息的内核线程kthread
- 主题:QT3.3.8b编程在Linux2.4.18内核中的运行机制
- 03-linux系统的运行的级别
- 一张图看尽 Linux 内核运行原理
- Linux运行级别
- chkconfig用法及Linux的七个运行级别讲解
- Linux最简单内核模块编写
- iptables的time模块下载(适用于linux 2.6.18.1内核)
- Linux-服务管理 之---运行级别
- Linuxx 2.6内核可加载模块的编译
- linux程序运行时间统计(us级别)