小白带你学习linux服务管理(十五)

简介: 小白带你学习linux服务管理(十五)

一、服务安装

1、常见的软件包类型

1rpm包:.rpm为后缀,红帽系列操作系统(RedHatCentOSOpenSUSE)主要的软件

包封装格式,已经做好默认设置,如安装路径,配置文件存放路径,需要手动的解决依赖关系。

2deb包:.deb为后缀,debian系列操作系统(debianUbuntukali)主要的软件包封装格

式,已经做好默认设置,如安装路径,配置文件存放路径等,需要手动的解决依赖关系。

3)二进制包:一般以.bin为后缀,直接被计算机执行安装。

4)源码包:一般C语言编写,安装前需要编译为二进制包;配置【如,安装路径,配置文件

路径,运行用户,运行组,功能模块】--->编译--->安装;

文件比较集中,便于后期进行维护与管理。

2、安装方法

 使用独立的rpm包安装

需要下载对应的rpm包,一般在centos系统镜像中存在大量的rpm

be8ad8c3e03147749de4dbc80b9d28ad.png


rpm包的命名方法        

zip-3.0-11.el7.x86_64.rpm

                           软件名.版本号.安装平台.安装平台的位数(32位,x86或者64位,x86_64.rpm

21e6d68d7a59497aae09bfcfa46067a4.png


rpm命令使用方法

已安装软件包查看选项

-q:查看指定rpm包是否安装;rpm -q 软件名


14d950e45729414287fcde9b8c46f00c.png

-qa:查看系统中所有已安装的软件包;rpm -qa [| grep 软件名]

1da0f4ceac6647e7ab8695df11637315.png


-qi:查看已安装软件包的开发信息;rpm -qi 软件名


5813388b37514a378a96137ae7f0a640.png

-ql:查看已安装软件包的安装路径及生成的文件;rpm -ql 软件名

962fbb88a94f4a0b83b023687d935052.png


-qc:查看已安装软件的配置文件;rpm -qc 软件名;一般情况下,使用rpm安装的应用程序的配置文件都存储在/etc/[应用程序的名称]

6dca918b26e84d7c9442143579372cef.png


-qd:查看已安装软件的帮助文档信息;rpm -qd 软件名


4b36072d3f7a43b584747202b58f1070.png

-qf:查看命令由哪个软件包安装;which 命令字  rpm -qf 命令的绝对路径常用于:系统中没有对应指令且不知道由哪个软件包安装生成

which 命令查看绝对路径

1023f48fe9254a8b9ba0a6ad68d2a22f.png

6f68b2f1131a462ab8f4f1d084dd2ebd.png


未安装软件包查看选项

-qpi:查看未安装的软件包开发信息;rpm -pqi 软件包名称(全格式)

ad5f36297f224ddc9d731cd713bb12bd.png

-qpl:查看未安装软件包的安装路径及生成文件;rpm -pql 软件包名称(全格式)

8ae79bd26cf1437681f74199d5a4b3a8.png


安装、升级、卸载选项

-i:安装软件包;rpm -ivh /path/软件包名称(全格式)

4e8d5006c88049fcb690efc695e51c69.png


-v:详细显示安装过程

-h:人性化显示

-U:升级软件包;rpm -Uvh 软件包名称

-e:卸载已安装软件包;

--nodeps:忽略依赖关系的进行卸载、升级或安装

yum安装

可以自动解决依赖关系

yum相关配置文件

yum源配置文件

指定yum程序运行时查找软件包的存储路径    

/etc/yum.repos.d

yum程序配置文件           yum程序运行时的运行配置

/etc/yum.conf
 keepcache=0,不保留软件包缓存
keepcache=1,保留软件包缓存
缓存保存路径                       /var/cache/yum/x86_64/7

d2f11544b8ee4ba5bc909c05b9275960.png


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源                wgetO/etc/yum.repos.d/CentOSBase.repohttp://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

feb5918b39ed401e9d8d5e725aec1343.png

mkdir backup

61aa2ae9bf3d43da8d567c65a40acfff.png

mv CentOS-* backup


c44a99f7956240258a987af056f2bce0.png

vim local.repo

76738605005144f6808b185c60f94965.png


[local]
name=local   描述信息
baseurl=file:///mnt     指定软件包及其元数据存储路径
enabled=1  是否使用该源,0表示不使用,1表示使用
gpgcheck=0  (一般使用不验证的方式)[gpgcheck=1    gpgkey=keyPath]

b43d4438c04b49f284f0a3b834bb2c33.png


mount  /dev/sr0 /mnt


9c47bc88613d4ca3aabc1a091c9e56b2.png

命令语法


yum [options] command [package ...]

子命令(command

install               安装

9a5d00c762534d12b54bc37621d42e74.png


remove           卸载

df7dd3c764ab48769c3d51ef7f9b6561.png


list         查看yum源中的软件包列表

5ed37285cd914a8fac6c665f2b578a99.png



yum list | grep httpd  查找httpd软件包

12f45d3c20a54672bb1a53242b52240a.png


命令选项         -y       非交互

交互式安装:yum install 软件名         Is this ok

                                                                              y           安装

                                                                              d          下载不安装

                                                                              n          不下载不安装


49b86d4af96345b5beb7f59bdcb792bf.png

非交互式安装:yum -y install 软件名


98d851b7279a4f60b1a2a199b4edfe9c.png

源码包(编译)安装

需要依赖gccmake环境

配置:cd 源码包的解压路径;

./configure --prefix=安装路径(/usr/local/nginx)

 

d6759d4dd9564599af64fed220fccee5.png

编译:make

安装:make install

 案例

nginx编译安装

18f1a39a7a5f4af6a4193f20ab327840.png



tar xf  nginx-1.12.0.tar.gz

ee6f43ba26af483996f9d71e832f242d.png



cd nginx-1.12.0

22ab128b6ef64b4785fcf1d40746c935.png



./configure --prefix=/usr/local/nginx1.12

 

                                                                   发现依赖缺失

5f6858ddf2614d8fbac6fbe845316d6a.png

                                                                   解决依赖    

yum install -y prce-devel

f670967fa712409b858c2bb00920f05c.png


                                                           

yum install -y zlib-devel

5b2c02cfe14a4599840ef1e7838f6475.png


                                                               配置完成后       在源码包下生成Makefile文件

ec82f29590da4ce791e0defa51699504.png

make               编译


0bea3de258ed4c239a419a09f72af75c.png

make  install         安装

336b48446ec64682bf1bc3ee66cdb0fa.png



命令合并              ./configure --prefix=/usr/local/nginx1.12  && make  && make install
验证                cd /usr/local/nginx1.12

5988382caec24a85a1cfac2575fe0767.png


 注意               编译安装完成的软件默认不被systemd管理

二进制安装

只需要运行bin文件

案例

 

jdk-6u14-linux-x64.bin

08e88004fefb4c2f803e788b0cbc44af.png


./jdk-6u14-linux-x64.bin

1aad2b8a537d4ae8a368ac3ae1a394c8.png


根据提示进行操作即可

503828cbad6b4b5bafaf7619570fa920.png


二、systemd管理机制

1   init进程是所有进程的父进程,systemd实际上是一种管理init的软件。

2、 基于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的单元

3、 运行级别与target对应关系

 运行级别   Systemdtarget    说明

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        重新启动,使用该级别时将会重启主机

4、 改变运行级别

查看那默认级别

systemctl get-default 或者 runlevel

设置默认级别

systemctl set-default multi-user.target

5systemctl命令的使用

语法结构:

systemctl  服务控制类型    服务名称[.service]

服务控制类型

start:启动

stop:停止

restart:重启

reload:重载

status:查看状态

enable:开机自启动

8ecf95c9d7814812b65e043646fcd581.png


is-enabled:查看是否开机自启动

20ecc32f0e7d4019846e829def9c3bc7.png


disable:开机不进行自启动


a589153c08544279bc562a17f863e09b.png

6、图形化管理工具:ntsysv

只能在图形化运行级别使用


 1d7b0c06807648c5bbd5dd62366edfff.png

相关文章
|
1月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
|
1月前
|
存储 安全 Linux
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
47 5
linux系统服务二!
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
53 3
linux系统服务!!!
|
1月前
|
Linux Shell 数据安全/隐私保护
|
1月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
309 3
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
123 3
|
2月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
103 0
|
Linux 开发工具 Shell