在本示例中,服务清单安装到 /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 中复制和创建软件包系统信息库 。