vserver 0.6 changes log

vserver 0.6 changes log

previous versions: 0.5
Change log index

Enhancements

New kernel 2.4.13 and new immutable flags

The patch now work on top of kernel 2.4.13. Both normal and SMP kernel are supplied. This new kernel provides mostly the same feature and implementation as before. Here are the changes:

You absolutely need vserver 0.6 to use this kernel. You can find more information about the new immutable-linkage-invert flag at http://sam.vilain.net/immutable. You will find there a modified ext2fsprog package to use those flags. The vunify and vbuild utility do not need this package to operate though.

New vbuild utility

The /usr/lib/vserver/vbuild utility has been written. It allows one to clone a reference vserver, hard linking files when possible. You end up creating a new virtual private server with a large package set, yet using only few megs of disk space. Like the vunify command, vbuild sets the immutable flag on linked file so the vserver can't change them (since they are shared between several vservers).

Here is the command line usage:

vbuild [ options ] reference-server new-vservers

By default, the immutable_file and immutable_link flags are set on the files. So if you want no immutable flags, you must use --noflags. If you want a single flag, you must use --noflags first, then the --immutable or --immutable-mayunlink flag.

New vtop utility

vtop is a simple shell script, executing the top utility in security context 1, so it can see all processes.

vunify rewrite

The /usr/lib/vserver/vunify utility has been rewritten. It uses roughly the same syntax with few more options.

vunify [ options ] reference-server vservers ... -- packages

By default, the immutable_file and immutable_link flags are set on the files. So if you want no immutable flags, you must use --noflags. If you want a single flag, you must use --noflags first, then the --immutable or --immutable-mayunlink flag.

If packages is ALL, then all common package with the reference server will be unified. The new vunify makes sure this is the same package version before unifying.

Changes

System call renumbering

The system call we had chosen was already assigned to other projects so we picked new number. This make the old vserver package incompatible with the newer kernel 2.4.13ctx-3.

If you have already some vserver running and want to upgrade to the new kernel, here is the update sequence:

	# Stop all vservers
	/etc/rc.d/init.d/vservers stop
	# Disable the vservers service
	/sbin/chkconfig vservers off
	# Install the new kernel in LILO
	# reboot
	# Update to the new vserver package
	rpm -Uvh vserver-0.6-1.i386.rpm
	# Enable the vservers package
	/sbin/chkconfig vservers on
	# Start the vservers
	/etc/rc.d/init.d/vservers start