Date: Fri, 31 Jan 2014 11:52:41 +0100 From: Kai Gallasch <k@free.de> To: freebsd-pkg@freebsd.org Subject: pkg snapshot and pkg rollback functionality Message-ID: <95F734F1-21C5-4DAC-ADC2-AF730B115237@free.de>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] Hi. I am using pkg in combination with my own poudriere repos to install and maintain a lot of FreeBSD servers and jails. When upgrading FreeBSD installations I often run into the following problem: After I did a "pkg upgrade" I find out the hard way, that upgraded applications are broken (software bug, config changed, incompatible dependencies, etc.) and I need to go back to the state, before the pkg upgrade. I normally get around this bis doing a "zfs snapshot" and a rollback after I broke something with pkg upgrade.. What is your preferred method of rolling back a troublesome pkg upgrade? Wouldn't it be nice to have a "pkg snapshot" and "pkg rollback" functionality in pkg itself? The upgrade cycle would then be: a) pkg snapshot --create --comment "before upgrade to php 5.3.38" b) pkg upgrade c) bang!! php trouble.. d) pkg snapshot --rollback --last This could be implemented in a way to lock all packages in the local package cache of the upgraded system, that are connected to a certain existing pkg snapshot. -- example -- # pkg clean The following package files will be deleted from the cache directory /var/cache/pkg: Package: Origin: Reason: All/bash-4.2.45.txz shells/bash Superseded by bash-4.2.45_1 All/pkg-1.2.1.txz ports-mgmt/pkg Superseded by pkg-1.2.5 All/openssl-1.0.1_8.txz security/openssl Superseded by openssl-1.0.1_9 All/sqlite3-3.8.0.2.txz databases/sqlite3 Superseded by sqlite3-3.8.2 All/p5-Socket6-0.25.txz net/p5-Socket6 Superseded by p5-Socket6-0.25_1 The following package files are locked and cannot be deleted from the cache directory, because they belong to an existing snapshot. Please delete snapshot first! All/python27-2.7.6.txz lang/python27 needed by snapshot $snapshot_uuid All/p5-DateTime-1.04.txz devel/p5-DateTime needed by snapshot $snapshot_uuid -- example -- Other functions: - pkg snapshot --list - pkg snapshot --delete --$snapshot_uuid I think such a snapshot/rollback option for pkg would be very beneficial, because it would give you the option to "roll back" your pkg to every former frozen state in an orderly manner. Even after you find out a week later that doing an upgrade was not such a splendig idea. What do you think? K. -- GPG-Key: A593 E38B E968 4DBE 14D6 2115 7065 4D7C 4FB1 F588 Key available from hkps://hkps.pool.sks-keyservers.net [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCgAGBQJS64B5AAoJEHBlTXxPsfWIZPsQAKSuJxE6YuO+jEH9VO/bChbT oH5tkJUdgPs4ioZuDnbzloQRKdiNaCoffXSFF0Ks67zqtcWQAOVv2fpMlWLGdt/6 kCulA5MHiiuqa7E3BVHvg9Yhhf/p55GmyAr9IfNbC0moofko12nc9w9AS3VSeBC4 5qwavHER28ZkYhcMeF4U+hYCPHHSYEGHXA1ZuXWZjp9eawTO6jtDEFORbNQmX2EB BVckWIhVH1AJeDty1Q1mPAdGQkwxuhArbnQ4NvbLPMlOb0ibLqAsO5gANc2GSk7V gEGuz5F+vEp1qGERMVOaV8xF0LG4gKuhGDkwuqqMRb3k6sS5xEeq1KJ6pm4VSAbY iNwKjb4Sm7bbei1pjRuvr2mGhKaOcsQNI6NOBkIt2MX8Fow9TjmvhmKOObqc7VXW n6sSaAUavKo9rrpTlhrXwGbHKoVjclazrHbWchmygJq2rTRVasIyf/NyYpdqIFZX Y/GneXP/GEcgVhDKpBLQoSfDjxS9s1K9ZFL+rDPAAoUzOFkYXPEAkqYpowJw8BFs 0fuqYagDhpd5couWbyE42pORRUan8U8WegvhywKAUyjZSAoo2BdNZ3puAepPMvX2 hYzklElnD4OylR/vBD5C4ZCqysFxCsaDw6nQSXZwkJ6E5w2DsJ/8G6VtiiadafQg m8+IE7pvkzKp0HZuyOuR =DLUu -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?95F734F1-21C5-4DAC-ADC2-AF730B115237>
