我在 Dell R610 上运行 XenServer,遇到了一个难题。从 DVD 安装时,CentOS 找不到 DVD 软件包目录。对于某些人来说,这是一个报告的错误,在某些硬件配置中安装 XenServer + CentOS6 + DVD = 安装失败。是的,我检查了 MD5 并让光盘测试通过。在报告的每个案例中,网络安装都是解决方案。
问题是,我的网络访问需要通过 Web 代理,该代理会在您下载文件之前提示。这自然会破坏任何下载自动化。我一直在等待我们的 IT 部门制定例外规则,以允许我的实验室绕过提示,但现在已经过去了 3 周多,他们似乎没有回应。(我每周花一两天时间处理这个问题)
我想尝试在我的 Xen 网络中本地托管 netinstall 文件。目前我只有一堆基于 Windows 的虚拟机,CentOS 无法安装,所以我没有任何 Linux 工具。
我曾尝试使用 Mongoose 将所有 DVD 内容托管在一台 Windows 服务器上。(我不想设置 IIS)我将它们复制到一个托管子目录,类似于那里的所有镜像(例如 http:///centos/6.2/os/i386/),没有任何授权或任何其他操作。然后在 netinstall 中我正确地指向它。
我现在意识到仅仅复制 DVD 文件是行不通的。 repodata 将指向本地设备,而不是我托管的站点。(例如,DVD repodata 包含指向软件包所在位置的 xml)显然我通过 HTTP 托管它们,而不是通过 DVD。
有没有简单的方法可以解决这个问题?我只是想在 Xen 上安装 CentOS6。如果有带有 CentOS 6.2 的交钥匙可下载 Xen 映像,或者可下载的 repo 映像,我也会选择它!
先感谢您!
答案1
CentOS Wiki 对如何设置本地镜像简而言之,您从 DVD 的副本开始,然后使用 rsync 针对另一个镜像填补空白。
答案2
如果你看一下镜子的索引,例如http://mirror.centos.org/centos-6/6.2/os/i386/您只需要在通过 Mongoose 共享的路径中重新创建此结构和内容。您可以直接从 DVD 使用这些文件,甚至可以作为 Linux 符号链接或 NTFS 连接点(如果 Web 服务器软件允许),但 repodata 文件夹除外,您必须直接从镜像中下载该文件夹。然后,您可以将 CentOS netinstall 指向“http://你的.mongoose.服务器/“假设 6.2/os/i386 文件夹结构在其根目录中有镜像。您应该看到 Anaconda 首先下载 images/install.img,然后您就可以开始了。
答案3
Repodata 默认是相对的。实际上,强制它指向特定目录比让它成为相对目录要费更多功夫。
答案4
好的,我要自己回答这个问题,因为我从 DVD 本身就让它在本地运行,这正是我想要做的。希望这能帮助别人。
正如 Dell_JonathanS 在此处建议的那样(我给你 +1),如果你可以直接下载镜像的内容,这是最简单的。只需从http://mirror.csclub.uwaterloo.ca/centos/6.2/os/i386/* 下拉到本地托管的 HTTP 目录。您不必托管完整的镜像路径。在 CentOS netinstall 中,您可以指定任何 URL。
如果您无法从镜像下载,并且您有安装 DVD,请将文件和结构复制到本地托管的 HTTP 目录。然后进入 /repomod/ 并打开 repomd.xml。请注意,primary_db 的目录指向一个文件和扩展,而 /repomod/ 中的文件是没有扩大。
<data type="primary_db">
<location href="repodata/48da39...46d6-primary.sqlite.bz2"/>
在 /repomod/ 目录中查找该文件。您会注意到它没有相同的扩展名。重命名该文件以包含扩展名。对所有其他已识别的 repomd.xml 重复此操作。继续并启动指向修改后的本地托管 CentOS DVD 文件的 netinstall。
请注意,我认为这是一种黑客攻击,但如果您由于某种原因无法从镜像本身下载,那么这对我来说是有效的。