部署YUM仓库及NFS共享服务

一、YUM概述

  • YUM(Yellow dog Updater Modified)
    • 基于RPM包构建的软件更新机制
    • 可以自动解决依赖关系
    • 所有软件包由集中的YUM软件仓库提供

二、准备安装源

2.1软件仓库的提供方式

  • FFTP服务:ftp://……
  • HTTP服务:http://……
  • 本地目录:file://……

2.2 RPM软件包的来源

  • CentOS发布的RPM包集合
  • 第三方组织发布的RPM包集合
  • 用户自定义的RPM包集合

2.3 构建CentOS 7 软件仓库

  • RPM包来自CentOS7 DVD光盘
  • 通过FTP方式提供给客户机
[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7

[root@localhost ~]#rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~l#systemctl enable vsftpd

2.4 Linux系统各家厂商用的安装源

  • centos7和rhel7默认使用的时yum仓库源
### 本地部署Yum 仓库配置文件编写方法 在 Linux 系统中,Yum 是一种常用的包管理工具,用于自动化安装、更新和删除软件包及其依赖项。为了在离线环境中使用 Yum,通常需要搭建本地 Yum 仓库,并正确配置 Yum仓库文件。以下是编写本地部署Yum 仓库配置文件的具体方法: #### 配置文件结构 Yum 仓库的配置文件通常位于 `/etc/yum.repos.d/` 目录下,文件扩展名为 `.repo`。每个配置文件包含一个或多个 `[repository_id]` 节点,每个节点定义了一个仓库的信息。 以下是一个典型的本地 Yum 仓库配置文件的结构示例: ```ini [local-repo] name=Local CentOS Repository baseurl=file:///path/to/repo enabled=1 gpgcheck=0 ``` - **`[local-repo]`**:这是仓库的唯一标识符,可以自定义名称。 - **`name`**:仓库的描述性名称,用于显示信息[^3]。 - **`baseurl`**:指定仓库的路径或 URL。对于本地仓库,通常使用 `file://` 协议指向本地目录。 - **`enabled`**:设置为 `1` 表示启用该仓库,设置为 `0` 表示禁用。 - **`gpgcheck`**:设置为 `1` 表示启用 GPG 签名校验,设置为 `0` 表示禁用校验。 #### 具体步骤 假设已经将 CentOS 的 ISO 文件挂载到 `/mnt/cdrom`,并希望将其作为本地 Yum 仓库,则可以按照以下方式编写配置文件: 1. 创建一个新的配置文件: ```bash tee /etc/yum.repos.d/local.repo <<EOF [rhel-yum] name=CentOS 7 Local Repository baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0 EOF ``` 2. 如果需要通过 HTTP 提供访问(例如通过 Apache 或 Nginx),可以创建软链接并将路径指向 Web 服务目录: ```bash ln -s /mnt/cdrom/ /var/www/html/centos7 ``` 此时,`baseurl` 可以更改为: ```ini baseurl=http://<server-ip>/centos7 ``` 3. 验证配置是否生效: ```bash yum repolist ``` #### 使用 `createrepo` 创建元数据 如果本地仓库是通过手动复制 RPM 包构建的,则需要生成仓库元数据以便 Yum 使用。可以使用 `createrepo` 工具完成此操作: 1. 安装 `createrepo`: ```bash yum install createrepo -y ``` 2. 在存放 RPM 包的目录中生成元数据: ```bash createrepo /path/to/repo ``` 3. 确保 `baseurl` 指向正确的目录路径。 --- ### 示例代码 以下是一个完整的脚本示例,用于配置本地 Yum 仓库: ```bash # 挂载 ISO 文件 mount /path/to/CentOS-7-x86_64-Everything.iso /mnt/cdrom # 创建配置文件 tee /etc/yum.repos.d/local.repo <<EOF [local-repo] name=Local CentOS Repository baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0 EOF # 验证仓库 yum repolist ``` 如果需要通过 HTTP 提供访问,可以结合 Apache 或 Nginx 配置: ```bash # 安装 Apache yum install httpd -y systemctl start httpd # 创建软链接 ln -s /mnt/cdrom/ /var/www/html/centos7 # 修改配置文件中的 baseurl sed -i 's|baseurl=file:///mnt/cdrom|baseurl=http://<server-ip>/centos7|' /etc/yum.repos.d/local.repo ``` --- ### 注意事项 - 如果启用了 `gpgcheck`,需要确保提供正确的 GPG 密钥文件。 - 对于远程访问,确保防火墙允许 HTTP 或 HTTPS 流量。 - 如果使用 NFS 或 SMB 共享仓库,请确保客户端能够正确挂载共享目录。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值