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 的很多特性并没有凸显或直接不支持。
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 重启
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 号端口是否开启监听