On Thu, Apr 07, 2005 at 12:31:48PM -0600, [EMAIL PROTECTED] wrote: > > I have vserver up and running on Crux linux. Below are my install notes. > Any errors I have will (hopefully) get smoothed over on my next installation. > Feel free to make comments / use this document if you desire. > > thanks > sig > > > > How to install and use vserver with Crux 2.0 > http://crux.nu/ > http://linux-vserver.org/ > > Notes: > Expect to find errors > I may be doing things completely backwards but it seems to work > vservers are going to be installed onto seperate partition /vservers > I use sudo for most root commands. If you prefer to use root then > ignore sudo at front of commands > > > ###### > # > #Preparing your host server with vserver > # > ###### > > #Get vserver code > cd ~/src/vserver > wget > http://www.13thfloor.at/vserver/d_rel26/v1.9.5/util-vserver-0.30.204.tar.gz > gzip -d util-vserver-0.30.204.tar.gz > tar -xf util-vserver-0.30.204.tar
comment: why not bz2 here too? > wget http://www.13thfloor.at/vserver/d_rel26/v1.9.5/linux-vserver-1.9.5.tar.gz > gzip -d linux-vserver-1.9.5.tar.gz > tar -xf linux-vserver-1.9.5.tar comment: why not the patch for the specific kernel? > # Get vanilla linux kernel and compile in vserver patch aquired from above > cd /usr/src > sudo wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.5.tar.bz2 > sudo bzip2 -d linux-2.6.11.5.tar.bz2 > tar -xf linux-2.6.11.5.tar > > cd linux-2.6.11.5 > sudo cp ../linux-2.6.6/.config . > sudo cp ~/src/vserver/patch-2.6.11.5-vs1.9.5.diff > sudo patch -p1 -s <../patch-2.6.11.5-vs1.9.5.diff > > sudo make menuconfig > sudo make all note: no need to build the kernel as root IIRC > sudo make modules_install > > #Install newly patched kernel > cd /usr/src > sudo rm linux > sudo ln -s linux-2.6.11.5 linux > > sudo cp /usr/src/linux-2.6.11.5/arch/i386/boot/bzImage > /boot/vmlinuz-2.6.11.5-1 > sudo cp System.map /boot/System.map-2.6.11.5-1 should have same name as the kernel uses (I doubt you added -1?) > cd /boot > sudo ls -s System.map-2.6.6-2 System.map > > sudo vi /etc/lilo.conf > ... > ... > image=/boot/vmlinuz-2.6.11.5-1 > label=KERNEL-4 > root=/dev/discs/disc0/part2 > read-only > > sudo lilo -q > sudo lilo > sudo lilo -q > > #Install additional/required software > sudo prt-get install iproute2 > sudo prt-get install iptables > sudo prt-get install rsync > > #Get vconfig binary > cd ~/src/ > wget http://www.candelatech.com/~greear/vconfig what's that? does crux not support vlans? > sudo cp vconfig /usr/local/sbin > > #Complile and install vserver utilities > cd ~/src/vserver/util-vserver-0.30.204 > ./configure --prefix=/usr/local > make > sudo make install > > #Create vserver guest OS directory > sudo mkdir -m 000 /vservers > sudo mkdir /vservers/vcrux01 > > #If using SSH (or any other port listening application) change it to listen > to the specific interface (ie not 0.0.0.0) > sudo vi /etc/ssh/sshd_config > ... > ... > ListenAddress 172.27.12.19 > ... > ... > > #restart ssh and ensure it still works note: on a remote system, try first with a different port and in debug mode ... > sudo /etc/rc.d/sshd restart > > > ###### > # > #Building your first vserver > # > ###### > > > sudo vserver vcrux01 build -m skeleton -n vcrux01 --context 100 --hostname > vcrux01.domain.net --interface 172.27.12.24 --netdev eth0 --netmask > 255.255.248.0 --initstyle plain > > #Set up vserver barrier > sudo showattr -d /vservers > ---bui- /vservers > sudo setattr --barrier /vservers nitpick: setattr --barrier /vservers/vcrux01/.. is better > sudo showattr -d /vservers > ---Bui- /vservers > > #I don't think this is required anymore > #sudo chmod 0000 /vservers that would be a bad idea anyway ... > #set default tty (not sure if this works) > sudo mkdir -p /usr/local/etc/vservers/.defaults/apps/init > cd /usr/local/etc/vservers/.defaults/apps/init > sudo ln -s /dev/tty6 tty > > #Check the folowing files to ensure all it configured fine. If not edit > files. > cat /usr/local/etc/vservers/vcrux01/apps/init/style > plain > > cat /usr/local/etc/vservers/vcrux01/interfaces/dev > eth0 > > cat /usr/local/etc/vservers/vcrux01/interfaces/mask > 255.255.248.0 > > cat /usr/local/etc/vservers/vcrux01/interfaces/0/ip > 172.27.12.24 > > cat /usr/local/etc/vservers/vcrux01/interfaces/0/name > c01 only required if you like aliases ... > cat /usr/local/etc/vservers/vcrux01/uts/nodename > vcrux01.domain.net > > cat /usr/local/etc/vservers/vcrux01/name > vcrux01 > > cat /usr/local/etc/vservers/vcrux01/fstab > none /proc proc defaults 0 0 > none /tmp tmpfs size=16m,mode=1777 0 0 > none /dev/pts devpts gid=5,mode=620 0 0 > > cat /usr/local/etc/vservers/crux01/context > 100 > > > ###### > # > #Install Crux to /vserver/vcrux01 > # > ###### > > #boot from crux install cd > #mount /, /usr, and /vservers to /mnt, /mnt/usr, and /mnt/vservers > #chroot to /mnt > #set root password > #run crux setup > #use /mnt/vservers/vcrux01 as install point > #do not compile kernel, not used > #do not run lilo > #do not run lilo > #do not run lilo > #see crux handbook for details: http://crux.nu/doc/handbook.html > > #boot OS back up > > #configure guest OS vcrux01 > cd /mnt/vservers/vcrux01 > > sudo vi ./etc/rc.conf > TIMEZONE=Canada/Mountain > HOSTNAME=vcrux01 > SERVICES=(crond sshd) > > sudo rm -f ./etc/mtab > sudo vi ./etc/mtab > /dev/hdv1 / ufs rw 0 0 > sudo chmod 644 ./etc/mtab > > sudo vi ./etc/rc > #At the very least comment out: > #/bin/rm -f /etc/mtab* > > #null this file out > cat /dev/null > ./etc/fstab > > sudo vi ./etc/hosts.allow > sshd:all > > cat /dev/null > ./etc/rc.d/net > > sudo vi ./etc/resolve.conf > domain domain.net > search domain1.net > nameserver xx.xx.xx.xx > nameserver xx.xx.xx.xx > > sudo vi ./etc/inittab > #c1:2:respawn:/sbin/agetty 38400 vc/1 linux > #c2:2:respawn:/sbin/agetty 38400 vc/2 linux > #c3:2:respawn:/sbin/agetty 38400 vc/3 linux > #c4:2:respawn:/sbin/agetty 38400 vc/4 linux > #c5:2:respawn:/sbin/agetty 38400 vc/5 linux > #c6:2:respawn:/sbin/agetty 38400 vc/6 linux > > #ca::ctrlaltdel:/sbin/shutdown -t3 -r now > > sudo chmod 0666 ./dev/tty > > > ###### > # > #Start your vserver > # > ###### > > sudo /usr/local/lib/util-vserver/vprocunhide > > sudo vserver-stat > CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME > 0 32 33.5M 3K 0m07s48 0m09s62 13h50m14 root server > > sudo vserver vcrux01 start > > sudo vserver-stat > CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME > 0 32 33.5M 3K 0m07s48 0m09s62 13h50m14 root server > 100 4 7.4M 769 0m00s72 0m00s71 13h49m58 vcrux01 > > #Enter vserver and complete setup > sudo vserver vcrux01 enter > > #Add groups and users > > #For sendmail alert you may see > /usr/bin/newaliases > > #setup crux ports (using httpup (curl and httpup) if necessary) and update > ports > #see crux handbook for details: http://crux.nu/doc/handbook.html > > > ###### > # > #Creating your 2nd, 3rd, nth vserver > # > ###### > > #On host OS > #Copy existing vserver > sudo vserver vcrux01 stop > sudo vserver vcrux02 build -m skeleton -n vcrux02 --context 200 --hostname > vcrux02.domain.net --interface 172.27.12.40 --netdev eth0 --netmask > 255.255.248.0 --initstyle plain > sudo touch /etc/vservers/vcrux01.conf > sudo vserver-copy vcrux01 vcrux02 > > cat /usr/local/etc/vservers/vcrux02/apps/init/style > plain > > cat /usr/local/etc/vservers/vcrux02/interfaces/dev > eth0 > > cat /usr/local/etc/vservers/vcrux02/interfaces/mask > 255.255.248.0 > > cat /usr/local/etc/vservers/vcrux02/interfaces/0/ip > 172.27.12.40 > > cat /usr/local/etc/vservers/vcrux02/interfaces/0/name > c02 > > cat /usr/local/etc/vservers/vcrux02/uts/nodename > vcrux02.domain.net > > cat /usr/local/etc/vservers/vcrux02/name > vcrux02 > > cat /usr/local/etc/vservers/vcrux02/fstab > none /proc proc defaults 0 0 > none /tmp tmpfs size=16m,mode=1777 0 0 > none /dev/pts devpts gid=5,mode=620 0 0 > > cat /usr/local/etc/vservers/crux02/context > 200 > > sudo vi /vservers/vcrux02/etc/rc.conf > HOSTNAME=vcrux02 > > #Start your new vserver > sudo /usr/local/lib/util-vserver/vprocunhide > > sudo vserver-stat > CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME > 0 32 33.5M 3K 0m07s48 0m09s62 13h50m14 root server > 100 4 7.4M 769 0m00s72 0m00s71 13h49m58 vcrux01 > > sudo vserver vcrux01 start > > sudo vserver-stat > CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME > 0 32 33.5M 3K 0m07s48 0m09s62 13h50m14 root server > 100 4 7.4M 769 0m00s72 0m00s71 13h49m58 vcrux01 > 200 4 7.4M 769 0m00s83 0m00s93 13h55m46 vcrux02 > > #Enter vserver and complete setup > sudo vserver vcrux01 enter > > > ###### > # > #How I'm starting/stopping vservers at boot time > # > ###### > > #On host OS > sudo vi /etc/rc.conf > SERVICES=(net crond sshd vcrux01 vcrux02 vcrux03) > > sudo vi /etc/rc.d/vcrux01 > > #!/bin/sh > # > # /etc/rc.d/vserver: start/stop vservers > # > VSERVER=vcrux01 > > case $1 in > start) > /usr/local/lib/util-vserver/vprocunhide > /usr/local/sbin/vserver $VSERVER start > ;; > stop) > /usr/local/sbin/vserver $VSERVER stop > ;; > status) > /usr/local/sbin/vserver-stat > ;; > *) > echo "usage: $0 [start|stop|status]" > ;; > esac > > # End of file > > > ###### > # > #Common commands I'm using > # > ###### > > #On the Host OS > > /usr/local/lib/util-vserver/vprocunhide > #This command makes available some areas of /proc to verserver. Only need to > run once per boot. > > /usr/local/sbin/vserver vcrux01 start > #Start vcrux01 vserver > > /usr/local/sbin/vserver vcrux01 stop > #Stop vcrux01 vserver > > /usr/local/sbin/vserver vcrux01 enter > #Enter vcrux01 vserver > > /usr/local/sbin/vserver-stat > #Displays status of running ververs > > /usr/local/sbin/vserver-info > #Displays build/versioning info of verserver install > > /usr/local/sbin/vps -ef > #vserver ps command > > /usr/local/sbin/vtop > #vserver top command > > /usr/local/sbin/vuname --xid 100 > #vserver uname command. Displays uname of vserver with context ID > > #more commands in /usr/local/sbin/ and /usr/local/lib/util-vserver/ > > #THE END > best, Herbert > _______________________________________________ > Vserver mailing list > [email protected] > http://list.linux-vserver.org/mailman/listinfo/vserver _______________________________________________ Vserver mailing list [email protected] http://list.linux-vserver.org/mailman/listinfo/vserver
