linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)

1.什么是yum源?

yum源就是一个软件集合地,你只需要搜索并安装你想要的软件,它会帮你解决大部分软件的依赖问题
本地yum源:比如说光盘里面一般会附带一些软件,这个时候就可以把光盘当成本地源来安装软件
网络yum源:比如说aliyun的镜像网站,这就属于网络源,可以通过互联网把软件下载下来并安装 
yum的全称是yellow dog updater,modified,是一个shell前端软件包管理器,基于RPM包管理
能够从指定的服务器下载RPM包并自动安装,可以自动处理依赖性关系
并且一次性安装所有依赖的软件包,无需一次次频繁的下载和安装

2.实验环境

我所使用的虚拟机node1是虚拟机ttt的快照
因此node1是一个全新的系统,里面没有任何软件安装包

node1的生成过程如下:

步骤一:在真机里面给ttt虚拟机做一个快照虚拟机noed1
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第1张图片
在这里插入图片描述
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第2张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第3张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第4张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第5张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第6张图片
步骤二:以root身份登陆node1虚拟机,帐号和密码与ttt虚拟机一样,然后给node1虚拟机配置网络

先配置网络的思路如下:
先切换到网络配置目录下:cd /etc/sysconfig/network-scripts/
然后ls: 查看eth0网卡是否存在
再vim ifcfg-eth0 改配置文件: 加ip地址 ,子网掩码 等等
重启网络systemctl restart network
然后ping一下自己的真机 看网络是否配置好
ip addr show eth0查看是否设置好

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第7张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第8张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第9张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第10张图片
步骤三:检查node1虚拟机是否有软件安装库 ,一个全新的系统应该是没有的,可以看到没有
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第11张图片
步骤四:查看node1虚拟机的版本,确保接下来配置yum源的镜像与node1主机的版本一致
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第12张图片

3.实验目的

给新系统node1一个软件安装的仓库,node1才可以安装软件
让一个全新的虚拟机node1可以下载并且安装软件(包括官方软件和第三方软件)
先配置本地yum源只能安装官方软件
再搭建第三方仓库之后才可以安装第三方软件
下面我将一一讲解

4.配置本地yum源

(1)获得一个与本机系统版本一致的镜像

将真机的软件安装包镜像文件复制到node1虚拟机中
在虚拟机当中使用scp命令即可 要清楚自己真机的镜像在哪放着
但有可能虚拟机容量不够,采用光驱方式

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第13张图片

将真机的虚拟机安装镜像传到我的全新的虚拟机里面
先搞清楚自己真机的镜像在哪里放着  /home/kiosk/Downloads/rhel-server-7.3-x86_64-dvd.iso

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第14张图片

快照虚拟机装软件仓库空间不够时的解决办法?
在真机里面给node1虚拟机添加一个光驱,将镜像塞到node1的光驱里面(node1关机情况下)
解决办法:给虚拟机添加光驱,将镜像直接放到光驱里面

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第15张图片
(2)配置本地yum源

步骤一:挂载镜像(镜像挂载到一个目录上才可以被识别)

镜像文件给好以后,还要将镜像文件挂载起来,才会有软件库,才能安装软件

在这里插入图片描述
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第16张图片
说明

注意:镜像文件只读 ,不属于报错
搭建好本地yum源之后出现的repodata目录里面存放的是官方软件安装的依赖性关系
此时直接利用yum命令安装存在官方软件不需要处理依赖性关系

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第17张图片

redhat  packages manager软件包名称详解
kolourpaint-4.10.5-4.el7.x86_64.rpm
[1]kolourpaint 软件名称
[2]4.10.5 版本
[3]4.el7 适用系统
[4]x86_64 架构
[5]rpm 适用rpm体系软件

步骤二:设定永久挂载(使node1重启之后依然有本地yum源)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
步骤三:设定系统安装源指向

实际上是一个命名以repo结尾的文件,里面存放的是本地yum源软件仓库的一些信息

在这里插入图片描述
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第18张图片

[westos] 软件库的名字,任意写,仓库名称
name=westos 软件库的描述信息,任意写 ,对软件源的描述
baseurl=file:///westos 软件安装访问地址, 网络安装源
gpgcheck=0 不让红帽公司检测这台node1虚拟机要下载的第三方软件是否授权,不检测gpgkey
enabled=1 让以上操作生效,此安装源语句块生效

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第19张图片

yum clean all  清空一下系统中原有的yum信息
yum ropolist  就可以看到此时有软件安装库了,不再是0

总结:给node1虚拟机配置好本地yum源之后,node1虚拟机就可以安装红帽公司官方提供的软件了

其实给node1主机配置本地yum源就是想使用已有网络安装资源安装软件
vim /etc/yum.repos.d/yum.repo 文件名称必须以repo结尾
[rhel7.2] 仓库名称
name=rhel7.2 source 对软件源的描述
baseurl=http://172.25.254.111/westos 网络安装源
gpgcheck=0 不检测gpgkey
enabled=1 此安装源语句块生效
如何从yum下载包?
执行yum install -y https:表示从yum上下载https包并安装
-y表示执行过程中yes/no选择yes,减少人机交互
这里获取安装包是从网络上获取并下载
而实际情况更多的是局域网,无法从外网下载https安装包,此时配置本地yum很有用

5.共享型yum源的部署

当企业中一次性引进多台新的服务器时,此时的服务器都是新系统,没有yum源,不能安装软件
如果每台服务器都一个一个去配置本地yum源的话会很麻烦
因此配置好一台主机的本地yum源之后再共享给其它主机,这样就很方便了
这就需要给一台主机配置共享型的yun源

将yum源共享,让企业当中多个服务器使用同一个yum源,否则一个一个安装yum源会浪费时间
http是超文本协议,协议是数据传输方式的规则,程序就是由进程开启的,进程由软件来提供
文件传输协议包括http和file,http为超文本传输协议

(1)在一台已经配置好本地yum源的主机node1上安装httpd(httpd属于官方软件,有本地yum源就可以直接安装)

yum install httpd 安装这个软件的目的:提供超文本传输协议来实现yum源文件共享,通过这个协议使yum源共享

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第20张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第21张图片
(2)配置网络yum源

只有开启httpd服务,将node1的本地yum源挂载在/var/www/html/下才能实现yum源共享
当node1共享/westos/下的文件给其它主机时,必须关闭防火墙

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第22张图片
在这里插入图片描述
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第23张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)测试:在真机的浏览器当中看是否能查到node1主机的共享目录

在浏览器中输入地址:
http://ip/westos
http://ip/rhel7.2
http://172.25.254.111/westos   <<<<此地址就是网络yum源地址

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第24张图片
总结:共享型yum源搭建成功了,别的主机可以利用我的yum源软件仓库来安装官方软件了
共享型yum源的部署 (共享什么东西,把自己的什么东西上去即可)
别的主机在浏览器里面输入我的ip以及目录就可以看到我的东西

6.yum命令

配置好yum仓库之后才能使用yum命令对软件进行管理 ,前提是yum源已经写好
yum命令的使用必须是在yum源(最起码要有本地yum源)搭建成功后才能正常运行,否则不生效

yum命令的详细用法

yum clean all 清除所有的yum缓存,才会使用新的yum源
yum repolist 列出软件仓库信息
yum install software 安装一个软件
yum update 更新
yum list software 查看软件
yum list all 查看所有软件
yum list installed 列出所有已安装软件
yum list available 列出可安装软件
yum reinstall software 重新安装软件
yum remove software 卸载软件
yum info software 查看软件信息
yum search software信息 根据软件信息查找软件
yum whatprovides file 根据文件信息找出包含此文件信息的软件(不管有没有装过该软件)
yum history 查看系统中软件管理信息
yum history info 数字 对数字为id的信息进行显示
yum groups list 列出软件组
yum groups info 查看软件组的信息
yum groups install sfgroup 安装软件组
yum groups remove sfgroup 卸载软件组

yum clean all 清除所有的yum缓存,才会使用新的yum源
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第25张图片
yum repolist 列出仓库信息
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第26张图片
yum install software(软件名称) 安装一个软件
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第27张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第28张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第29张图片
yum update 更新(慎重使用,当yum源版本与系统版本不一致时使用,一般不用)

在企业当中会先备份原来的,再彻底卸载,然后重新安装一个新的版本
如果直接更新版本的话,可能会导致系统崩溃,一般不会做更新
而且更新比较麻烦,文件数量多,一般采用重新安装的办法

yum list software(软件名称) 查看软件
在这里插入图片描述
在这里插入图片描述
yum list all 查看所有软件
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第30张图片
yum list installed 列出所有已安装软件
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第31张图片
yum list available 列出可安装软件
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第32张图片
yum reinstall software(软件名称) 重新安装软件
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第33张图片
yum remove software 卸载软件
在这里插入图片描述
yum info software 查看软件信息

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第34张图片
yum search software信息 根据软件信息查找软件
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第35张图片
yum whatprovides file 根据文件信息找出包含此文件信息的软件(不管有没有装过该)
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第36张图片
yum history 查看系统中软件管理信息
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第37张图片
yum history info 数字 对数字为id的信息进行显示
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第38张图片
yum groups list 列出软件组

组表示一个功能的集合,安装一个软件可能要安装许多安装包
为了方便,采用组安装比较快

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第39张图片
yum groups info 查看软件组的信息
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第40张图片
yum groups install sfgroup 安装软件组
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第41张图片
yum groups remove sfgroup 卸载软件组
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第42张图片
yum命令使用总结:一般情况下yum命令直接跟软件名字直接进行操作即可

只有本地yum源的时候安装第三方软件会出现死循环
此时就要先用rpm命令强行安装一个,再用yum命令寻找依赖性的那个再去安装,yum与rpm结合使用
用yum命令进行安装可以解决大多数的问题,但是不能解决死循环的问题
用rpm命令安装软件可以解决死循环的问题
系统是什么样的版本就用什么样的安装包

7.怎样在linux中安装第三方软件(第三方软件仓库的搭建)?

由于yum源软件仓库里面没有第三方软件的安装包
只能先在官方浏览器里面下载第三方软件的安装包,然后再用yum命令安装
但是利用下载下来的第三方软件安装包安装第三方软件时要处理依赖性关系
依赖性关系就是安装一个软件时会提醒你需要另外一个(死循环)

(1)实验思路:

先让ttt虚拟机具有本地yum源(共享不共享无所谓)
然后将我真机里面的第三方软件安装包下载到我的ttt虚拟机的/mnt下面
此时直接用yum命令安装需要处理依赖性关系,因为本地yum源里面的Packages和repodata里面没有第三方软件的安装包和依赖性关系说明
最后利用createrepo来搭建第三方仓库,这样第三方软件安装包也会有repodata,此时就可以直接安装了

(2)实验环境:我在ttt虚拟机里面做实验
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第43张图片
(3)实验目的:给ttt虚拟机安装第三方软件,且不需要处理依赖性关系
(4)实验步骤:

步骤一:查看第三方软件安装包在我的真机中的存放路径
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第44张图片
步骤二:将我的真机里面的第三方软件的安装包下载到我的ttt虚拟机
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第45张图片
说明:这里的画图软件、谷歌浏览器、办公软件均属于第三方软件

步骤三:创建第三方软件的仓库

实验前提:有第三方软件安装包

把所有的rpm包放到一个目录中
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第46张图片
createrepo -v /存放软件包的目录 ##命令执行成功会生成repodate目录
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第47张图片

为什么官方软件yum可以安装 ?可以识别依赖性 因为依赖性全部已经在库里面
yum不能安装第三方软件, 因为不能识别依赖性 
因此应该使用一个createrepo 工具给第三方软件添加依赖性的数据库
这样安装的时候就直接生成,自己自动去识别依赖性
第三方软件库每次添加一个安装包,都要create一次,生成一次

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第48张图片
为了识别方便起见,我将/mnt/* 移到 /software/下面
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第49张图片

在之前的yum源仓库文件里面写入第三方软件安装的信息
在这里插入图片描述
在这里插入图片描述
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第50张图片查看依赖性关系
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第51张图片
在这里插入图片描述
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第52张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第53张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第54张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第55张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第56张图片
编辑yum源软件仓库文件使第三方软件的依赖性生效
在这里插入图片描述
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第57张图片
一次性安装好绘图软件
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第58张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第59张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第60张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第61张图片

如果没有第三方仓库安装绘图这个第三方软件要如下处理:
rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm
yum whatprovides */libqimageblitz.s0.4 查看安装源
rpm -ivh kolourpaint-libs-4.10.5-4.el7.x86_64.rpm  --nodeps
rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm

8.用rpm命令处理软件

rpm -i 安装软件
rpm -v 显示软件安装的过程
rpm -h 采用hash加密
在这里插入图片描述
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第62张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第63张图片
rpm -e 卸载
在这里插入图片描述
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第64张图片
rpm -q 查看
在这里插入图片描述
rpm -a 所有
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第65张图片
rpm -p 软件包
在这里插入图片描述
rpm -ql 查看软件在系统中的安装文件路径
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第66张图片
rpm -qlp 查看未安装的软件在系统中如果安装后产生文件的路径
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第67张图片
rpm -qf 根据某个文件找出此文件属于那个安装包(压根没装过不行,装过删了)
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第68张图片
rpm -qc 查看软件的配置文件名称
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第69张图片
rpm -qd 查看软件的帮助文件
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第70张图片
rpm --scritps 查看脚本
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第71张图片
rpm --nodeps 安装软件忽略软件依赖
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第72张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第73张图片
!!!此时谷歌浏览器用不了

谷歌自己的yum源用不了 ,将它删除
cp lib64/libudev.so.1 /lib64/libudev.so.0
这个只能用普通用户身份登陆,才能使用谷歌浏览器

linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第74张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第75张图片
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第76张图片

rpm --force 强行安装(只要没有依赖性)
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第77张图片
rpm -Kv 检测软件包是否被篡改
linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)_第78张图片

注意:

当只有本地yum源的时候,用yum命令只能安装官方软件,不需要处理依赖性关系
当只有本地yum源并且想安装第三方软件的时候,yum不能处理依赖性关系,这时候就需要使用rpm命令和yum命令配合了
当搭建好第三方软件仓库的时候,这时候可以用yum命令直接安装第三方软件,而且不需要处理依赖性关系`

你可能感兴趣的:(rhcsa,linux中的软件管理)