[转帖]Unix toolbox注解3之Linux运行级别和内核模块_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3654 | 回复: 0   主题: [转帖]Unix toolbox注解3之Linux运行级别和内核模块        下一篇 
ulee@land
注册用户
等级:上尉
经验:769
发帖:55
精华:1
注册:2012-12-17
状态:离线
发送短消息息给ulee@land 加好友    发送短消息息给ulee@land 发消息
发表于: IP:您无权察看 2012-12-20 10:01:30 | [全部帖] [楼主帖] 楼主

Unix toolbox注解3之Linux运行级别和内核模块

分类: Linux基础和服务

1.5 运行级别


一旦内核加载完成,内核会启动init 进程,然后运行rc脚本,之后运行所有属于其运行级别的命令脚本。这些脚本都储存在/etc/rc.d/rcN.d (N代表运行级别),并且都建立着到/etc/init.d子目录中命令脚本程序的符号链接。

默认运行级别配置在 /etc/inittab 中。它通常为35

# 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




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论