内核组成部分:
kernel initrd
内核模块
uname -r查看当前内核
内核的功能:
文件系统
进程管理
内存管理
网络功能
驱动程序
安全管理(selinux)
虚拟化
/proc :进程和内存参数 用于查看进程和内存参数的接口
/sys: 用于查看硬件设备或驱动程序相关参数
cd /proc
cat swaps 查看swap分区信息
cat uptime 查看启动时间
cd /proc/sys/netipv4/
cat ip_forward 用于 ip转发
cd /proc/sys/vm
echo 1 > drop_caches 丢弃缓存
sysctl -p 可以让内核重新读取sysctl.conf文件 不用重启
-a 用于显示当前所有内核参数及正在使用的值
-w 临时设置内核参数数值
如:sysctl -w net.ipv4.ip_forward=0
查看硬件信息
lspci
lsusb
查看cpu的信息 cat /proc/cpuinfo
x86info -a 显示详细信息
手动创建设备文件; mknod
如; mknod /dev/mydev b 16 1
-m 可以设定权限
随机取数:
如 dd if=/dev/urandom bs=256 count=1 | md5sum | cut -d‘ ’ -f1 | tr -d 'a-zA-Z'
有规律的:echo $RANDOM
模块:
lsmod 查看内核已经装载的模块
modinfo 查看模块的信息; 后跟模块名
手动装载和卸载模块:
modprobe module 装载
modprobe -r module 卸载
insmod 插入模块
如: insmod /lib/modules/2.6.18-164.el5/kernel/drivers/block/floppy.ko
rmmod module 移除模块
配置文件:
/etc/modprobe.conf 可给mod起别名
如何编译安装新内核:
1 下载获取新版本内核
2 配置新内核,选定要使用的功能或模块
ln -sv linux-2.6.28.10 linux
yum grouplist "Development Libraries"
yum groupinstall Development Tools
cd /usr/src/linux
cp /boot/config-2.6.18-164.el5 ./.config
make menuconfig []不启用此项
[*]直接编译进内核
[M]编译成模块
cp /boot/config-2.6.18-164.el5 ./.config
3编译新内核
make
4安装
make modules_install
make install
配置内核的替代方法: yum groupinstall "KDE Software Development"
make xconfig
yum groupinstall "GNOME Software Development"
make gconfig
二 在已经编译过的内核源码基础上重新编译:
make clean
nake mrproper 清理源代码数
screen
-ls 查看screen列表
-r 后跟screen id
ctrl+a,d