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