Linux应用程序管理(rpm yum 源码安装)

一.Linux应用程序基础

当我们主机安装Linux操作系统时候,也会同时安装一些软件或网络服务等等,但是随着系统一起安装的软件包毕竟他是少数的,能够实现的功能也是有限的,如果需要实现更丰富的功能,那就需要安装应用程序。

1.应用程序和系统命令的关系

Linux应用程序管理(rpm yum 源码安装)_第1张图片

两者的用途区别:

系统命令:命令文件一般在安装操作系统一起安装,用于辅助操作系统本身的管理。

应用程序:应用程序一般需要在操作系统之外另行安装,提供相对独立操作系统的功能,有时候等同于“软件“的概念。

2.典型的应用程序的目录结构

Linux应用程序管理(rpm yum 源码安装)_第2张图片

3.常见的软件包封装类型

对于各种应用 程序的软件包,在封装时可以采用各种不同的类型,不同类型的软件包其安装方法也各不相同。Linux应用程序管理(rpm yum 源码安装)_第3张图片

二.rpm包管理工具

1.rpm概述

Red-Hat Package Manager

由Red Hat公司提出,被众多Linux发行版所采用

建立统一的数据库文件

详细记录软件包安装、卸载等变化信息

自动分析软件包依赖关系

rpm软件包格式

使用RPM机制封装的软件包文件拥有约定俗称的命名格式:

一般命令格式:bash-4.12-15.el6_4.x86_64.rpm

Linux应用程序管理(rpm yum 源码安装)_第4张图片

2.rpm命令格式

RPM命令能够实现几乎所有对RPM软件包的管理功能

执行“man rpm” 命令可以获得关于rpm命令的详细帮助信息

rpm命令功能:

查询、验证RPM软件包的相关信息

安装、升级、卸载RPM软件包

维护RPM数据库信息等综合管理操作

3.查询rpm软件包的信息

3.1查询已安装的rpm软件信息

格式: rpm  -q  [子选项]  软件名

常用子选项

选项 功能
rpm  -q 对已安装的软件进行查询
rpm  -ql  软件名 查看某软件的所有安装目录
rpm  -qc  软件名 查看软件的配置文件     
rpm  -q  软件名 查看软件是否安装
rpm  -qa(all)

显示当前系统中以 rpm 方式安装的所有软件列表

rpm  -qi  软件名

查看指定软件包的名称、版本、许可协议、用途描述等详细信息

rpm  -qd  软件名 列出已安装的指定软件的软件包文档所在位置
rpm  -qf(file)  软件名

查看指定的文件或目录是由哪个软件包所安装的

rpm  -qF  软件名 查询已安装的指定软件属于哪个安装包
3.2查询未安装的rpm软件的文件中的信息

格式:rpm -qp  [子选项]  rpm包文件名(绝对路径的软件包名)

选项 说明
rpm  -qpd 查询未安装指定软件包的文档位置
rpm   -qpi 查询未安装指定软件包的完整名称详细信息
rpm   -qpl 查询未安装指定软件包的文件列表
rpm  -qpc 查询未安装指定软件包的配置文件位置

4.安装、升级、卸载rpm软件包

格式:rpm  [选项]  rpm包文件

常用选项

选项 功能
-i 安装一个新的rpm软件包
-v 显示软件安装过程中的详细信息
-h 在安装或升级软件过程中,以“#”号显示安装进度
-e 卸载指定名称的软件包
-U 升级某个软件包,若未安装过,则进行安装
-F 升级某个软件包,若未安装过,则放弃安装
–force 强制安装某个软件包,比如要安装版本更久的软件包
–nodeps 在安装或升级、卸载一个软件包时,不检查与其它软件包的依赖关系(会导致软件无法使用)

5.维护rpm数据库

 重建RPM数据库,当RPM数据库发生损坏,可通过重建RPM数据修复

基本格式:

rpm --rebuilddb 或rpm --initdb

导入验证公钥,在没有导入用于数字签名的公钥文件之前,安装光盘中的一部分rpm软件包时会报错,需要向rpm数据库中导入位于光盘跟目录下的公钥文件。

基本格式:

mount  /dev/sr0  /mnt/   #先挂载

rpm --import /mnt/RPM-GPG-KEY-CentOS-7 #导入公钥

6.解决软件包依赖关系的方法

①安装有依赖关系的多个软件时

被依赖的软件包需要先安装

可同时制定多个 .rpm包文件进行安装

②卸载有依赖关系的多个软件时

依赖其他的程序的软件包需要先卸载

可同时制定多个软件名进行卸载

③忽略依赖关系

结合“ - -nodeps”选项,但可能会导致软件异常

三.yum安装

1.什么是yum

yum(Yellow dog Updater Modified)是一个在Fedora和RedHat以及SUSE中的shell前段软件包管理器。

基于rpm包管理,能够从制定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,不需要频繁地一次次下载安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁又好记。

2.如何实现安装服务

Linux应用程序管理(rpm yum 源码安装)_第5张图片

元信息是一个文件 里面记录了安装包的路径  安装包的依赖关系

  1. 客户端根据配置文件找到服务端
  2. 客户端将元信息下载到本地仓库(元信息:安装包的位置,以及安装的依赖关系)
  3. 根据元信息去下载对应的安装包到本地后,然后安装
  4. 安装完成后再删除安装包

3.配置本地yum源仓库

1.先挂载

Linux应用程序管理(rpm yum 源码安装)_第6张图片

2.切换到指定目录 ,新建一个文件夹,将自带的仓库移走,目的是减少网络源的干扰

Linux应用程序管理(rpm yum 源码安装)_第7张图片

3.新建yum仓库

Linux应用程序管理(rpm yum 源码安装)_第8张图片

4.删除yum缓存并更新(至此,yum本地源已创建完成)

Linux应用程序管理(rpm yum 源码安装)_第9张图片

5. 检验是否安装成功

Linux应用程序管理(rpm yum 源码安装)_第10张图片

4.yum常用命令使用

指令 用途
yum  -y  install 软件名 安装升级软件包
yum  -y  remove  软件名 卸载软件包,可自动解决其依赖关系
yum  -y  update  软件名  升级软件包  

“ -y ” 选项表示自动确定

指令 用途
yum   list 查询软件包列表
yum  list   installed 查询系统中已安装的软件包
yum  list  available 查询仓库中尚未安装的软件包
yum  list  updates 查询可以升级版本的软件包

指令 用途
yum  info  软件名 查询软件包的描述信息
yum  search  all(关键字)  软件名 根据某个关键字来查找相关的软件包
yum  whatprovides  命令 查询命令属于哪个软件包

四.源代码编译安装

1.源代码编译概述

使用源代码优点

获得最新的软件版本,及时修复bug

根据用户需要,灵活定制软件功能

应用场合举例

安装较新版本的应用程序时

当前安装的程序无法满足需求时

需要为应用程序添加新的功能时

2.编译安装的基本过程

Linux应用程序管理(rpm yum 源码安装)_第11张图片

源码编译安装

./configure

安装准备工作

1.选择装在哪里

2.检查编译环境

3.选择安装模块,默认安装,额外的一些软件功能

./configure  --help  看到可以安装的模块

make   make  -j 2 代表使用两核cpu编辑

将所有的源代码翻译成二进制,会形成一个绿色的可执行的文件

make install

将执行的文件,及相关的一些依赖文件拷贝到之前的指定的目录中

关闭防火墙和防护

实操下载nginx

1.创建并切换到data下,下载nginx安装包

Linux应用程序管理(rpm yum 源码安装)_第12张图片

2.解压源码包

3.切换目录到他下面

4.安装编译环境需要的包

5.配置安装路径

6.编译和安装

7.简化操作,关闭防火墙和防护

8.开启服务,然后检测服务是否开启

9.测试

Linux应用程序管理(rpm yum 源码安装)_第13张图片

你可能感兴趣的:(Linux,linux,运维)