背景:用镜像安装虚拟机时许多安装包并没有安装,安装包都在镜像中,因此虚拟机安装软件需要镜像。
#本地镜像搭建系统安装软件的环境yum源
在虚拟机scq下:
一:mkdir /iso #建立镜像放置目录,将镜像放到/iso中
二:scp kiosk@172.25.254.11:/home/kiosk/Desktop/xxx.iso /iso #移镜像到虚拟机
三:mkdir /westossource
四:mount /iso/xxx.iso /westossource/ #挂载镜像到想要访问的路径,镜像类似光盘,将光盘插到目录中才查看盘内内容,/westossource内有光盘的内容.
五:cd /etc/yum.repos.d/
vim westos.repo #告诉系统访问pakage,编辑资源指向文件,当下载软件时系统可以自动去指定目录找
内容:【name】#仓库名
name=westos #仓库描述
baseurl=file:///westossource #真实软件存放路径,浏览器下访问文件内容格式为file://目录名
gpkcheck=0 #每次安装检测软件是否授权,0表示不检测
gpk-application #查看安装包
如图:
##yum源软件管理方式
图形方式:gpk-application
打开软件的控制
命令方式:软件仓操作使用的yum命令
yum clean all #清空yum缓存数据
yum repolist #列出仓库信息
yum list dhcp #查看dhcp的信息、dhcp是否安装
yum list all #列出所有安装包(包含安装与未安装)
yum list available #列出可以安装的安装包
yum list installed #列出已经安装的安装包
yum reinstall software #重新安装
yum remove dhcp #卸载
yum info dhcp #查看dhcp的信息
yum search software #根据软件功能/名称查找软件
yum whatprovides file #查看包含file的软件
yum history #在系统中对软件的操作
yum history info 2 #显示在系统中2对应软件的操作的详细信息
对于软件包组成的软件包群:
yum groups list #列出软件组
yum groups info 软件包组名称 #查看软件组的信息、包含的软件,+表示安装此软件组会安装带+的软件
yum groups install 软件包组名称 #安装软件组
yum groups remove 软件包组名称 #卸载软件组
如图:
##共享型yum源的部署
前提:已经配置好一个的yum仓
共享配置好一个的yum仓,让客户可以通过网络访问yum源,无需自行再配置yum源
步骤如下:
一:安装对外提供共享型的超文本传输协议http://的软件:apache
查找apache的安装包:yum search apache
二:yum install httpd.x86_64 -y
#安装软件apache
三:
systemctl start httpd
systemctl enable httpd
#开机启动apache
四:
systemctl stop firewalld
systemctl disable firewalld #关闭火墙
由于apache只共享了/var/www/html/,将文件放到此目录下,就可以通过网络访问:
mkdir /var/www/html/rhel7.3 #在apache共享的目录中建立挂载点
mount /iso/rhel-server-7.3-x86_64-dvd.iso /var/www/html/rhel7.3/ #将镜像挂载到默认仓目录,用户就可以通过访问网络来下载安装包,无需自行搭建yum源
测试:方式一:浏览器中输入搭建网络共享yum源的ip与镜像挂载点目录名:http://172.25.254.13/rhel7.3/
如图:
方式二:在desktop下:
使用虚拟机scq的软件源:
步骤一:将desktop与scq处于同一个网络位的ip
步骤二:编辑文件 vim /etc/yum.repos.d/scq.repo
软件存放路径写网络共享yum源的ip与镜像挂载点目录名
如图:yum install dhcp 显示完成
#为了使虚拟机scq电脑重启仍为共享yum源:
一:编辑系统开机自启动文件: vim /etc/rc.d/rc.local
加入内容:mount /iso/rhel-server-7.3-x86_64-dvd.iso /var/www/html/rhel7.3/
二:给 /etc/rc.d/rc.local 可执行的权限:chmod +x /etc/rc.d/rc.local
三:scq内编辑文件 vim /etc/yum.repos.d/scq.repo
修改为:baseurl=file:///var/www/html/rhel7.3
四:reboot
五:浏览器中输入搭建网络共享yum源的ip与镜像挂载点目录名:http://172.25.254.13/rhel7.3/
##rpm命令及第三方软件的安装
rpm安装软件不解决依赖性
-i #安装
-v #查看过程
-h #加密方式为哈希加密
-e #卸载
-q 软件名 #查询是否安装软件
-qa #查询所有安装的软件包
-ql 软件名 #显示安装软件时所安装的所有文件
-qlp 软件包名 #显示安装软件包时所安装的所有文件
-qp 软件包名 #查询软件包在系统中安装后的名字
-qf #查询文件所属安装包
-qc dhcp #查看安装dhcp时安装的配置文件
-qd #查看软件的帮助文件
-qp 软件包名 --scripts #查询软件包在安装或卸载中都进行了什么操作
--nodeps #忽略依赖性安装第三方软件
--force #将已经安装的软件再次安装时可用--force来强制安装,但不可以解决依赖性
-Kv #检测软件包是否被篡改
##第三方软件仓库的搭建(前提:本地yum搭建好)
本地yum源测试:将指定地址在浏览器中访问,可以查看本地yum是否完好
背景:软件在本机,但在software中无法搜索到软件
原理:/primary_db库存放软件信息
镜像挂载点ls /scqsource中有一个目录:repodata,此目录中放着软件仓库中所有软件信息,repodata中放着xml文件是对软件数据的封装文件,执行yum install 命令时会读取镜像中/primary_db里面的软件数据进行安装软件。
需求:让第三方软件安装包也加入软件仓库中,软件仓库读入第三方软件信息的文件xml表示第三方软件安装包也加入软件仓库中。
createrepo: 工具采集软件信息数据自动生成xml文件
createrepo -v 放入第三方软件安装包目录名 #扫描第三方软件安装包.rpm文件,只能以rpm结尾的文件否则扫描失败
步骤:
将软件包及软件依赖性包放到/software
createrepo -v /software/
#扫描第三方软件安装包自动生成repodate目录存放软件包源数据,存入primary.xml,/software成为软件仓库。
将/software指定为软件仓库: vim /etc/yum.repos.d/scq.repo
: 加入/software仓库
yum clean all
识别新的软件仓库
yum install 软件名
如图安装kolopaint:
注意:多加一个软件包放到/software中,需要重新扫描读取源数据createrepo -v
才可以安装新的软件,也有可能本地yum源没搭建好,需要重新挂载镜像到指定位置。