blob: 704b280324dc9634573bcd8d52ce676ac6e6b9d9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
===========
dfly-update
===========
Copyright (c) 2017-2018 Aaron LI <aly@aaronly.me>
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 <filename> <md5>
3. mount the downloaded image:
dfly# ./dfly-update /var/tmp/dfly-update/<filename>
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
* ???
|