验证来自客户端系统的存储库访问

  1. 验证我们是否可以从浏览器访问存储库 url。
    在我们的例子中的 url 是 http://[repo_server-ip]/repo

  2. 在客户端系统上配置 .repo 文件如下。
    .repo 文件可以有我们选择的任何名称,它位于目录 /etc/yum.repos.d 中。

vi /etc/yum.repos.d/myrepo.repo
[repo_server-repo]
name=My RPM System Package Repo
baseurl=http://[repo_server-ip]/repo
enabled=1
gpgcheck=0
  1. 然后在客户端系统上运行以下命令,然后 yum update 来更新机器。
# yum repolist
# yum update

注意:本文中包含的步骤适用于任何版本,但 createrepo 命令必须与其存储库的 RHEL 主要版本的 createrepo 一起运行 - 这是由于主要版本之间的 rpm 格式差异。
这意味着我们需要在 RHEL5 上为 RHEL5 存储库运行 createrepo,在 RHEL6 上为 RHEL6 存储库运行 createrepo,依此类推。

通过 httpd 配置 yum 存储库

  1. 为本地存储库创建一个目录,例如/home/mypackage_dir/repository:
# mkdir /home/mypackage_dir/repository
  1. 将 RPM 从 DVD 安装介质移动到我们刚刚创建的目录中。
# cp /media/packages/* /home/mypackage_dir/repo
  1. 为本地 repo 目录分配适当的所有权和文件系统权限。
# chown -R root.root /home/mypackage_dir/repo
  1. 如果还没有安装,请安装 createrepo 包,然后运行:
# createrepo /home/mypackage_dir/repo
# chmod -R o-w+r /home/mypackage_dir/repo

createrepo 的 RHEL5 版本要求提供完整路径作为选项,否则将无法正确创建存储库。
为避免出现问题,请确保始终使用完整路径。

  1. 创建存储库配置文件,例如/etc/yum.repos.d/customrepo.repo 包含以下配置。
[myrepo]
name=My custom repository
baseurl=file:///home/mypackage_dir/repository
enabled=1
gpgcheck=0
  1. 在通过 httpd 配置存储库之前,请确保它在托管它的本地主机上运行。
    使用 yum 安装你的包,用你要安装的包替换 package_name 并在 mypackage_dir/repository 上找到:
# yum install package_name
CentOS/RHEL:如何通过 httpd 创建和托管 yum 存储库

YUM (Yellowdog Updater, Modified) 提供比 rpm 命令和其他基于 RPM 的工具更多的服务和功能。

使用 Yum 工具和插件,我们可以:

  • 列出本地或者远程存储库中已安装和可用的软件包
  • 检查包依赖项(安装包所需的包)
  • 创建新存储库并启用或者禁用对现有存储库的访问
  • 通过使用缓存信息(Yum 缓存)加快包安装
  • 使用插件扩展 Yum 的功能,例如 downloadonly 插件(下载一个包而不安装它)
更多: zhilu jiaocheng

安装和配置 httpd

要通过 http url 使用在 client_system 上的 repo_server 上配置的 yum 存储库,请按照以下说明操作。

  1. 安装和设置apache服务器。
# yum install httpd
  1. 我们可以将 rpm 存储在 httpd 的默认文档根目录中,例如:/var/www/html/repo,或者我们可以在文档根目录和存储库目录之间创建软链接。
    出于本文的目的,我们使用与文档根目录不同的目录。
# ln -s /var/www/html/repo /home/mypackage_dir/repo
  1. 启动httpd服务。
# service httpd start
日期:2020-09-17 00:12:13 来源:oir作者:oir