=========== dfly-update =========== Copyright (c) 2017-2018 Aaron LI MIT License https://github.com/liweitianux/dfly-update A simple tool to update a DragonFly BSD system using binary releases or snapshot builds. This tool is written by the author to help keep the DragonFly BSD system on a low-end VPS up-to-date, without consuming too much resources to build and update from source, which may be even impossible for a small VPS. Usage ----- dfly# git clone https://github.com/liweitianux/dfly-update dfly# cd dfly-update * One-step update: dfly# ./dfly-update fly * Step-by-step update: 1. check local and remote status: dfly# ./dfly-update status 2. use the above printed remote filename and md5 to download it: dfly# ./dfly-update 3. mount the downloaded image: dfly# ./dfly-update /var/tmp/dfly-update/ 4. backup the current kernel and world (including /etc): dfly# ./dfly-update backup 5. install the new kernel, world, and /etc files: dfly# ./dfly-update upgrade 6. remove obsolete files, umount, and remove the downloaded image: dfly# ./dfly-update cleanup NOTE: After this, you still need to merge the listed config files with suffix ".__new__", and also upgrade the packages. Versions -------- * 0.1.2 (2018-03-11) First usable version for broader testing Tests ----- * 5.0.0-RELEASE -> 5.0.2-RELEASE * 5.0.2-RELEASE -> 5.1.0.1010.gf2063-DEVELOPMENT (set "UPDATE_BRANCH=master") Example ------- An example output for updating DragonFly BSD from 5.0.2-RELEASE to the latest master (v5.1.0.1010.gf2063-DEVELOPMENT) can be found in the "example.log". TODO ---- * Merge new users/groups, and update user/pass database * Interactively merge new/updated /etc files (borrow OpenBSD's sysmerge(8)) * Update locate and man page databases * ???