BPM软件包管理 软件依赖关系 构建Yum软件仓库

环境准备

1.光盘文件放入挂载光驱设备
BPM软件包管理  软件依赖关系  构建Yum软件仓库

2.挂载光驱设备(临时挂载)

mount /dev/cdrom /mnt
ls /mnt
ls /mnt/Packags		软件包一般都会以.rpm结尾

BPM软件包管理

· 常见的软件封包类型
BPM软件包管理  软件依赖关系  构建Yum软件仓库

RPM的含义

·RPM Package Manager

  • 由红帽公司提出,RedHat,SUSE等系列采用
  • 建立集中数据库,记录软件包安装/卸载等变化信息,分析软件包依赖关系

·RPM包文件名特征

  • 软件名-版本信息.操作系统.硬件架构.rpm
  • firefox - 52.7.0-1 . e17 . centos.x86_64 . rpm
    注意 : 不要把64位的软件包装在32位操作系统上
    软件包安装也要进行版本匹配 (比如不要把6版本的软件包,安装在el7的系统上)

RPM包的一般安装位置(都是默认的,不需要安装者进行选择安装包路径)
BPM软件包管理  软件依赖关系  构建Yum软件仓库
查询软件信息

查询已安装的RP软件包的信息
- 格式:rpm -q[子选项] [软件名称]

常用的子选项
- -a 列出已安装的所有软件包
- -i 查看指定软件的详情信息
- -l 查看指定软件的文件安装清单

- -f 查询某个目录/文件是哪个RPM包带来的 
- 格式:rpm -qf [文件路径]...(即使目标文件被删除,也可以查询)

查询已经安装的软件包

rpm -qa			当前系统中所有已经安装的软件包
rpm -q bash			查看bash软件是否安装
rpm -qi bash		查看bash软件信息	
rpm ql bash 		查看bash软件安装了哪些内容(安装清单)
rpm ql bash | less

which vim	 查询命令对应的执行程序
# /usr/bin/vim
rpm -qf /usr/bin/vim	查询某个目录/文件是哪个BPM包带来的
# vim-enhanced-7.4.629-8.el7_9.x86_64
rpm -q vim-enhanced		查看软件vim-enhanced是否已安装
# vim-enhanced-7.4.629-8.el7_9.x86_64

查询未安装的软件包

rpm -q vsftpd  	查询vdftpd软件是否安装(未安装)
ls /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm	
# /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm
rpm -qpl /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm 	查询vdftpd软件包的安装清单
rpm -qpi /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm 	查询vdftpd软件包的信息

导入红帽的签名信息(了解)

我们在查询部分安装包信息的时候有可能会出现警告信息,原因是因为没有红帽的官方认证,
可以导入红帽官方认证消除警告,如果我们不消除警告信息,也不会影响我们的安装和使用。
rpm --import /mnt/RPM-GPG-KEY-CentOs-7	
rpm -qpi /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm	查询vdftpd软件包的信息

安装/卸载RPM软件

安装RPM软件
- 格式: rpm -i RPM包文件...

卸载RPM软件
- 格式: rpm -e 软件名...

辅助选项
- -v 显示细节信息
- -h 以#号显示安装进度
-  --force 强制安装,覆盖安装
-  --test 测试安装,不做真实安装动作
rpm -i /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm		安装vsftpd软件包(无任何提示信息)
rpm -ivh /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm	安装vsftpd软件包(显示安装信息和安装进度)
rpm -q vsftpd	查看vsftpd软件是否已经安装	
rpm -e vsftpd	卸载vsftpd软件	

--force 强制安装,覆盖安装
如果在操作系统中我们已经安装了一个软件,那么我们可以通过强制安装的方式覆盖安装原软件
rpm -ivh --force /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm	强制安装

--test 测试软件的兼容性(了解即可)
在实际安装之前,可以用测定安装的方法测试以下软件安装的兼容性等一系列问题(不是真实安装)
rpm -ivh --test /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm	测试安装
案例:
如果我们不小心删除了linux系统的命令,那么有什么恢复的办法
which hostname 		查看hostname执行文件
# /bin/hostname
rm -rf /user/bin/hostname	删除hostname执行文件
hostname	
# -bash: /bin/hostname: No such file or directory(找不到执行文件)
rpm -qf /user/bin/hostname		查看执行文件/user/bin/hostname由哪个软件包产生(-qf查询是在数据库中查询的,数据库会记录安装的记录和卸载的记录等等)
# hostname-3.13-3.el7_7.1.x86_64
rpm -ivh --force /mnt/Packages/hostname-3.13-3.el7_7.1.x86_64.rpm		重新安装执行文件软件包

软件依赖关系

· 解决依赖关系

  • 先安装/卸载要求的包
  • 如果RPM包齐全但比较多,可以用通配符*

· 忽略依赖关系

  • 可能会导致软件运行异常
  • 辅助选项 --nodeps

常见的依赖关系报错,如下图所示:
BPM软件包管理  软件依赖关系  构建Yum软件仓库

构建Yum软件仓库(重点!!!)

作用 : 自动解决依赖关系安装软件
服务 : 自动解决依赖关系安装软件

Yum软件就类似于手机的应用商城,只需要点击下载,会自动下载并安装软件

服务端(本机) :
1.众多的软件包(/mnt/Packages) 2.仓库数据文件(/mnt/repodata)
3. FTP 协议 或 HTTP协议
本地Yum仓库 : 服务端需要有光盘内容即可

客户端(本机) : 指定服务端位置
- 仓库配置 : /etc/yum.repos.d/*.repo
文件路径必须是/etc/yum.repos.d/,文件结尾必须是.repo结尾
- 错误的文件会影响正确的文件
如果在工作中出现错误的yum文件,建议使用mv移走

ls /etc/yum.repos.d/
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak	 
# .repo结尾的文件都必须是连网才可以使用的,本机使用yum软件都必须先把.repo结尾的文件移动到其他目录下
ls /etc/yum.repos.d/bak

客户端文件配置内容

·.repo 基本配置项
- [源名称]  自定义名称,具有唯一性
- name : 本软件源的描述字串
- baseurl : 指定Yum服务端的URL地址	(file://固定格式,代表本地yum仓库的意思)
- enabled : 是否用此频道 	(0不生效,1生效)
- gpgcheck : 是否验证待安装的RPM包	(检测红帽认证的签名:0不检测,1监测;检不监测都可以,不影响使用)
- gpgkey : 用于RPM软件包验证的密匙文件 	(当gpgcheck:1时,需要写指定红帽签名的文件路径)
ls /mnt/RPM-GPG-KEY-CentOs-7   查看红帽认证签名的文件路径
# mnt/RPM-GPG-KEY-CentOs-7
vim /etc/yum.repos.d/mydvd.repo
	[nana2008]
	name=wanglala
	baseurl=file:///mnt
	enabled=1
	gpgcheck=1
	gpgkey=file:///mnt/RPM-GPG-KEY-CentOs-7
	
yum repolist	# 列出仓库信息
上一篇:快速入门基于区块链的BPM系统--汇流BPM


下一篇:BPM工作流(OA系统)