文章目录
systemctl管理系统服务
1、systemctl概述
CentOS6版本:
service命令(管理服务开启、停止以及重启)+ chkconfig(定义开机启动项)
# service network start|stop|restart
CentOS7版本:
systemctl命令 = system系统 + control控制(服务管理+开启启动项管理)
# systemctl start|stop|restart network
2、显示系统服务
基本语法:
# systemctl [选项]
选项说明:
list-units --type service --all:列出所有服务(包含启动的和没启动的)
list-units --type service:列出所有启动的服务
案例:列出Linux系统中所有的服务(包含启动的和没启动的)
# systemctl list-units --type service --all
案例:只列出已经启动的Linux系统服务
# systemctl list-units --type service
案例:把systemctl显示系统服务与管道命令相结合,筛选我们想要的服务信息
# systemctl list-units --type service | grep sshd
3、Linux系统服务管理
☆ status查看状态
查看系统服务的状态
# systemctl status 系统服务的名称
案例:查询系统中网络服务的状态信息
# systemctl status network
案例:查询系统中sshd服务的状态信息
# systemctl status sshd
☆ stop停止服务
# systemctl stop 系统服务的名称
案例:使用systemctl命令停止network网络服务
# systemctl stop network
☆ start启动服务
# systemctl start 系统服务的名称
案例:使用systemctl命令启动network网络服务
# systemctl start network
☆ restart重启服务
# systemctl restart 系统服务的名称
等价于
# systemctl stop 系统服务的名称
# systemctl start 系统服务的名称
案例:使用systemctl命令重启crond计划任务的服务信息
# systemctl restart crond
☆ reload热重载技术
# systemctl reload 系统服务名称
reload:重新加载指定服务的配置文件(并非所有服务都支持reload,通常使用restart)
有些服务,如Nginx,更改了配置文件,但是不能重启Nginx服务,只是想立即让我们配置文件的更改生效,则就可以使用热重载技术了。
案例:使用热重载技术重新加载crond服务
# systemctl reload crond
4、服务持久化(开机自启与开机不自启)
☆ 开机自启
# systemctl enable 系统服务的名称
案例:把network网络服务设置为开机自启动
# systemctl enable network
network.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig network on
以上提示代表network.service不是一个本地的系统服务,所以想设置开机自启需要使用/sbin/chkconfig进行操作
# /sbin/chkconfig network on
案例:把crond计划任务的服务信息添加到开机自启动中
# systemctl enable crond
☆ 开机不自启
# systemctl disable 系统服务的名称
案例:把crond计划任务的服务信息从开机自启动中移除
# systemctl disable crond
系统运行级别
运行级别全称(Running Level),代表Linux系统的不同运行模式
CentOS6的运行级别
vim /etc/inittab
0 系统关机状态 halt (Do NOT set initdefault to this)
1 单用户工作状态 Single user mode (类似Windows的安全模式,Linux忘记密码)
2 多用户状态(没有NFS) Multiuser, without NFS (The same as 3, if you do not have networking)
3 多用户状态(有NFS) Full multiuser mode (字符模式,服务基本都是此模式)
4 系统未使用,留给用户 unused
5 图形界面 X11 (图形模式,个人计算机都是此模式)
6 系统正常关闭并重新启动 reboot (Do NOT set initdefault to this)
CentOS7的运行级别
0 shutdown.target
1 emergency.target
2 rescure.target
3 multi-user.target 字符模式
4 无
5 graphical.target 图形模式
6 无
init命令(临时更改运行模式)
init 模式编号
案例:立即关机
# shutdown -h 0或now
或
# halt -p
或
# init 0
案例:立即重启
# reboot
或
# init 6
案例:把计算机切换到字符模式(黑窗口)
# init 3
案例:把计算机切换到图形模式(图形界面)
# init 5
CentOS6中的chkconfig
问题:在CentOS7中,设置network开机启动时,系统要求使用chkconfig命令
# chkconfig network on
设置完成后,怎么查看network有没有随开机自动启动呢?
# chkconfig --list |grep network
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
0 关机模式
1 单用户模式
2 多用户模式(无NFS)
3 字符模式
4 自定义模式
5 图形模式
6 重启模式
NTP时间同步服务
NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。
☆ 手工同步
基本语法:
# ntpdate NTP服务器的IP地址或域名
案例:查看Linux系统时间
# date
案例:从NTP服务器中同步系统时间
# ntpdate cn.ntp.org.cn
☆ 自动同步
基本语法:
① 启动ntpd服务
# systemctl start ntpd
② 把ntpd服务追加到系统开机启动项中
# systemctl enable ntpd
Linux下的软件包管理
Linux下软件的安装方式
① RPM软件包安装 => 软件名称.rpm
② YUM包管理工具 => yum install 软件名称 -y
③ 源码安装 => 下载软件的源代码 => 编译 => 安装(最麻烦的,但是也最稳定)
软件包类型
☆ 二进制软件包(rpm包)
- 二进制包,指的是已经[^编译]好了的软件包,只需要直接安装就可以使用。
- 二进制包,不需要编译,直接下载安装即可
- 二进制包,需要根据自己的计算机CPU以及操作系统去选择合适的
类似Windows中的.exe文件,如qq.exe
☆ 软件源码包(重点)
什么是源码包?有什么特点?
- 源码包,指的是程序员写的原始的程序代码文件,不能够直接在计算机上运行。
- 源码包,需要进行编译,变成二进制的软件包后,才可安装使用
- 源码包,一般可以在任何的计算机上安装使用
- 源码包,命名方式一般为:
软件包名.tar.gz
软件包名.tar.bz2
软件包名.tar.xz
软件包名.zip
类似于腾讯QQ开发工程师 => QQ的源代码发给你了 .c => 编译 => QQ.exe文件
☆ 二进制源码包(.src.rpm)
什么是二进制源码包?有什么特点?
- 二进制源码包,是一个半成品,安装后不能直接使用
- 二进制源码包,需要使用
rpmbuild
工具重建成真正的rpm
包或者重建成源码包才可安装使用 - 二进制源码包,命名方式一般为:
- mysql-community-5.7.25-1.el6.==src.==rpm
- mysql-community-5.7.25-1.el7.src.rpm
二进制软件包的安装方式
① 基于RPM进行安装(先下载软件然后本地进行安装)
② 基于YUM进行安装(在线下载然后安装)
二进制软件包
二进制包,也就是源码包经过成功编译之后产生的包。
二进制包是 Linux 下默认的软件安装包,目前主要有以下 2 大主流的二进制包管理系统:
-
RPM 包管理系统:功能强大,安装、升级、査询和卸载非常简单方便,因此很多 Linux 发行版都默认使用此机制作为软件安装的管理方式,例如 Fedora、CentOS、SuSE 等。
-
DPKG 包管理系统:由 Debian Linux 所开发的包管理机制,通过 DPKG 包,Debian Linux 就可以进行软件包管理,主要应用在 Debian 和 Ubuntu 中。
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写
获取*.rpm软件包
a. 去官网去下载
b. 不介意老版本的话,可以从光盘(或者镜像文件)中读取;CentOS7.6*.iso
- 推荐网站
- www.rpmfind.net
- rpm.pbone.net
- 相应软件官方网站
- http://www.mysql.com
- http://nginx.org/packages/
如何选择合适的软件
- 选择适合当前系统的版本号
- 找不到适合的,才去尝试别的系统版本号
- el6兼容el5;el5无法安装 el6
- 选择适合当前计算机cpu的架构
- x86_64包,只能安装在64位的系统上
- i386,i586,i686的软件包可以安装在32和64位系统上
- noarch表示这个软件包与硬件构架无关,可以通用
- 32位系统不能安装64位包
建议: 建议不要跨大版本号去安装软件包,尽量使用当前系统版本自带软件包安装
查询系统中已安装的rpm软件
# rpm -qa |grep 要搜索的软件名称
选项说明:
-q :query,查询操作
-a :all,代表所有
案例1:查询计算机中已安装的rpm软件包
# rpm -qa
案例2:搜索计算机中已安装的firefox软件包
# rpm -qa |grep firefox
<