在本示例中,服务清单安装到 /lib/svc/manifest/site 中,首次引导脚本安装到 /opt/site 中。
$ mkdir -p proto/lib/svc/manifest/site $ mkdir -p proto/opt/site $ cp first-boot-script-svc-manifest.xml proto/lib/svc/manifest/site $ cp first-boot-script.sh proto/opt/site
创建名为 first-boot-script.p5m 的以下文件。
set name=pkg.fmri value=first-boot-script@1.0,5.11-0 set name=pkg.summary value="AI first-boot script" set name=pkg.description value="Script that runs at first boot after AI installation" set name=info.classification value=\ "org.opensolaris.category.2008:System/Administration and Configuration" file lib/svc/manifest/site/first-boot-script-svc-manifest.xml \ path=lib/svc/manifest/site/first-boot-script-svc-manifest.xml owner=root \ group=sys mode=0444 dir path=opt/site owner=root group=sys mode=0755 file opt/site/first-boot-script.sh path=opt/site/first-boot-script.sh \ owner=root group=sys mode=0555
根据首次引导脚本执行的操作不同,可能需要指定依赖性。如果修改了此清单,请验证新清单是否正确。您可以忽略警告。有关如何创建软件包的信息(包括有关 pkgdepend、pkgmogrify 和 pkglint 命令的信息),请参见在 Oracle Solaris 11.2 中使用映像包管理系统打包和交付软件 中的第 2 章 使用 IPS 打包软件。
本示例在本地目录中创建系统信息库,其中 firstboot 作为发布者。
$ pkgrepo create firstbootrepo $ pkgrepo -s firstbootrepo add-publisher firstboot
$ pkgsend publish -d ./proto -s ./firstbootrepo first-boot-script.p5m pkg://firstboot/first-boot-script@1.0,5.11-0:20140114T022508Z PUBLISHED
客户机可以通过 firstbootrepo 系统信息库安装软件包。具有 firstbootrepo 源的 firstboot 发布者是在 AI 清单中定义的,如下一部分所示。
列出软件包以检验软件包是否可用。
$ pkg list -g ./firstbootrepo first-boot-script NAME (PUBLISHER) VERSION IFO first-boot-script (firstboot) 1.0-0 ---
–n 选项意味着不安装软件包。
# pkg set-publisher -g ./firstbootrepo firstboot # pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://http://pkg.oracle.com/solaris/release/ firstboot origin online F file:///home/user1/firstboot/firstbootrepo/ # pkg list -af first-boot-script NAME (PUBLISHER) VERSION IFO first-boot-script (firstboot) 1.0-0 --- # pkg install -nv first-boot-script Packages to install: 1 Estimated space available: 50.68 GB Estimated space to be consumed: 64.66 MB Create boot environment: No Create backup boot environment: No Rebuild boot archive: No Changed packages: firstboot first-boot-script None -> 1.0,5.11-0:20140114T022508Z Planning linked: 0/2 done; 1 working: zone:z2 Linked image 'zone:z2' output: | Estimated space available: 50.68 GB | Estimated space to be consumed: 62.07 MB | Rebuild boot archive: No ` Planning linked: 1/2 done; 1 working: zone:z1 Linked image 'zone:z1' output: | Estimated space available: 50.67 GB | Estimated space to be consumed: 62.07 MB | Rebuild boot archive: No
接下来的步骤
有关使新系统信息库可供客户机系统通过 NFS 共享或 HTTP 进行访问的说明,请参见在 Oracle Solaris 11.2 中复制和创建软件包系统信息库 。