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