7.9. 扩展发现镜像
您可以使用自定义事实、软件或设备驱动程序扩展 Satellite 发现镜像。您还可以提供一个压缩的存档文件,其中包含要使用的镜像的额外代码。
流程
创建以下目录结构:
. ├── autostart.d │ └── 01_zip.sh ├── bin │ └── ntpdate ├── facts │ └── test.rb └── lib ├── libcrypto.so.1.0.0 └── ruby └── test.rb
-
autostart.d
目录包含镜像启动时按 POSIX 顺序执行的脚本,但在主机注册到 Satellite 之前。 -
bin
目录添加到$PATH
变量中;您可以将二进制文件放在这个目录中,并将它们用于自动启动脚本
。 -
事实
目录添加到FACTERLIB
变量中,以便可以配置自定义事实并将其发送到 Satellite。 -
lib
目录添加到LD_LIBRARY_PATH
变量中,lib/ruby
被添加到RUBYLIB
变量中,以便正确执行/bin
中的二进制文件。
-
创建目录结构后,使用以下命令创建一个
.zip
文件存档:# zip -r my_extension.zip .
要告知发现镜像必须使用的扩展,请将 zip 文件放在您的 TFTP 服务器上带有 Discovery 镜像,然后使用
fdi.zips
选项更新 PXELinux 模板APPEND
行,其中路径相对于 TFTP root。例如,如果您在$TFTP/zip1.zip
和$TFTP/boot/zip2.zip
有两个存档,请使用以下语法:fdi.zips=zip1.zip,boot/zip2.zip
您可以将新的指令和选项附加到现有环境变量(PATH
、LD_LIBRARY_PATH
、RUBYLIB
和 FACTERLIB
)。如果要在脚本中明确指定路径,.zip
文件内容将提取到镜像的 /opt/extension
目录中。
您可以创建多个 .zip
文件,但请注意,它们将提取到 Discovery 镜像上的同一位置。如果文件具有相同的文件名,则后续 .zip
文件中提取的文件会覆盖早期版本。