%PDF- %PDF-
Direktori : /snap/lxd/29351/commands/ |
Current File : //snap/lxd/29351/commands/lxc |
#!/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}" "$@"