diff options
author | Philipp Wuensche <cryx-freebsd@h3q.com> | 2019-08-14 14:27:45 +0200 |
---|---|---|
committer | Philipp Wuensche <cryx-freebsd@h3q.com> | 2019-08-14 14:27:45 +0200 |
commit | aac83f659118689e773949aa139336a72b7c0546 (patch) | |
tree | 3cbe3aac1f6b190d85381f92a2faf8d55a471af2 | |
parent | b418a79584b08ede5b665fc859fb6f3a01a4b044 (diff) |
Add -K option to install, which can be used to upgrade basejail to a newer FreeBSD version without loosing old libs inside the basejail. Could replace "update -U".
-rwxr-xr-x | ezjail-admin | 7 | ||||
-rw-r--r-- | man8/ezjail-admin.8 | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/ezjail-admin b/ezjail-admin index 609907d..a58eece 100755 --- a/ezjail-admin +++ b/ezjail-admin | |||
@@ -42,7 +42,7 @@ case `uname -p` in amd64) ezjail_dirlist="${ezjail_dirlist} usr/lib32"; ezjail_b | |||
42 | 42 | ||
43 | # Synopsis messages | 43 | # Synopsis messages |
44 | ezjail_usage_ezjailadmin="${ezjail_admin} v3.4.2\nUsage: ${ezjail_admin} [archive|config|console|create|delete|freeze|install|list|restore|snapshot|troubleshoot|update] {params}" | 44 | ezjail_usage_ezjailadmin="${ezjail_admin} v3.4.2\nUsage: ${ezjail_admin} [archive|config|console|create|delete|freeze|install|list|restore|snapshot|troubleshoot|update] {params}" |
45 | ezjail_usage_install="Usage: ${ezjail_admin} install [-mMpPsS] [-h host] [-r release]" | 45 | ezjail_usage_install="Usage: ${ezjail_admin} install [-mMpPsSK] [-h host] [-r release]" |
46 | ezjail_usage_create="Usage: ${ezjail_admin} create [-xbi] [-f flavour] [-r jailroot] [-s size] [-c bde|eli|zfs] [-C args] [-a archive] [-z parentzfs] jailname jailip" | 46 | ezjail_usage_create="Usage: ${ezjail_admin} create [-xbi] [-f flavour] [-r jailroot] [-s size] [-c bde|eli|zfs] [-C args] [-a archive] [-z parentzfs] jailname jailip" |
47 | ezjail_usage_delete="Usage: ${ezjail_admin} delete [-wf] jailname" | 47 | ezjail_usage_delete="Usage: ${ezjail_admin} delete [-wf] jailname" |
48 | ezjail_usage_update="Usage: ${ezjail_admin} update [-s sourcetree|sourceosversion] [-p] (-b|-i|-u|-U|-P)" | 48 | ezjail_usage_update="Usage: ${ezjail_admin} update [-s sourcetree|sourceosversion] [-p] (-b|-i|-u|-U|-P)" |
@@ -286,7 +286,7 @@ ezjail_splitworld() { | |||
286 | # directories with permission 0700 which is bad | 286 | # directories with permission 0700 which is bad |
287 | mkdir -p "${ezjail_jailbase}/usr" | 287 | mkdir -p "${ezjail_jailbase}/usr" |
288 | for dir in ${ezjail_dirlist}; do | 288 | for dir in ${ezjail_dirlist}; do |
289 | find ${dir} | cpio -d -p -v "${ezjail_jailbase}" || exerr "Error: Installation of ${dir} failed." | 289 | find ${dir} | cpio -d -p -v ${ezjail_keep_basejail} "${ezjail_jailbase}" || exerr "Error: Installation of ${dir} failed." |
290 | chflags -R noschg ${dir}; rm -r ${dir}; ln -s /basejail/${dir} ${dir} | 290 | chflags -R noschg ${dir}; rm -r ${dir}; ln -s /basejail/${dir} ${dir} |
291 | done | 291 | done |
292 | mkdir basejail | 292 | mkdir basejail |
@@ -1067,7 +1067,7 @@ install) | |||
1067 | # Clean variables, prevent pollution | 1067 | # Clean variables, prevent pollution |
1068 | unset ezjail_release ezjail_installmanpages ezjail_installports ezjail_installsources ezjail_dir ezjail_ftpserverqueried ezjail_proto ezjail_disturi | 1068 | unset ezjail_release ezjail_installmanpages ezjail_installports ezjail_installsources ezjail_dir ezjail_ftpserverqueried ezjail_proto ezjail_disturi |
1069 | 1069 | ||
1070 | shift; while getopts :mMpPsSh:r: arg; do case ${arg} in | 1070 | shift; while getopts :mMpPsSh:Kr: arg; do case ${arg} in |
1071 | m) ezjail_installmanpages=" manpages";; | 1071 | m) ezjail_installmanpages=" manpages";; |
1072 | M) ezjail_installmanpages=" manpages"; unset ezjail_basesystem;; | 1072 | M) ezjail_installmanpages=" manpages"; unset ezjail_basesystem;; |
1073 | s) ezjail_installsources=" src";; | 1073 | s) ezjail_installsources=" src";; |
@@ -1075,6 +1075,7 @@ install) | |||
1075 | p) ezjail_installports="YES";; | 1075 | p) ezjail_installports="YES";; |
1076 | P) ezjail_installports="YES"; unset ezjail_basesystem;; | 1076 | P) ezjail_installports="YES"; unset ezjail_basesystem;; |
1077 | h) ezjail_ftphost=${OPTARG};; | 1077 | h) ezjail_ftphost=${OPTARG};; |
1078 | K) ezjail_keep_basejail="-u";; | ||
1078 | r) ezjail_release=${OPTARG};; | 1079 | r) ezjail_release=${OPTARG};; |
1079 | ?) exerr ${ezjail_usage_install};; | 1080 | ?) exerr ${ezjail_usage_install};; |
1080 | esac; done; shift $(( ${OPTIND} - 1 )) | 1081 | esac; done; shift $(( ${OPTIND} - 1 )) |
diff --git a/man8/ezjail-admin.8 b/man8/ezjail-admin.8 index f40f73a..5274f2d 100644 --- a/man8/ezjail-admin.8 +++ b/man8/ezjail-admin.8 | |||
@@ -6,7 +6,7 @@ | |||
6 | .Nd Administrate ezjail environment | 6 | .Nd Administrate ezjail environment |
7 | .Sh SYNOPSIS | 7 | .Sh SYNOPSIS |
8 | .Nm Cm install | 8 | .Nm Cm install |
9 | .Op Fl mMpPsS | 9 | .Op Fl mMpPsSK |
10 | .Op Fl h Ar host | 10 | .Op Fl h Ar host |
11 | .Op Fl r Ar release | 11 | .Op Fl r Ar release |
12 | .Nm | 12 | .Nm |
@@ -123,6 +123,9 @@ for details or | |||
123 | .Xr portsnap 8 . | 123 | .Xr portsnap 8 . |
124 | .It Fl P | 124 | .It Fl P |
125 | Fetch and extract a ports tree, without (re)installing the base jail. | 125 | Fetch and extract a ports tree, without (re)installing the base jail. |
126 | .It Fl K | ||
127 | Reinstall the base jail and the new jail template. Can be used together with -r | ||
128 | to upgrade both to a newer FreeBSD version. | ||
126 | .It Fl h Ar host | 129 | .It Fl h Ar host |
127 | Set the remote host to fetch FreeBSD distribution sets from. If absent the | 130 | Set the remote host to fetch FreeBSD distribution sets from. If absent the |
128 | default host | 131 | default host |