/usr/share/ltsp/ltsp-bindmounts is in ltsp-client-core 5.3.7-0ubuntu2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #! /bin/sh
set -e
# Gracefully exit if ltsp_chroot file is not present
test -f /etc/ltsp_chroot || exit 0
bind_mounts () {
# set defaults
test -z "$tmpfs_dir" && tmpfs_dir=/var/lib/ltsp-client-setup
mount -t tmpfs -o mode=0755 tmpfs $tmpfs_dir
bind_missing=""
# preserve directory structure
for d in $rw_dirs ; do
if [ -d "$d" ]; then
cd $tmpfs_dir
tar --no-recursion -cpf - $(find $d -type d 2> /dev/null) 2> /dev/null | tar xpf -
mount --bind $tmpfs_dir/$d $d
else
bind_missing="$bind_missing $d"
fi
done
# copy contents into tmpfs
for d in $copy_dirs $temp_copy_dirs; do
if [ -d "$d" ]; then
cd $tmpfs_dir
tar -cpf - $d 2> /dev/null | tar xpf -
mount --bind $tmpfs_dir/$d $d
else
bind_missing="$bind_missing $d"
fi
done
# mount one file on top of another
for f in $bindfiles ; do
if [ -e "$f" ]; then
mkdir -p "$(dirname $tmpfs_dir/$f)"
cp $f $tmpfs_dir/$f
mount --bind $tmpfs_dir/$f $f
else
bind_missing="$bind_missing $f"
fi
done
if [ -n "$bind_missing" ]; then
echo "note: ltsp: missing files or directories for bind mounting: $bind_missing"
fi
}
bind_unmounts() {
for dir in $temp_copy_dirs; do
umount $dir
rm -rf $tmpfs_dir/${dir#/}
done
}
# tmpfs/bind directories that get mounted with only directory structure
# preserved
rw_dirs="/var/lib/xkb /var/log /var/spool /var/tmp /tmp /etc/console-setup /var/lib/pulse /var/lib/dbus /var/cache/hald /var/cache/ltsp /var/lib/urandom"
# tmpfs/bind directories that get mounted with directory structure and data
# copied
copy_dirs="/root /home /var/cache/ltsp-localapps /etc/rsyslog.d /etc/cups /media /etc/cron.d /etc/udev/rules.d"
# tmpfs/bind files that mounted on top of other files
bindfiles="/etc/network/interfaces /etc/hostname /etc/hosts /etc/syslog.conf /etc/fstab /etc/resolv.conf /etc/X11/xorg.conf /etc/passwd /etc/group /etc/localtime"
. /usr/share/ltsp/ltsp-init-common
# override variables if configured via lts.conf or ltsp_config
[ -n "$LTSP_RW_DIRS" ] && rw_dirs="$LTSP_RW_DIRS"
[ -n "$LTSP_RW_DIRS_EXTRA" ] && rw_dirs="$rw_dirs $LTSP_RW_DIRS_EXTRA"
[ -n "$LTSP_COPY_DIRS" ] && copy_dirs="$LTSP_COPY_DIRS"
[ -n "$LTSP_COPY_DIRS_EXTRA" ] && copy_dirs="$rw_dirs $LTSP_COPY_DIRS_EXTRA"
[ -n "$LTSP_BINDFILES" ] && bindfiles="$LTSP_BINDFILES"
[ -n "$LTSP_BINDFILES_EXTRA" ] && bindfiles="$rw_dirs $LTSP_BINDFILES_EXTRA"
bind_mounts
|