vserver vstest build --netdev eth0 --interface 192.168.192.168/24 \ --initstyle plain --context 501 --hostname vstest.company.local \ -m debootstrap -- -d sarge -m http://mirror.company.local/debian \ -s /usr/lib/debootstrap/scripts/vserver_sarge
scripts/vserver_sarge is the same as scripts/sarge, our modifications are: - remove some packages (don't ask me which ones, I don't remember - probably the ppp* stuff and maybe something else, but that's not so important - we could discuss them on the list, more eyes can for sure find more "useless" packages) - remove unused arch's - call our cleanup script after "second_stage_install" like: install_debs () { first_stage_install second_stage_install . /usr/lib/util-vserver/vserver-cleanup } - and now the /usr/lib/util-vserver/vserver-cleanup script (sorry for posting it here and not using some link / attachment - it really needed some change / comment as it was very proprietary: # (error messages are german - but they shouldn't be hard to # understand / translate) VS_ETC="/etc/vservers" # the following line should be replaced by some "sed magic" - # I never really understood what kind of regex sed is using - # preg syntax doesn't work, maybe someone has a good link for # me?! I was too lacy und used perl - sorry! VS_NAME=`echo $TARGET | perl -e "while (<>) { s/.+\///; print; }"` VS_ROOT="${VS_ETC}/.defaults/vdirbase/${VS_NAME}" if [ ! -e $VS_ROOT ]; then error 1 VS_ROOT "\"$VS_ROOT\" existiert nicht" fi if [ -e "${VS_ETC}/${VS_NAME}/uts/nodename" ]; then VS_HOSTNAME=`cat ${VS_ETC}/${VS_NAME}/uts/nodename` else error 1 VS_HOSTNAME "Konnte den Hostname nicht ermitteln" fi if [ -e "${VS_ETC}/${VS_NAME}/interfaces/0/ip" ]; then VS_IPADDR=`cat ${VS_ETC}/${VS_NAME}/interfaces/0/ip` else error 1 VS_IPADDR "Konnte die IP-Adresse nicht ermitteln" fi mv $VS_ROOT/etc/inittab $VS_ROOT/etc/inittab.dist && \ grep -v respawn\:/sbin/getty $VS_ROOT/etc/inittab.dist \ > $VS_ROOT/etc/inittab echo "$VS_HOSTNAME" > $VS_ROOT/etc/mailname echo "$VS_HOSTNAME" > $VS_ROOT/etc/hostname echo "$VS_IPADDR $VS_HOSTNAME localhost" > $VS_ROOT/etc/hosts chroot $VS_ROOT shadowconfig on # copy sources.list from somewhere in /etc/vservers/.defaults/... # to $VS_ROOT/etc/apt/ - I'm doing something proprietary here # we are creating a useful bashrc for root fitting our needs, # probably not useful for everybody, but cut be handled like # the sources.list # if this function seems a little bit strange to you have a look # at my discussion with ola - it's explained (and also simplified) # there function update_rc() { service="$1" program=`chroot $VS_ROOT which update-rc.d` if [ -x $VS_ROOT/$program ]; then chroot $VS_ROOT $program -f $service remove chroot $VS_ROOT $program $service stop 90 3 . else error 1 UPDATE_RC.D "Konnte update-rc.d in VServer nicht ausführen" fi } # missing others here - ola should have a full list as he has merged # this ones - search them in the irc log for i in klogd networking mountvirtfs mountall.sh mountnfs.sh ifupdown; do update_rc $i done --- ok, that's it - works fine and has already installed many many ready-to-use debian vservers. It for sure needs some cleanup, as ola merged most of this stuff into newvserver we could use his code in a new cleanup script for debian as a part of util-vserver somewhere in /usr/lib/util-vserver/distributions/... this approach needs no modification to vserver-build.functions, tries to do things the way debian likes it and tries to be as less "intrusive" as possible. Cheers, Thomas Gelf Am Donnerstag, den 05.05.2005, 11:58 +0200 schrieb Gilles: > Hello. > > Could you please post a full command-line for building a Debian vserver > by invoking the -s switch? > Where can I fetch the "magic" script? > > Thanks, > Gilles > _______________________________________________ > Vserver mailing list > Vserver@list.linux-vserver.org > http://list.linux-vserver.org/mailman/listinfo/vserver -- Thomas Gelf <[EMAIL PROTECTED]> _______________________________________________ Vserver mailing list Vserver@list.linux-vserver.org http://list.linux-vserver.org/mailman/listinfo/vserver