Thanks! That covers the useful part of my questions; for curiosity details I 
can always look at the source code. :-) Unfortunately for a more than casual 
overview, I'd have to learn Python. :-(

> On Mar 5, 2023, at 11:19, Till Wegmüller <toaster...@gmail.com> wrote:
> 
> Hi
> 
> IPS works on images of the OS. And it does so in an Atomic way. Speed is not 
> the main goal. Stability is.
> 
> If you want to speed up the time it is usually good to add more RAM and 
> faster disks, as IPS consumes a lot of memory resolving dependencies. And 
> doing Catalog operation. The Actual update is alsmost instant.
> 
> A lot of the phases during package actions are spent in internal bookkeeping 
> things which are simply slow on OpenIndiana due to how IPS was initially 
> designed with releases and not rolling release. This can be fixed in the 
> future but I did not have time to do anything there. A update would require a 
> couple months worth of work and currently nobody is paying for that. It's 
> good enough for people as it is.
> 
> The stages you see are:
> - Downloading and updating cached JSON catalogs of all packages available 
> (this usually takes the longest)
> - instrumenting beadm
> - downloading manifest files
> - Downloading and copying files (uncomress) into place as described by the 
> manifests. (check the contents with `pkg contents -m`
> - Creating a search index for pkg search actions (this also takes a long time)
> 
> Boot environments are created on updates that update more than one package. 
> The package can inform IPS if a new boot environment is required. 
> Installation uninstall etc. do not require a new boot environment.
> 
> Hope this helps
> Till
> 
> On 05.03.23 16:41, Richard L. Hamilton wrote:
>> Given the output
>> ----- output begins ------
>> root@openindiana:~# pkg update
>>             Packages to update: 375
>>        Create boot environment: Yes
>> Create backup boot environment:  No
>> DOWNLOAD                                PKGS         FILES    XFER (MB)   
>> SPEED
>> Completed                            375/375     5209/5209  181.4/181.4  
>> 878k/s
>> PHASE                                          ITEMS
>> Removing old actions                       1015/1015
>> Installing new actions                     1017/1017
>> Updating modified actions                  6585/6585
>> Updating package state database                 Done
>> Updating package cache                       375/375
>> Updating image state                            Done
>> Creating fast lookup database                   Done
>> Updating package cache                           2/2
>> A clone of openindiana-2023:03:03 exists and has been updated and activated.
>> On the next boot the Boot Environment openindiana-2023:03:05 will be
>> mounted on '/'.  Reboot when ready to switch to this updated BE.
>> Updating package cache                           2/2
>> ---------------------------------------------------------------------------
>> NOTE: Please review release notes posted at:
>> https://docs.openindiana.org/release-notes/latest-changes/
>> ---------------------------------------------------------------------------
>> ----- output ends -----
>> what do the various phases mean? And what drives the decision whether to 
>> create a new boot environment, or a backup boot environment (or maybe 
>> neither)?
>> Knowing those might be helpful if anything went badly wrong (although the 
>> simplest remedy would be to fall back to a previous boot environment!) or if 
>> one intended to create a package, and would certainly be more satisfying 
>> waiting for the slower phases to complete, being able to say to oneself what 
>> it was doing then.  Oh, and why does "Updating package cache" appear twice?
>> Updates on Solaris 11 and derivatives (OpenIndiana, etc) are certainly very 
>> robust (if packages and repositories are correct!) and provide generous 
>> means of recovery. But they do seem to be quite slow compared to e.g. either 
>> Red Hat based or Debian based Linux methods (yum or apt, or the underlying 
>> local-only facilities). That's not counting download time either (since 
>> repository servers are not all equal).
>> _______________________________________________
>> openindiana-discuss mailing list
>> openindiana-discuss@openindiana.org
>> https://openindiana.org/mailman/listinfo/openindiana-discuss
> 
> _______________________________________________
> openindiana-discuss mailing list
> openindiana-discuss@openindiana.org
> https://openindiana.org/mailman/listinfo/openindiana-discuss
> 


_______________________________________________
openindiana-discuss mailing list
openindiana-discuss@openindiana.org
https://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to