Use crypt swap

This commit is contained in:
Micke Nordin 2023-02-23 16:26:31 +01:00
parent d378b5f2da
commit 2d50ca2dac
Signed by untrusted user: Micke
GPG key ID: 0DA0A7A5708FE257

View file

@ -1,12 +1,23 @@
#!/bin/bash
if ! [[ -f /swapfile ]]; then
# 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" /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
if ! grep -E '^(#)?/swapfile' /etc/fstab; then
echo '/swapfile none swap sw 0 0' >> /etc/fstab
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