Centos7.0新特性分析
2018-01-06田明山
田明山
摘要:CentOS(Community Enterprise Operating System,社区企业操作系统)是Linux发行版之一,它是Red Hat Enterprise Linux再编译的产物,要求高度稳定性的服务器往往使用CentOS作为其操作系统,相对于其他 Linux 发行版,其稳定性值得信赖。随着版本的不断更新,出现了很多新功能、新特性。
关键词:CentOS ;Linux
中图分类号:TP316 文献标识码:A 文章编号:1009-3044(2017)35-0122-02
Centos作为非常受欢迎的Linux发布版本之一,目前已经升级到了7.0以上。而Centos7.0版本与我们之前所用的版本有了很大的变化,本文将对Centos7.0的一些新特性进行总结分析,希望可以对大家有所帮助。
1 使用systemctl 作为系统服务管理器命令
从Centos7.0开始使用systemctl 作为系统服务管理器命令,它将老版本中 service 和 chkconfig 这两个命令功能组合到了一起。
在Centos7.0之前的版本中,我们可以使用命令“chkconfig —level 3 dhcpd on”将dhcp服务设置为开机自启动;可以使用命令“service httpd status”来查看http服务的状态;可以使用“chkconfig —list”来查看系统已启动的服务。我们可以使用“service samba start”来启动samba服务;可以使用“service nfs stop”来停止nfs服务;可以使用“service network restart”来重启网卡。
从Centos7.0开始,我们使用 “systemctl enable named.service”将DNS服务设置为开机自启动;使用“systemctl status vsftpd.service”来显示ftp服务的状态;使用“systemctl list-units —type=service” 來查看系统已启动的服务。我们使用“systemctl start firewalld.service”开启防火墙;我们使用“systemctl stop nfs-server.service” 来停止nfs服务;我们使用“systemctl restart telnet.service” 来重启telnet服务。
总结以上systemctl的用法:
systemctl is-enabled *.service #查询服务是否开机启动
systemctl enable *.service #开机运行服务
systemctl disable *.service #取消开机运行
systemctl start *.service #启动服务
systemctl stop *.service #停止服务
systemctl restart *.service #重启服务
systemctl reload *.service #重新加载服务配置文件
systemctl status *.service #查询服务运行状态
systemctl —failed #显示启动失败的服务
除此之外,强大的systemctl命令还有如下的用法:
systemctl reboot #重启系统
systemctl halt #停止系统
systemctl suspend #挂起系统
systemctl hibernate #休眠系统
systemctl isolate runlevel5.target/ graphical.target #启动运行等级5,即图形模式
systemctl isolate runlevel3.target/ multiuser.target #启动运行等级3,即命令行模式
systemctl emergency #进入紧急模式
这里只是列出了systemctl的部分功能,systemctl还拥有很多强大的功能等待我们去发现。
2 使用firewalld代替原来的iptables
Centos升级到7.0版本以上之后,发现无法使用iptables控制Linuxs的端口,原来从Centos 7开始使用firewalld代替了原来的iptables。
在centos7.0之前的版本中,防火墙一直使用的是iptables,而iptables是一种静态防火墙,也就是说它不能动态添加开启端口,必须在配置文件中添加开启端口,然后重启iptables后才能生效。而centos7的防火墙使用的是firewalld,它是动态的,可以通过命令添加开启端口,而不用重启服务就可以使改变生效。
firewalld将网络划分成不同的区域,并且制定不同区域的访问控制策略来控制不同区域间传送的数据流。例如,外部网络是不可信任的区域,而内部网络是可信任的区域。我们可以安装网络安全模型,并在首次次启动、建立网络连接时进行初始化。该网络安全模型确认了主机所在的整个网络环境的可信级别,并定义了新连接的处理方式。我们可以选择如下的几种不同的初始化区域:
1) block(阻塞区域):阻止一切传入的网络数据包。
2) work(工作区域):信任网络中的其他计算机。
3) home(家庭区域):信任网络中的其他计算机。
4) public(公共区域):不信任网络中的任何计算机,只接受传入的网络连接。
5) DMZ(隔离区域):只有接受传入的网络连接。
6) trusted(信任区域):默认接受所有的数据包。
7) drop(丢弃区域):只允许计算机通过网络向外发送数据包,而所有外部传来的数据包将一律被丢弃。
8) internal(内部区域):信任网络中的其他计算机,选择接受传入的网络连接。
9) external(外部区域):不信任网络中的其他计算机,选择接受传入的网络连接。
3 选择XFS作为其默认的文件系统
Centos7.0安装时默认使用XFS作为其文件系统,当然并不是说原先的EXT文件系统不再使用,Centos 7.0仍然是支持EXT文件系统的。但是面对越来越大的数据量,EXT文件系统已经显得越来越心有余而力不足。XFS文件系统则完全是为大数据而生的,其单个分区最大可以支持到8EB(1EB=1024PB,1PB=1024TB)大小,单个文件的大小最大可达到16TB,并且还提供有丰富的日志系统,是应对大数据存储的强大的文件系统。基于此,centos7开始默认使用XFS这种高扩展性、高性能的文件系统。我们可以使用工具xfsdump和xfsrestore来备份和恢复xfs文件系统。
4 配置网络和主机名的变化
首先是配置网络, 进/etc/sysconfig/network-script/一看,网卡名称不再是eth0之类的了,改成了enoxxxxxx的格式,en代表的是enthernet以太網,o代表onboard内置,这种新的方式不但长,而且难记,不过优点也比较突出,有编号唯一性,迁移系统的时候不容易出错。
最小化安装好centos7.0之后,调整网卡配置文件:
利用命令cd /etc/sysconfig/network-scripts/进入网卡配置文件所在目录,发现有两个ifcfg文件,一个ifcfg-lo是循环网卡,配置给了127.0.0.1,另一个是ifcfg-enoxxxxx,这才是真正的网卡。
编辑 ifcfg-enoxxxxx文件,将文件里的ONBOOT改成yes,BOOTPROTO设置成dhcp,或者也可以设置静态网址static,设置静态网址需要在末尾添上:
IPADDR0=192.168.0.2 #设置IP地址
PREFIXO0=24 #设置子网掩码
GATEWAY0=192.168.0.1 #设置网关
DNS1=192.168.0.1 #设置主DNS
DNS2=114.114.114.114 #设置备DNS
保存文件,用systemctl restart network.service网卡配置成功。
然后是主机名,进/etc/sysconfig/network去改名字,发现这个文件是空的,事实上Centos 7.0中改名要到/etc/hostname去改。我们还可以利用“hostname 主机名称” 这种方式来改,但只能修改临时的主机名,当重启机器后,主机名称又变回来了,在centos7.0中我们可以使用“hostnamectl set-hostname主机名称”使用这种方式修改,可以永久性的修改主机名称。
5 ifconfig将被ip addr取代
当我们安装centos7.0最小化系统后,会发现执行ifconfig命令,提示命令未找到,也就是说最小化安装的centos7.0是不带ifconfig命令的(可以自己安装),那我们怎么查看本机ip呢?原来从centos7.0开始,将逐步使用IP命令取代ifconfig命令的功能。
我们可以直接输入ip addr命令即可查看网卡ip地址配置情况;可以利用ip —s link网络接口统计信息;可以使用 ip route命令显示或设置路由信息。相信在后续的版本中ifconfig将逐渐淡出,被强大ip命令所彻底取代。
参考文献:
[1] 张同光. Linux操作系统(RHEL7/CentOS7)[M].北京:清华大学出版社,2014.
[2] 王亚飞.CentOS7系统管理与运维实战[M].北京:清华大学出版社, 2016.