您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
马哥linux运维学习笔记-Linux内核编译及系统裁减之一
发布时间:2018-09-23 12:18:48编辑:雪饮阅读()
free -m
一个查看内存占用的命令free,m参数是以M单位来显示
清除buffers与cached占用
在free命令结果中有buffers和cached字段显示其对内存的占用
使用命令echo 1 > /proc/sys/vm/drop_caches可以对这两项内存占用进行清除。
sysctl
sysctl命令用于运行时配置内核参数,这些参数位于/proc/sys目录下。sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。
-w 临时改变某个指定参数的值,如
设定主机名:sysctl -w kernel.hostname=xy
清空buffers和cached内存占用:sysctl -w vm.drop_caches=1
-p 将内核参数配置文件中的配置值载入内存
-a 显示所有内核参数及其值
永久修改内核参数配置
直接修改配置文件vi /etc/sysctl.conf中对应项的值即可
修改后可通过sysctl -p使其立即载入内存,得以使得本次修改立马生效,而且重启后配置仍然生效。
lsmod
列出当前内核所装载的内核模块清单
其中used字段是使用该模块的统计数,by字段是依赖该模块的应用
modprobe -r
modprobe命令用于自动处理可载入模块。
-r:卸载模块,如:
modprobe -r dm_mirror
装载模块:modprobe dm_mirror
modinfo
用于查看某模块的详细信息
modinfo dm_mirror
rmmod
用来卸载某模块
rmmod dm_mirror
内核编译安装
(1)安装编译所用开发环境
yum groupinstall "Development Tools" "Development Libraries" -y
(2)下载linux内核(注意下载的内核版本号包括子版本号最好都和当前系统的完全一致)并解压到指定目录,命令:
tar -zxvf 文件名 -C 目标路径
-C:指定解压文件的目标路径
(3)进入解压后的目录为目录中"linux-版本号"的文件夹做符号链接,命令:
ln -sv 实际文件 目标文件
-s:符号链接
-v:显示命令执行过程
ln -sv linux-2.6.32.5 linux
(4)进入配置菜单
注意:
(1)该配置菜单有窗口尺寸限制,你的窗口至少能容纳19行80列。
(2)该配置菜单依赖ncurses-devel,所以yum install -y ncurses-devel
即可。
(5)窗口操作介绍
前缀是中括号:
表示该项是最终项,没有下级项,若中括号中是*表示该项将会被做入内核,若是M则表示该项被做入内核模块,若是中括号中没有值,则表示该项不启用。
前缀是小括号:表示该项的值可以通过输入来设定
上下箭头:移动光标进行选择项,空格则是切换中括号中的值。
回车键:进入选中项
esc键:退回到上级,若进入该菜单中有了修改操作,则在最终退出该菜单时会提示是否保存
配置,yes即为保存,保存后会在当前目录生成一个".config"隐藏的配置文件
(6)重要菜单项介绍
General setup-》Local version - append to kernel release
该项设置的是uname -r所呈现的内核版本号中包含"-"及其后边的值
Processor type and features-》Processor family (默认cpu)
为了更好的兼容性,默认选择了比较老的cpu
(7)复制当前系统的内核编译配置,在其基础上进行配置
因为我们自己选择的内核配置可能有问题,所以最好在当前系统内核编译配置的基础上进行修改
使用ls /boot命令后看到如“config-2.6.32-504.el6.x86_64”文件就是我们系统内核编译的配置文件
将其复制到我们当前目录中以覆盖我们方才的配置文件。
然后再次make menuconfig进行配置
(8)设备驱动裁剪
Device Drivers-》Network device support:
Ethernet (10000 Mbit)
PCMCIA network device support
Wan interfaces support
ATM drivers
FDDI driver support
这些项都是可以裁剪的,一般都不使用的。
然后一路退出保存配置即可。
(8)screen
编译安装后重启系统要求选择新内核,一般没有什么问题
但是编译安装过程是非常耗时的,一般不建议直接用远程连接。比如你远程连接中断,而此时命令还在执行着,那么当你下次连接进来时已经找不到上次连接的会话窗口了而是一个新的会话窗口。
而screen命令就是来解决这种尴尬场景的。
如果远程连接中断,那么下次重新远程连接后可以使用screen -ls查看上次没有结束掉的screen窗口列表
安装screen:
yum install screen
screen的使用:
screen:打开一个screen会话窗口
ctrl+a,松开再按d:将当前打开的screen会话窗口放置后台
screen -ls:显示screen会员窗口列表
screen -r id(screen会话窗口列表中每个会话窗口的编号):还原某个screen会话窗口。
exit:关闭并退出当前screen窗口
(9)编译安装内核
注意事项:必须以screen编译安装内核比较安全,若安装失败进行二次编译安装时为了安全起见最好先执行以下命令彻底清除之前make操作带来的影响,另外如果有快照功能最好提前做下快照,便于失败后的回滚。
编译痕迹清除:
make clean
make mrproper
内核编译命令:
make
make modules_install
make install
编译安装后重启系统要求选择新内核,一般没有什么问题。
关键字词:linux,内核,裁剪