Linux大神进阶十三:软件的优化管理

1.理解

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

2.配置本地yum源

2.1步骤

功能 命令 注释
0.为一个快照虚拟机配置 网络
(1) cd /etc/sysconfig/network-scripts/ ## 切换到网络配置目录下
(2) ls ##查看eth0网卡是否存在
(3) vim ifcfg-eth0 ##改配置文件: 加ip地址 ,子网掩码 等等
(4) systemctl restart network ##重启网络
(5) ping 真机ip ## 看网络是否配置好
(6) ip addr show eth0 ##查看eth0网是否配置好
1. 挂载镜像 ##镜像挂载到一个目录上才可以被识别, 镜像文件给好以后,还要将镜像文件挂载起来,才会有软件库,才能安装软件注意:镜像文件只读 ,不属于报错,搭建好本地yum源之后出现的repodata目录里面存放的是官方软件安装的依赖性关系此时直接利用yum命令安装存在官方软件不需要处理依赖性关系
(1) mkdir /westos ##建立一个可以挂载镜像的目录
(2) mount /dev/cdrom /westos ## 将光驱下的镜像挂载在/westos生效,镜像文件只读
(3) 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体系软件
2.设定永久挂载 ## (使node1重启之后依然有本地yum源)
3. 设定系统安装源指向 ##实际上是一个命名以repo结尾的文件,里面存放的是本地yum源软件仓库的一些信息
[westos] ## 软件库的名字,任意写,仓库名称
name=westos ## 软件库的描述信息,任意写 ,对软件源的描述
baseurl=file:///westos ## 软件安装访问地址, 网络安装源
gpgcheck=0 ## 不让红帽公司检测这台node1虚拟机要下载的第三方软件是否授权,不检测gpgkey
enabled=1 ## 让以上操作生效,此安装源语句块生效
yum clean all ## 清空一下系统中原有的yum信息
yum ropolist ##就可以看到此时有软件安装库了,不再是0
yum install -y https ##就表示从yum上下载https包并安装-y表示执行过程中yes/no选择yes,减少人机交互这里获取安装包是从网络上获取并下载;而实际情况更多的是局域网,无法从外网下载https安装包,此时配置本地yum很有用

注意:给node1虚拟机配置好本地yum源之后,虚拟机就可以安装红帽公司官方提供的软件了。其实给主机配置本地yum源就是想使用已有网络安装资源安装软件。

命令 注释
vim /etc/yum.repos.d/yum.repo ##文件名称必须以repo结尾
[rhel7.2] ##仓库名称
name=rhel7.2 source ## 对软件源的描述
baseurl=http://172.25.254.219/westos ##网络安装源
gpgcheck=0 ## 不检测gpgkey
enabled=1 ##此安装源语句块生效

2.2 结果

Result1快照虚拟机配置网络
在这里插入图片描述Result2配置本地yum源
在这里插入图片描述

3.共享型yum源的部署

3.1理解

(1)***共享型yum源***当企业中一次性引进多台新的服务器时,此时的服务器都是新系统,没有yum源,不能安装软件;如果每台服务器都一个一个去配置本地yum源的话会很麻烦;因此配置好一台主机的本地yum源之后再共享给其它主机,这样就很方便了;这就需要给一台主机配置共享型的yun源。
(2)将yum源共享,让企业当中多个服务器使用同一个yum源,否则一个一个安装yum源会浪费时间;http是超文本协议,协议是数据传输方式的规则,程序就是由进程开启的,进程由软件来提供文件传输协议包括http和file,http为超文本传输协议

3.2步骤

序号 命令 注释
(1) yum install httpd ##在一台已经配置好本地yum源的主机上安装httpd(httpd属于官方软件,有本地yum源就可以直接安装)安装这个软件的目的:提供超文本传输协议来实现yum源文件共享,通过这个协议使yum源共享
(2)配置网络yum源 ##只有开启httpd服务,将node1的本地yum源挂载在/var/www/html/下才能实现yum源共享当主机共享/westos/下的文件给其它主机时,必须关闭防火墙
systemctl start httpd ##开启服务
systemctl enable httpd ##关闭服务
systemctl stop firewalld ## 关闭防火墙
systemctl disable firewalld ##开启禁止启动防火墙
(3)测试 ## 在真机的浏览器当中看是否能查到主机的共享目录
http://ip/westos>>>http://ip/rhel7.2>>>http://172.25.254.219/westos ## 此地址就是网络yum源地址

注意:共享型yum源搭建成功了,别的主机可以利用我的yum源软件仓库来安装官方软件了;共享型yum源的部署 (共享什么东西,把自己的什么东西上去即可)别的主机在浏览器里面输入我的ip以及目录就可以看到我的东西。

3.3结果

在这里插入图片描述

4.yum

4.1yum常见命令

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

命令 注释
yum clean all ##清除所有的yum缓存,才会使用新的yum源
yum repolist ## 列出软件仓库信息
yum install software ##安装一个软件
yum update ##更新(慎重使用,当yum源版本与系统版本不一致时使用,一般不用)在企业当中会先备份原来的,再彻底卸载,然后重新安装一个新的版本;如果直接更新版本的话,可能会导致系统崩溃,一般不会做更新而且更新比较麻烦,文件数量多,一般采用重新安装的办法
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命令直接跟软件名字直接进行操作即可;只有本地yum源的时候安装第三方软件会出现死循环;此时就要先用rpm命令强行安装一个,再用yum命令寻找依赖性的那个再去安装,yum与rpm结合使用;用yum命令进行安装可以解决大多数的问题,但是不能解决死循环的问题;用rpm命令安装软件可以解决死循环的问题;系统是什么样的版本就用什么样的安装包

4.2yum结果

在这里插入图片描述在这里插入图片描述在这里插入图片描述

5.第三方软件仓库的搭建

5.1 理解

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

5.2 思路

(1)让一个虚拟机具有本地yum源;
(2)将我真机里面的第三方软件安装包下载到我的虚拟机的/mnt下面;直接用yum命令安装需要处理依赖性关系,因为本地yum源里面的Packages和repodata里面没有第三方软件的安装包和依赖性关系说明;
(3)利用createrepo来搭建第三方仓库,这样第三方软件安装包也会有repodata,此时就可以直接安装了;
(4)最终实现给虚拟机安装第三方软件,且不需要处理依赖性关系;

5.3 步骤

序号 命令 注释
1.查看第三方软件安装包在我的真机中的存放路径 /home/Desktop/software ##
2.将我的真机里面的第三方软件的安装包下载到我的虚拟机 scp [email protected]:/home/kiosk/Download/software/* /mnt/ ##这里的画图软件、谷歌浏览器、办公软件均属于第三方软件
3.创建第三方软件的仓库 (有第三方软件安装包) createrepo -v /存放软件包的目录 ## 把所有的rpm包放到一个目录中命令执行成功会生成repodate目录

注意:官方软件yum可以安装 的原因:
(1)可以识别依赖性 因为依赖性全部已经在库里面;
(2)yum不能安装第三方软件, 因为不能识别依赖性 ;因此应该使用一个createrepo 工具给第三方软件添加依赖性的数据库;这样安装的时候就直接生成,自己自动去识别依赖性;第三方软件库每次添加一个安装包,都要create一次,生成一次。为了识别方便起见,将/mnt/* 移到 /software/下面。在之前的yum源仓库文件里面写入第三方软件安装的信息。
(3)如果没有第三方仓库安装绘图这个第三方软件要如下处理:
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

5.4 结果

在这里插入图片描述在这里插入图片描述

6.用rpm命令处理软件

6.1常见命令

命令 注释
rpm -i ##安装软件
rpm -v ## 显示软件安装的过程
rpm -h ## 采用hash加密
rpm -e ##卸载
rpm -q ##查看
rpm -a ## 所有
rpm -p ##软件包
rpm -ql ##查看软件在系统中的安装文件路径
rpm -qlp 查看未安装的软件在系统中如果安装后产生文件的路径
rpm -qf 根据某个文件找出此文件属于那个安装包(压根没装过不行,装过删了)
rpm -qc 查看软件的配置文件名称
rpm -qd 查看软件的帮助文件
rpm --scritps 查看脚本
rpm --nodeps ## 安装软件忽略软件依赖;谷歌自己的yum源用不了 ,将它删除cp lib64/libudev.so.1 /lib64/libudev.so.0 ;这个只能用普通用户身份登陆,才能使用谷歌浏览器
rpm --force 强行安装(只要没有依赖性)
rpm -Kv 检测软件包是否被篡改

注意:

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

6.2 结果

在这里插入图片描述在这里插入图片描述

发布了33 篇原创文章 · 获赞 8 · 访问量 2288

猜你喜欢

转载自blog.csdn.net/Pierce110110/article/details/102836420