Troubleshooting Solaris Zone Attach — Missing Packages in the Global Zone
By: Date: June 14, 2018 Categories: Enterprise Computing,Solaris / Illumos Tags: ,

One of the problems you can encounter when attaching a Solaris zone (not a kernel zone) on a new host, is that the global zone may not have packages installed that are needed by the non-global zone. For example:

root@mygz:~# zoneadm -z myzone attach -u
Progress being logged to /var/log/zones/zoneadm.20180613T222859Z.myzone.attach
Converting detached zone boot environment 'solaris-0'.
Installing: Using existing zone boot environment
Zone BE root dataset: zone_pool_01/myzone/rpool/ROOT/solaris-0
Cache: Using /var/pkg/publisher.
Updating image format
Image format already current.
Updating non-global zone: Linking to image /.
Processing linked: 1/1 done
Updating non-global zone: Syncing packages (pass 1 of 2).
Creating Plan (Solver setup): |ERROR: Could not update attaching zone
Log saved in non-global zone as /zones/myzone/root/var/log/zones/zoneadm.20180613T222859Z.myzone.attach
zoneadm: zone 'myzone': NOTICE: attach partially succeeded: zone transitioning to unavailable state

Take a look in the output file that it references for the attach.  You are looking for messages indicating a particular package is not installed in the global zone. The attach log file can be extremely verbose, so search for the phrase “not installed”, which should tell you which package you need to install in the global zone.

root@mygz:~# less /zones/myzone/root/var/log/zones/zoneadm.20180613T222859Z.myzone.attach
...
Reason: Package driver/x11/winlock is not installed in global zone
...

Install the missing package in the global zone and try your attach again:

pkg install driver/x11/winlock
zoneadm -z myzone -u