1.本地yum源的搭建
1.Yum是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
1)将镜像文件上传至虚拟机中
首先给虚拟机添加光驱:
从本地找到镜像才能安装光驱。。不然会报错显示无法安装
(注意:虚拟机关机状态下才可以有效添加光驱,开启状态下不会显示)
2)df命令可查看本地源
因为空格在yum命令下是不识别的,所以必须挂载到可以识别的目录下
3)光驱挂载
光驱的硬件位置: /dev/cdrom
在系统里边需要一个目录,让其与光驱硬件进行挂载,建立映射关系,读取该目录,就读取光驱里面的内容
1.创建一个普通目录(不能有空格,yum命令不识别)
2.找到光驱硬件设备
3.使普通目录与光驱产生联系
mkdir /rhel7.2 ##创建目录
mount /dev/sr0 /rhel7.2 ##把光驱挂载到rhel7.2目录下,此时就可以通过rhel7.2来访问光驱了
yum源的指向文件存在位置:/etc/yum.repos.d/
编辑本地yum文件(文件名必须以.repo结尾)
第一行:仓库名称
第二行:仓库描述
第三行:仓库地址
第四行:是否检测第三方软件的安全性,0是不检测,1是检测
清空本地列表旧数据
列出所有可用的yum仓库
4)安装dhcp
注意:挂载后的文件夹会变成只读权限
使用umount/dev/sr0可以解除挂载
###常用yum命令###
yum install software ##安装
repolist ##列出设定yum源信息
remove softwarename ##卸载
list softwarename ##查看软件源中是否有次软件
list all ##列出所有软件名称
list installd ##列出已经安装的软件名称
list available ##列出可以用yum安装的软件名称
clean all ##清空yum缓存
whatprovides filename ##在yum源中查找包含filename文件的软件包
update ##更新软件
history ##查看系统软件改变历史
reinstall softwarename ##重新安装
info softwarename ##查看软件信息
search softwareinfo ##根据软件信息搜索软件名字
groups list ##查看软件组信息
groups install sfgroup ##安装软件组
groups remove sfgroup ##卸载软件组
2.搭建网络yum源
首先需要安装httpd服务,在本地yum源挂载完成后安装httpd组件
启动httpd服务,systemctl start httpd
systemctl enable httpd ## 设置http服务为开机自启动
可以用systemctl status httpd查看开启状态
在/var/www/html/下建立一个文件夹用来挂载yum源
编辑yum指向文件,在/etc/yum.repos.d/目录下
查看是否挂载成功,打开浏览器,输入本机ip/挂载文件夹名
在防火墙开启的状态下打开httpd服务使用命令
firewall-cmd --permant --add-service=http ##在防火墙开启的状态下永久开启http服务
firewall-cmd --reload ##重新加载防火墙
firewall-cmd --list -all ##查看状态
图中的service中出现了http服务
3,写脚本开机自动挂载
vim /etc/rc.d/rc.local ##开机自动运行脚本
mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/isoo ##挂载文件夹
修改yum仓库指向文件让系统可以读取到这个仓库
cd /etc/yum.repos.d
vim yum.repo
将挂载命令写入rc.local 文件中 mount /dev/sr0 /isoo
chmod 755 /etc/rc.d/rc.local ##添加运行权限
reboot重启
4.设定系统安装源指向
mkdir /etc/yum. repos . d/backup
mv /etc/yum .repos .d/* /etc/yum. repos . d/backup
vim /etc/ yum. repos . d/yum . repo
[rhel7.2]
name=rhel7.2
baseurl=file:///rhel7.2
gpgcheck=0
5rpm命令处理软件包
rpm -ivh name.rpm ##安装 ,
-v显示过程,
-h指定加密方式为hash
-e name ##卸载
-q name ##查看
此时可看出此rpm包缺少很多依赖性环境
-ql name ##查询软件生成文件
-qlp ##查询软件安装后会生成文件的路径
-qa ##查询系统中安装的所有软件名称
-qc ##查询软件配置文件
-qa |grep name ##查询软件是否安装
-qp ##查询软件安装包安装后的名字
-qf filename ##查看filename属于那个安装包
-ivh name.rpm --force ##强制安装
-qi name ##查看软件信息
-Kv name.rpm ##检测软件包是否被篡改
篡改rpm包后会显示BAD Expected
-qp name.rpm --scripts ##检测软件在安装或卸载过程中执行的动作
–scritps ##查看脚本
–nodeps ##安装软件并忽略软件包依赖性
--force ##强行安装软件
6.第三方软件仓库的搭建
把所有的rpm软件包放到一个目录中,这个目录中只能存在rpm文件
createrepo -v /rpm存放目录 ##命令执行成功会生成repodata目录
vim /etc/yum.repos.d/xxx.repo
[Software]
name=software
baseurl=file:///rpm存放目录
gpgcheck=0
7.软件名称详解
kolourpaint-4.10.5-4.e17.x86 64. rpm
[1] [2] [3] [4] [5]
[1]软件名称
[2]版本
[3]适用系统
[4]架构
[5]适用rpm体系软件,rpm结尾的适用于redhat操作系统
8.用拆rpm包的方式修复丢失文件
显示给定命定的绝对路径并删除,此时系统中没有命令的文件也就使命令失效了
拆包,会发现生成一个usr目录,kolourpaint命令存在于/usr/bin/下,此时将生成的命令文件复制回原绝对路径下,命令就可以生效了