Vanilla-OS / vanilla-system-operator

VSO is an utility which allows you to perform maintenance tasks on your Vanilla OS installation.
GNU General Public License v3.0
31 stars 15 forks source link

Smart Update #1

Closed mirkobrombin closed 1 year ago

mirkobrombin commented 1 year ago

If this feature is turned On, the update will be postponed when the resource usage is too high.

Checks:

noahdotpy commented 1 year ago

Would it not be better to do offline updates?

mirkobrombin commented 1 year ago

The purpose of offline updates is to prevent from changing things while the user is operating, ABRoot does transactions which are applied on next boot, so there is no need for an offline update.

noahdotpy commented 1 year ago

The purpose of offline updates is to prevent from changing things while the user is operating, ABRoot does transactions which are applied on next boot, so there is no need for an offline update.

So this change will make it so that it will only update next boot when the computer is not being used too heavily. Is this an automatic upgrade functionality? If it is not I do not see the point

mirkobrombin commented 1 year ago

The update in Vanilla OS is always automatic and always runs in the background, you can only change the frequency (weekly or monthly). The difference with offline updates is that they are downloaded automatically and in the background but installed only on reboot, here instead they are downloaded and installed immediately in the second root (A<->B transactions).

In Vanilla OS updates are managed with ABRoot, which never changes the system in use but carries out the transaction in the second root, which is set as default on the next boot. Transactions are in turn performed on an OverlayFS which is applied to the second root only when the entire transaction is successful (the concept of atomicity), and then thrown away if it fails.

The purpose of the Smart Update function is to slow down and/or postpone the update if the user is using resources intensively, for example downloading content, playing, watching a movie, etc. or even if the battery level it is not sufficient, in this way we do not risk slowing down its operation.

Offline updates require an extra step, ensuring that the user confirms the update, as well as preventing them from using the device while they are being installed. The great advantage of ABRoot is to allow the user not to worry about transactions, since these are applied on a separate root, allowing them to continue with their work.