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.
This commit is contained in:
@@ -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
Block a user