CentOS7和6版本有什么不同

Centos7与6之间最大的差别就是初始化技术的不同,7采用的初始化技术是Systemd,并行的运行方式,除了这一点之外,服务启动、开机启动文件、网络命令方面等等,都说6有所不同。让我们先来了解一下系统初始化技术的演变过程。

1.系统初始化技术

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 的很多特性并没有凸显或直接不支持。

Upstart 技术 代表系统:CentOS6, Ubuntu14。

从CentOS7, Ubuntu15开始使用 systemd

Systemd 技术

新系统都会采用的技术(RedHat7,CentOS7,Ubuntu15等);
设计目标是克服sysvinit固有的缺点,提高系统的启动速度;
和Sysvinit兼容,降低迁移成本;
最主要优点:并行启动
Pid为1的进程

2.在yum源上的优化

在centos6的时候,默认是从官方源下载rpm包的,由于是国外的yum源很慢不能用,CentOS7在这里做了优化,当我们使用 yum 安装软件的时候,默认不会再从官方下载,而是自动寻找离自己地理位置最近的 yum源开始下载。

3.命令

如果在安装系统的时候选择 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远程连接工具上可以使用。

4.字符集修改

centos6 的时候修改字符集:

vim /etc/locale.conf  # 字符集配置文件
localectl set-locale LANG=zh_CN.UTF-8  

而 centos7 只需要一行命令搞定

localectl set-locale LANG=zh_CN.UTF-8
​
localectl status

5.开机启动管理

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

6.运行级别runlevel

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 重启

ssh进行访问

windows下安装 xshell 来进行可以远程访问。

而mac 是用 ssh 命令

ssh 用户名@ip地址:端口号
​
默认的端口号22可以不写
ssh [email protected]

首先我们先下载 net-tools ,这样可以使用 ifconfig查看网卡信息,它的作用和DOS命令 ipconfig 一样。

下载完成以后输入:ifconfig

然后可以找到你的ip地址

如果,ssh 链接被拒绝:

1.验证openssh-server

首先,要确保CentOS7安装了  openssh-server,在终端中输入
​
yum list installed | grep openssh-server
​
如果出现了结果那么表示已经安装
​
​
没有安装输入
​
yum install openssh-server -y

2.配置你的ssh文件

找到了  /etc/ssh/  目录下的sshd服务配置文件 sshd_config,用Vim编辑器打开
​
如果没有vim编辑器那么执行:
​
yum install vim -y
​
vim编辑器比vi编辑器增加了颜色识别
​
vim /etc/ssh/sshd_config
​
直接输入/Port 
​
可以看见:
================
1.将文件中,关于监听端口、监听地址前的 # 号去除
​
Port 22
#AddressFamily any
ListenAddress 0.0.0.0 #任意地址
ListenAddress ::
================
去上面3行的注释
​
要想编辑的话需要按键盘i,代表insert,取消输入按esc
​
================
2.然后开启允许远程登录
PermitRootLogin yes
================================
3.开启使用用户名密码来作为连接验证
PasswordAuthentication yes
================
​
最后保证在取消输入的状态下
输入
================
:wq! 
================
代表强制保存退出
​
配置完成后需要重新启动一下sshd服务
​
开启  sshd  服务,输入 sudo service sshd start
检查  sshd  服务是否已经开启,输入ps -e | grep sshd
或者输入netstat -an | grep 22  检查  22 号端口是否开启监听

你可能感兴趣的:(Linux)