How to upgrade custom release
Date: Thu, 05 Sep 2024 18:08:01 UTC
Hello, could anyone please suggest a good way to upgrade FreeBSD base system which was built with custom options in src.conf. So, reading the official documentation, I'm presented with the following issues: 1. The freebsd-update(8) seems to only work with the official release versions. Any custom or development releases built locally from source are not likely to work? 2. Another way to upgrade is to do this locally: 1) make buildworld buildkernel 2) make installkernel && reboot 3) make installworld && reboot 4) etcupdate 5) make check-old delete-old 6) make check-old-libs delete-old-libs But this gets quite cumbersome with many different FreeBSD VMs. I'm looking for an upgrade process similar to how NetBSD does it. Specifically: 1) Build release. This creates binary tarballs: base.tgz, etc.tgz, games.tgz, man.tgz and so on. 2) Copy tarballs to target VM and unpack them into / except etc.tgz and xetc.tgz. 3) Run "etcupdate -s /path/to/etc.tgz -s /path/to/xetc.tgz" The NetBSD etcupdate script performs interactive update/merge of /etc files and also generates commands to delete/update old libraries. Can something similar be achieved with FreeBSD? I don't want to be building and running make commands on every single VM. I just want to copy tarballs, unpack them, update /etc and remove old/obsolete files. Thanks.