网站搜索

如何设置网络存储库来安装或更新软件包 - 第 11 部分


安装、更新和删除(需要时)已安装的程序是系统管理员日常生活中的主要职责。当机器连接到互联网时,可以使用包管理系统轻松执行这些任务,例如aptitude(或apt-get)、yumzypper,具体取决于您选择的发行版,如第 9 部分 – LFCE 的 Linux 软件包管理(Linux 基金会认证工程师 ) 系列。您还可以下载独立的 .deb.rpm 文件,并分别使用 dpkgrpm 安装它们。

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 上设置网络存储库服务器

第一步,我们将安装和配置 CentOS 7 机器作为存储库服务器 [IP 地址 192.168.0.17] 和 CentOS

对于 CentOS 7,请按照以下文章进行操作,其中解释了 CentOS 7 安装的分步说明以及如何设置静态 IP 地址。

  1. CentOS 7.0安装截图
  2. 如何在 CentOS 7 上配置网络静态 IP 地址

至于 Ubuntu,该网站上有一篇很棒的文章,逐步解释了如何设置您自己的私有存储库。

  1. 在 Ubuntu 中使用“apt-mirror”设置本地存储库

我们的首选将是客户端访问存储库服务器的方式 - FTPHTTP 是最常用的。我们将选择后者,因为 Apache 安装已在本 LFCE 系列的第 1 部分 – 安装 Apache 中介绍。这还允许我们使用网络浏览器显示软件包列表。

接下来,我们需要创建目录来存储.rpm包。我们将相应地在 /var/www/html/repos 中创建子目录。为了方便起见,我们可能还想创建其他子目录来托管每个发行版的不同版本的包(当然我们仍然可以根据需要添加以后所需的多个目录)甚至不同的体系结构。

设置存储库

设置您自己的存储库时需要考虑的一个重要事项是您将需要大量的可用磁盘空间(~20 GB)。如果不这样做,请调整计划存储存储库内容的文件系统的大小,或者更好地添加额外的专用存储设备来托管存储库。

话虽这么说,我们将首先创建托管存储库所需的目录:

mkdir -p /var/www/html/repos/centos/6/6

为存储库服务器创建目录结构后,我们将在 /var/www/html/repos/centos/6/6 中初始化数据库,该数据库使用 创建回购

如果您尚未安装 createrepo,请安装:

yum update && yum install createrepo

然后初始化数据库,

createrepo /var/www/html/repos/centos/6/6

更新存储库

假设存储库服务器可以访问互联网,我们将拉取在线存储库来获取软件包的最新更新。如果不是这种情况,您仍然可以从 CentOS 6.6 安装 DVD 复制 Packages 目录的全部内容。

在本教程中,我们将假设第一种情况。为了优化我们的下载速度,我们将在我们附近的位置选择一个 CentOS 6.6 镜像。前往 CentOS 下载镜像并选择离您所在位置较近的镜像(在我的例子中是阿根廷):

然后,导航到突出显示的链接内的 os 目录,然后选择适当的体系结构。到达那里后,复制地址栏中的链接并将内容下载到存储库服务器中的专用目录:

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/*

最后,更新存储库的数据库。

createrepo --update /var/www/html/repos/centos/6/6

您可能还需要启动网络浏览器并导航到 repos/centos/6/6 目录,以验证您是否可以看到内容:

现在您已准备好开始 - 现在是配置客户端的时候了。