yum是上层的安装智能管理工具。既可以发现软件的底层依赖性,也可以解决依赖性问题
rpm是底层的安装工具。只能发现软件的依赖性,但是不能解决
1.软件名称识别
软件名称识别
[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm #rpm结尾的适用与redhat操作系统
[abrt-addon-ccpp] #软件名称
[2.1.11-19] #软件版本
[el7] #软件适用系统
[x86_64] #64位
例子:
wps-office-10.1.0.5672-1.a21.x86_64.rpm
FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm
linuxqq-v1.0.2-beta1.i386.rpm
2.rpm常用命令
rpm -i 安装
-v 显示安装过程
-h 指定加密方式,hash加密
-e 卸载
-ql 查看安装此软件会在系统中生成哪些文件和其路径
-p 后面加的是.rpm结尾的软件包,此命令查看软件包如果安装以后会产生什么软件
-qa 查询系统中安装的所有软件名称
-qf filename(绝对路径) #查看此文件是由哪个安装包产生的
-ivh name.rpm(软件包)--force #强制安装,但不能忽略依赖性
-ivh name.rpm(软件包)--nodeps--force #忽略依赖性并且强制安装
-qi name #查看软件安装后的信息
-kv #检测安装包安装的时间是否被篡改
3.测试
(1)-ivh name.rpm #安装,-v显示过程,-h指定加密方式为bash
[root@localhost software]# rpm -ivh wps-office-10.1.0.5672-1.a21.x86_64.rpm
error: Failed dependencies: #显示没有解决依赖性
libpng12.so.0()(64bit) is needed by wps-office-10.1.0.5672-1.a21.x86_64
libGLU.so.1()(64bit) is needed by wps-office-10.1.0.5672-1.a21.x86_64
(2).-e name #卸载
root@localhost software]# rpm -ivh wps-office-10.1.0.5672-1.a21.x86_64.rpm #解决完依赖性后安装该软件
Preparing... ################################# [100%]
Updating / installing...
1:wps-office-10.1.0.5672-1.a21 ################################# [100%]
[root@localhost software]# wps #打开软件
[root@localhost software]# rpm -e wps-office #卸载软件
[root@localhost software]# wps #再次打开则显示没有
bash: /usr/bin/wps: No such file or directory
(3).-ql name #查询生成文件
[root@localhost software]# rpm -ql wps-office
/etc
/etc/fonts
/etc/fonts/conf.avail
/etc/fonts/conf.avail/40-wps-office.conf
/etc/fonts/conf.d
/etc/fonts/conf.d/40-wps-office.conf
/opt/kingsoft
/opt/kingsoft/wps-office
/opt/kingsoft/wps-office/office6
/opt/kingsoft/wps-office/office6/addons
/opt/kingsoft/wps-office/office6/addons/homepage
#文件过多只显示部分来表达测试效果
(4).-qd name #查询软件的说明文件名称,
软件的文档-qc name #查询软件的配置文件名称
-qlp name.rpm #查询安装软件后会生成什么文件
-qa #查询系统中安装的所有软件名称
-qa |grep name #查询软件安装状态,大致文件名
-p #查软件包
-q name #查询软件,可以判断安装状态
-qp name.rpm #查询软件安装包安装后的名字
-qf filename #查看filename属于那个安装包,等同于yum whatprovides name
-nodeps #忽略依赖性,大多数安装的软件都不可用
-force #强制安装,可以再次安装
-ivh name.rpm –force #强制安装,但不能忽略依赖性
-ivh name.rpm –nodeps –force #忽略依赖性并且强制安装
-qi name #查看软件信息
-Kv name.rpm #检测软件包是否被篡改
-qp name.rpm –scripts #检测软件在安装或卸载过程中执行的动作
rpm的相关参数
-ivh name.rpm #安装,-v显示过程,-h指定加密方式为bash
-e name #卸载
-ql name #查询生成文件
-qd name #查询软件的说明文件名称,软件的文档
-qc name #查询软件的配置文件名称
-qlp name.rpm #查询安装软件后会生成什么文件
-qa #查询系统中安装的所有软件名称
-qa |grep name #查询软件安装状态,大致文件名
-p name #查软件包
-q name #查询软件,可以判断安装状态,
-qp name.rpm #查询软件安装包安装后的名字
-qf filename #查看filename属于那个安装包,等同于yum whatprovides name
-nodeps忽略依赖性,大多数安装的软件都不可用
-force强制安装,可以再次安装
-ivh name.rpm –force #强制安装,但不能忽略依赖性
-ivh name.rpm –nodeps –force #忽略依赖性并且强制安装
-qi name #查看软件信息
-Kv name.rpm #检测软件包是否被篡改
-qp name.rpm –scripts #检测软件在安装或卸载过程中执行的动作
3.第三方软件仓库的搭建
1、把所有的rpm软件包放到一个目录中,这个目录中只能存在rpm文件
2、createrepo -v /rpm存放目录 #/rpm存放目录中是被扫描的软件信息数据,createrepo是生成软件包的数据库文件
3、vim /etc/yum.repos.d/xxx.repo
[software] #自定义软件仓库名称
name=software #自定义软件仓库描述
baseurl=file:///rpm存放目录 #仓库位置
gpgcheck=0 #gpgkey表示软件的出品logo
退出保存
4、yum clean all 后即可用yum 下载文件
[root@localhost ~]# createrepo -v /mnt/software #生成软件包的数据库文件
Spawning worker 0 with 4 pkgs
Worker 0: reading FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
Worker 0: reading FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm
Worker 0: reading linuxqq-v1.0.2-beta1.i386.rpm
Worker 0: reading wps-office-10.1.0.5672-1.a21.x86_64.rpm
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs Starting other db creation: Tue May 1 08:35:50 2018
Ending other db creation: Tue May 1 08:35:53 2018 Starting filelists db creation: Tue May 1 08:35:53 2018
Ending filelists db creation: Tue May 1 08:35:53 2018
Starting primary db creation: Tue May 1 08:35:53 2018
Ending primary db creation: Tue May 1 08:35:55 2018
Sqlite DBs complete
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls yum.repo
[root@localhost yum.repos.d]# vim yum.repo #编辑软件仓库文件,内容如下:
[software] name=software
baseurl=file:///mnt/software
gpgcheck=0
:wq #退出保存
[root@localhost yum.repos.d]#
yum clean all #清理完就可以下载刚搭建的软件仓库里面的文件 Loaded plugins: langpacks
Cleaning repos: software source7.0
Cleaning up everything
共享搭建好软件仓库的网络源
1、yum install httpd #下载httpd
2、systemctl start httpd #打开httpd
3、systemctl enable httpd
4、systemctl stop firewalld #关闭防火墙以便共享
4、cp -r /mnt/software/ /var/www/html/ #将搭建好的软件仓库复制在目录/var/www/html/里,这步是创建网络源
5、在浏览器测试是否共享
http://ip/software