小白带你学习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

相关文章
|
2天前
|
Ubuntu Linux Shell
mc实现目录同步并封装成Linux服务形式
mc实现目录同步并封装成Linux服务形式
12 1
|
2天前
|
Ubuntu Linux Shell
minio服务端以Linux服务形式安装
minio服务端以Linux服务形式安装
16 6
|
2天前
|
Linux 程序员 计算机视觉
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
15 0
|
2天前
|
Linux 编译器 调度
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
本文介绍了如何将POSIX应用程序编译为在Xenomai实时内核上运行的程序。
26 1
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
|
2天前
|
自然语言处理 Java Linux
【Linux】开始学习进程替换吧!
通过学习进程替换,我们可以体会到多语言混搭的快乐,可以从C语言直接蹦到python ,也可以从c++里运行java代码。是不是很厉害!这是通过调度多个进程的效果,联系我们之前学习的进程,进程控制等概念。我们可以想要运行其他代码可以通过创建子进程来实现,但是这样也肯定是同一种语言,如果想要运行其他语言,那是不是有种方法可以调度一个进程来当做子进程呢??? 我们开始今天的学习吧!
11 0
|
2天前
|
安全 Shell Linux
Linux 用户和用户组管理
Linux 用户和用户组管理
|
2天前
|
安全 Python Linux
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
|
2天前
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
|
2天前
|
缓存 运维 算法
深入理解Linux内核的虚拟内存管理
【5月更文挑战第6天】 在现代操作系统中,尤其是类Unix系统如Linux中,虚拟内存管理是一项核心功能,它不仅支持了多任务环境,还提供了内存保护和抽象。本文将深入探讨Linux操作系统的虚拟内存子系统,包括分页机制、虚拟地址空间布局、页面置换算法以及内存分配策略。通过对这些概念的剖析,我们旨在为读者揭示Linux如何有效地管理和优化物理内存资源,并确保系统的稳定运行与高效性能。
|
2天前
|
分布式计算 大数据 Hadoop
【经验分享】用Linux脚本管理虚拟机下的大数据服务
【经验分享】用Linux脚本管理虚拟机下的大数据服务
16 1