Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 18.191.195.180
#!/bin/sh
set -eu
# Re-exec outside of apparmor confinement
if [ -d /sys/kernel/security/apparmor ] && [ "$(while read -r l; do echo "$l"; done < /proc/self/attr/current)" != "unconfined" ]; then
exec /usr/bin/aa-exec -p unconfined -- "$0" "$@"
fi
# Check if native and snap installed
if [ -e "/var/lib/lxd/unix.socket" ]; then
pid=$(ss -nlpx src "/var/lib/lxd/unix.socket" 2>/dev/null | grep "/var/lib/lxd/unix.socket" | sed -e "s/.*pid=//" -e "s/,.*//g")
if [ "${pid}" -gt 0 ] 2>/dev/null; then
echo "Error: Both native and snap packages are installed on this system"
echo " Run \"lxd.migrate\" to complete your migration to the snap package"
exit 1
fi
fi
# Fill SNAP_REAL_HOME if missing
if [ -z "${SNAP_REAL_HOME:-""}" ]; then
SNAP_REAL_HOME="${HOME}"
if [ "${USER:-}" = "root" ] && [ -e "/root" ]; then
SNAP_REAL_HOME="/root"
elif [ -n "${USER:-}" ] && [ -e "/home/${USER}" ]; then
SNAP_REAL_HOME="/home/${USER}"
fi
fi
# Migrate data if needed
if [ ! -d "${SNAP_USER_COMMON}/config" ]; then
if [ -d "${SNAP_USER_DATA}/.config/lxc" ]; then
mv "${SNAP_USER_DATA}/.config/lxc" "${SNAP_USER_COMMON}/config" || true
rmdir "${SNAP_USER_DATA}/.config/" || true
elif [ -d "${SNAP_REAL_HOME}/.config/lxc" ]; then
cp -r "${SNAP_REAL_HOME}/.config/lxc" "${SNAP_USER_COMMON}/config" || true
fi
mkdir -p "${SNAP_USER_COMMON}/config"
fi
# Set the environment
if [ -z "${LXD_DIR:-""}" ]; then
export LXD_DIR="${SNAP_COMMON}/lxd/"
if [ ! -w "${SNAP_COMMON}/lxd/unix.socket" ] && [ -w "${SNAP_COMMON}/lxd-user/unix.socket" ]; then
export LXD_DIR="${SNAP_COMMON}/lxd-user/"
fi
fi
export LXD_CONF="${SNAP_USER_COMMON}/config"
export LXD_GLOBAL_CONF="${LXD_GLOBAL_CONF:-"${SNAP_COMMON}/global-conf/"}"
# Use editor wrapper
export EDITOR="${SNAP}/bin/editor ${EDITOR:-}"
export VISUAL="${EDITOR}"
# Reset all locales as it isn't available in the snap (#29)
LANG=C.UTF-8
export LC_ALL=C.UTF-8
# Add extra binaries to path
export PATH="/run/bin:${PATH}"
LXC="${SNAP}/bin/lxc"
if [ -x "${SNAP_COMMON}/lxc.debug" ]; then
LXC="${SNAP_COMMON}/lxc.debug"
fi
# Run lxc itself
exec "${LXC}" "$@"
|