En este ejemplo, el manifiesto del servicio se instala en /lib/svc/manifest/site, y la secuencia de comandos del primer inicio se instala en /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
Cree el siguiente archivo denominado 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
En función de lo que la secuencia de comandos del primer inicio realice, es posible que no deba especificar dependencias. Si modifica este manifiesto, compruebe que el nuevo manifiesto sea correcto. Puede ignorar las advertencias. Consulte el Capítulo 2, Packaging Software With IPS de Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.2 para obtener información sobre cómo crear un paquete, incluida la información sobre los comandos pkgdepend, pkgmogrify y pkglint.
En este ejemplo, se crea el repositorio en el directorio local, con firstboot como editor.
$ 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
Los clientes pueden instalar el paquete desde el repositorio firstbootrepo. El editor firstboot con el origen firstbootrepo se define en el manifiesto AI, como se muestra en la siguiente sección.
Muestre el paquete para verificar que el paquete esté disponible.
$ pkg list -g ./firstbootrepo first-boot-script NAME (PUBLISHER) VERSION IFO first-boot-script (firstboot) 1.0-0 ---
La opción –n indica que no se debe instalar el paquete.
# 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
Pasos siguientes
Consulte Copia y creación de repositorios de paquetes en Oracle Solaris 11.2 para obtener instrucciones para hacer que el nuevo repositorio esté disponible para los sistemas cliente por medio de recursos compartidos NFS o HTTP.