Server : nginx/1.24.0 System : Linux ip-172-31-33-48 6.14.0-1011-aws #11~24.04.1-Ubuntu SMP Fri Aug 1 02:07:25 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE Directory : /lib/systemd/ |
Upload File : |
#!/bin/sh # # Setup script for lxd-agent that is executed by the lxd-agent systemd unit before lxd-agent is started. # The script sets up a temporary mount point, copies data from the mount (including lxd-agent binary), # and then unmounts it. It also ensures appropriate permissions for the LXD agent's runtime directory. # set -eu PREFIX="/run/lxd_agent" # Functions. mount_virtiofs() { mount -t virtiofs config "${PREFIX}/.mnt" -o ro >/dev/null 2>&1 } mount_9p() { modprobe 9pnet_virtio >/dev/null 2>&1 || true mount -t 9p config "${PREFIX}/.mnt" -o ro,access=0,trans=virtio >/dev/null 2>&1 } fail() { umount -l "${PREFIX}" >/dev/null 2>&1 || true rmdir "${PREFIX}" >/dev/null 2>&1 || true echo "${1}" exit 1 } # Setup the mount target. umount -l "${PREFIX}" >/dev/null 2>&1 || true mkdir -p "${PREFIX}" mount -t tmpfs tmpfs "${PREFIX}" -o mode=0700,nodev,nosuid,noatime,size=50M mkdir -p "${PREFIX}/.mnt" # Try virtiofs first. mount_virtiofs || mount_9p || fail "Couldn't mount virtiofs or 9p, failing." # Copy the data. cp -Ra --no-preserve=ownership "${PREFIX}/.mnt/"* "${PREFIX}" # Unmount the temporary mount. umount "${PREFIX}/.mnt" rmdir "${PREFIX}/.mnt" # Attempt to restore SELinux labels. restorecon -R "${PREFIX}" >/dev/null 2>&1 || true