YUM是“Yellow dog Update, Modified”的缩写,是一个软件包管理器,因为Linux系统存在特有的依赖关系,YUM就是为了解决依赖关系而存在,YUM源相当一个目录,当我们需要安装依赖软件时,YUM从指定的地方自动下载RPM包并安装,能够很好的解决依赖关系问题。
YUM的基本工作机制:在服务器上存放了所有RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内,如果客户端需要安装某个软件时,先下载服务器上记录的依赖性关系文件(可以通过www过FTP方式),通过对服务器端下载的记录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
yum list all ##列出所有安转包 yum list installed ###列出已经安装的 yum list available ###列出没有安装的 yum remove software ###卸载软件 yum install software ###安装软件 yum search 关键字 ###搜索与关键字相关的软件 yum whatprovides 文件 ###搜索包含此文件的包 yum reinstall software ###从新安装软件 yum localinstall 第三方软件 ##安装该软件并解决依赖关系 yum info software ###查询软件信息 yum groups list ###列出软件组 yum groups install ###安装组 yum groups remove ###卸载组 yum groups info ###查看组信息
建立官方软件仓库需要一个与本机匹配的镜像,实验的主机是 rhel7.1,所以镜像也是此版本的。
将镜像挂在在一个目录中,df 可以查看是否挂载成功。
路径:/etc/yum.repos.d/rhel-dvd.repo 文件,系统只会读取以.repo结尾文件,名字无所谓,gpgcheck=0 就是不进行gpg检测,gpg检测是使用yum安装软件对软件输入公钥进行验证,看来源是否安全,Baseurl是指定查找解决依赖关系软件的路径,因为这是本地yum配置,所以使用“file://”, /yum就是刚才镜像的挂载点
yum clean all
使配置生效。
配置网络yum源,使我们建立的yum仓库可以共享到网络上,可以是基于httpd服务,也可以基于ftp服务。这里使用httpd服务,httpd是Apache超文本传输协议。
yum install httpd -y
先安装提供http服务的httpd软件,也可以验证刚才本地yum源配置是否成功。安装成功,本地yum源配置正确。
打开httpd服务,开机自东启动服务,关闭防火墙。
Httpd默认发布目录是/var/www/html/,相当于根目录,所有共享的文件都要放在这个目录里。在/etc/httpd/conf/httpd.conf文件可以查看到第119行。
在这个“根”目录建立一个目录,并将刚才的/yum/卸载,然后把镜像挂载到这个建立的目录里。
vim /etc/yum.repos.d/rhel-dvd.repo
yum clean all 然后清理缓存,使配置生效。
开机自动挂载镜像,我们就可以每次开机直接安装更新软件,并且自动共享yum仓库,在/etc/fstab 文件最后添加一行命令。
以后当我们重启时,系统开机会读取/etc/fstab文件,帮我们挂载上镜像,我们就可以一劳永逸了。
打开浏览器,输入172.25.98.250/yumsource,就可以看到我们配置的网络yum源。
vim /etc/yum.conf
添加如下命令,让search软件时,就会自动过滤。
exclude=*.x86_64 ###忽略64位安装包 exclude=*.i686 ###忽略32位安装包
当我们要安装的软件官方镜像中没有时,我们就需要在网上下载一个rpm包。
rpm ###底层软件管理工具 -i ###install -v ###显示信息 -h ###指定包的解密方式为hash -q ###查询 -p ###指定软件包本身 -l ###列出软件中文件的名字 --scripts ###查看软件安装和卸载过程中所执行的动作 -f ###查询某个文件属于那个安装包 -a ###所有 -e ###卸载 --force ###强制 --nodeps ###忽略依赖性 -c ###配置文件 rpm2cpio 软件名 | cpio -id ###将软件包按目录拆开
安装wps:
rpm -ihp wps-office-10.1.0.5672-1.a21.x86_64.rpm
如果出现一些依赖项,就一个一个找到提供这些依赖关系 的软件安装就可以了,或者搭建第三方软件仓库,就会会自动帮我们安装依赖项。
createrepo /software ##在建立的仓库目录中执行,就会生成repodate目录
在/etc/yum.repos.d/xxx.repo编写指定/software的yum源。
清理缓存,使配置生效。
yum repolist all ##列出仓库列表
可以看到两个“仓库”,一个是用镜像建立的官方仓库,一个是建立的第三方仓库。
搭建好第三方软件仓库后,用yum安装该仓库软件时会自动帮助我们解决依赖项问题。