comparison sbin/fjail @ 173:6782ac823f86

Handle /var/empty more sanely when populating datasets from a base.txz image
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 16 Aug 2022 08:34:34 +0200
parents b62b8bc6184f
children 9b23832722dd
comparison
equal deleted inserted replaced
172:b7b9d84dff9b 173:6782ac823f86
218 if [ ! -r "${_basetxz}" ]; then 218 if [ ! -r "${_basetxz}" ]; then
219 echo "ERROR: file \`${_basetxz}' is not readable" >&2 219 echo "ERROR: file \`${_basetxz}' is not readable" >&2
220 return 1 220 return 1
221 fi 221 fi
222 222
223 #
224 # Handle /var/empty separately later: could be already there and
225 # mounted read-only.
226 #
223 tar -C "${_mp}" --exclude=./var/empty -xJp -f "${_basetxz}" || { echo "ERROR: tar encountered errors" >&2; return 1; } 227 tar -C "${_mp}" --exclude=./var/empty -xJp -f "${_basetxz}" || { echo "ERROR: tar encountered errors" >&2; return 1; }
228 if [ -d "${_mp}/var/empty" ]; then
229 #
230 # If /var/empty exists already try to extract with changing the
231 # flags (e.g. `schg'). But be tolerant with errors here.
232 #
233 tar -C "${_mp}" -xJp -f "${_basetxz}" ./var/empty
234 else
235 # Just extract /var/empty normally
236 tar -C "${_mp}" -xJp -f "${_basetxz}" ./var/empty || { echo "ERROR: tar encountered errors" >&2; return 1; }
237 fi
238
224 find "${_mp}/boot" -type f -delete 239 find "${_mp}/boot" -type f -delete
225 } 240 }
226 241
227 242
228 # 243 #