init-storage: Create intermediate dirs in /etc
When creating writable paths in the `/etc` subvolume, the `setup_etc` function needs to create intermediate directories before copying existing files from the root filesystem. Without this step, `cp` will fail with a "no such file or directory" error, referring to the destination path.master
parent
670c1f7561
commit
77f7e6d8cc
|
@ -136,6 +136,11 @@ setup_etc() {
|
|||
while read type path; do
|
||||
if [ ! -e "${tmpdir}/${path}" ]; then
|
||||
if [ -e /etc/"${path}" ]; then
|
||||
case "${path}" in
|
||||
*/*)
|
||||
mkdir -p "${tmpdir}/${path%/*}"
|
||||
;;
|
||||
esac
|
||||
cp -ca /etc/"${path}" "${tmpdir}/${path}"
|
||||
elif [ "${type}" = d ]; then
|
||||
mkdir -p "${tmpdir}/${path}"
|
||||
|
|
Reference in New Issue