contrib/lxc/lxc-cgroups
2019-10-05 07:42:07 +02:00

55 lines
1.6 KiB
Bash

#!/bin/sh
#
# /etc/rc.d/lxc-cgroups: setup lxc cgroups
#
if test ! -f /proc/cgroups
then
echo 'cgroups are not enabled on this kernel.'
exit 1
fi
case $1 in
start)
# Mount system cgroups.
mount -t tmpfs -o nosuid,nodev,noexec,mode=0755 tmpfs /sys/fs/cgroup
for i in $(awk '!/^#/{if($4==1){print$1}}' /proc/cgroups)
do
mkdir /sys/fs/cgroup/$i
mount -t cgroup -o nosuid,nodev,noexec,$i cgroup /sys/fs/cgroup/$i
done
mkdir /sys/fs/cgroup/systemd
mount -t cgroup -o nosuid,nodev,noexec,none,name=systemd cgroup /sys/fs/cgroup/systemd
mkdir /sys/fs/cgroup/unified
mount -t cgroup2 -o nosuid,nodev,noexec cgroup /sys/fs/cgroup/unified
mount -o ro,remount /sys/fs/cgroup
# Setup user cgroups.
if test -f /etc/lxc/lxc-usernet
then
test -f /sys/fs/cgroup/cpuset/cgroup.clone_children && echo 1 > /sys/fs/cgroup/cpuset/cgroup.clone_children
test -f /sys/fs/cgroup/memory/memory.use_hierarchy && echo 1 > /sys/fs/cgroup/memory/memory.use_hierarchy
for i in $(awk '!/^#/{if($1!~"@"){print$1}}' /etc/lxc/lxc-usernet)
do
for j in /sys/fs/cgroup/*
do
test $j = /sys/fs/cgroup/unified && continue
mkdir -m 0755 -p $j/$i
chown -R $i $j/$i
done
done
fi
;;
stop)
umount -R /sys/fs/cgroup
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 [start|stop|restart]"
;;
esac
# End of file