function package_method () {
fcdistro=$1; shift
case $fcdistro in
- f[0-9]*|centos[0-9]*) echo yum ;;
+ f[0-9]*|centos[0-9]*|sl[0-9]*) echo yum ;;
lenny|etch) echo debootstrap ;;
*) echo Unknown distro $fcdistro ;;
esac
fi
fi
+ BCAPFILE=/etc/vservers/$vserver/bcapabilities
+ touch $BCAPFILE
if [ -n "$VBUILD_MODE" ] ; then
### capabilities required for a build vserver
# set up appropriate vserver capabilities to mount, mknod and IPC_LOCK
- BCAPFILE=/etc/vservers/$vserver/bcapabilities
- touch $BCAPFILE
- cap=$(grep ^CAP_SYS_ADMIN /etc/vservers/$vserver/bcapabilities | wc -l)
- [ $cap -eq 0 ] && echo 'CAP_SYS_ADMIN' >> /etc/vservers/$vserver/bcapabilities
- cap=$(grep ^CAP_MKNOD /etc/vservers/$vserver/bcapabilities | wc -l)
- [ $cap -eq 0 ] && echo 'CAP_MKNOD' >> /etc/vservers/$vserver/bcapabilities
- cap=$(grep ^CAP_IPC_LOCK /etc/vservers/$vserver/bcapabilities | wc -l)
- [ $cap -eq 0 ] && echo 'CAP_IPC_LOCK' >> /etc/vservers/$vserver/bcapabilities
+ grep -q ^CAP_SYS_ADMIN $BCAPFILE || echo CAP_SYS_ADMIN >> $BCAPFILE
+ grep -q ^CAP_MKNOD $BCAPFILE || echo CAP_MKNOD >> $BCAPFILE
+ grep -q ^CAP_IPC_LOCK $BCAPFILE || echo CAP_IPC_LOCK >> $BCAPFILE
+ # useful for f15 guests that use set_cap_file
+ grep -q ^CAP_SETFCAP $BCAPFILE || echo CAP_SETFCAP >> $BCAPFILE
else
### capabilities required for a myplc vserver
# for /etc/plc.d/gpg - need to init /dev/random
- cap=$(grep ^CAP_MKNOD /etc/vservers/$vserver/bcapabilities | wc -l)
- [ $cap -eq 0 ] && echo 'CAP_MKNOD' >> /etc/vservers/$vserver/bcapabilities
- cap=$(grep ^CAP_NET_BIND_SERVICE /etc/vservers/$vserver/bcapabilities | wc -l)
- [ $cap -eq 0 ] && echo 'CAP_NET_BIND_SERVICE' >> /etc/vservers/$vserver/bcapabilities
+ grep -q ^CAP_MKNOD $BCAPFILE || echo CAP_MKNOD >> $BCAPFILE
+ grep -q ^CAP_NET_BIND_SERVICE $BCAPFILE || echo CAP_NET_BIND_SERVICE >> $BCAPFILE
+ # useful for f15 guests that use set_cap_file
+ grep -q ^CAP_SETFCAP $BCAPFILE || echo CAP_SETFCAP >> $BCAPFILE
fi
# Set persistent for the network context
- echo persistent,lback_allow > /etc/vservers/$vserver/nflags
+ # Thierry: Daniel's kernels come with single_ip turned off by default, let's make this explicit
+ echo "persistent,lback_allow,~single_ip" > /etc/vservers/$vserver/nflags
- # Set the init style of your vserver to plain for f13
- if [ "$fcdistro" == "f13" ] ; then
- echo plain > /etc/vservers/$vserver/apps/init/style
- fi
+ # Set cflags
+ echo -e "persistent\n~info_init" > /etc/vservers/$vserver/cflags
+
+ # Enable cgroup
+ mkdir /etc/vservers/$vserver/cgroup
+
+ # Start Vserver automatically on boot
+ echo "default" > /etc/vservers/$vserver/apps/init/mark
+
+ # Set the init style of your vserver to plain for f13 and higher
+ case $fcdistro in
+ f1[3-9]) echo plain > /etc/vservers/$vserver/apps/init/style ;;
+ esac
if [ "$pkg_method" = "yum" ] ; then
$personality vyum $vserver -- -y install yum