M25_第四周:Yum源HTTP网络仓库搭建

什么是yum,yum是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决。yum 的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。

yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的dependencies 的问题。这一点上,yum 和apt 相同。apt 原为debian 的deb 类型软件管理所使用,但是现在也能用到RedHat下的rpm了。

yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的依赖性问题,便于管理大量系统的更新问题。

yum 可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与RPM 数据库的一致性。

这里给大家介绍的是安装httpd服务搭建网络仓库:

1、首先安装httpd服务:

M25_第四周:Yum源HTTP网络仓库搭建_第1张图片
http.png

2、安装好后我们开启服务:

[ root@localhost ~ ]#systemctl start httpd.service
[ root@localhost ~ ]#ps aux|grep httpd
root      4668  0.5  0.4 221936  5004 ?        Ss   10:47   0:00 /usr/sbin/httpd -DFOREGROUND
apache    4669  0.0  0.2 221936  2956 ?        S    10:47   0:00 /usr/sbin/httpd -DFOREGROUND
apache    4670  0.0  0.2 221936  2956 ?        S    10:47   0:00 /usr/sbin/httpd -DFOREGROUND
apache    4671  0.0  0.2 221936  2956 ?        S    10:47   0:00 /usr/sbin/httpd -DFOREGROUND
apache    4672  0.0  0.2 221936  2956 ?        S    10:47   0:00 /usr/sbin/httpd -DFOREGROUND
apache    4673  0.0  0.2 221936  2956 ?        S    10:47   0:00 /usr/sbin/httpd -DFOREGROUND
root      4675  0.0  0.0 112648   960 pts/1    R+   10:47   0:00 grep --color=auto httpd

如下图:
M25_第四周:Yum源HTTP网络仓库搭建_第2张图片
jt.png

3、现在我们暂时还是无法访问的,先来关闭防火墙:

[ root@localhost ~ ]#systemctl  stop firewalld.service

4、关闭后我们用另外一台机器访问http地址:

M25_第四周:Yum源HTTP网络仓库搭建_第3张图片
fu.png

5、配置服务端的仓库

因为是光盘挂载,要实现网络仓库得把光盘里面的包和文件拷贝到服务器端,如:

先挂载光盘到服务端的机器上:

[ root@localhost ~ ]#mount /dev/sr0  /mnt
// sr0: 光盘 mount: 挂载命令  /mnt: 挂载目录

挂载好后,光盘里面的文件和目录都在/mnt目录下

gp.png

6、接下来我们把里面文件拷贝到/var/www/html(httpd服务页面文件存放目录),因为文件特别多拷贝的时候需要多等待,因为是服务端,所以必须要拷贝到机器上面,如果是本地端直接挂载光盘即可:

[ root@localhost /var/www/html ]#cp -a /mnt/* ./
[ root@localhost /var/www/html ]#ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

7、 都设置好后,我们去另外一台机器把Yum源设置成刚刚服务端源:

首先把/etc/yum.repos.d/目录下的repo包备份到一个目录

M25_第四周:Yum源HTTP网络仓库搭建_第4张图片
bf.png

编辑文件:vim /etc/yum.repos.d/yyc.repo

root@CentOS ~ ]#vim /etc/yum.repos.d/yyc.repo 
  [yyc]    
  name=wzc
  baoeurl=http://172.18.252.144/$releasever
  gpgcheck=0 

//第一行:RepositoryID,库的ID,这个可以随意取,但是不要有空格和一些奇怪的字符,不然很可能会出错
//第二行:库的名字,这个可以有空格
//第三行:yum源地址,也就是我们刚刚配置的服务端的源,$releasever是你系统的主版本号

M25_第四周:Yum源HTTP网络仓库搭建_第5张图片
pz.png

这样目前来说就配置好了,我们来测试是否成功

[ root@CentOS ~ ]#yum repolist    
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
http://172.18.252.44/6/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please open a ticket with Red Hat Support.

repo id                                repo name                          status
yyc                                    wzc                                6,706
repolist: 6,706

//yum repolist获取当前有效repolist中所能安装的所有rpm包列表
M25_第四周:Yum源HTTP网络仓库搭建_第6张图片
cg.png

这样就好了,使用的包都是服务端的包安装的

你可能感兴趣的:(M25_第四周:Yum源HTTP网络仓库搭建)