liblxc: lxc-debian expects missing directories
PATCH 1/1 liblxc: lxc-debian expects missing directories
lxc-debian fails unless the directories a given rootfs needs already exist. To fix this without relying on any particular function call order we can do: mkdir -p dirname PATH/TO/FILE
before actually making the file.
--- scripts/lxc-debian.in | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
scripts/lxc-debian.in +6 -1
@@ -24,13 +24,14 @@ SSHD_CONFIG="/etc/ssh/sshd_config" # custom selinux write_debian_selinux() { - mkdir $ROOTFS/selinux + mkdir -p $ROOTFS/selinux echo 0 > $ROOTFS/selinux/enforce } # custom fstab write_debian_fstab() { +mkdir -p `dirname $ROOTFS/$FSTAB` cat <<EOF > $ROOTFS/$FSTAB tmpfs /dev/shm tmpfs defaults 0 0 EOF
@@ -39,6 +40,7 @@ EOF # custom inittab write_debian_inittab() { +mkdir -p `dirname $ROOTFS/$INITTAB` cat <<EOF > $ROOTFS/$INITTAB id:3:initdefault: si::sysinit:/etc/init.d/rcS
@@ -62,6 +64,7 @@ EOF # custom network configuration write_debian_network() { +mkdir -p `dirname $ROOTFS/$INTERFACES` cat <<EOF > $ROOTFS/$INTERFACES auto eth0 lo iface eth0 inet static
@@ -76,6 +79,7 @@ EOF # custom hostname write_debian_hostname() { +mkdir -p `dirname $ROOTFS/$HOSTNAME` cat <<EOF > $ROOTFS/$HOSTNAME $UTSNAME EOF
@@ -84,6 +88,7 @@ EOF # custom sshd configuration file write_debian_sshd_config() { +mkdir -p `dirname $ROOTFS/$SSHD_CONFIG` cat <<EOF > $ROOTFS/$SSHD_CONFIG Port 22 Protocol 2
Quoted 8 lines · Matt Helsley
lxc-debian fails unless the directories a given rootfs needs already exist. To fix this without relying on any particular function call order we can do: mkdir -p
dirname PATH/TO/FILE
before actually making the file.Signed-off-by Matt Helsley <matthltc-r/[email protected]>---
Do you have an example on how that happens ?
When the script is called for creation, the rootfs is created with debootstrap, making sure the expected directories are there, no ? It is not a big deal to make sure the directories are there, but I would like to understand :)
Quoted 60 lines
scripts/lxc-debian.in | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)Index: lxc/scripts/lxc-debian.in
===================================================================scripts/lxc-debian.in +6
-1@@ -24,13 +24,14 @@ SSHD_CONFIG="/etc/ssh/sshd_config" # custom selinux write_debian_selinux() { - mkdir $ROOTFS/selinux + mkdir -p $ROOTFS/selinux echo 0 > $ROOTFS/selinux/enforce } # custom fstab write_debian_fstab() { +mkdir -p `dirname $ROOTFS/$FSTAB` cat <<EOF > $ROOTFS/$FSTAB tmpfs /dev/shm tmpfs defaults 0 0 EOF@@ -39,6 +40,7 @@ EOF # custom inittab write_debian_inittab() { +mkdir -p `dirname $ROOTFS/$INITTAB` cat <<EOF > $ROOTFS/$INITTAB id:3:initdefault: si::sysinit:/etc/init.d/rcS@@ -62,6 +64,7 @@ EOF # custom network configuration write_debian_network() { +mkdir -p `dirname $ROOTFS/$INTERFACES` cat <<EOF > $ROOTFS/$INTERFACES auto eth0 lo iface eth0 inet static@@ -76,6 +79,7 @@ EOF # custom hostname write_debian_hostname() { +mkdir -p `dirname $ROOTFS/$HOSTNAME` cat <<EOF > $ROOTFS/$HOSTNAME $UTSNAME EOF@@ -84,6 +88,7 @@ EOF # custom sshd configuration file write_debian_sshd_config() { +mkdir -p `dirname $ROOTFS/$SSHD_CONFIG` cat <<EOF > $ROOTFS/$SSHD_CONFIG Port 22 Protocol 2
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 10 lines · Daniel Lezcano
Quoted 8 lines · Matt Helsley
lxc-debian fails unless the directories a given rootfs needs already exist. To fix this without relying on any particular function call order we can do: mkdir -p
dirname PATH/TO/FILE
before actually making the file.Signed-off-by Matt Helsley <matthltc-r/[email protected]>---
Do you have an example on how that happens ?
Configure lxc with a non-/ prefix:
./configure --prefix=/usr
Cheers,
-Matt
Quoted 7 lines · Matt Helsley
Quoted 6 lines · Daniel Lezcano
Quoted 5 lines · Matt Helsley
lxc-debian fails unless the directories a given rootfs needs already exist. To fix this without relying on any particular function call order we can do: mkdir -p
dirname PATH/TO/FILE
before actually making the file.
Quoted 8 lines
Quoted 4 lines
Quoted 3 lines
Signed-off-by Matt Helsley <matthltc-r/[email protected]>---
Do you have an example on how that happens ?
Configure lxc with a non-/ prefix:
./configure --prefix=/usr
This explanation is wrong, sorry.
The patch isn't necessary -- take a look at the one that handles debootstrap interruption/failure. Basically debootstrap would fail (apache doesn't exist in lenny I found out) and I'd have to go cleaning up lxc-debian directories by hand before I could retry. If I missed something one time then then lxc behaved oddly. This got me past some of that odd behavior (only to fail later of course).
Cheers,
-Matt
Quoted 22 lines · Matt Helsley
Quoted 13 lines · Matt Helsley
Quoted 11 lines · Daniel Lezcano
Quoted 9 lines · Matt Helsley
lxc-debian fails unless the directories a given rootfs needs already exist. To fix this without relying on any particular function call order we can do: mkdir -p
dirname PATH/TO/FILE
before actually making the file.Signed-off-by Matt Helsley <matthltc-r/[email protected]>---
Quoted 6 lines
Quoted 2 lines
Do you have an example on how that happens ?
Configure lxc with a non-/ prefix:
./configure --prefix=/usr
Quoted 9 lines
This explanation is wrong, sorry.
The patch isn't necessary -- take a look at the one that handles debootstrap interruption/failure. Basically debootstrap would fail (apache doesn't exist in lenny I found out) and I'd have to go cleaning up lxc-debian directories by hand before I could retry. If I missed something one time then then lxc behaved oddly. This got me past some of that odd behavior (only to fail later of course).
Ok, I understand why you tried to force the directory creation. I will not apply this one, the next patch you sent with the partial debootstrap will fix this.
Thanks Matt.