sunetdrive/templates/scriptreceiver/makeswap.erb.sh
2023-02-23 16:26:31 +01:00

24 lines
702 B
Bash

#!/bin/bash
# Clean up old swap version
if [[ -f /swapfile ]]; then
swapoff -a
sed -i 's_^/swapfile none swap sw 0 0_#/swapfile none swap sw 0 0_' /etc/fstab
rm /swapfile
fi
# Create crypt swap that should play nice with puppet
if ! [[ -f /cryptswap1 ]]; then
gb=$(free --gibi| grep Mem: | awk '{print $2}')
fallocate -l "${gb}G" /cryptswap1
chmod 600 /cryptswap1
loop=$(losetup -f)
losetup "${loop}" /cryptswap1
cryptsetup open --type plain --key-file /dev/urandom "${loop}" cryptswap1
mkswap /dev/mapper/cryptswap1
swapon /dev/mapper/cryptswap1
if ! grep -E '^/dev/mapper/cryptswap1' /etc/fstab; then
echo '/dev/mapper/cryptswap1 none swap sw 0 0' >> /etc/fstab
fi
fi