centos 裁剪,centos7卸载软件命令
各位老铁们,大家好,今天由我来为大家分享centos 裁剪,以及centos7卸载软件命令的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
CentOS 5.5下如何编译安装新内核
第一步:下载内核
传送门:地址.笔者下载的是3.2.84版本
第二步:解压编译内核
由于我下的是.tar.xz文件,用tar命令不能直接解压。
1.我的系统里不带xz解压软件,先下载xz-5.0.3.tar.bz2文件并解压安装
tar-jvxf xz-5.0.3.tar.bz2 cd/opt/xz-5.0.3#进入解压后的文件夹./configure make make install
2.解压内核
xz-d linux-3.2.84.tar.xz tar-xvf linux-3.2.84.tar
3.如果是第一次编译内核,并没有上次残留的文件可以跳过该步骤(最好仔细看下指令对应的功能)
make mrproper make clean删除大多数的编译生成文件,但是会保留内核的配置文件.config,还有足够的编译支持来建立扩展模块 make mrproper删除所有的编译生成文件,还有内核配置文件,再加上各种备份文件 make distclean mrproper删除的文件,加上编辑备份文件和一些补丁文件。
4.搭建编译内核所需要的环境
yum-y install gcc yum install ncurses ncurses-devel yum install openssl-devel
5.进入内核解压文件夹配置内核参数
由于我是个小白不会选,为了方便,直接用make localmodconfig命令,这个命令是以本来的.config文件为基础去选,可以参考论文:嵌入式linux系统的裁剪优化和测试技术.然后我就一直回车直到结束。然后再输入make menuconfig命令进入图形选择菜单,将kenel hacking中的Sample..选项去掉(具体那一项我忘了,尴尬),退出保存。然后编辑.config文件中的“CONFIG_SYSFS_DEPRECATED”,默认该选项为not set,被注释掉的,将其改为y,即修改为“CONFIG_SYSFS_DEPRECATED=y”,之后可能还要修改,后面再说。
6.编译新内核
make bzImage&& make modules&& make modules_install
7.安装内核
8.编译安装可能出现的情况
应该是没什么问题,不过也不排除会出现下面的情况:make:警告:检测到时钟错误。您的创建可能是不完整的。解决办法:find.-type f-exec touch{} \;重新编译下就好了。
9.处理下img中的东西(我说不清楚==)
1)解压initrd文件
# cp/boot/initrd-3.2.84.img/tmp# cd/tmp/# ls initrd-2.6.30.4.img# mkdir newinitrd# cd newinitrd/# zcat../initrd-2.6.30.4.img| cpio-i
释放之后看到如下内容
# ls bin dev etc init lib proc sbin sys sysroot
2)编辑init,删掉其中重复的四行中的两行 echo“Loading dm-region-hash.ko module” insmod/lib/dm-region-hash.ko echo“Loading dm-region-hash.ko module” insmod/lib/dm-region-hash.ko 3)重新打包initrd
# find.| cpio-c-o>../initrd 11538 blocks# cd..# gzip-9< initrd> initrd.img# ls initrd-2.6.30.4.img initrd initrd.img
这里面的initrd.img就是重新打包后的文件。 4)把initrd.img复制到/boot下命令:#cp initrd.img/boot 5)修改grub.config,在/etc文件夹下把initrd-3.2.84.img改为initrd.img就可以了 6)reboot重启记得选择自己的内核!别错过啦!
以上内容就是小编为大家带来的关于CentOS 5.5下编译安装新内核的方法了,希望可以帮助到大家!
为什么有人说 Linux 比 Windows 稳定
首先,我的观点是Linux不如Windows稳定。
如果没人管的话,Linux不会比Windows稳定。
评价系统的稳定性一个很大的参考就是让外行人使用,观察系统的故障率。显然Linux比Windows更容易出现不可修复的损坏。
Windows具有更完善的故障排除机制和联锁设置,使其受误操作而损坏的概率更低,而且在受到较严重破坏时仍然有可能自行恢复。
Linux本身的故障排除机制就很弱,也没有什么合理的联锁,繁琐的操作反而增加了操作人员失误的风险,且Linux不具备自恢复的能力,往往在不经意间就种下了无法开机的种子。更为糟糕的是出现严重故障时操作人员还无法发现,必须等到下一次开机才会产生影响。
在服务器上,如果Windows没Linux稳定,还要收费,那么第一天就会被市场淘汰,根本不可能还会去开发后续的版本。
在桌面环境,Linux就像是个定时炸弹一样,不知道什么时候就会自己失灵。如果不是为了研究Linux,个人用户根本没那个时间去修理,所以Linux在桌面端几乎没什么人在用。
在移动端,其实Windows也可以做得更好,只不过移动端需要适应大量的非标硬件,所以微软也没那个能力去搞好。移动端的主流是安卓。安卓的流行不完全是因为免费,免不免费的我们用户根本看不见。iOS虽然不免费,但是人家也不卖啊,Windows则是天生不怎么适应移动端,功能有限不代表它的稳定性不行。安卓的流行更重要原因的是硬件平台的多样性,使苹果和微软都没办法兼顾全局。其实大家都知道安卓稳定性是很差的,突然自动重启、自己杀死进程的事情经常发生,苹果并不完全是奢侈品,人家就是稳定性上好一些,Windows移动版是功能实在太差才没什么人用,也不是稳定性问题。
在嵌入式方面,Windows内核太大了,无法存进单片机里,所以只能用Linux。我们说的ucLinux主要也就是一个内核,Wndows内核也是开源的,只是太大了才没办法用,所以这里没办法比较了。虽然没办法比较,但是搞嵌入式的人应该都懂,ucLinux不过也是个月球表面。
现在第二点要说说Linux稳定的言论是怎么回事。
做工控的都知道像西门子、施耐德、欧姆龙、三菱、ABB这样的大厂都是大杂烩。而那些几十人的作坊和工程公司则很喜欢说自己是专业做什么的。有心人就会发现所谓的专业其实就是能力不足的委婉说法。对于公司如此,对于个人也是如此。你看毛主席、牛顿、亚里士多德、钱学森虽然不是全才,但哪个是专业的?所谓的专业指的是装配工、农民、刷墙的。
说这个的意思有两点,一是所谓的Linux比Windows稳定不过是Linux系统真的很不行的委婉说法。另外一点就是,你觉得几十人的小公司真比西门子专业吗?乡下种地的又比钱学森之流厉害多少?你觉得Linux本身有可能会比Windows稳定吗?说实话就是这种言论根本就不可信。
第三点就是服务器Linux的实绩确实比桌面Windows稳定。这又是为什么呢?
很简单的道理就可以让你的Windows变得超级无敌稳定,只要也像Linux服务器一样,雇佣几个系统管理员,专门给你的Windows系统做维护,系统必须的软件安装完成以后不再安装会改变注册表的软件,把你的PC机放到无尘恒温室里,静电保护防雷保护UPS该上的全上了,不要关机,平常就那么整天开着,每个月再定期维护。买个备用的PC机,一主一备,搞个热备份的硬盘阵列,装一个硬件防火墙,网络用1Gbps的光纤。我保证你的Windows系统不光比Linux系统稳定,甚至于几乎无法用软件手段在外部把你的PC给搞崩。要是再在你亲戚朋友家安装一套一样的远程备用机组,保证你的Windows无敌了。
CentOS系统中跟踪高IO等待详解
高IO等待问题的第一个征兆通常是系统平均负载。负载均衡的计算都是基于CPU利用率的,即使用或等待CPU的进程数目,当然,在Linux平台上,进程几乎都处于不可中断的睡眠状态。负载均衡的基线可以解释为,在一个CPU核的机器上上,该CPU得到充分利用。因此,对于4核机器中,如果系统平均复杂为 4,表示该机器有足够的资源来处理它需要做的工作,当然只是勉强。在相同的4核系统,如果平均复杂是8,那么以为这将意味着服务器系统需要8个core才能处理所要做的工作,但现在只有4个核,所以已经超载。
如果系统显示平均负载较高,但是CPU的系统(system)和用户(user)利用率较低,那么就需要观察IO等待(即IO wait)。在linuc系统上,IO wait对系统负载有较大的影响,主要因为一个或多个核都可能被磁盘IO或网络
发现进程在等待IO完成是一回事,验证高IO wait的原因是另一回事。使用”iostat–x 1”能够显示正在使用的物理存储设备的IO情况:
[username@server~]$ iostat-x 1
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm%util
cciss/c0d0 0.08 5.94 1.28 2.75 17.34 69.52 21.60 0.11 26.82 4.12 1.66
cciss/c0d0p1 0.00 0.00 0.00 0.00 0.00 0.00 5.30 0.00 8.76 5.98 0.00
cciss/c0d0p2 0.00 0.00 0.00 0.00 0.00 0.00 58.45 0.00 7.79 3.21 0.00
cciss/c0d0p3 0.08 5.94 1.28 2.75 17.34 69.52 21.60 0.11 26.82 4.12 1.66
由上可知,很明显,设备/dev/cciss/c0d0p3的等待时间很长。然而,我们并没有挂载找个设备,实际上,它是个LVM设备。如果您使用的是 LVM作为存储,那么,您应该发现iostat应该有那么一点混乱。LVM使用device mapper子系统将文件系统映射到物理设备,因此,iostat可能显示多个设备,比如/ dev/dm-0和/ dev/dm-1。而”df–h”的输出却不会显示device mapper路径,而是打印了LVM路径。最简单的方法是在iostat参数中添加选项”-N”。
[username@server~]$ iostat-xN 1
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm%util
vg1-root 0.00 0.00 0.09 3.01 0.85 24.08 8.05 0.08 24.69 1.79 0.55
vg1-home 0.00 0.00 0.05 1.46 0.97 11.69 8.36 0.03 19.89 3.76 0.57
vg1-opt 0.00 0.00 0.03 1.56 0.46 12.48 8.12 0.05 29.89 3.53 0.56
vg1-tmp 0.00 0.00 0.00 0.06 0.00 0.45 8.00 0.00 24.85 4.90 0.03
vg1-usr 0.00 0.00 0.63 1.41 5.85 11.28 8.38 0.07 32.48 3.11 0.63
vg1-var 0.00 0.00 0.55 1.19 9.21 9.54 10.74 0.04 24.10 4.24 0.74
vg1-swaplv 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 3.98 1.88 0.00
为简便起见,裁剪上面iostat命令的输出信息。列出的每个文件系统所显示出的IO等待都是不可接受的,观察第十栏标有“await”的数据。相比而言,文件系统/usr的await时间要高一些。我们先来分析一下这个文件系统,使用命令” fuser-vm/opt”查看哪些进程在访问这个文件系统,进程列表如下。
root@server:/root> fuser-vm/opt
USER PID ACCESS COMMAND
/opt: db2fenc1 1067....m db2fmp
db2fenc1 1071....m db2fmp
db2fenc1 2560....m db2fmp
db2fenc1 5221....m db2fmp
当前服务器上有112个DB2进程正在访问/opt文件系统,为简便起见,列出四项。看来已经找到导致问题的原因,在服务器上,数据库配置为可使用速度更快的SAN访问,操作系统可以使用的是本地磁盘。可以打电话问问DBA(数据库管理员)怎么做才能这样配置。
最后一个组要的注意的是LVM和device mapper。“Iostat–xN”命令的输出显示的是逻辑卷名,但它是可以通过命令”ls–lrt/ dev/mapper”查到映射关系表。输出信息的第六列中的dm-是与iostat中的设备名相对应的。
有时候,在操作系统或应用层是没有什么可以做的,除了选择速度更快的磁盘,并没有其他的选择。幸运的是,快速磁盘访问,如SAN或SSD的价格正在逐步下降。