本节主要学习内容为服务安装与systenmd管理机制
需要下载对应的rpm包,一般在centos系统镜像中存在大量的rpm包
yum源配置文件 — 指定yum程序运行时查找软件包的存储路径
命令语法)—yum [options] command [package ...]
init进程是所有进程的父进程,systemd实际上是一种管理init的软件。
语法结构: systemctl 服务控制类型 服务名称[.service]
一、服务管理
1)常见的软件包类型
1、rpm包
.rpm为后缀,红帽系列操作系统(RedHat,CentOS,OpenSUSE)主要的软件包封装格式,已经做好默认设置,如安装路径,配置文件存放路径,需要手动的解决依赖关系。
2、deb包
.deb为后缀,debian系列操作系统(debian,Ubuntu,kali)主要的软件包封装格式,已经做好默认设置,如安装路径,配置文件存放路径等,需要手动的解决依赖关系。
3、二进制包
一般以.bin为后缀,直接被计算机执行安装。
4、源码包
一般C语言编写,安装前需要编译为二进制包;配置【如,安装路径,配置文件路径,运行用户,运行组,功能模块】--->编译--->安装;
文件比较集中,便于后期进行维护与管理。
2)安装方法
1、使用独立的rpm包安装
需要下载对应的rpm包,一般在centos系统镜像中存在大量的rpm包
rpm包的命名方法
zip-3.0-11.el7.x86_64.rpm
软件名.版本号.安装平台.安装平台的位数(32位,x86或者64位,x86_64).rpm
rpm命令使用方法
已安装软件包查看选项
-q:查看指定rpm包是否安装;rpm -q 软件名
-qa:查看系统中所有已安装的软件包;rpm -qa [| grep 软件名]
-qi:查看已安装软件包的 开发信息;rpm -qi 软件名
-ql:查看已安装软件包的安装路径及生成的文件;rpm -ql 软件名
-qc:查看已安装软件的配置文件;rpm -qc 软件名;一般情况下,使用rpm安装的应用程序的配置文件都存储在/etc/[应用程序的名称]
-qd:查看已安装软件的帮助文档信息;rpm -qd 软件名
-qf:查看命令由哪个软件包安装;which 命令字 rpm -qf 命令的绝对路径
常用于:系统中没有对应指令且不知道由哪个软件包安装生成
未安装软件包查看选项
-qpi:查看未安装的软件包开发信息;rpm -pqi 软件包名称(全格式)
-qpl:查看未安装软件包的安装路径及生成文件;rpm -pql 软件包名称(全格式)
安装、升级、卸载选项
-i:安装软件包;rpm -ivh /path/软件包名称(全格式)
-v:详细显示安装过程
-h:人性化显示
-U:升级软件包;rpm -Uvh 软件包名称
-e:卸载已安装软件包;
--nodeps:忽略依赖关系的进行卸载、升级或安装
2、yum安装---可以自动解决依赖关系
yum相关配置文件
yum源配置文件 — 指定yum程序运行时查找软件包的存储路径
/etc/yum.repos.d
yum程序配置文件 — yum程序运行时的运行配置
/etc/yum.conf
keepcache=0,不保留软件包缓存
keepcache=1,保留软件包缓存
缓存保存路径 /var/cache/yum/x86_64/7
yum源类型
本地yum源—利用本地存在的软件包路径
file://localPath(绝对路径)
网络yum源—利用网络存储的软件包路径
http://域名/Path https://域名/Path ftp://域名/Path
常见网络yum源
网易yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
阿里云yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
epel源 yum -y install epel-release
常见开源镜像站
清华大学 https://mirrors.tuna.tsinghua.edu.cn/help/centos/
网易开源镜像站 http://mirrors.163.com/
配置本地yum源
cd /etc/yum.repos.d
mkdir backup
mv CentOS-* backup
vim local.repo
vim local.repo | [local] |
name=local 描述信息 | |
baseurl=file:///mnt 指定软件包及其元数据存储路径 | |
enabled=1 是否使用该源,0表示不使用,1表示使用 | |
gpgcheck=0 (一般使用不验证的方式) | |
[gpgcheck=1 gpgkey=keyPath] |
mount /dev/sr0 /mnt/
重新挂载
命令语法)—yum [options] command [package ...]
子命令(command)
install | 安装 |
remove | 卸载 |
list | 查看yum源中的软件包列表 |
命令选项— -y:非交互
交互式安装:yum install 软件名
Is this ok? | y | 安装 |
d | 下载不安装 | |
n | 不下载不安装 |
非交互式安装:yum -y install 软件名
3、源码包(编译)安装
需要依赖gcc和make环境
配置:cd 源码包的解压路径;./configure --prefix=安装路径(/usr/local/nginx)
编译:make
安装:make install
案例
nginx编译安装
tar xf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configure --prefix=/usr/local/nginx1.12
(发现依赖缺少)解决依赖
yum install -y pcre-devel yum install -y zlib-devel
配置完成后—在源码包下生成Makefile文件
make—编译
make install—安装
命令合并 — ./configure --prefix=/usr/local/nginx1.12 && make && make install
验证—cd /usr/local/nginx1.12
注意:编译安装完成的软件默认不被systemd管理
4、二进制安装—只需要运行bin文件
案例
jdk-6u14-linux-x64.bin
根据提示进行操作即可
二、systemd管理机制
init进程是所有进程的父进程,systemd实际上是一种管理init的软件。
1.基于unit概念实现,常见的unit类型
单元类型 | 扩展名 | 说明 |
Service | .service | 描述一个系统服务 |
Socket | .socket | 描述一个进程间通信的套接字 |
Device | .device | 描述一个内核识别的设备文件 |
Mount | .mount | 描述一个文件系统的挂载点 |
Automount | .automount | 描述一个文件系统的自动挂载点 |
Swap | .swap | 描述一个内存交换设备或交换文件 |
Path | .path | 描述一个文件系统中文件或目录 |
Timer | .timer | 描述一个定时器(用于实现类似cron的调度任务) |
Snapshot | .snapshot | 用于保存一个systemd的状态 |
Scope | .scope | 使用systemd的总线接口以编程的方式创建外部进程 |
Slice | .slice | 描述居于Cgroup的一组通过层次组织的管理系统进程 |
Target | .target | 描述一组systemd的单元 |
2.运行级别与target对应关系
运行级别 | Systemd的target | 说明 |
0 | poweroff.target | 关机状态,使用该级别时将会关闭主机 |
1 | rescue.target | 单用户模式,不需要密码验证即可登录系统,多用于系统维护 |
2 | multi-user.target | 用户定义/域特定运行级别。默认等同于3 |
3 | multi-user.target | 字符界面的完整多用户模式,大多数服务器主机运行在此级别 |
4 | multi-user.target | 用户定义/域特定运行级别。默认等同于3 |
5 | graphical.target | 图形界面的多用户模式,提供了图形桌面操作环境 |
6 | reboot.target | 重新启动,使用该级别时将会重启主机 |
3.改变运行级别
查看那默认级别 systemctl get-default 或者 runlevel
设置默认级别 systemctl set-default multi-user.target
4.systemctl命令的使用
语法结构: systemctl 服务控制类型 服务名称[.service]
服务控制类型
start | 启动 |
stop | 停止 |
restart | 重启 |
reload | 重载 |
status | 查看状态 |
enable | 开机自启动 |
is-enabled | 查看是否开机自启动 |
disable | 开机不进行自启动 |