}
+mns() { # mount namespace
+ ns=$1
+ shift
+ s mkdir -p /root/mount_namespaces
+ if ! s mountpoint /root/mount_namespaces >/dev/null; then
+ m s mount --bind /root/mount_namespaces /root/mount_namespaces
+ fi
+ m s mount --make-private /root/mount_namespaces
+ if [[ ! -e /root/mount_namespaces/$ns ]]; then
+ s touch /root/mount_namespaces/$ns
+ fi
+ if ! s mountpoint /root/mount_namespaces/$ns >/dev/null; then
+ m unshare --propagation slave --mount=/root/mount_namespaces/$ns /bin/true
+ fi
+ m sudo -E /usr/bin/nsenter --mount=/root/mount_namespaces/$ns "$@"
+}
+
+mnsnonet() {
+ ns=$1
+ if ! s ip netns list | grep -Fx nonet &>/dev/null; then
+ s ip netns add nonet
+ fi
+ mns $ns --net=/var/run/netns/nonet sudo -E -u iank /bin/bash
+}
+
+
lom() {
local l base
if [[ $1 == /* ]]; then
fi
fi
m sudo mkdir -p /mnt/$base
- m sudo mount /dev/mapper/$base /mnt/$base
- m sudo chown $USER:$USER /mnt/$base
+ m mns mount /dev/mapper/$base /mnt/$base
+ m mns chown $USER:$USER /mnt/$base
else
base=$1
- if mountpoint /mnt/$base &>/dev/null; then
- m sudo umount /mnt/$base
+ if mns mountpoint /mnt/$base &>/dev/null; then
+ m mns umount /mnt/$base
fi
if sudo cryptsetup status /dev/mapper/$base &>/dev/null; then
if ! m sudo cryptsetup luksClose /dev/mapper/$base; then