Hi all
I am using pkg change-facet to change version-lock to False on a large number of packages, such that I can update these packages to their latest version. This is working OK in the global zone.
The problem is that these changed facets are not being inherited into my non-global zones. So while in the global zone I see the changed facet, and can upgrade the affected packages, the same is not true in any non-global zone I later create: it shows the original, unchanged facet, and therefore cannot upgrade the affected packages.
The man page for pkg, pkg(5), and the Oracle documentation says that facets are inherited into child images, and that non-global zones are child images of the global zone. But this does not seem to be working for me.
Specifically, what I am doing is trying to update all software to the latest version using Oracle's 'evaluation FOSS' program. I am following the steps in this document: How to access selected FOSS Evaluation packages for Oracle Solaris 11.3
What I've done is run pkg list -a \*@\*-5.12.0.0.0.122 (the latest FOSS update), and then converted that into a pkg change-facet list. For example:
pkg change-facet version-lock.shell/bash=False
This works great in the global zone. I was able to run pkg update --accept and it updated all the FOSS packages I had installed. Bash is now version 4.4, for example.
The problem is that this change is not applying to my non-global zones. I ran the above pkg change-facet in the global zone with no non-global zones installed. I then tried installing some zones, but found that the packages installed in the zones were the older version, and that the pkg change-facet has not applied.
Here's an example. This is what I see for the version-lock facet for Bash, in the global zone:
That's good. But then in a zone, I see this:
So the zone (which was installed after I made the pkg change-facet changes in the global) is not inheriting the facet from the global zone. I thought this was meant to happen automatically, like the IPS documentation says? Have I misunderstood something, or is there some extra step needed?
How can I get my non-global zones to automatically inherit my facet changes from the global zone?
Of course I could manually run pkg change-facet in the non-global zones as well, but that is messy and I did not think it should be necessary?
Thanks in advance.
I am using pkg change-facet to change version-lock to False on a large number of packages, such that I can update these packages to their latest version. This is working OK in the global zone.
The problem is that these changed facets are not being inherited into my non-global zones. So while in the global zone I see the changed facet, and can upgrade the affected packages, the same is not true in any non-global zone I later create: it shows the original, unchanged facet, and therefore cannot upgrade the affected packages.
The man page for pkg, pkg(5), and the Oracle documentation says that facets are inherited into child images, and that non-global zones are child images of the global zone. But this does not seem to be working for me.
Specifically, what I am doing is trying to update all software to the latest version using Oracle's 'evaluation FOSS' program. I am following the steps in this document: How to access selected FOSS Evaluation packages for Oracle Solaris 11.3
What I've done is run pkg list -a \*@\*-5.12.0.0.0.122 (the latest FOSS update), and then converted that into a pkg change-facet list. For example:
pkg change-facet version-lock.shell/bash=False
This works great in the global zone. I was able to run pkg update --accept and it updated all the FOSS packages I had installed. Bash is now version 4.4, for example.
The problem is that this change is not applying to my non-global zones. I ran the above pkg change-facet in the global zone with no non-global zones installed. I then tried installing some zones, but found that the packages installed in the zones were the older version, and that the pkg change-facet has not applied.
Here's an example. This is what I see for the version-lock facet for Bash, in the global zone:
Code:
root@magrathea:/system/zones# pkg facet -a | grep version-lock.shell/bash
version-lock.shell/bash False local
Code:
root@goldenzone:~# pkg facet -a | grep version-lock.shell/bash
version-lock.shell/bash True system
How can I get my non-global zones to automatically inherit my facet changes from the global zone?
Of course I could manually run pkg change-facet in the non-global zones as well, but that is messy and I did not think it should be necessary?
Thanks in advance.
Last edited: