From another angle, the capabilities of rollback using snapper and btrfs are



Some of you may remember over a year ago when I proposed the concept ofTumbleweed Snapshots [1] and later the prototype that I provided [2]. Today Iwould like to announce hosting for the snapshots, that is not inside my house:), and ready to use!For those not familiar with the concept I will describe it in the form to whichit has evolved.Tumbleweed, being a rolling distribution, is constantly changing and packagesare constantly being rebuilt against one another and updating requirements. Assuch it becomes necessary to update even when undesirable. For example, one isrunning snapshot 17 and the next day snapshot 18 contains a QT update thatrebuilt a large number of packages. When attempting to install an applicationthat depends on QT one is greeted with an ugly unresolveable error. It is thennecessary to run a full update, likely very large with many unrelated changes,in order to simply install an application as would have been possible yesterday.If a remote repository containing historical snapshots was available one couldsimply install the application and perhaps the handful of new dependencies itrequires rather than having to update the entire system. This provides one withthe benefits of a rolling distribution without requiring the constant change. Aweek later when a new kernel and DRM stack provides an exciting feature it isstill easy to update everything and be running the latest code, but the user isnot interrupted by having to update when it should not be necessary.widely advertised, but the cumbersome and rather unusable state in which a useris left is not commonly discussed. If for example a kernel and/or networkmanager update completely break network functionality for certain users they canrollback, but then what. As they wait for a fix their installation falls furtherbehind and with that it becomes less and less likely that installing a newpackage will function properly.On a similar note, if one wanted to install debuginfo packages it is many timesimpossible without first updating that application and with it many of itsdependencies.All of these scenarios have occurred to either myself or friends or family.These problems of course do not exist in fixed releases like Leap, but thelatter of course does not provide the latest sources. Tumbleweed Snapshotsprovides the best of both worlds, the latest packages when you want them and theone package you need in the middle of working on a project.If you are interested in trying out the snapshots just update to any snapshotpast 20171120 like you would normally and then perform the following.zypper in tumbleweed-clitumbleweed initDuring `init` the original repo files are kept and can be restored by:tumbleweed uninitIf you are curious, run `zypper lr -U` before and after the init to see theURLs change. Originally, this was done via direct manipulation of the repofile, but was refactored to a libzypp config option [3] and later as vars.d/by mlandres. The final implementation simply updates the text file/etc/zypp/vars.d/snapshotVersion after changing OSS and NON-OSS repo URLS toinclude the variable.The latest snapshot will always redirect to the standard mirror network until itis no longer the latest snapshot at which point it will be served directly. Thismeans that when performing rollbacks via snapper or simply waiting a few daysafter updating the URL never needs to change and continues to work as expected.All zypper operations are unaffected except that the target snapshot needs to bechanged in order to update, but that is made easy.tumbleweed switchor to switch, refresh, and duptumbleweed updateFor full list of commands and options `tumbleweed --help` or see documentation[4]. A short video demonstration is also available [5].Lastly, if there are mirror administrators interested in hosting/mirror thesnapshots let me know. Using various tools for interacting with S3 it should beeasy to make a copy of the public bucket. For those interested, take a look atthe variations of the tool that creates the snapshots [6].An aside, due to rsync.opensuse.org being regularly out-of-sync and not yethaving access to stage.opensuse.org I am relying on up-to-date mirrors that havestage access and thus will be triggering the snapshots manually util that isresolved. As such the latest snapshot may not always redirect immediately.The reason for the delay was waiting for official hosting by openSUSE which hasseen no tangible progress after a year. As such I decided to just move forwardrather than needlessly delay this any longer. Depending on the interest itshould clear what sort of costs will be incurred on AWS.I have further plans to provide more information about the snapshots and issuespertaining to them to aid users in knowing when to update so stay tuned.Enjoy![1] https://lists.opensuse.org/opensuse-factory/2016-10/msg00591.html [2] https://lists.opensuse.org/opensuse-factory/2016-12/msg00025.html [3] https://github.com/openSUSE/libzypp/pull/68 [4] https://github.com/boombatower/tumbleweed-cli [5] https://www.youtube.com/watch?v=RkDwGiS9Kcc [6] https://github.com/boombatower/tumbleweed-snapshot --Jimmy--To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxxTo contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx