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
变量中,您可以将二进制文件放在这个目录中,并在自动启动脚本中使用它们
。 -
事实
目录添加到FACTERLIB
变量中,以便可以配置自定义事实并发送到卫星。 -
lib
目录添加到LD_LIBRARY_PATH
变量,lib/ruby
被添加到RUBYLIB
变量中,以便可以正确执行/bin
中的二进制文件。
-
创建目录结构后,使用以下命令创建一个
.zip
文件存档:zip -r my_extension.zip .
要告知发现它必须使用的扩展镜像,请将您的 zip 文件放在您的 TFTP 服务器上,使用发现镜像将 APPEND 行放在 PXELinux 模板的
APPEND
行,然后使用fdi.zips
选项更新路径相对于 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
文件中提取的文件具有相同的文件名,则会覆盖更早的版本。