安装,更新和删除(在需要时)安装的程序是系统管理员日常生活中的关键职责。 当一台机器连接到互联网,这些任务可以很容易使用的包管理系统,如资质进行(或apt-get的 ), Yum或zypper的 ,这取决于您选择的分布,在解释第9部分-的Linux软件包管理在联邦经济竞争法的(Linux基金会认证工程师 )系列。 您也可以下载独立的.deb或.rpm文件,并分别的dpkg或rpm,安装它们。
Linux基础认证工程师 - 第11部分
Linux基础认证计划简介
然而,当机器不能访问万维网时,需要另一种方法。 为什么会有人想这样做? 原因包括节省互联网带宽(从而避免几个与外部的并发连接)到保护从本地源编译的包,并且包括为法律原因提供包的可能性(例如,在一些国家受限制的软件)不能包括在官方知识库。
这正是网络存储库发挥作用,这是本文的中心主题。
我们的测试环境
Network Repository Server: CentOS 7 [enp0s3: 192.168.0.17] - dev1 Client Machine: CentOS 6.6 [eth0: 192.168.0.18] - dev2
在CentOS 7上设置网络存储库服务器
作为第一步,我们将处理为存储库服务器[IP地址192.168.0.17]和CentOS的 6.6机器作为客户端的CentOS 7盒的安装和配置。 openSUSE的设置几乎相同。
对于CentOS 7,请按照以下文章解释CentOS 7安装的分步说明以及如何设置静态IP地址。
至于Ubuntu,在这个网站上有一个伟大的文章,解释,一步一步,如何设置自己的私人存储库。
我们的第一选择将是哪些客户端将访问资源库服务器的方式- FTP和HTTP最为人使用。 我们会选择后者作为Apache安装在覆盖第一部分-安装Apache这个联邦经济竞争法系列。 这也将允许我们使用Web浏览器显示包列表。
接下来,我们需要创建一个目录来存放.rpm的包。 我们将在/ var / www / html等/仓库内创建相应的子目录。 为了方便起见,我们可能还想创建其他子目录,以便为每个分发版的不同版本托管软件包(当然,我们仍然可以根据需要添加尽可能多的目录),甚至不同的体系结构。
设置存储库
建立自己的资料库时,要考虑到一个重要的事情是,你将需要相当数量的可用磁盘空间( 约20 GB)的。 如果没有,请调整您计划存储存储库内容的文件系统的大小,或者更好地添加额外的专用存储设备来托管存储库。
话虽这么说,我们将开始创建我们将需要托管的存储库的目录:
# mkdir -p /var/www/html/repos/centos/6/6
我们创造了我们的代码库服务器的目录结构之后,我们将初始化在/ var / www / html等/回购/ CentOS的/ 6/6,使用createrepo保持包的轨道及其相应的依赖关系数据库。
安装createrepo如果你还没有这样做:
# yum update && yum install createrepo
然后初始化数据库,
# createrepo /var/www/html/repos/centos/6/6
Createrepo存储库初始化
更新存储库
假设存储库服务器可以访问Internet,我们将拉一个在线存储库以获取软件包的最新更新。 如果情况并非如此,你仍然可以在包目录中的全部内容,从一个CentOS 6.6安装DVD复制。
在本教程中,我们假设第一种情况。 为了优化我们的下载速度,我们会选择从我们附近的一个位置的CentOS 6.6镜像。 转到CentOS的下载镜像 ,并挑选一个更接近你的位置(阿根廷在我的情况):
选择CentOS下载镜像
然后,导航到高亮显示的链接里面的操作系统目录,然后选择合适的体系结构。 在那里,复制地址栏中的链接,并将内容下载到存储库服务器中的专用目录:
下载CentOS镜像
# rsync -avz rsync://centos.ar.host-engine.com/6.6/os/x86_64/ /var/www/html/repos/centos/6/6/
如果选择的存储库由于某种原因离线,请返回并选择其他存储库。 没什么大不了。
现在是你可能想放松,或者观看你最喜欢的电视节目的一集,因为镜像在线知识库可能需要一段时间。
下载完成后,您可以通过以下方式验证磁盘空间的使用情况:
# du -sch /var/www/html/repos/centos/6/6/*
检查CentOS镜像大小
最后,更新存储库的数据库。
# createrepo --update /var/www/html/repos/centos/6/6
您可能还需要打开浏览器,然后导航到回购/ CentOS的/ 6/6的目录,以验证您可以看到的内容:
验证CentOS软件包
你准备好了 - 现在是时候配置客户端了。