117 lines
1.7 KiB
Bash
Executable File
117 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
baseDir="$(realpath "$(dirname "${0}")/../")"
|
|
|
|
source \
|
|
/etc/os-release
|
|
source \
|
|
"${baseDir}/system.conf"
|
|
|
|
|
|
zfs create \
|
|
-o canmount=off \
|
|
-o mountpoint=none \
|
|
${hostname,,}/ROOT
|
|
|
|
zfs create \
|
|
-o canmount=noauto \
|
|
-o mountpoint=/ \
|
|
${hostname,,}/ROOT/${ID}
|
|
|
|
zfs mount \
|
|
${hostname,,}/ROOT/${ID}
|
|
|
|
zfs create \
|
|
${hostname,,}/home
|
|
|
|
zfs create \
|
|
-o mountpoint=/root \
|
|
${hostname,,}/home/root
|
|
|
|
chmod \
|
|
700 \
|
|
/mnt/root
|
|
|
|
zfs create \
|
|
-o canmount=off \
|
|
-o mountpoint=/var \
|
|
${hostname,,}/var
|
|
|
|
zfs create \
|
|
-o canmount=off \
|
|
${hostname,,}/var/lib
|
|
|
|
zfs create \
|
|
${hostname,,}/var/log
|
|
|
|
zfs create \
|
|
${hostname,,}/var/spool
|
|
|
|
zfs create \
|
|
-o com.sun:auto-snapshot=false \
|
|
${hostname,,}/var/cache
|
|
|
|
zfs create \
|
|
-o com.sun:auto-snapshot=false \
|
|
${hostname,,}/var/lib/nfs
|
|
|
|
zfs create \
|
|
-o com.sun:auto-snapshot=false \
|
|
${hostname,,}/var/tmp
|
|
|
|
chmod \
|
|
1777 \
|
|
/mnt/var/tmp
|
|
|
|
zfs create \
|
|
-o mountpoint=/srv \
|
|
${hostname,,}/srv
|
|
|
|
zfs create \
|
|
-o canmount=off \
|
|
-o mountpoint=/usr \
|
|
${hostname,,}/usr
|
|
|
|
zfs create \
|
|
${hostname,,}/usr/local
|
|
|
|
zfs create \
|
|
${hostname,,}/var/games
|
|
|
|
zfs create \
|
|
${hostname,,}/var/lib/AccountsService
|
|
|
|
zfs create \
|
|
${hostname,,}/var/lib/NetworkManager
|
|
|
|
zfs create \
|
|
${hostname,,}/var/www
|
|
|
|
zfs create \
|
|
-o com.sun:auto-snapshot=false \
|
|
-o mountpoint=/tmp \
|
|
${hostname,,}/tmp
|
|
|
|
if [[ "${encryption}" == 'yes' ]]; then
|
|
zfs create \
|
|
-o com.sun:auto-snapshot=false \
|
|
-o mountpoint=/etc/zfs/keys \
|
|
${hostname,,}/keystore
|
|
fi
|
|
|
|
zpool set \
|
|
bootfs=${hostname,,}/ROOT/${ID} \
|
|
${hostname,,}
|
|
|
|
if [[ "${ID}" == 'fedora' ]]; then
|
|
"${baseDir}/fedora.sh" --rsync
|
|
fi
|
|
|
|
zfs create \
|
|
${hostname,,}/var/mail
|
|
|
|
chmod \
|
|
1777 \
|
|
/mnt/tmp
|