X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vbuild-init-vserver.sh;h=808e02d82045d88f02a614f3c32ca52df4dff9a2;hb=35b1f4441219d0e4404e4b872122d5076e2ab50d;hp=d9491fe2be128f81ed93b7478f8f79ea1a16c858;hpb=c209eb2afe0d8ad428d4cbe29c0e266222ed51e4;p=build.git diff --git a/vbuild-init-vserver.sh b/vbuild-init-vserver.sh index d9491fe2..808e02d8 100755 --- a/vbuild-init-vserver.sh +++ b/vbuild-init-vserver.sh @@ -82,7 +82,7 @@ EOF 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 @@ -153,35 +153,41 @@ function setup_vserver () { 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 cflags + echo -e "persistent\n~info_init" > /etc/vservers/$vserver/cflags # Enable cgroup mkdir /etc/vservers/$vserver/cgroup - # Set the init style of your vserver to plain for f13 + # 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 - f13|f14) echo plain > /etc/vservers/$vserver/apps/init/style ;; + f1[3-9]) echo plain > /etc/vservers/$vserver/apps/init/style ;; esac if [ "$pkg_method" = "yum" ] ; then