无法通过 spacewalk / 404 squashfs.img 启动机器

无法通过 spacewalk / 404 squashfs.img 启动机器

我在 CentOS7 机器上使用 spacewalk 2.6。我正在尝试从太空行走服务器启动机器。

为了排除故障,我有

  • 禁用SElinux
  • 没有 iptabled/firewalld

我尝试在 CentOS7 的通道/存储库同步期间创建可安装的树。在spacewalk中添加发行版后,将安装程序生成设置为Red Hat Linux 7。我还安装了SL的netinstall iso的iso,并将其内容复制到spcewalk服务器以在Spacewalk中创建发行版

我在太空行走的 GUI 中创建了一个 kickstart,一切都很好。

当我启动机器时,它失败,因为它找不到LiveOS/squashfs.img.该文件位于服务器上,但 httpd 给出 404。我尝试扩大 kickstart 树中 LiveOS 文件夹的权限,但没有成功。

10.10.70.8 - - [15/Jan/2017:12:39:00 +0100] "POST /cobbler_api HTTP/1.1" 200 143 "-" "Java/1.8.0_111"
10.10.70.8 - - [15/Jan/2017:12:39:00 +0100] "POST /cobbler_api HTTP/1.1" 200 129 "-" "Java/1.8.0_111"
10.10.10.6 - - [15/Jan/2017:12:39:00 +0100] "GET /var/satellite/rhn/kickstart/sl_netinst/.treeinfo HTTP/1.1" 404 4715 "-" "curl/7.29.0"
10.10.10.6 - - [15/Jan/2017:12:39:00 +0100] "GET /var/satellite/rhn/kickstart/sl_netinst/LiveOS/squashfs.img HTTP/1.1" 404 4715 "-" "curl/7.29.0"
-rw-r-xr-x. 1 777 root 282337280 Jan 13 23:48 /var/satellite/rhn/kickstart/sl_netinst/LiveOS/squashfs.img

有人可以帮我解决这个问题吗?

答案1

谢谢帕特里克。

之所以发生这种情况,首先是因为我针对滚动的 CentoS 7 版本制作了一个通道和可启动树。之后kickstartable树显示无效标志

当我选择针对 CentOS7.3 创建通道和可启动树时,所有操作都会立即生效

答案2

编辑:我认为下面的内容实际上不起作用,它在安装软件包时不断抛出 annaconda 事务错误。为了实际解决我的问题,我将 media_path 设置为以下内容:

/ks/dist/org/1/CentOS-7.3-Base

“kickstart 发行版”中的 media_path 变量与实际的 kickstart 文件不同。

Kickstart 分发 --> 变量:media_path=/ks/dist/org/1/CentOS-7.3-Base

Kickstart 配置文件 --> 变量:media_path=/var/satellite/rhn/kickstart/1/CentOS-7.3-Base


我通过执行以下操作解决了这个问题(实际上很简单)

  1. 创建一个/var/www/html指向您的媒体目录的符号链接。 (我刚刚centos7在这里调用了我的符号链接,您的符号链接将指向 /var/satellite/rhn/kickstart/sl_netinst/

    ln -s /var/satellite/rhn/kickstart/1/CentOS-7.3-Base /var/www/html/centos7

  2. 然后,您需要在 kickstart 中更新 media_path 变量。您可以通过 Spacewalk WebUI 执行此操作。

    Kickstart 详细信息 -> 变量

    并更改media_path为centos7(或您的符号链接的名称)

太空行走网页界面

  1. 保存您的启动并再次启动

  2. 您还可以通过尝试拉取 squashfs.img 来测试它是否有效。

    curl -o squashfs.img <spacewalk_server>/centos7/LiveOS/squashfs.img

为什么这有效

如果您查看默认的 apache spacewalk 配置/etc/httpd/conf.d/zz-spacewalk-www.conf。它有这样的配置:

<Directory "/var/www/html/*">
    Options Indexes FollowSymLinks

因此,基本上遵循 /var/www/html/ 下的任何符号链接,默认情况下可以公开访问。

相关内容