【无标题】Linux应用程序中 rpm yum


一.Linux不仅需要系统命令还需要应用程序

用途区别

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

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

1.典型           应用程序           目录

文件类型 保存目录
普通执行程序文件 /usr/bin
服务器执行程序文件和管理程序文件 /usr/sbin
应用程序       配置文件 /etc
日志   文件 /var/log
应用程序     参考文档      文件 /usr/share/doc
2 常见软件包封包类型


文件类型                     保存目录


RPM软件包                扩展名为  “rpm”


DEB软件包                 扩展名为  “deb”


源代码软件包    一般为“.tar.gz”、“.tar.bz2”等格式的压缩包 包含程序的原始代码


绿色免安装的软件包    扩展名不一,以TarBall格式的居多 在压缩包内提供已编译好的执行程序文件 解开压缩包后的文件即可直接使用

二 rpm包管理工具

  1. 由Red Hat公司提出,被众多Linux发行版所采用
  2. 建立统一的数据库文件
  3. 详细记录软件包安装、卸载等变化信息
  4. 自动分析软件包依赖关系

2 rpm软件包格式

拥有约定俗称的命名格式:bash-4.12-15.el6_4.x86_64.rpm

3 rpm命令功能:

  • 查询、验证RPM软件包的相关信息
  • 安装、升级、卸载RPM软件包
  • 维护RPM数据库信息等综合管理操作

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


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

选项                                         功能
rpm  -q                      对已安装的软件进行查询


rpm  -ql                       查看某软件的所有安装目录


rpm  -qc                      查看软件的配置文件

    
rpm  -q                         查看软件是否安装


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

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

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


rpm  -qf(file)            查看指定的文件或目录是由哪个软件包所安装的

rpm  -qF                查询已安装的指定软件属于哪个安装包


4 查询未安装的rpm软件的文件中的信息

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

选项                                    说明
rpm  -qpd             查询未安装指定软件包的文档位置


rpm   -qpi             查询未安装指定软件包的完整名称详细信息

 
rpm   -qpl              查询未安装指定软件包的文件列表


rpm  -qpc               查询未安装指定软件包的配置文件位置

5 挂载目的:提供安装包

系统内部文件夹与硬件设备关联,访问文件夹就等于访问硬件设备的文件

       挂载格式:      mount 设备 加文件夹路径 

    解挂载格式:      umount    挂载的文件夹

安装软件首先要有软件包,安装软件包的获取方法

  1. 从网上下载(红帽官方下载;该软件的官网)
  2. 从光盘里面复制(命令格式:wget 链接)

注意:

(1)最好使用空文件进行挂载
(2)一个文件夹挂载多个设备 1光驱 2磁盘 谁后挂显示谁,同一时间只能挂一个
(3)一个设备可以挂载在多个文件夹上 光驱abc
 

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


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

常用选项

选项                                功能
-i                           安装一个新的rpm软件包


-v                          显示软件安装过程中的详细信息


-h                          在安装或升级软件过程中,以“#”号显示安装进度


-e                           卸载指定名称的软件包


-U                           升级某个软件包,若未安装过,则进行安装


-F                           升级某个软件包,若未安装过,则放弃安装


–force                     强制安装某个软件包,比如要安装版本更久的软件包


–nodeps                 在安装或升级、卸载一个软件包时,不检查与其它软件包的依赖关系(会导致软件无法使用)


7.维护rpm数据库


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

基本格式:

rpm --rebuilddb 或rpm --initdb

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

基本格式:

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

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

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


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

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

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

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

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

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

③忽略依赖关系

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

二 源代码 编译安装的基本过程


1 源代码安装软件的优点


获得最新的软件版本,及时修复bug
根据用户需要,灵活制定软件功能


2 使用源代码应用场合 

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

  2. 当前安装的程序无法满足需要时

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

configure文件是作者放在源码包中给我们使用,是一个脚本文


3 编译安装准备工作


(1)选择装在哪里
(2)检测编译环境
(3)选择安装模块,默认安装,额外的一些软件功能
(4) /configure (文件是作者放在源码包中给我们使用的一个脚本文件)
      /configure --help 看到可以安装的模块

4.安装过程中会遇到的问题


(1)/configure缺少编译工具,先删除makefile文件,然后观察报错信息,去百度少什么编译工具,然后yum install去装编译工具
(2)make  将所有的源代码翻译成二进制,会形成一个绿色的可执行文件
(3)make install将执行文件及相关的一些依赖文件拷贝到之前的指定目录中

编译安装过程

三 yum

  • 基于rpm包管理,能够从制定的服务器自动下载rpm包并且安装,
  • 可以自动处理依赖性关系,且一次安装所有依赖的软件包,不需要频繁安装。
  • 提供了查找、安装、删除某一个、一组甚至全部软件包的命令
  1 实现yum安装服务

①客户端根据配置文件找到服务端

②客户端将元信息下载到本地(元信息:安装包位置,以及安装的依赖关系)

③根据元信息去下载对应的安装的安装包到本地后,然后安装

④安装完成后,再删除安装包

4 安装步骤

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

①元信息:是一个文件,记录安装包的路径和安装包的依赖关系

②配置文件

  • 必须要放在 /etc/yum.repos.d/文件夹下
  • 必须要以 .repo 结尾


③客户端匹配置文件的格式

  1. [local](代表仓库的描述)
  2. name=local(代表仓库的名字)
  3. baseurl=服务器的地址(指明安装包的位置)
  4. gpgcheck=0(代表关闭验证安装包的安全性)

⑥服务器地址:

  1. file:// — 代表本机位置
  2. file:// /mnt — 代表本机光盘的挂载点(在/mnt文件夹下)
  3. http:// ip地址 — 代表网络地址
  4. https:// ip地址 — 代表网络地址

⑦本地yum仓库    :没有网络情况下救急使用本地yum仓库

⑧本地yum仓库安装命令步骤

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