Package installation in Solaris 11

I have Solaris-11 and installed few non global zones inside it. I saw many of the packages are not installed in non global zone after installing it.

root@pos_ddr01 # pkg list | wc -l
     479
root@pos_ddr01 #
root@pos_ddr01-zkmq01:~# pkg list | wc -l
     206
root@pos_ddr01-zkmq01:~#

I can install them one by one with "pkg install java". But is there any way, I can have them install all in non global zone ? Because I really not sure, how many more (important) packages are not installed in non global zone, why may be required by different applications, which will be residing on these non global zones.

Unlike with Solaris 10, Solaris 11 allows you to select what packages are installed in a zone. By default, the "small-server" manifest is used and its package set is what you observe.

You can customize / create your own manifest with the packages you want. Have a look to this blog and manual page for details:

https://blogs.oracle.com/zoneszone/entry/automating\_custom\_software\_installation_in
Zone Specification in the Global Zone AI Manifest - Installing Oracle Solaris 11 Systems