rpm和yum(安装及管理程序)

文章目录

    • 应用程序与系统命令的关系
    • 典型应用程序的目录结构
    • 常见的然软件包封装类型
    • RPM包管理工具
    • rpm命令的格式
      • 查询
      • 挂载
      • 安装卸载升级
      • 维护RPM数据库
    • 编译安装
    • 解决软件包依赖关系方法
    • 配置本地yum源仓库

应用程序与系统命令的关系

  1. 位置: Linux中一切皆为文件 演示内部命令和外部命令 位置 应用程序位置
  2. 用途: 命令主要处理系统的基本操作(复制,配置) 应用程序可以完成独立的任务浏览器访问 页
  3. 使用环境 字符界面 字符和桌面
  4. 格式 命令的格式 命令参数对象 无固定格式

典型应用程序的目录结构

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

常见的然软件包封装类型

  1. 文件类型:RPM软件包 。保存目录:扩展名为“.rpm”
    解析:RPM包 : RPM Package Manager的缩写 是红帽公司自主研发的一款工具,实用性强。RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在相互依赖的情况。

  2. 文件类型:DEB软件包 。保存目录:扩展名为“.deb”
    DEB包:在Linux系统中类似于windows中的软件包(exe),几乎不需要什么复杂的编译即可通过鼠标点击安装使用。此外,deb广泛应用于越狱后iOS软件及MeeGo(含Maemo软件)中。Debian包是将包的文件信息以及包内容,经过gzip和tar打包而成。

  3. 文件类型:源代码软件包
    解析:源代码软件包 :是需要我们自己把源代码编译成二进制的可执行文件。如果你读得懂这些源代码,那么你就可以去修改这些源代码自定义功能,然后再去编译成你想要的。使用源码包的好处除了可以自定义修改源代码外还可以定制相关的功能,因为源码包在编译的时候是可以附加额外的选项的。
    保存目录:一般为“.tar.gz”、“.tar.bz2”等格式的压缩包 包含程序的原始代码

  4. 文件类型:绿色免安装的软件包
    解析: 绿色免安装的软件包 :顾名思义自行理解比如Windows的截图软件
    保存目录: 软件包的扩展名不一,以TarBall格式的居多 在压缩包内提供已编译好的执行程序文件 解开压缩包后的文件即可直接使用

RPM包管理工具

Red-Hat Package Manager
由Red Hat公司提出,被众多Linux发行版所采用
建立统一的数据库文件(一张对应表将信息写入)
详细记录软件包安装、卸载等变化信息
自动分析软件包依赖关系
1.一般命令格式
bash-4.1.2-15.el6_4.x86_64.rpm

bash shell环境 版本信息 4.1.2 15发布次数 x86_64硬件(为“i386”或“i686”等)
2.拆包后的分类
主要分为:

  • 主包
  • 开发包
  • 手册包
  • 工具包
    3.程序包管理器相关文件
  1. 包文件组成 (每个包独有)
  • 包内的文件
  • 元数据,如:包的名称,版本,依赖性,描述等
  • 可能会有包安装或卸载时运行的脚本
  1. 数据库(公共):/var/lib/rpm (安装好后会将一些公共的数据放入数据库中)
  • 程序包名称及版本
  • 依赖关系
  • 功能说明
  • 包安装后生成的各文件路径及校验码信息
  1. 包数据库:
    软件包之间可能存在依赖关系,甚至循环依赖,即:A包依赖B包,B包依赖C包,C包依赖A包
    安装软件包时,会因为缺少依赖的包,而导致安装包失败。
    4.获取途径
  • 红帽官方
  • 第三方组织提供
  • 软件项目官方站点
  • 自己制作

rpm命令的格式

RPM软件可以实现几乎所有的功能,新增,删除,更新等

查询

选项 功能效果
rpm -qa(all) 显示当前系统中以 RPM 方式安装的所有软件列表
rpm -q 软件名 查询指定软件是否已安装
rpm -qi 软件名 查看指定软件包的名称、版本、许可协议、用途描述等详细信息
rpm -ql(list) 软件名 显示指定的软件包在当前系统中安装的所有目录、文件列表
rpm -qc (configfiles ) 软件名 列出已安装的指定软件的配置文件
rpm -qd(docfiles) 软件名 列出已安装的指定软件的软件包文档所在位置
rpm -qR (requires) 软件名 列出已安装的指定软件的依赖的软件包及文件
rpm -qf(file) 软件名 查看指定的文件或目录是由哪个软件包所安装的
rpm-qpd 查询未安装指定软件包的文档位置
rpm -qpi 查询未安装指定软件包的完整名称详细信息
rpm -qpl 查询未安装指定软件包的文件列表
rpm -qpc 查询未安装指定软件包的配置文件位置

挂载

格式:mount 设备 加文件夹路径 (已存在且是空的文件夹,原来的数据将被隐藏)
挂载规则

  1. 一个挂载点同一时间只能挂载一个设备
  2. 一个挂载点同一时间挂载了多个设备,只能看到最后一个挂载设备的数据,其它设备上的数据将被隐藏
  3. 一个设备可以同时挂载到多个挂载点
  4. 通常挂载点一般是已存在空的目录
    选项
    -t fstype 指定要挂载的设备上的文件系统类型,如:ext4,xfs
    -r readonly,只读挂载
    -w read and write, 读写挂载,此为默认设置,可省略
    -n 不更新/etc/mtab,mount不可见
    -a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
    -L ‘LABEL’ 以卷标指定挂载设备
    -U ‘UUID’ 以UUID指定要挂载的设备
    -B, –bind 绑定目录到另一个目录上
    -o options:(挂载文件系统的选项),多个选项使用逗 分隔

安装卸载升级

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

选项 效果
-i 安装一个新的RPM软件包
-U 升级某个软件包,若未安装过则进行安装
-F 升级某个软件包,若未安装过则直接结束
-h 在安装或升级过程中已# 显示读条
-v 显示安装过程的详细信息
–force 强制安装某个软件包
-e 软件名 卸载指定的软件
–nodeps 在安装或升级、卸载一个软件包时,不检查与其他包的依赖关系

安装路径

安装路径 含 义
/etc/ 配置文件安装目录
/usr/bin/ 可执行的命令安装目录
/usr/lib/ 程序所使用的函数库保存位置
/usr/share/doc/ 基本的软件使用手册保存位置
/usr/share/man/ 帮助文件保存位置

维护RPM数据库

1.重建RPM数据库

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

rpm –rebuild 或者 rpm –initdb

2.导入验证公钥

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

编译安装

编译安装的基本过程

yum源代码编译安装
YUM(Yellow dog Updater,Modified)
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间

yum常用的操作命令

  • yum -y install 软件名 #安装、升级软件包,“-y”选项表示自动确认
  • yum install lrzsz -y #安装包上传下载(rz上传,sz下载)
  • yum -y remove 软件名 #卸载软件包,可自动解决其依赖关系
  • yum -y update 软件名 #升级软件包
  • yum list #查询软件包列表
  • yum list installed #查询系统中已安装的软件包
  • yum list available #查询仓库中尚未安装的软件包
  • yum list updates #查询可以升级版本的软件包
  • yum info 软件名 #查询软件包的描述信息
  • yum info httpd
  • yum search [all] 关键词 #根据某个关键词来查找相关的软件包
  • yum search all httpd
  • yum search all httpd | wc -l #查找到httpd相关的包并统计个数
  • yum whatprovides 命令 #查询命令属于哪个软件包
  • yum whatprovides netstat
  • yum install 包名 -y –downloadonly – downloaddir=/tmp/ #下载RPM包到指定目录
  • yum install httpd -y –downloadonly –downloaddir=/home/ky19
  • yum install epel* -y
  • yum install nginx -y –downloadonly –downloaddir=/home/ky19
    (nginx服务名称,downloadonly下载全部,downloaddir下载到对应的路径)

解决软件包依赖关系方法

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

  • 被依赖的软件包需要先安装
  • 可同时指定多个.rpm包文件进行安装
    卸载有依赖关系的多个软件时
  • 依赖其他程序的软件包需要先卸载
  • 可同时指定多个软件名进行卸载
    忽略依赖关系
  • 结合”–nodeps“选项,但可能导致软件异常

配置本地yum源仓库

rpm和yum(安装及管理程序)

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8950 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月4日
下一篇 2022年9月4日

相关推荐