Os X Could Not Be Installed No Packages

  

Troubleshooting Package Installation and Update

Another method to fix OS X could not be installed on your computer is to update your macOS in Safe Mode. In Safe Mode, your Mac can run under a pure environment without the interruption of hardware failure and startup items. It can also solve some issues on your Mac. How to enter Safe Mode on Mac? Oct 16, 2016 Depending on how you went about the work, installing Mac OS X on the new system may give you a message: OS X could not be installed on your computer. No packages were eligible for install. This is what it looks like in the installer. Upon seeing this I went 'HUH?' No user data will be lost in this process. Resetting your PRAM will not only fix this particular OS X install issue, but it can also fix network issues, sound issues, and display issues. So next time your Mac is acting wonky, reset the PRAM and it should be back in working order.

This appendix shows how to handle some errors that you mightsee when you install or update packages. This appendix also provides tips forincreasing performance and minimizing stored metadata.

Initial Troubleshooting Steps

Check whether the package you want to install is available from configuredpublishers and can be installed in this image. The installed version ofpkg:/entire and the publisher origins configured in thisimage are required pieces of information. You might need to update thepkg:/entire package. You might need to modify publisherorigins.

The following two checks should be done first for almost any package installation problem:

  • Check which version of the pkg:/entire incorporation package isinstalled.

  • Check your package publisher origin.

When you have determined that the packages you need are available fromconfigured publishers, use the following steps as you proceed with yourinstallation:

  • Use the -nv options whenever you install or update tosee what changes will be made, such as which versions of which packages will beinstalled or updated and whether a new BE will be created. The-v option also shows any release notes that apply to thisparticular installation or update operation.

  • To receive more detailed error messaging, specify more of the FMRI of thepackage you want to install, including the version and publisher.

Check the Installed Version of pkg:/entire

Use the pkg list command to check the version of thepkg:/entire incorporation package that is currentlyinstalled.

The pkg:/entire incorporation package constrains theversions of many other packages to help maintain a working, supportable image.See Incorporation Packages for moreinformation about packages constrained by incorporation packages.

You cannot directly install or update a package that is constrained by thepkg:/entire incorporation package. To install or updatepackages that are constrained by pkg:/entire, you must updatethe pkg:/entire package. For more information, see Cannot Satisfy Constraints. In some cases, youcan remove the constraints as shown in Updatinga Package Constrained by an Incorporation.

Check the Content of Your Configured Publisher Origins

Use the pkg publisher command to check your packagepublisher origins.

For a secure URI, make sure you have the required key and certificateproperly installed, and use the -k and -coptions when you configure the publisher.

If your site requires a proxy for external locations, use the--proxy option of the pkg set-publishercommand to set that proxy. See Specifying aProxy for instructions.

Use the pkg publisherpublisher command to view more informationabout the publisher, such as key, certificate, and proxy.

If any origin URI of any of your enabled publishers is unreachable, theinstall or update operation fails, even if the locations you need are reachable.If you cannot fix the problem that makes the location unreachable, you canremove the unreachable origin with pkg set-publisher -G ordisable that publisher with pkg set-publisher --disable. Ifyou no longer need this publisher, use pkg unset-publisher toremove the publisher.

Check whether your package publisher origin contains the packages youneed. For example, if your solaris publisher origin is set tothe public release repository, then you cannot update a package to a versionthat is only available from a support repository.

Check Whether Required Installed Packages Are Available

To update installed packages, install packages that depend on installedpackages, or install a non-global zone, the repository that you set as thepublisher origin must contain at least the same software that is currentlyinstalled in the image. The repository can also contain older or newer software,but it must contain the same software that is installed in the image.

Use the pkgrepo list command, not the pkglist command, when checking for installed packages. The pkglist command always shows installed packages, even if the package isnot available from any configured publisher origin.

The following command shows that the specified repository is a notsuitable publisher origin for this image because the installed version ofpkg:/entire is not available from that origin.

If the package that you need is not listed, try running thepkgrepo refresh command and then retry the pkgrepolist command.

The following command shows that the installed version ofpkg:/entire is available from the specifiedrepository:

If a needed package is not available from a configured publisher but isavailable from another repository origin, take one of the followingactions:

  • Use the -g option of the pkgset-publisher command to add this origin for thesolaris publisher.

  • Use the -g and -G options of thepkg set-publisher command to change the origin for thesolaris publisher.

  • If a different publisher provides the package you need, use thepkg set-publisher command to add that publisher.

  • Use the -g option of the installation command(install, uninstall,update, change-variant, andchange-facet) to temporarily add a repository to the end ofthe list of repositories to search.

Check Whether the Packages You Want to Install Are Available

Use the following command to check whether the package you want to installis available from your configured publishers. If you are updating a package,both the version of that package that is currently installed and the version towhich you want to update should be available.

If the package that you need is not listed, try running the pkgrefresh command and then retry the pkg listcommand.

If the package that you need still is not listed, add a new publisher or anew publisher origin.

Check Whether the Packages You Want to Install Are Installable in ThisImage

If the package version you want is listed when you use the-af options, then use the same command again without the-f option:

If the version you want is still listed, then this package is notconstrained and you should be able to install it without installing or updatingany other packages.

Os X Could Not Be Installed No Packages

If the version you want is not listed, then this version is available fromconfigured publishers but not installable in this image. Reasons that a packageis not installable can include the following:

  • The package is constrained by variant or facet settings.

  • The version of the package is constrained by an incorporation package. Youcan update the constraining package or, in some cases, you can relax theconstraint. For more information, see CannotSatisfy Constraints.

  • The version of the package is constrained by a freeze operation. Run thepkg freeze command. The freeze could be on a package that hasa require dependency on a different version of the packageyou want to install and both versions cannot be installed at the sametime.

Retry Your Installation

If you specify a package to install or update and you do not specify thepublisher, the first publisher in the publisher search order that provides apackage that matches that package FMRI or pattern is used as the installationsource. If that publisher does not provide a version of the package that can beinstalled in this image, then the installation operation fails, even if anotherenabled publisher provides a version of the package that can be installed inthis image. Take one of the following actions to address this issue:

  • Specify the publisher in the package FMRI. For example, specifypkg://solaris/ in front of the full package name.

  • Use the -P option of the pkgset-publisher command to set the publisher that provides the packageversion you want as the first publisher in the search order.

Use the -nv options whenever you install or update tosee what changes will be made, such as which versions of which packages will beinstalled or updated and whether a new BE will be created. The-v option also shows any release notes that apply to thisparticular install or update operation.

  • If you do not receive any error messages when you use the-nv options, run the command again without the-n option to actually perform the installation or update.Consider whether you should specify options to do the installation in a new BEor to create a backup BE if no new BE or backup BE will be created bydefault.

  • If you do receive error messages, take the following actions:

    • Specify more of the version you want in the package FMRI to get moreinformation to help you diagnose and fix the problem.

    • Specify more -v options (for example,-nvv).

    • Use the pkg history command. The -loption provides complete FMRIs of changed packages. See Viewing Operation History.

If you specify multiple packages to install or update, or if you omit thepackage specification for an update operation, the installation or updateoperation fails if any of the packages cannot be installed in this image. If onepackage cannot be installed, no packages are installed. For more information,invoke the command again, specifying only the package that cannot be installed,specifying the full FMRI of that package, and providing one or more-v options.

Cannot Access Publisher or Repository

The errors discussed in this section are related to an inability to accessthe URI of the publisher.

Cannot Access Package Repository

Error messages:

  • Couldn't resolve host

  • Unable to contact any configured publishers

  • Unable to contact valid package repository

  • Origin URIs do not appear to point to a valid pkgrepository

Use the pkg publisher command to display the URIs of your publishers. See the LOCATION column or the URI row in the following examples:

If publishers are listed that you are no longer using, either disable orremove those publishers:

For publishers that you are using, make sure the URIs are correct.

Os X Could Not Be Installed No Packages Were Eligible

  • Try to view each publisher origin location in a browser or ping thatlocation.

  • Try to list packages at that origin by using the pkgrepolist command.

If an origin location is not correct, use the -G and-g options of the pkg set-publishercommand together to change the URI.

If a publisher has more than one origin, all origin locations must beaccessible. If any origin location is not accessible, use the-G option of the pkg set-publisher commandto remove that origin.

If a publisher is configured in a non-global zone, all locations forthat publisher must be accessible from the global zone even if that publisher isnot configured in the global zone.

SSL Certificate Problem

Error message: SSL certificate problem, verify that the CA certis OK

Take one or more of the following actions if the pkgcommand displays a message about an SSL certificate problem:

  • Make sure the required key and certificate are installed. Informationabout how to obtain a key and certificate should be included with otherinformation about the secure repository.

  • Use the -k and -c options with thepkg set-publisher command to specify the locations where thekey and certificate are installed. The pkg publisher commandfor the publisher shows where the publisher expects to find the key andcertificate. If the key and certificate are installed elsewhere, reconfigure thepublisher, specifying the correct values for the -k and-c options.

    In the following example, the output shows the key and certificate filepaths and shows that the certificate for the configured origin for theabc publisher is expired:

  • Make sure the time and date are correct on the system.

  • Refresh the ca-certificates SMF service:

  • If the origin URI contains oc-mgmt, contact your OpsCenter support representative.

Note - A repository that requires a client SSL certificate cannot be specified byusing a -g option with a pkg installationcommand.

Location Not Found

Error message: http protocol error: code: 404 reason: Not Found

Check your publisher URIs as described in CannotAccess Package Repository. If you can view or ping the locationsuccessfully, use the pkgrepo list command to try to show oneof the packages in the repository.

If the URI is a file-based repository, make sure the files and directories are readable by thepkg5srv user. You can use the pkgrepo verify command to checkwhether the repository is readable by the pkg5srv user.

Check your web server configuration. See Chapter 5, Running the Depot Server Behind a Web Server, in Copying and Creating Package Repositories in Oracle Solaris 11.2 formore information.

  • If you run the package depot server behind an Apache web server instance,include the following setting in your httpd.conf file tonot decode encoded forward slashes:

  • Set the depot server pkg/proxy_base to the URL of therepository on the Apache server:

If the problem occurs in a non-global zone, take the followingtroubleshooting steps. Remember that non-global zones use a special packagerepository called the system repository. See the pkg.sysrepo(1M) man page for more information about the systemrepository.

Os X Could Not Be Installed No Packages Were Eligible For Install

  • You cannot use the -g option in an image that hasnon-global zones. Instead, use the pkg set-publisher commandto explicitly add that publisher and origin.

  • Make sure the files and directories in file-based repositories are readable by thepkg5srv user. The pkg5srv user runs thesystem-repository Apache instance. See Relationship Between Global and Non-Global Zones for examples that show how to find the location of a system repository.

  • If your site requires a proxy to access external locations, make sure theproxy has been specified correctly for publishers in the global zone. Use the--proxy option of the pkg set-publishercommand to specify the proxy. See Specifying aProxy for instructions. One way to check your proxy is to make sure youget no access error messages from the pkg refresh --fullcommand.

  • Make sure the servicesvc:/application/pkg/system-repository:default is online inthe global zone.

  • Make sure the service svc:/application/pkg/zones-proxyd:default is onlinein the global zone and the servicesvc:/application/pkg/zones-proxy-client:default is online in the non-globalzone.

  • In the global zone, check the log files in /var/log/pkg/sysrepo/* for anypermissions errors reported when trying to read files. Check for 404 or 503 errors reported in/var/log/pkg/sysrepo/access_log. Check for errors reported in/var/log/pkg/sysrepo/error_log.

  • In the global zone, verify that localhost is set to 127.0.0.1 in the /etc/hosts file. Verify that Listen is set to 127.0.0.1:1008 and ServerName is set to 127.0.0.1 in the /system/volatile/pkg/sysrepo/sysrepo_httpd.conf file.

  • In the global zone, check whether the file/system/volatile/pkg/sysrepo/sysrepo_httpd.conf contains Alias lines of thefollowing form:

    If the sysrepo_httpd.conf file has no Alias lines, restart the sysrepo service:

Service Is Not Available

Error message: http protocol error: code: 503 reason: ServiceUnavailable

Os x could not be installed no packages were eligible

Use the pkg publisher command to find the location ofthe package repository that you are trying to use, and examine SMF services onthat system. Use the following command to identify any package repository SMFservice instances that are enabled but not running and any instances that arepreventing another enabled instance from running:

If any service is reporting a problem, check the log file listed in thesvcs output to determine the specific problem.

Make sure that the inst_root property, theport property, and other properties are set correctly.

If necessary, use the svccfg command to reset property values, as shown in the following example:

Use the svcadm command to clear, refresh, restart, and enable the service instance as necessary.

No Updates Are Available

Error message: No updates available for this image

If you are updating a particular package, use the following command toshow what version of that package is currently installed in this image. If youare updating all installed packages (pkg update with nopackages specified or with '*' specified for the packagename), use pkg:/entire for packagein these commands.

If no version is currently installed, use the pkg install command, not pkg update.

If a version of package is currently installed,use the following command to show which versions ofpackage are available from your configuredpublishers:

If the package with the highest version number is already installed, then perhaps no newer version exists.

If a newer version does exist, determine the package repository locationwhere the newer version is available, and use the pkgset-publisher command to reset the origin URI or add an origin URI forthe appropriate publisher. If necessary, install any required key andcertificate and use the -k and -c options tospecify them. Use the pkgrepo list command to verify that thecurrently installed version of the package also is available from configuredpublishers.

Execute the pkg update command again, specifying the -nv options and including the version (or the keyword latest) in the FMRI of the packages you want to install, as shown in the following example. Providing more information in the package names usually gives you more information in any error output.

Package Cannot Be Installed

Error message: No matching version ofpackage can be installed

Use the following command to show which versions ofpackage are available from your configured packagepublishers:

Specify more of the FMRI of the package you want to install. The firstmatch found might not be installable in this image, but the specific version youwant to install might be installable. If the more specific FMRI is still notinstallable, specifying more of the FMRI should display more information aboutwhy the package cannot be installed.

Verify that the version of the package you want to install or update isnot frozen. Use the pkg freeze command with no arguments todisplay a list of all packages whose versions are frozen.

Use the following command to show what version of the pkg:/entire package is installed:

You cannot install or update a package that is constrained by thepkg:/entire incorporation package or by some other incorporation package. Youmust update the incorporation package. For more information, see Cannot Satisfy Constraints.

Cannot Satisfy Constraints

Error message: No solution was found to satisfy constraints

This message indicates that you attempted to install a version of apackage that does not match the version to which the package is constrained byan incorporation package. See IncorporationPackages for information about incorporation packages andconstraints.

Incorporations constrain a set of packages to versions that work togetherto help maintain a supportable image. For this reason, you should not update onepackage that is constrained by an incorporation. Instead, you should update theincorporation package, which results in updating all the constrained packages toa new tested-together set of versions.

When packages are being modified (for example, being updated), thepkg client examines related packages and their dependencies.If any dependent package cannot be installed or updated, a separate errormessage is produced for each package that has a dependency on the package thatcannot be installed or updated. The most effective way to handle a large numberof error messages is to examine the error messages that are the most indentedfirst.

Updating a Package Constrained by an Incorporation

Error messages:

  • No suitable version of installed packagepackage found

  • All versions matching 'incorporate' dependencypackage are rejected

  • This version excluded by specified installationversion

  • This version is excluded by installedincorporation

For packages constrained by an incorporation, best practice is to updatethe incorporation package, keeping all of the constrained packages as atested-together set.

If you still want to update just one package from an incorporation, checkwhether that package has a version-lock facet set totrue. If a package has an associatedversion-lock facet, then you can unlock that package from itsincorporation. Set the version-lock facet tofalse to remove the constraint, and then try again to installor update the package. Specify the -nv options and theversion of the package you want in the FMRI of the package name. See also Relaxing Version Constraints Specified byIncorporations.

Example A-1 Unlocking and Updating the Java Runtime Environment

The following example shows how to update theruntime/java/jre-7 package. The jre-7package is constrained by theconsolidation/java/java-incorporation package, and thejava-incorporation package is in turn constrained by thepkg:/entire incorporation package.

The following command shows that the 0.175.2.0.0.9.0version of jre-7 is currently installed and shows that anewer version is available from configured package repositories:

Removing the -f option shows which versions areavailable to update to. The following pkg list output showsthat no newer version can be installed in this image, and the pkgupdate command output confirms this state. The -noption shows what changes would be made but does not make any changes.

To show more information about why this package cannot be updated, specifythe version to which you want to update. The output shown in the followingexample indicates that the installedjava-incorporation@0.5.11,5.11-0.175.2.0.0.9.0 package doesnot allow the installation of thejre-7@1.7.0.21-0.175.2.0.0.13.0 package. Thejava-incorporation@0.5.11,5.11-0.175.2.0.0.13.0 package wouldallow the installation of the jre-7@1.7.0.21-0.175.2.0.0.13.0package, but the installedentire@0.5.11,5.11-0.175.2.0.0.12.0 incorporation packagedoes not allow the installation of thejre-7@1.7.0.21-0.175.2.0.0.13.0 package.

Best practice is to update the entire package. Updatingthe entire package would update thejava-incorporation package, which would update thejre-7 package. In this example, you need to update the Javapackages and cannot move your image forward to an updated version ofentire.

The version of the Java software that can be installed is constrained bysetting the version-lock facet for the Java incorporationpackage. To update the Java software without updating other software, unlock theversion-lock facet of the Java incorporation package and thenupdate the Java incorporation package. For more information about version-lockfacets, see Relaxing Version Constraints Specified byIncorporations.

The following command changes the value of theversion-lock facet of the installedjava-incorporation package to false. Thenumber of packages to update is the number of packages installed in this image,because each package in the image is checked for this facet.

The following command shows that the facet value has been changed:

Because the following command specifies the -n option,this command shows what would be change but does not actually make any changesto your image.

The following command performs the actual update. This command performsthe update in the current image. You might want to use the--be-name option to perform the update in a new bootenvironment.

The following command verifies that the jre-7 packageis updated in this image. If you perform the update in a new boot environment,use beadm mount and the pkg -R to do thefollowing check in that new boot environment.

Updating an Incorporation When a Suitable Dependency Cannot BeFound

Error message: A version for 'incorporate' dependency cannot befound

See Incorporation Packages forinformation about incorporation packages and theirincorporate dependencies.

Os x could not be installed no packages were eligible

Examples of reasons an incorporation package might fail to update includethe following installation states of an incorporatedependency of the incorporation package:

  • The dependent package is frozen at a different version.

  • The dependent package is already installed at a higher version.

  • The dependent package is installed from a different publisher, and thatpublisher is sticky.

Example A-2 Updating pkg:/entire When a Dependency is Unlocked andSeparately Updated

The following example attempts to update all installed packages because nopackage names are specified. One of the installed packages that this operationattempts to update is the pkg:/entire incorporation package.This example shows an incorporate dependency ofpkg:/entire that is already installed at a higherversion.

This message says that the version of the pkg:/entireincorporation package to which the system attempted to update specifies aversion of the ub_javavm-incorporation package that cannot beinstalled. Because one package cannot be installed, no packages are installedand the update fails.

The following techniques can provide more information about why theub_javavm-incorporation package cannot be installed:

  • Use -v options. For example, use -vor -vv to receive more verbose output.

  • Specify a package to update. Providing more detailed input often resultsin more detailed messaging. For example, in addition to the name of the package,include the version in the package FMRI.

The following command includes a -v option andspecifies to update to theentire@0.5.11,5.11-0.175.2.0.0.10.0 package, copied from themessage above. This command also specifies the -n optioninstead of the --be-name option. The -noption shows what will be done but does not actually make any changes to thisimage.

These messages say that the version of theub_javavm-incorporation package that is currently installedin this image is newer than the version specified by thepkg:/entire incorporation package that would be installed bythe update operation.

The following command shows the version of theub_javavm-incorporation package that is currentlyinstalled.

The following command shows the version of theub_javavm-incorporation package that is specified by thepkg:/entire incorporation package to which the systemattempted to update. The version of the pkg:/entireincorporation package to which the system attempted to update is copied from thefirst “Reject” message in the above output. The-r option looks for this package in the configured packagerepositories, not in the installed image.

To fix this problem, you can instruct the update operation to updateall installed packages except for particular specified packages. Use one or more--reject options in the pkg update commandto perform the update without attempting to update the packages specified in the--reject options. Wildcards can be used in--reject arguments. In the following command, packages toreject are copied from the “Reject” messages above that precede the“Reason: Newer version is already installed” message.

Tip - Be careful when you specify --reject arguments: Anypackages that match the --reject argument that are alreadyinstalled will be uninstalled.

Updating an Incorporation When an Installed Dependency is Not Permissible

Error messages:

  • The installed package package is notpermissible

  • Excluded by proposed incorporation

If you receive these error messages, packageprobably is a core operating system package that must be kept in sync with othercore operating system packages. Use the pkg facet command tocheck the value of thefacet.version-lock.package facet.If the value of this version-lock facet isfalse, use the pkg change-facet command tochange the value of this facet to true, and then try theupdate operation again.

Required Package Cannot Be Found

Error message: A version for 'require' dependency cannot befound

If you receive a message such as the following message that a requiredpackage cannot be found, check whether the package is available from yourconfigured publishers.

Use the following command to show whetherpackage2 is available from your configured packagepublishers:

Use the pkg publisher command to check your publisherorigin location. The publisher of this package is given afterpkg:// in the full FMRI. You might need to change yourpublisher origin location. If the location is a local package repository, youmight need to update the repository.

Required Package is Rejected

Error messages:

  • No solution was found to satisfy constraints

  • All versions matching 'require' dependencypackage are rejected

In the following output from the pkg update command,the initial error message states that a suitable version of the required packagedesktop-incorporation cannot be found. The reason thedesktop-incorporation package is not suitable is because oneof its dependent packages is not found. Because no suitable version is found,the desktop-incorporation package is rejected. Thepkg update fails because thedesktop-incorporation package is required by thepkg:/entire incorporation. The following command shows thatthe desktop-incorporation package is required by thepkg:/entire incorporation:

The next error message states that a suitable version of the requiredpackage python-extra-26 cannot be found. The reason thepython-extra-26 package is not suitable is because thepython-extra-26 package requires thedesktop-incorporation package, and no suitable version ofdesktop-incorporation was found.

This information shows that the solution to this update failure is to finda way to install the required version of thedesktop-incorporation package.

The following commands show that the package that cannot be found for therequired desktop-incorporation package is not required. Thepython-sexy-26 package is incorporated by thedesktop-incorporation package, but it is not required.

The incorporate dependency says that if thepython-sexy-26 package is installed, it must be installed atthe specified version. However, because no package requires thepython-sexy-26 package, the python-sexy-26package does not need to be installed. Therefore, one solution to this updatefailure is to uninstall the python-sexy-26 package. Adifferent version of this package is currently installed, and the update couldnot locate the version specified by the desktop-incorporationincorporation. If you uninstall the package, the update process will not need tofind the updated package.

If you need the python-sexy-26 package and do not wantto uninstall it, find a package repository that providespkg:/library/python-2 /python-sexy-26@0.1.9-0.175.0.0.0.1.0.Either use the pkg set-publisher command to add thatrepository to your publisher origin locations, or use thepkgrecv command to add that package to your currently setpublisher origin.

Packages Are Not Updated as Expected

Error message: pkg update: The installed packagepackage is not permissible.

If you use wildcards with an update operation, you might not see any errormessages even though some packages that should have been updated were notupdated. You might see an error message if you specify a package name withoutwildcards.

For example, the following operation might complete without error and yet not update any packages, even though you verified that newer packages are available from your configured publishers:

To get more information, instead of using the wildcard, specify the version of pkg:/entire to which you want to update:

In this example, the package compress/zip ispreventing the update of the userland-incorporationincorporation package, which is preventing the update of thepkg:/entire incorporation. The following command displaysmore information about the compress/zip package:

This output shows that the compress/zip package is frozen. Because thepackage is frozen, it cannot be updated.

Os x could not be installed no packages were eligible

Os X Could Not Be Installed No Packages

With the compress/zip package unfrozen, the original pkg update'*' operation should update all packages in the image that have updates available. SeeLocking Packages to a Specified Version for more information aboutthe pkg freeze and pkg unfreeze commands.

The pkg sync-linked error shown in Sync Linked Package Cannot Be Installed issimilar but indicates a package in a non-global zone is preventing theupdate.

Sync Linked Package Cannot Be Installed

Error message: pkg sync-linked: The installed packagepackage is not permissible.

A sync-linked package is a package in a non-global zone. You might see a package rejected with the reason being a version mismatch with the parent image.

You might receive this incompatibility message for the followingreasons:

  • Core operating system packages must be the same version in non-globalzones as in the global zone. You cannot update these packages separately in anon-global zone. Similarly, freezing any of these packages in a non-global zonecauses the update to fail for the global zone and all non-global zones.

    The following command displays the list of packages that must remain in sync between the global zone and non-global zones:

  • If you are updating a BE that has zones configured, you cannot mount thatBE and then use the pkg -R command to update that alternateBE (ABE) if the publisher configuration in the ABE is different from thepublisher configuration in the currently booted BE. Non-global zones in the ABEuse the publisher configuration from the currently active BE.

Non-Global Zone Cannot Be Installed

Error message: The following pattern(s) did not match anyallowable packages. Try using a different matching pattern, or refreshingpublisher information

Core operating system packages must be the same version in non-globalzones as in the global zone. If the solaris publisher originin this image is set to a package repository that does not contain the sameversions of the system packages that are installed in the global zone,attempting to install a non-global zone results in the following error:

To install a non-global zone, the repository that you set as thesolaris publisher origin must contain at least the samesystem software that is installed in the global zone where you are installingthe non-global zone. The repository can also contain older or newer software,but it must contain the same software that is installed in the global zone. Thefollowing command shows that the/export/IPSpkgrepos/Solaris repository is a suitablepublisher origin for this global zone because this repository contains the sameversion of the pkg:/entire package that is installed in theglobal zone:

Image Cannot Be Modified

Error message: pkg: The image cannot be modified as it iscurrently in use by another package client

The error message should include the name and the pid of the client thathas the image locked, as shown in the following example:

Try your pkg command again after the current packageprocess exits (process 26604 in this example). If the process does not exitquickly, use ptree -a, for example, to begin to examine theprocess.

The package process that is currently operating on this image might beUpdate Manager checking whether updates are available. See Using Update Manager for more information aboutthe Update Manager cron job and pkg/updateservice.

Files Were Salvaged

The following informational message is followed by the path of the filesthat were salvaged and the temporary location where the files were moved:

This is an informational message and can be ignored or acted upon asnecessary.

Directories are reference-counted in IPS. When the last package installedin the image that either explicitly or implicitly references a directory nolonger references that directory, that directory is removed. If that directorycontains unpackaged file system objects, those items are moved into$IMAGE_META/lost+found. Unpackaged file system objects arefiles and directories that were not delivered by an IPS package. The value ofIMAGE_META is typically /var/pkg. Seethe “Files” section of the pkg(5) man page forinformation about the IMAGE_META directory.

Minimize Stored Image Metadata

The /var/pkg directory holds metadata for the image. This directory canget quite large. Do not manually remove anything from the /var/pkgdirectory.

Make sure the flush-content-cache-on-success imageproperty value is set to true. The value of theflush-content-cache-on-success property istrue by default. When the value offlush-content-cache-on-success is true,cached files are removed when pkg install and pkgupdate operations complete successfully. If theflush-content-cache-on-success property is set tofalse, you can use the command shown in the following exampleto reset the value to true:

How To Fix No Packages Were Eligible For Install

Flushing the content cache (settingflush-content-cache-on-success to true)can cause some pkg operations to take longer tocomplete.

Non-global zones have a different cache, which you can set with the -c optionof /usr/lib/pkg.sysrepo. You can set the maximum size of this cache with the-s option. See the pkg.sysrepo(1M) man page.

Increase Package Installation Performance

The following steps can help increase package installation and update performance:

How Do You Fix No Packages Were Eligible For Install

  • Make sure your ZFS storage pool capacity is less than 80%.

  • Use a local package repository. See Copying and Creating Package Repositories in Oracle Solaris 11.2.

  • If http_proxy is set, check the performance of the proxy.