cachefs/scripts/install_openbsd.sh
2022-03-17 00:47:45 +01:00

69 lines
1.2 KiB
Bash

cat <<"EOF">>/etc/login.conf
cachefs:\
:openfiles=2048:\
:tc=daemon:
EOF
groupadd _cachefs
useradd -d /var/empty -L cachefs -g _cachefs _cachefs
cat <<"EOF">/etc/rc.d/cachefs
#!/bin/sh
daemon="/usr/local/sbin/cachefs"
daemon_flags="-src /mnt/nfs -dst /mnt/cache -data /var/cachefs/md.json -listen :9090 -webdav :9091 -quota 10 -v 2"
daemon_logger="daemon.info"
daemon_user="_cachefs"
. /etc/rc.d/rc.subr
pexp="${daemon}.*"
rc_bg=YES
rc_reload=NO
rc_pre() {
if ! mount | grep -q /mnt/cache; then
bioctl -c C -p /root/sd1_key -l sd1a softraid0 && { sleep 1; fsck /dev/sd2a && mount /mnt/cache; }
fi
}
rc_cmd $1
EOF
chmod 555 /etc/rc.d/cachefs
mkdir -p /mnt/cache /var/cachefs
fdisk -iy sd1
disklabel -E sd1 <<EOF
a a
RAID
w
q
EOF
dd if=/dev/urandom bs=1 count=256 2>/dev/null|sha256 >/root/sd1_key
chmod 600 /root/sd1_key
bioctl -c C -p /root/sd1_key -l sd1a softraid0
fdisk -iy sd2
disklabel -E sd2 <<EOF
a a
w
q
EOF
newfs sd2a
echo "/dev/sd2a /mnt/cache ffs rw,nodev,nosuid,softdep,noauto 1 0" >>/etc/fstab
echo "sync; umount /mnt/cache && bioctl -d sd2" >>/etc/rc.shutdown
chmod 700 /etc/rc.shutdown
mount /mnt/cache
chown _cachefs:_cachefs /mnt/cache /var/cachefs
rcctl enable cachefs
rcctl start cachefs