How to roll back package after installation/upgrade?
Hello,
I'm running slackware-current and as such, I'm prepared at least mentally to have issues here and then after package upgrade. Here I think (aka yes not sure at all ) that my last slackpk update/install-new/upgrade break something. Context: I've build successfully 3-4 ago VPP on slackware https://github.com/FDio/vpp Today I tried again and plouf, does not work. Code:
CC tools/vppapigen/gram.o Code:
In file included from /usr/include/bits/mman-linux.h:115:0, From /var/log/packages and /var/log/removed_packages , glibc has been upgrade during my last upgrade yesterday: Code:
17:29 root@ws1:/home/nico # ls -lastr /var/log/removed_packages/glibc* | grep 2018 Then, is there a better way or tool to track down history of package version on Slackware ? Thanks! |
I'd suggest keep a copy of the repo one version behind, so you can have it on your system for cases like this, then run
Code:
upgradepkg <pkg name(s)> ABob aka Alien BOB aka Eric Hameleers got a script to rsync http://www.slackware.com/~alien/tools/ well have a look for yourself. though i do now that is not a solution for the right now, so pls wait for it... |
Thanks BW-userx for the tip.
I can definitely help for future case ! |
Quote:
This would incur a larger amount of disk space, but could be handy to keep older versions of packages around. |
Quote:
|
With Alien Bob's mirror script, you can modify it to give it a unique name, so you can have two running then rotate them so one will always be one version behind the actual current updated one. that helps to cut back on taking up a lot of space, it is only going to be max under 15 GB for two full systems of Slack in my past experience in keeping only one. Just take the amount it it takes to install a full install of slack then times it by two and maybe give it a little more for the just in case I need it.
Looking at allend Idea it sounds good too, I'd mod it to just keep the what is already installed, if it is updated keep that old stuff and put it somewhere safe, add that checking for dups in the script that moves the old package. get the name check the storage for that name if it matches delete what is in storage then move the older one that has just been updated into storage. If no name match then just move it. That way it is more like a rolling release but backwards. keeping only one version older then what has already been updated. |
I use rsnapshot for backups. I maintain a local Slackware repository using a modified version of Eric's original rsync script. I configure rsnapshot to backup the patches directory of the local mirror. In a disaster recovery the remainder of the local repository can be repopulated at any time. The backups provide a nice way to archive previous package versions.
Having access to previous versions is helpful for debugging, such as the recent kernel issues I reported. I started backing up previous versions many years ago. I remember an Samba update prevented Samba from working. The bug was from upstream and patched within a few days, but I had to scramble to find the previous version of the Samba package. |
Thanks for the several feedbacks :)
I've started to use Alienbob's script to get a local mirror of packages. I will take a look this weekend for keeping 1-2-3 version behind following your advice. FTR: VPP compilation error against glibc2.27 is on the vpp side: https://lists.fd.io/g/vpp-dev/messag...0,2,0,10852663 Will set the topic as solved. |
All times are GMT -5. The time now is 09:43 AM. |