您的位置:首页 > 运维架构 > Linux

linux基础(十三)软件安装rpm和yum

2017-10-24 22:51 246 查看

yum

yum相比于rpm,解决了安装软件的依赖关系

yum安装软件时,必须要两个前提
1、有一个软件仓库作为yum源
2、在yum配置文件中添加指向软件仓库的路径
yum源可分为3种:
1、本地镜像文件
网上下载本机系统的镜像文件,文件中有一系列软件安装包
如果想要给虚拟机添加镜像文件,需要打开虚拟机管理器,输入root密码,进行以下操作



操作完成后关闭虚拟机,再重新打开。##直接重启似乎不能成功
这时候虚拟机桌面会有一个文件RHEL-7.0.....



第一步:将镜像文件挂载到/mnt中
mount   /dev/sr0   /mnt 
##sr0就是刚添加的镜像文件s=scsi,表示光驱,r=rom表示只读,0表示设备编号



第二步:在yum配置文件中指明软件仓库的路径



在以上目录中新建.repo文件,或者在原先的.repo文件中修改



[rhel7] ##仓库名称

name=rhel7 ##仓库描述

baseurl=file:///mnt ##仓库地址,file://是协议,可以访问本地路径的文件,/mnt是本地所在位置

gpgcheck=0 ##不检测key

enabled=1 ##1 仓库生效; 0 不生效

这两步完成之后,
yum clean all ##清理yum缓存,默认会去/var/cache/yum去找软件信息,更改配置后一定要清缓存
yum repolist ##列出yum仓库清单



测试是否可以安装软件:
yum search dhcp ##查找DHCP相关软件



找到之后再安装,注意安装名称一定要写软件包全名



2、搭建网络yum源

首先安装httpd服务,开启httpd服务并且关闭防火墙





设置开机开启httpd服务,开机关闭防火墙



server开启httpd服务之后,别的主机用户可以通过http协议访问server的/var/www/html/
/var/www/html/是httpd服务的默认发布目录,可以在httpd.conf中修改





确定yum源:
在/var/www/html/目录中新建一个yum源目录,并将镜像文件挂载到yum源目录中



指定路径:
只要是与server主机可以ping通的主机,都可以通过以下设置来访问网络yum源





baseurl=http://server主机ip或server主机的域名/rhel7 ##仓库地址
http://是协议,/rhel7是server主机/var/www/html/rhel7目录
##更改配置后,清理yum缓存

yum clean all 
yum repolist ##列出yum仓库清单



3、搭建网络第三方yum源

镜像文件中软件虽多,但仍有一些软件没有涉及,这些软件需要自己上网下载
对于一些自己下载的软件包,可以自行创建一个yum源,
注意:如果是自己创建的软件仓库,就必须用createrepo 命令创建repodata,一个类似于目录的文件夹





以上是创建了一个本地yum源,只需要在yum配置文件中指定该目录作为yum源就可以。
baseurl = file:///software

如果想要搭建网络yum源依然要使用httpd服务。
确定httpd服务是否开启,防火墙是否关闭。
首先确定yum源:
在/var/www/html/目录下新建一个存放软件包的目录,并为该目录创建repodata



然后在yum配置文件中,指定yum源的路径



##更改配置后,清理yum缓存

yum clean all 
yum repolist ##列出yum仓库清单,检测yum源是否搭建成功

注意:挂载文件在关机后会被清除,可以在以下文件中编辑,使其开机时,自动挂载

vim /etc/rc.d/rc.local





保存退出后,给该文件添加执行权限



重启之后,镜像文件会自动挂载这两个目录下。

4、yum命令

yum repolist ##列出设定yum源信息

yum search softwareinfo ##根据软件信息搜索软件名字

yum whatprovides filename  ##在yum源中查找包含filename文件的软件包

##softwareinfo 是指软件的相关信息,不需要软件全名

安装:
yum  install softwarename##安装,支持*,但需要手动选择y/n

yum -y install ##支持*,且全部自动选择
yum reinstall softwarename ##重新安装

yum remove softwarename ##卸载,不支持*
yum info softwarename ##查看软件信息

查询:
yum list all  ##列出所有软件名称

yum list installd ##列出已经安装的软件名称
yum list installd softwarename ##查看已安装软件中是否有该软件
yum list softwarename ##查看软件源中是否有该软件

yum list available  ##列出可以用yum安装的软件名称

更新:
yum update ##更新软件
yum update softwarename ##更新软件

yum history ##查看系统软件改变历史

软件组:
yum groups install softwaregroup ##安装组件
yum groups list ##查看软件组信息

yum groups info softwaregroup ##查看软件组内包含的软件

rpm

rpm是一个较为底层的软件管理工具
用rpm安装软件时,安装包必须在当前目录下,而且无法自动解决软件之间的依赖性问题

rpm命令:
-ivh
name.rpm ##安装 ,-v显示过程,-h指定加密方式为hash,支持*
-e name ##卸载,不支持*

查询:

-q name ##查询软件是否安装

-ql
name ##查询软件生成文件
-qlp
name.rpm ##查询软件安装后会生成什么文件



-qa
##查询系统中安装的所有软件名称
-qa | grep name ##查询软件是否安装



-qp name.rpm##查询软件安装包安装后的名字
-qf filename
##查看filename属于那个安装包

##软件故障,想要重新安装时,可以使用强制安装
##强制安装会出现各种问题,不建议强制安装
-ivh name.rpm --force ##强制安装,但不能忽略依赖性
-ivh name.rpm --nodeps --force ##忽略依赖性并且强制安装

检测:
-Kv name.rpm##检测软件包是否被篡改
-qp name.rpm --scripts ##检测软件在安装或卸载过程中执行的动作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: