Date: Fri, 18 Oct 2019 07:25:20 +0100 From: Sad Clouds <cryintotheblue...@gmail.com> Message-ID: <20191018072520.32a5cc2ac89546279dea2...@googlemail.com>
| I don't use Xen much, so not sure if the upgrade is slightly different, | but I imagine there is no difference for userland. You're right, there isn't - depending upon how the Dom0 boots the DomU the kernel and /boot* stuff might be different (or might not be), but the rest of a DomU userland is just NetBSD. | I usually follow these steps: | | Backup all your existing config files in /etc and anywhere else. In that include /var/cron /var/backups /var/mail (if you care) /var/tmp (for vi recovery files mostly) and anything else there that looks like it might be useful. None of this should be touched by the upgrade, and if you make sure it is all properly backed up so you can recover if something goes wrong, then nothing will, and the backup will have been wasted time. Fail to backup and some kind of disaster will hit... In general, backup *everything* that you want to survive the upgrade (and move the backups somewhere off the system, and after they're moved, verify that you can copy them back, and use them - in /tmp or somewhere, extract one or two files from each using restore in interactive mode). Again, spending the time to do that means that you aren't likely to actuially need them (and no, it isn't just superstition, people willing to do things carefully this way are more likely to be careful through the entire procedure, the "It'll be OK, I'll just do this quickly" type of person is the one who messes things up). | 1. Install new kernel, reboot and make sure it boots. It sounded as if that had already been done. | 2. Download all .tgz sets to some local folder. That can happen one at a time if you're short on space, i.e. download one, unpack it (do base.tgz first, after that the order doesn't really matter). | 3. Extract all sets into / APART from etc.tgz and xetc.tgz and kernel, | otherwise it'll overwrite you config settings in /etc. So the commands | would be: To do this, use the commands in /rescue and don't overwrite that, so to extract base, you can cd / PATH=/rescue exec sh echo $PATH # make sure it is still just /rescue or update it again tar tzf /path/to/base.tgz | grep ^rescue/ > /tmp/rescue-files tar xz -X /tmp/rescue-files -f /path/to/base.tgz and then | # for i in base comp games man misc modules tests text (... and so on) | do | tar -zxpf /path_to_sets/$i.tgz | done but omit base from there. You can go back and extract the new /rescue sometime later after you're sure all the new stuff is working (it isn't used unless you deliberately make it happen). In HEAD rescue is a set of its own (very good idea doing that ... sorry, I forget whose it was, and who did all the work, but thanks!) If you have space, after you're running using /rescue/sh with just /rescue in your PATH (do check that), I would mv bin bin.old mv sbin sbin.old mv libexec libexec.old mv lib lib.old (etc ... but do not move /etc) (etc) and then extract - simply because that makes it much easier to revert to the old setup if needed - move /lib and /usr/lib last, and if needed, restore them first. If there isn't space to save everything this way, but some can be, then save /lib /sbin and /libexec so those can be restored quickly, and then /bin (etc). Remember that the new system will consume more space than the current one, so when you check the space occupied by each of these directories to see what you can afford to save, allow for needing about 40% more empty space than what is currently used (how much depends upon which system you had, and are moving to - but things to get both added and grow). | 4. Run "etcupdate". See the man page, but I normally do something like: | # etcupdate -al -s /path_to_sets/etc.tgz -s /path_to_sets/xetc.tgz Or do the equivalent manually, which will take a lot longer, but will also provide the opportunity to clean up dead wood that has been forgotten in the years (it must be) since a 6.1 system would have been installed. Manually means extract the etc sets elsewhere, and then go through file by file, comparing them, seeing what the differences are, and deciding for every difference which version you want, then merging the files (or where you simply want the new one, which will be most of the files probably, just copy it - use cp -p if you do that, so the file ends up just the same as if it has been extracted by tar). Fortunately aside from /etc/passwd and /etc/group there's usually not a lot of urgency to handle all of this (you might need new _xxx users to be added to /etc/passwd for the system to start properly.) kre