centos7与6之间最大的差别就是初始化技术的不同,7采用的初始化技术是Systemd,并行的运行方式,除了这一点之外,服务启动、开机启动文件、网络命令方面等等,都说6有所不同。让我们先来了解一下系统初始化技术的演变过程。
Sysvinit技术
Upstart技术
Systemd技术
Sysvinit技术
特点:
1.系统第1个进程为init;
2.init进程是所有进程的父进程,不可kill;
3.大多数Linux发行版的init系统是和SystemV相兼容的,被称为sysvinit
4.代表系统:CentOS5 CentOS6
优点:
sysvinit运行非常良好,概念简单清晰。它主要依赖于shell脚本。
缺点:
1.按照一定顺序执行——>启动太慢。
2.很容易hang住,fstab与nfs挂载问题
Upstart技术
CentOS6采用了upstart技术代替sysVinit进行引导,Upstart对rc.sysinit脚本做了大量的优化,缩短了系统初始化的启动时间。但是CentOS6为了简便管理员的操作,upstart的很多特性并没有凸显或直接不支持。
代表系统:CentOS6, Ubuntu14, 从CentOS7, Ubuntu15开始使用systemd
Systemd技术
新系统都会采用的技术(RedHat7,CentOS7,Ubuntu15等);
设计目标是克服sysvinit固有的缺点,提高系统的启动速度;
和Sysvinit兼容,降低迁移成本;
最主要优点:并行启动
Pid为1的进程
在centos6的时候,默认是从官方源下载rpm包的,由于是国外的yum源很慢不能用,CentOS7在这里做了优化,当我们使用yum安装软件的时候,默认不会再从官方下载,而是自动寻找离自己地理位置最近的yum源开始下载。
如果在安装系统的时候选择minimal,会比之前6的时候以更小的包来安装,比如:vim、ifconfig、route、setup、netstat等等很多命令都没有了。。在安装系统后可加入以下软件包:
yum install lrzsz tree net-tools nmap vim bash-completion lsof dos2unix nc telnet ntp wget rng-tools psmisc screen -y
比如ifconfig是查看网卡信息的,centos7中没有,那么我们使用yum安装net-tools
来提供一些网络的命令。
bash-completion 自动命令补全的工具
psmisc 这个包含有killall命令。
screen 可以新建一个窗口,把任务放在后台运行。
rng-tools 生成随机数嫡池的一个工具,有了这个工具tomcat 启动会变得非常快
lrzsz 支持windowns平台的上传下载linux。在windowns远程连接工具上可以使用。
centos6的时候修改字符集:
vim /etc/locale.conf #字符集配置文件
localectl set-locale LANG=zh_CN.UTF-8
而centos7只需要一行命令搞定
localectl set-locale LANG=zh_CN.UTF-8
localectl status
centos6依靠/etc/rc.local
对开机启动进行管理的,但是这个文件的权限是开放的。
而centos7
/etc/rc.local # 这个文件还是存在,不过如果我们还想继续使用这种方式需要给它加执行权限chmod +x /etc/rc.d/rc.local
# system一统天下 snapshot(支持快照)
systemctl status cron.service #查看定时任务状态
systemctl stop cron.service #关闭定时任务
systemctl status cron.service #查看操作情况
systemctl list-unit-files|grep enable #查看当前正在运行的服务
systemctl disable postfix.service #关闭邮件服务
systemctl list-unit-files|grep postfix #查看邮件服务是否开启
systemctl stop firewalld.service #关闭防火墙
systemctl is-enable #开启的服务
systemctl disable #关闭的服务
centos7 通过/etc/rc.d/rc.local/开机自启动
centos7中/etc/rc.d/rc.local需要执行如下命令赋予可执行权限
chmod +x /etc/rc.d/rc.local
centos6 “/etc/inittab” 在centos7中是无效的。
centos7 system target 替代 了inittab
##永久生效下次登录生效
systemctl get-default graphical.target 切换到5
systemctl get-default multi-user.target 切换到3
##临时生效的话
init3
#查看运行级别
ls -lh /usr/lib/systemd/system/runlevel*.target
运行级别(Runlevel)指的是Unix或者Linux等类Unix操作系统下不同的运行模式。运行级别通常分为7等,分别是从0到6,但如果必要的话也可以更多。
例如在大多数linux操作系统下一共有如下6个典型的运行级别:
0 停机
1 单用户,Does not configure network interfaces, start daemons, or allow non-root logins
2 多用户,无网络连接 Does not configure network interfaces or start daemons
3 多用户,启动网络连接 Starts the system normally.
4 用户自定义
5 多用户带图形界面
6 重启