我有一台 Red Hat 6.2 服务器,它处于一个隔离环境中,我需要使用 Yum 进行更新。我尝试从ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/(这是默认 yum repo 文件的默认 URL)并执行以下步骤。
- 删除 /etc/yum.repos.d 下的所有存储库
使用以下信息创建了一个新的 repo 文件
[localrepo] name=LocalRepository baseurl=file:///YUMREPO/SRPMS/Packages<BR> gpgcheck=0 enabled=1
当我执行 yum update 时,它第一次正确地下载了存储库数据库,但是它没有更新任何新内容。当我尝试安装任何其他软件包(例如 vsftpd)时,它也无法安装,提示未找到软件包,但 rpm 文件存在于我配置为存储库的文件夹中。
# yum 安装 vsftpd
Loaded plugins: product-id, security, subscription-manager<BR>
Updating certificate-based repositories.<BR>
Setting up Install Process<BR>
No package vsftpd available.<BR>
Error: Nothing to do<BR>
# ls -ltr /YUMREPO/SRPMS/软件包/vsftpd
-rw-r--r-- 1 root root 238016 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-11.el6.src.rpm
-rw-r--r-- 1 root root 239565 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-11.el6_4.1.src.rpm
-rw-r--r-- 1 root root 239801 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-12.el6_5.1.src.rpm
-rw-r--r-- 1 root root 240907 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-13.el6_6.1.src.rpm
-rw-r--r-- 1 root root 229354 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-6.el6.src.rpm<BR>
-rw-r--r-- 1 root root 242118 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-14.el6.src.rpm<BR>
-rw-r--r-- 1 root root 243417 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-14.el6_7.1.src.rpm<BR>
-rw-r--r-- 1 root root 230778 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-6.el6_0.1.src.rpm<BR>
-rw-r--r-- 1 root root 231280 Apr 14 08:18 /YUMREPO/SRPMS/Packages/vsftpd-2.2.2-6.el6_2.1.src.rpm<BR>
我已经尝试使用createrepo
和createrepo -d
(用于 sqllite db),但没有任何效果。Yum 无法安装文件夹中可用的任何 RPM。
当我执行 repolist 时,会显示存储库详细信息,但 Repo-pkgs 和 Repo-size 为零,而 Repo-exculded 下显示的计数与存储库目录中的 rpm 文件数量相同。
# yum -v repolist
Not loading "rhnplugin" plugin, as it is disabled<BR>
Loading "product-id" plugin<BR>
Loading "security" plugin<BR>
Loading "subscription-manager" plugin<BR>
Updating certificate-based repositories.<BR>
Config time: 0.036<BR>
Yum Version: 3.2.29<BR>
Setting up Package Sacks<BR>
pkgsack time: 0.006<BR>
Repo-id : localrepo<BR>
Repo-name : LocalRepository<BR>
Repo-revision: 1460764382<BR>
Repo-updated : Sat Apr 16 08:13:29 2016<BR>
**Repo-pkgs : 0<BR>
Repo-size : 0<BR>**
Repo-baseurl : file:///YUMREPO/SRPMS/Packages<BR>
Repo-expire : 21,600 second(s) (last: Sat Apr 16 08:13:41 2016)<BR>
**Repo-excluded: 6,575**<BR>
我只想配置 YUM 存储库以更新软件包并安装新组件。出于安全考虑,CD 和对互联网或任何其他网络的访问被阻止。在这种隔离的网络中,我们只能使用授权的 USB 磁盘来复制 RPM 软件包。/YUMREPO
是正在使用的 USB 磁盘的挂载位置。
答案1
您引用的 ftp 位置仅包含要重新编译的源。Red Hat 不发布编译的更新,因为您需要为它们付费。这是他们的商业模式。
您可以使用 CentOS 系统。或者最好为所有独立系统支付 Red Hat 支持费(他们积极开发开源项目,因此给他们钱是一件好事),安装一个能够连接到互联网的独立系统,将系统订阅到 Red Hat,并使用该系统将 rpm 文件下载到 USB 存储(而不是 src.rpm 文件!)。Red Hat 将提供如何订阅的说明。