dfly-update: Simple shell tool to update a DFly using release/snapshot IMG

Aaron LI aly at aaronly.me
Mon Mar 12 04:45:45 PDT 2018


The officially supported method to update a DFly system is building &
installing from sources.  However, it's hard or even impossible to build
sources on a small VPS, and it's also not easy to transfer the built /usr/obj
(which is rather big) to a remote VPS for an update.

So I wrote a simple shell tool to update a running DFly system using the
pre-built releases or snapshots:


The basic update steps are:
1. check local and remote available versions
2. download the latest release/master system image (.img.bz2)
3. decompress and mount the image
4. backup the current kernel and world (including /etc)
5. install the kernel and world using cpdup (similar to the installer)
6. identify the new/changed /etc files, rename the conflicting ones with
suffix ".__new__" and then copy over
7. get obsolete files from Makefile_upgrade.inc and remove them
8. umount, remove image file, show the *.__new__ files need manual merge

I have tested updating one of my DFly vbox from 5.0.0 -> 5.0.2 -> 5.1
(master).  The later update log is also put in the above repository as

Any tests, issue reports, and pull requests are very welcome!  Thanks.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.dragonflybsd.org/pipermail/users/attachments/20180312/9d6e5de7/attachment.bin>

More information about the Users mailing list