实验目标:
1,在线使用yum寻找远程yum源(软件包集中存放地点)进行安装卸载
2,离线状态利用本地镜像实现软件包的安装卸载(rpm命令)
3,离线状态创建本地的yum仓库,通过yum解决软件包的依赖关系
实验环境:
装有Centos7版本Linux系统的虚拟机(前面博客有具体安装过程)
Centos7镜像链接:https://pan.baidu.com/s/1Jg66BsqgYjvT54RT-S-5iQ
提取码:5hli
前言:
Yum概述
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
Yum常用命令
命令 | 功能 |
yum list | 列出yum仓库的软件包 |
yum install -y httpd(软件包) | 安装httpd软件,-y表示不需要交互直接安装 |
yum remove httpd(软件包) | 卸载httpd软件 |
yum clean all | 清理yum仓库的缓存 |
Yum仓库的配置文件
yum仓库配置文件位置 [root@localhost ~]# cd /etc/yum.repos.d [root@localhost yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [root@localhost yum.repos.d]# vim CentOS-Base.repo
配置文件的详细信息 [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
(一)在线使用yum安装软件包(保持你的Linux系统能够上网)
安装一个httpd服务为例,并用宿主机能够访问httpd服务的网站
1,安装httpd
[root@localhost ~]# yum install -y httpd 安装 [root@localhost ~]# rpm -q httpd 查看是否安装 httpd-2.4.6-89.el7.centos.1.x86_64
2,用宿主机访问httpd服务网页,查看是否成功安装并可以访问
第一步 开启httpd服务并关闭防火墙
[root@localhost ~]# systemctl start httpd.service 开启httpd服务 [root@localhost ~]# systemctl stop firewalld.service 关闭防火墙 [root@localhost ~]# setenforce 0 关闭增强型安全功能 [root@localhost ~]# ifconfig 查看你的虚拟机的ip地址 ens33: flags=4163mtu 1500 inet 192.168.109.133 netmask 255.255.255.0 broadcast 192.168.109.255 inet6 fe80::f800:6daf:6463:52c4 prefixlen 64 scopeid 0x20 ether 00:0c:29:3e:a2:82 txqueuelen 1000 (Ethernet) RX packets 4234 bytes 4632944 (4.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 728 bytes 55605 (54.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
第二步 用宿主机的浏览器访问虚拟机的ip地址,我们能够访问到httpd的网页
3,卸载httpd服务
[root@localhost ~]# yum remove -y httpd 卸载httpd [root@localhost ~]# rpm -q httpd 查看软件包,显示已经被卸载了 未安装软件包 httpd
此时宿主机就不能够访问了,因为httpd服务卸载了
(二)离线状态利用本地镜像实现软件包的安装(rpm)
1,将虚拟机网络模式设置成仅主机模式(将在线状态变为离线状态)
第一步 在虚拟机的右下角如图图标处右击,进入虚拟机设置
第二步 选择网络适配器,并将网络连接模式更改为仅主机模式
第三步 确定退出
2,给虚拟机配置静态IP
找到此Linux系统虚拟机的网卡配置位置并进行vim配置
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
配置网卡
第一步 将dhcp更为static静态
第二步 添加ip地址,子网掩码,网关
第三步 wq保存退出vim编辑器
第四步 重启网卡服务
[root@localhost ~]# service network restart 重启网卡服务
3,清理yum仓库缓存
[root@localhost ~]# yum clean all 清缓存 [root@localhost ~]# yum list 查看yum仓库
4,利用虚拟机的cd/dvd将镜像挂载到Linux系统中
第一步 将虚拟机光盘添加使用centos7的镜像文件
第二步 查看挂载信息,利用mount命令将设备中的镜像文件挂载到系统/mnt目录下
第三步 利用cd命令切换到mnt下的packages包文件下,并查看,所有的RPM包都在这
实例:我们卸载vim软件包,在用rpm命令进行离线安装
5,卸载vim软件包
[root@localhost Packages]# rpm -qa | grep -i vim vim-filesystem-7.4.160-2.el7.x86_64 vim-enhanced-7.4.160-2.el7.x86_64 vim-minimal-7.4.160-2.el7.x86_64 vim-common-7.4.160-2.el7.x86_64 [root@localhost Packages]# rpm -evh vim-enhanced-7.4.160-2.el7.x86_64 准备中... ################################# [100%] 正在清理/删除... 1:vim-enhanced-2:7.4.160-2.el7 ################################# [100%] [root@localhost Packages]# vim /etc/passwd bash: /usr/bin/vim: 没有那个文件或目录
第一步 先用rpm查看所有软件包并筛选出vim软件包
第二步 用rpm命令删除vim软件包
第三步 成功删除,vim使用不了
6,重新安装vim
[root@localhost Packages]# rpm -ivh vim-enhanced-7.4.160-2.el7.x86_64.rpm
结果:实现离线安装软件包
弊端:不能自动解决依赖关系
想卸载vim-common因为存在依赖关系所以提示你被vim-enhanced所需要,不能自动处理依赖关系,所以创建一个本地的yum仓库用yum命令就方便的多
(三)离线状态创建本地的yum仓库,通过yum解决软件包的依赖关系
1,利用cd命令切换到yum仓库的配置文件目录,并将原来的文件放置到一个新的目录中
[root@localhost Packages]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [root@localhost yum.repos.d]# mkdir bak [root@localhost yum.repos.d]# mv CentOS* bak
2,在yum.repos.d目录下创建一个本地的yum仓库的配置文件abc.repo
第一步 创建配置文件abc.repo
[root@localhost yum.repos.d]# vim abc.repo 创建一个的本地yum仓库的配置文件abc.repo
第二步 进入vim编译器,添加配置文件的信息,然后保存退出
第三步 yum list查看yum仓库列表
实例:安装卸载httpd,测试httpd服务能否让宿主机连接
3,用yum安装httpd
4,用宿主机去访问httpd服务的网站
第一步 在Linux系统中开启httpd服务并关闭防火墙
第二步 将宿主机的vmnet1配置ipv4地址与Linux系统同网段的ip地址
第三步 在你的宿主机浏览器中输入Linux的静态ip地址,成功访问
5,卸载httpd软件
卸载
yum remove httpd 卸载httpd
此时我们再访问就无法访问了,说明httpd软件已经被卸载了
结果:实现离线创建本地的yum仓库,并可以使用yum进行安装卸载,解决依赖关系
后语:
我们实现了在线的yum程序的管理,离线状态通过镜像进行软件包的安装,以及为解决依赖关系自己创建本地的yum仓库
实验成功
欢迎观看,谢谢!!!