虽然CentOS6已经停止了官方支持,CentOS7也快要结束官方支持了,但是时至今日,还有大部分的服务器运行在CentOS6上面,可见6是一个经典的版本,借用它的一句广告语——坚若磐石。
CentOS6在历史上是一个重要的版本,而CentOS7究竟对它进行了哪些升级呢?又为什么7代后面几个版本中一些6代的老命令又死灰复燃了呢?
笔者认为,CentOS7主要是为了满足“用户体验”而升级的,为什么用户体验有引号?原因就是它有些违背了Linux的文化。Linux文化大致可以理解为短小精悍,每个工具可以互相衔接,以纯文本(文件)作为通讯介质,高效的完成各种任务。但是,7代中,有些升级却出现了反模式,例如日志文件不是纯文本,要用专门工具来读取,这意味着其他工具无法直接分析,随时还要背上这个工具的包袱。
日志文件采用journalctl来管理,虽然记录的更详细,但是占用资源挺大的,主要是内存占用较多,这里可能是个坑,如果在生产环境中,可以将它转发到旧版本的rsyslog管理;如果不是太在乎,则可以直接将它关闭:
journalctl--disk-usage#查看磁盘使用量
vim/etc/systemd/journald.conf#打开Storage=none后,重启服务。
journalctl--vacuum-size=M--vacuum-time=3d#限制日志记录的大小和时间。
那我们就以批判继承的眼光,逐一来盘点一下它的变化吧。
首先文件系统变化,由EXT4,变为XFS格式。可支持容量TB的文件,而6代仅能支持16TB。
首个进程变为systemd,替换了熟悉的init进程。它的特点是功能强大,体积也很强大。主要表现是启动速度变快了,增加了”用户体验”,因为是并行执行,而且各个进程间有总线来协调消息,按照需要延迟加载模块,所以启动时间花费的很少。但服务器本身启动就不频繁,又不是windows客户机,用户每天还得关机,导致win10推出秒开机功能。而对于服务器,一年不重启都是很正常的事情,所以启动的优势不大。
不仅如此,systemd给我们带来了一个全家桶命令,替换了之前的Service,chkconfig等命令。例如:
旧:service