什么是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服务:
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
如下图:
3、现在我们暂时还是无法访问的,先来关闭防火墙:
[ root@localhost ~ ]#systemctl stop firewalld.service
4、关闭后我们用另外一台机器访问http地址:
5、配置服务端的仓库
因为是光盘挂载,要实现网络仓库得把光盘里面的包和文件拷贝到服务器端,如:
先挂载光盘到服务端的机器上:
[ root@localhost ~ ]#mount /dev/sr0 /mnt
// sr0: 光盘 mount: 挂载命令 /mnt: 挂载目录
挂载好后,光盘里面的文件和目录都在/mnt目录下
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包备份到一个目录
编辑文件: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是你系统的主版本号
这样目前来说就配置好了,我们来测试是否成功
[ 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包列表