<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://linux-vserver.at/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://linux-vserver.at/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pflanze</id>
		<title>Linux-VServer - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://linux-vserver.at/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pflanze"/>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Special:Contributions/Pflanze"/>
		<updated>2026-04-09T14:54:14Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://linux-vserver.at/Debugging</id>
		<title>Debugging</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Debugging"/>
				<updated>2008-02-07T21:16:34Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: add qemu command line&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the case that the core developers cannot reproduce a problem you're running into, it's recommended to use Qemu and known filesystem and kernel images and go from there, then providing the necessary changes (probably a tar file or maybe patch of the changed files).&lt;br /&gt;
&lt;br /&gt;
NOTE: I ([[User:pflanze]]) couldn't get through all of this yet, this is just a start, this page needs to be completed.&lt;br /&gt;
&lt;br /&gt;
* install qemu (preferably &amp;gt;= 9.0 since that supposedly has (even) easier networking) on any machine (no need to run vserver). You don't need the qemu acceleration kernel module.&lt;br /&gt;
* get a kernel image (needs something (what?) configured to be able to run under Qemu?), for example, http://vserver.13thfloor.at/Stuff/QEMU/bzImage-2.6.22.16-vs2.2.0.6&lt;br /&gt;
* get a root image from http://vserver.13thfloor.at/Stuff/QEMU/?C=M&amp;amp;O=D&lt;br /&gt;
 &amp;lt;Bertl&amp;gt; the 32M_public2 img should suffice&lt;br /&gt;
* since that image has outdated tools, get http://vserver.13thfloor.at/Stuff/QEMU/util-vserver-0.30.214_bin.tar.bz2 (to be unpacked under / in the root image)&lt;br /&gt;
* start qemu like this:&lt;br /&gt;
 qemu -nographic -m 64 -hda TEST_32M_public2.img -kernel bzImage-2.6.22.16-vs2.2.0.6 -append &amp;quot;rw root=/dev/hda1 init=/bin/bash&amp;quot;&lt;br /&gt;
* to get the above tar ball into the running Qemu, get networking to work. How to do that is to be done in another session.&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/User:Pflanze</id>
		<title>User:Pflanze</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/User:Pflanze"/>
				<updated>2008-02-07T21:11:31Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: one-line user page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Seems there is no default user page. &lt;br /&gt;
&lt;br /&gt;
You can reach me at christian at pflanze, mine, nu (s/, /./ and s/at/@/).&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/How_to_participate</id>
		<title>How to participate</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/How_to_participate"/>
				<updated>2008-02-07T21:08:09Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: Add secion and link about Debuggin (with Qemu)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:Opensource-110x95.png|left]] The basic idea behind open source is very simple: When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people adapt it, people fix bugs. And this can happen at a speed that, if one is used to the slow pace of conventional software development, seems astonishing.&lt;br /&gt;
&lt;br /&gt;
We in the open source community have learned that this rapid evolutionary process produces better software than the traditional closed model, in which only a very few programmers can see the source and everybody else must blindly use an opaque block of bits.&lt;br /&gt;
&lt;br /&gt;
Whether you're an experienced Linux developer or an end user just getting started with Linux-VServer, there are many ways for you to participate in the Linux-VServer project. Join the mailing list to get help or help others, find and report bugs, review the documentation, send your wish list for new features, create and submit patches, or find other creative ways to contribute.&lt;br /&gt;
&lt;br /&gt;
== Improve the Wiki ==&lt;br /&gt;
&lt;br /&gt;
As long as you edit anything on the wiki you are de facto member of the [[Wiki Team]].&lt;br /&gt;
&lt;br /&gt;
This page is built with MediaWiki. The concept of a Wiki is that anybody may add and modify content. Please see the [[Wiki Team]] page if you want to contribute to our Wiki. Refer to the [http://meta.wikimedia.org/wiki/Help:Contents Wikimedia Manual] for instructions how to create and format wiki pages. Please make sure that you follow overall look and feel of the wiki.&lt;br /&gt;
&lt;br /&gt;
We added a [[Sandbox]] and we would kindly ask all that wannabe hackers use that page for the very challenging task of wiki hacking (TIA:).&lt;br /&gt;
&lt;br /&gt;
== Help other users ==&lt;br /&gt;
&lt;br /&gt;
There are many ways to help other Linux-VServer users. Take a look at [[Communicate]] to learn about all our communication methods.&lt;br /&gt;
&lt;br /&gt;
== Test new releases ==&lt;br /&gt;
&lt;br /&gt;
You can help improve Linux-VServer by finding and reporting bugs. Like many other projects we don't maintain Bugzilla or similar but instead handle bugs on the mailing list. If you have never written a bug report, please refer to [[Report a Bug]] to learn what kinds of information make the report most useful.&lt;br /&gt;
&lt;br /&gt;
== Help narrow down problems ==&lt;br /&gt;
&lt;br /&gt;
If there's a problem the developers cannot reproduce, the [[Debugging]] page shows how to proceed to help them get to that point.&lt;br /&gt;
&lt;br /&gt;
== Suggest new features ==&lt;br /&gt;
&lt;br /&gt;
If you feel like a feature is missing feel free to contact the Linux-VServer community with your wishlist. Take a look at [[Communicate]] to learn about all our communication methods.&lt;br /&gt;
&lt;br /&gt;
== Review or write new documentation ==&lt;br /&gt;
&lt;br /&gt;
Visit the [[Documentation]] page to contribute or read articles and manuals. If you've got instructions, solutions to common problems, neat tips and tricks, or just a good way to explain something, we'd love to hear from you.&lt;br /&gt;
&lt;br /&gt;
== Send patches ==&lt;br /&gt;
&lt;br /&gt;
The most obvious way to participate in the development of Linux-VServer is to post a patch as a suggested solution to an existing bug on the mailing list.&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/Debugging</id>
		<title>Debugging</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Debugging"/>
				<updated>2008-02-07T21:06:38Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: Unfinished start&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the case that the core developers cannot reproduce a problem you're running into, it's recommended to use Qemu and known filesystem and kernel images and go from there, then providing the necessary changes (probably a tar file or maybe patch of the changed files).&lt;br /&gt;
&lt;br /&gt;
NOTE: I ([[User:pflanze]]) couldn't get through all of this yet, this is just a start, this page needs to be completed.&lt;br /&gt;
&lt;br /&gt;
* install qemu (preferably &amp;gt;= 9.0 since that supposedly has (even) easier networking) on any machine (no need to run vserver). You don't need the qemu acceleration kernel module.&lt;br /&gt;
* get a kernel image (needs something (what?) configured to be able to run under Qemu?), for example, http://vserver.13thfloor.at/Stuff/QEMU/bzImage-2.6.22.16-vs2.2.0.6&lt;br /&gt;
* get a root image from http://vserver.13thfloor.at/Stuff/QEMU/?C=M&amp;amp;O=D&lt;br /&gt;
 &amp;lt;Bertl&amp;gt; the 32M_public2 img should suffice&lt;br /&gt;
* since that image has outdated tools, get http://vserver.13thfloor.at/Stuff/QEMU/util-vserver-0.30.214_bin.tar.bz2 (to be unpacked under / in the root image)&lt;br /&gt;
* to get the above into the running Qemu, get networking to work. How to do that is to be done in another session.&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/Archives</id>
		<title>Archives</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Archives"/>
				<updated>2008-01-19T14:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: There is no vserver code in any public git repostory currently, so remove that section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Download archives ==&lt;br /&gt;
&lt;br /&gt;
To improve access a public anonymous FTP download archive has been setup. The archives can also be reached via HTTP. Please see the README files in the subdirectories of the archive for more information.&lt;br /&gt;
&lt;br /&gt;
* [http://ftp.linux-vserver.org/pub Browse with HTTP]&lt;br /&gt;
* [ftp://ftp.linux-vserver.org/pub Browse with FTP]&lt;br /&gt;
&lt;br /&gt;
== Source repositories ==&lt;br /&gt;
&lt;br /&gt;
Beside the download archives you can also checkout the latest development version from the source repositories.&lt;br /&gt;
&lt;br /&gt;
Currently, only the tools are available in versioning repositories (the kernel patches are currently maintained by Herbert directly at http://vserver.13thfloor.at/Experimental).&lt;br /&gt;
&lt;br /&gt;
=== SVN archives ===&lt;br /&gt;
&lt;br /&gt;
Subversion (SVN) is a tool used by many software developers to manage changes within their source code tree. SVN provides the means to store not only the current version of a piece of source code, but a record of all changes (and who made those changes) that have occurred to that source code. Use of Subversion is particularly common on projects with multiple developers, since SVN ensures changes made by one developer are not accidentally removed when another developer posts their changes to the source tree.&lt;br /&gt;
&lt;br /&gt;
Our Subversion repositories can be accessed at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;http://svn.linux-vserver.org/svn/&amp;lt;projectname&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Browsing the SVN repositories gives you a great view into the current status of this project's code. You may also view the complete histories of any file in the repository.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.linux-vserver.org Browse with ViewVC]&lt;br /&gt;
* [http://svn.linux-vserver.org/svn/ Browse with HTTP]&lt;br /&gt;
&lt;br /&gt;
== Mailing list archives ==&lt;br /&gt;
&lt;br /&gt;
The mailing list archives store all messages on the Linux-VServer mailing list back to October 2001. The archives can be easily browsed with HTTP&lt;br /&gt;
&lt;br /&gt;
* [http://archives.linux-vserver.org Browse with HTTP]&lt;br /&gt;
* [http://www.google.com/search?q=site%3Aarchives.linux-vserver.org Search with Google]&lt;br /&gt;
&lt;br /&gt;
== Realtime IRC archives ==&lt;br /&gt;
&lt;br /&gt;
All discussion in the Linux-VServer IRC channel has been recorded back to November 2004. The IRC archives can be easily browsed with HTTP&lt;br /&gt;
&lt;br /&gt;
* [http://irc.13thfloor.at/LOG Browse with HTTP]&lt;br /&gt;
* [http://www.google.com/search?q=site%3Airc.13thfloor.at Search with Google]&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/util-vserver:Vhashify</id>
		<title>util-vserver:Vhashify</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/util-vserver:Vhashify"/>
				<updated>2007-02-19T22:42:23Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: exclude lists don't prevent from vserver exec, and other corrections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== All about vunify / vhashify ==&lt;br /&gt;
&lt;br /&gt;
Some collected wisdom about the vunify/vhashify functionality:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;unification&amp;quot; is the process of replacing files with hardlinks to identical files in other vservers (or, in the case of vhashify, more precisely to a common base); for security, the files are then supplied with immutable-but-unlinkable flags (a vserver speciality), and recently COW link capability has been added to vserver (2.2+), which means that when such a file is being modified, the hardlink is automatically dissolved and the contents copied (CONFIG_VSERVER_COWBL).&lt;br /&gt;
&lt;br /&gt;
* vhashify is the successor to vunify; vunify only looks at files at identical relative paths and links them if they are identical; vhashify builds hash values over the contents of ''all'' (non-excluded) files and links them into a common base directory,  or unifies them with pre-existing links there. So running hashification on multiple vservers will effectively hard link their identical files.&lt;br /&gt;
&lt;br /&gt;
* You don't call the vhashify tool directly (which lives in lib/util-vserver/), but let the &amp;quot;vserver&amp;quot; multipurpose script do the work:&lt;br /&gt;
&lt;br /&gt;
 vserver &amp;lt;vserver-name&amp;gt; hashify&lt;br /&gt;
&lt;br /&gt;
* The guest needs to be running for the above because vhashify may try to figure out what files not to hashify by calling the package manager of the guest via &amp;lt;tt&amp;gt;vserver exec&amp;lt;/tt&amp;gt;; the reason for this is that it tries not to unify config files because they couldn't be written to afterwards unless COW links are supported (which is a recent addition), which may be a hassle (unlike with program/library files which are not overwritten but replaced on upgrades). The details of how the list of config files is retrieved can be found in &amp;lt;tt&amp;gt;scripts/vpkg&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;lib/util-vserver/vpkg&amp;lt;/tt&amp;gt; after installation), which is called by the vhashify program (through MatchList_initManually). Currently this means redhat|mandrake and debian are supported. It is looking at a XXX/style file (what's XXX?) for finding out which distribution a guest is running (can this be a problem?) -&amp;gt; open questions to be looked at.&lt;br /&gt;
&lt;br /&gt;
(* If one configures exclude lists, vhashify is supposed ''not'' to use package management for getting the config file list ''-&amp;gt; actually it turns out this is not the case, vserver exec is even being called with an exclude file present''. (One can check whether vpkg is being run by adding an &amp;lt;tt&amp;gt;echo &amp;quot;$0 $@ called..&amp;quot; &amp;gt;&amp;amp;2&amp;lt;/tt&amp;gt; statement at the top of that script. Note the redirection to stderr.))&lt;br /&gt;
&lt;br /&gt;
=== Backups ===&lt;br /&gt;
&lt;br /&gt;
Be careful to restore the link flags when making or restoring from backups, or vservers won't be safely parted anymore. Do either of the following:&lt;br /&gt;
&lt;br /&gt;
* use tools which backup and restore the link flags (&amp;quot;dump&amp;quot; and &amp;quot;restore&amp;quot; might work, the writer of these lines has not tested them)&lt;br /&gt;
&lt;br /&gt;
* back up the directory containing the hashes, too (&amp;lt;tt&amp;gt;/vservers/.hash&amp;lt;/tt&amp;gt; when following the suggested configuration directives); for restoring from the backup, also restore the .hash directory, then run setattr over all files contained therein; this should work (not yet tested!):&lt;br /&gt;
&lt;br /&gt;
 find /vservers/.hash -type f -print0|xargs -0 setattr --iunlink --&lt;br /&gt;
&lt;br /&gt;
* (back up and) restore each vserver individually, so no hardlinks to other vservers are created. Then run hashify. (Be aware that you need more space until hashify has run, so restoring from a backup onto a partition of equal size might not work.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [[util-vserver:Documentation]] or maybe rather the [http://www.nongnu.org/util-vserver/doc/conf/configuration.html &amp;quot;Flower Page&amp;quot;]&lt;br /&gt;
* [[Frequently_Asked_Questions#What_is_unification_.28vunify.29.3F]]&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/util-vserver:Fstab</id>
		<title>util-vserver:Fstab</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/util-vserver:Fstab"/>
				<updated>2007-02-10T17:31:22Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: Add link to logging page, note about fsck'ing on the host, hint about discussion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About /etc/vservers/&amp;lt;name&amp;gt;/fstab ==&lt;br /&gt;
&lt;br /&gt;
The file has the format as described by man 5 fstab *except*:&lt;br /&gt;
&lt;br /&gt;
* the fifth and sixth fields (fs_freq and fs_passno) are ignored. If you need fsck to run on a device before mounting it, you have to do so by a separate means, e.g. by running it from &amp;lt;tt&amp;gt;scripts/initialize&amp;lt;/tt&amp;gt; (*not* prepre-start as fstab entries are already mounted at the time prepre-start is being run). But be sure that either fsck's input/outputs are tied to some tty (by setting &amp;lt;tt&amp;gt;/etc/vservers/guest/apps/init/tty&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;/etc/vservers/.defaults/apps/init/tty&amp;lt;/tt&amp;gt;), or you supply one of the -y or -n options (man e2fsck) so that it can run non-interactively. But a better idea might be to run fsck from a startup script during the *host* boot process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;There has been some discussion between &amp;lt;tt&amp;gt;Bertl&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;daniel_hozac&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;pflanze&amp;lt;/tt&amp;gt; on #vserver on 2007/02/10 about adding support for the &amp;quot;fs_passno&amp;quot; (&amp;quot;fsck&amp;quot;) field, but the benefit is not entirely clear.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [[util-vserver:Logging]] on how stdin/out/err are being setup when booting vservers&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/util-vserver:Logging</id>
		<title>util-vserver:Logging</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/util-vserver:Logging"/>
				<updated>2007-02-10T17:19:45Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: the intermediate result of my investigations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Accessing vserver startup output ==&lt;br /&gt;
&lt;br /&gt;
Where is the startup output of vservers going?&lt;br /&gt;
&lt;br /&gt;
==== (A) when using vserver init styles others than &amp;quot;plain&amp;quot;: ====&lt;br /&gt;
&lt;br /&gt;
(for example without any /etc/vservers/&amp;lt;name&amp;gt;/apps/init/style setting)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;vserver &amp;lt;name&amp;gt; &amp;lt;command&amp;gt;&amp;quot; by itself will not do any redirection, thus print and read to/from the current terminal/whatever.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/init.d/vservers&amp;lt;/tt&amp;gt; will typically run &amp;lt;tt&amp;gt;lib/util-vserver/vserver-wrapper&amp;lt;/tt&amp;gt; which will redirect stdin/out/err from/to the value at &amp;lt;tt&amp;gt;/etc/vservers/guest/apps/init/tty&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;/etc/vservers/.defaults/apps/init/tty&amp;lt;/tt&amp;gt; or if neither is set, /dev/null. NOTE: just linking to a normal file will log to that file, but currently also open stdin from that file, which may have bad consequences if some programs actually reads from stdin (it may even create an endless loop appending and reading from the file). (&amp;lt;tt&amp;gt;pflanze&amp;lt;/tt&amp;gt; has started looking into changing this (opening stdin from /dev/null if the link is pointing to a file) but has run out of energy right now.)&lt;br /&gt;
&lt;br /&gt;
You have to keep this in mind: if for some reason a vserver does not start upon host reboot, but starts without problems with &amp;quot;vserver &amp;lt;name&amp;gt; start&amp;quot;, that could be because a program in your vserver's scripts/* directory depends on having access to a terminal. This is (like it is with every system service) one of the differences between starting vservers from host's init process or from a login shell (others being resource limits and environment variables).&lt;br /&gt;
&lt;br /&gt;
==== (B) when using vserver init style &amp;quot;plain&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
(what is different to (A)? to be investigated/documented)&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/util-vserver:Logging</id>
		<title>util-vserver:Logging</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/util-vserver:Logging"/>
				<updated>2007-02-10T17:06:50Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: some reformatting and more detail&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Accessing vserver startup output ==&lt;br /&gt;
&lt;br /&gt;
Where is the startup output of vservers going?&lt;br /&gt;
&lt;br /&gt;
(A) when using init styles others than &amp;quot;plain&amp;quot; (for example without any style setting):&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;vserver &amp;lt;name&amp;gt; &amp;lt;command&amp;gt;&amp;quot; by itself will not do any redirection, thus print and read to/from the current terminal/whatever.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/init.d/vservers&amp;lt;/tt&amp;gt; will typically run &amp;lt;tt&amp;gt;lib/util-vserver/vserver-wrapper&amp;lt;/tt&amp;gt; which will redirect stdin/out/err from/to the value at &amp;lt;tt&amp;gt;/etc/vservers/guest/apps/init/tty&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;/etc/vservers/.defaults/apps/init/tty&amp;lt;/tt&amp;gt; or if neither is set, /dev/null. NOTE: just linking to a normal file will log to that file, but currently also open stdin from that file, which may have bad consequences if some programs actually reads from stdin (it may even create an endless loop appending and reading from the file).&lt;br /&gt;
&lt;br /&gt;
You have to keep this in mind: if for some reason a vserver does not start upon host reboot, but starts without problems with &amp;quot;vserver &amp;lt;name&amp;gt; start&amp;quot;, that could be because a program in your vserver's scripts/* directory depends on having access to a terminal. This is (like it is with every system service) one of the differences between starting vservers from host's init process or from a login shell (others being resource limits and environment variables).&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/util-vserver:Logging</id>
		<title>util-vserver:Logging</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/util-vserver:Logging"/>
				<updated>2007-02-10T16:12:31Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Accessing vserver startup output ==&lt;br /&gt;
&lt;br /&gt;
Where is the startup output of vservers going?&lt;br /&gt;
&lt;br /&gt;
* when using init styles others than &amp;quot;plain&amp;quot; (for example without any style setting):&lt;br /&gt;
&lt;br /&gt;
** &amp;quot;vserver &amp;lt;name&amp;gt; start&amp;quot; will not do any redirection, thus print to the current output.&lt;br /&gt;
&lt;br /&gt;
** &amp;quot;/etc/init.d/vservers start&amp;quot; will typically run &amp;lt;tt&amp;gt;lib/util-vserver/vserver-wrapper&amp;lt;/tt&amp;gt; which will redirect stdin/out/err from/to the value at /etc/vservers/guest/apps/init/tty, /etc/vservers/.defaults/apps/init/tty or if neither is set, /dev/null. NOTE: just linking to a normal file will log to that file, but currently also open stdin from that file, which may have bad consequences if some programs actually reads from stdin (it may even create an endless loop appending and reading from the file).&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/util-vserver:Fstab</id>
		<title>util-vserver:Fstab</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/util-vserver:Fstab"/>
				<updated>2007-02-10T13:12:13Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About /etc/vservers/&amp;lt;name&amp;gt;/fstab ==&lt;br /&gt;
&lt;br /&gt;
The file has the format as described by man 5 fstab *except*:&lt;br /&gt;
&lt;br /&gt;
* the fifth and sixth fields (fs_freq and fs_passno) are ignored. If you need fsck to run on a device before mounting it, you have to do so by a separate means, e.g. by running it from &amp;lt;tt&amp;gt;scripts/prepre-start&amp;lt;/tt&amp;gt;. But be sure that either fsck's input/outputs are tied to some tty (by setting &amp;lt;tt&amp;gt;/etc/vservers/guest/apps/init/tty&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;/etc/vservers/.defaults/apps/init/tty&amp;lt;/tt&amp;gt;), or you supply one of the -y or -n options (man e2fsck) so that it can run non-interactively.&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/util-vserver:Vhashify</id>
		<title>util-vserver:Vhashify</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/util-vserver:Vhashify"/>
				<updated>2007-02-08T17:58:39Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: /* Backups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== All about vunify / vhashify ==&lt;br /&gt;
&lt;br /&gt;
Some collected wisdom about the vunify/vhashify functionality:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;unification&amp;quot; is the process of replacing files with hardlinks to identical files in other vservers (or, in the case of vhashify, more precisely to a common base); for security, the files are then supplied with immutable-but-unlinkable flags (a vserver speciality), and recently COW link capability has been added to vserver (2.2+), which means that when such a file is being modified, the hardlink is automatically dissolved and the contents copied (CONFIG_VSERVER_COWBL).&lt;br /&gt;
&lt;br /&gt;
* vhashify is the successor to vunify; vunify only looks at files at identical relative paths and links them if they are identical; vhashify builds hash values over the contents of ''all'' (non-excluded) files and links them into a common base directory,  or unifies them with pre-existing links there. So running hashification on multiple vservers will effectively hard link their identical files.&lt;br /&gt;
&lt;br /&gt;
* You don't call the vhashify tool directly (which lives in lib/util-vserver/), but let the &amp;quot;vserver&amp;quot; multipurpose script do the work:&lt;br /&gt;
&lt;br /&gt;
 vserver &amp;lt;vserver-name&amp;gt; hashify&lt;br /&gt;
&lt;br /&gt;
* The guest needs to be running for the above because vhashify may try to figure out what files not to hashify by calling the package manager of the guest via &amp;lt;tt&amp;gt;vserver enter&amp;lt;/tt&amp;gt;; the reason for this is that it tries not to unify config files because they couldn't be written to afterwards unless COW links are supported (which is a recent addition), which may be a hassle unlike with program/library files which are replaced on upgrades. The details of how the list of config files is retrieved can be found in &amp;lt;tt&amp;gt;scripts/vpkg&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;lib/util-vserver/vpkg&amp;lt;/tt&amp;gt; after installation), which is called by the vhashify program (through MatchList_initManually). Currently this means redhat|mandrake and debian are supported. It is looking at a XXX/style file (what's XXX?) for finding out which distribution a guest is running (can this be a problem?) -&amp;gt; open questions to be looked at.&lt;br /&gt;
&lt;br /&gt;
* If one configures exclude lists, vhashify is supposed ''not'' to use package management for getting the config file list (daniel_hozac says: &amp;quot;that's the idea, i haven't verified it though&amp;quot;). (One can check whether vpkg is being run by adding an &amp;lt;tt&amp;gt;echo &amp;quot;$0 $@ called..&amp;quot; &amp;gt;&amp;amp;2&amp;lt;/tt&amp;gt; statement at the top of that script. Note the redirection to stderr.)&lt;br /&gt;
&lt;br /&gt;
=== Backups ===&lt;br /&gt;
&lt;br /&gt;
Be careful to restore the link flags when making or restoring from backups, or vservers won't be safely parted anymore. Do either of the following:&lt;br /&gt;
&lt;br /&gt;
* use tools which backup and restore the link flags (&amp;quot;dump&amp;quot; and &amp;quot;restore&amp;quot; might work, the writer of these lines has not tested them)&lt;br /&gt;
&lt;br /&gt;
* back up the directory containing the hashes, too (&amp;lt;tt&amp;gt;/vservers/.hash&amp;lt;/tt&amp;gt; when following the suggested configuration directives); for restoring from the backup, also restore the .hash directory, then run setattr over all files contained therein; this should work (not yet tested!):&lt;br /&gt;
&lt;br /&gt;
 find /vservers/.hash -type f -print0|xargs -0 setattr --iunlink --&lt;br /&gt;
&lt;br /&gt;
* (back up and) restore each vserver individually, so no hardlinks to other vservers are created. Then run hashify. (Be aware that you need more space until hashify has run, so restoring from a backup onto a partition of equal size might not work.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [[util-vserver:Documentation]]&lt;br /&gt;
* [[Frequently_Asked_Questions#What_is_unification_.28vunify.29.3F]]&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/util-vserver:Vhashify</id>
		<title>util-vserver:Vhashify</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/util-vserver:Vhashify"/>
				<updated>2007-02-08T17:53:18Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: How to handle backups&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== All about vunify / vhashify ==&lt;br /&gt;
&lt;br /&gt;
Some collected wisdom about the vunify/vhashify functionality:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;unification&amp;quot; is the process of replacing files with hardlinks to identical files in other vservers (or, in the case of vhashify, more precisely to a common base); for security, the files are then supplied with immutable-but-unlinkable flags (a vserver speciality), and recently COW link capability has been added to vserver (2.2+), which means that when such a file is being modified, the hardlink is automatically dissolved and the contents copied (CONFIG_VSERVER_COWBL).&lt;br /&gt;
&lt;br /&gt;
* vhashify is the successor to vunify; vunify only looks at files at identical relative paths and links them if they are identical; vhashify builds hash values over the contents of ''all'' (non-excluded) files and links them into a common base directory,  or unifies them with pre-existing links there. So running hashification on multiple vservers will effectively hard link their identical files.&lt;br /&gt;
&lt;br /&gt;
* You don't call the vhashify tool directly (which lives in lib/util-vserver/), but let the &amp;quot;vserver&amp;quot; multipurpose script do the work:&lt;br /&gt;
&lt;br /&gt;
 vserver &amp;lt;vserver-name&amp;gt; hashify&lt;br /&gt;
&lt;br /&gt;
* The guest needs to be running for the above because vhashify may try to figure out what files not to hashify by calling the package manager of the guest via &amp;lt;tt&amp;gt;vserver enter&amp;lt;/tt&amp;gt;; the reason for this is that it tries not to unify config files because they couldn't be written to afterwards unless COW links are supported (which is a recent addition), which may be a hassle unlike with program/library files which are replaced on upgrades. The details of how the list of config files is retrieved can be found in &amp;lt;tt&amp;gt;scripts/vpkg&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;lib/util-vserver/vpkg&amp;lt;/tt&amp;gt; after installation), which is called by the vhashify program (through MatchList_initManually). Currently this means redhat|mandrake and debian are supported. It is looking at a XXX/style file (what's XXX?) for finding out which distribution a guest is running (can this be a problem?) -&amp;gt; open questions to be looked at.&lt;br /&gt;
&lt;br /&gt;
* If one configures exclude lists, vhashify is supposed ''not'' to use package management for getting the config file list (daniel_hozac says: &amp;quot;that's the idea, i haven't verified it though&amp;quot;). (One can check whether vpkg is being run by adding an &amp;lt;tt&amp;gt;echo &amp;quot;$0 $@ called..&amp;quot; &amp;gt;&amp;amp;2&amp;lt;/tt&amp;gt; statement at the top of that script. Note the redirection to stderr.)&lt;br /&gt;
&lt;br /&gt;
=== Backups ===&lt;br /&gt;
&lt;br /&gt;
Be careful to restore the link flags when making or restoring from backups, or vservers won't be safely parted anymore. Use either of the following:&lt;br /&gt;
&lt;br /&gt;
* use tools which backup and restore the link flags (&amp;quot;dump&amp;quot; and &amp;quot;restore&amp;quot; might work, the writer of these lines has not tested them)&lt;br /&gt;
&lt;br /&gt;
* back up the directory containing the hashes, too (&amp;lt;tt&amp;gt;/vservers/.hash&amp;lt;/tt&amp;gt; when following the suggested configuration directives); for restoring from the backup, also restore the .hash directory, then run setattr over all files contained therein; this should work (not yet tested!):&lt;br /&gt;
&lt;br /&gt;
 find /vservers/.hash -type f -print0|xargs -0 setattr --iunlink --&lt;br /&gt;
&lt;br /&gt;
* (back up and) restore each vserver individually, so no hardlinks to other vservers are created. Then run hashify. (Be aware that you need more space until hashify has run, so restoring from a backup onto a partition of equal size might not work.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [[util-vserver:Documentation]]&lt;br /&gt;
* [[Frequently_Asked_Questions#What_is_unification_.28vunify.29.3F]]&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Help:Editing"/>
				<updated>2007-02-08T17:51:25Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See [http://www.mediawiki.org/wiki/Help:Contents Mediawiki Help pages]&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/util-vserver:Vhashify</id>
		<title>util-vserver:Vhashify</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/util-vserver:Vhashify"/>
				<updated>2007-02-08T16:34:54Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: I've actually been misleading myself by printing to stdout&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== All about vunify / vhashify ==&lt;br /&gt;
&lt;br /&gt;
Some collected wisdom about the vunify/vhashify functionality:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;unification&amp;quot; is the process of replacing files with hardlinks to identical files in other vservers (or, in the case of vhashify, more precisely to a common base); for security, the files are then supplied with immutable-but-unlinkable flags (a vserver speciality), and recently COW link capability has been added to vserver (2.2+), which means that when such a file is being modified, the hardlink is automatically dissolved and the contents copied (CONFIG_VSERVER_COWBL).&lt;br /&gt;
&lt;br /&gt;
* vhashify is the successor to vunify; vunify only looks at files at identical relative paths and links them if they are identical; vhashify builds hash values over the contents of ''all'' (non-excluded) files and links them into a common base directory,  or unifies them with pre-existing links there. So running hashification on multiple vservers will effectively hard link their identical files.&lt;br /&gt;
&lt;br /&gt;
* You don't call the vhashify tool directly (which lives in lib/util-vserver/), but let the &amp;quot;vserver&amp;quot; multipurpose script do the work:&lt;br /&gt;
&lt;br /&gt;
 vserver &amp;lt;vserver-name&amp;gt; hashify&lt;br /&gt;
&lt;br /&gt;
* The guest needs to be running for the above because vhashify may try to figure out what files not to hashify by calling the package manager of the guest via &amp;lt;tt&amp;gt;vserver enter&amp;lt;/tt&amp;gt;; the reason for this is that it tries not to unify config files because they couldn't be written to afterwards unless COW links are supported (which is a recent addition), which may be a hassle unlike with program/library files which are replaced on upgrades. The details of how the list of config files is retrieved can be found in &amp;lt;tt&amp;gt;scripts/vpkg&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;lib/util-vserver/vpkg&amp;lt;/tt&amp;gt; after installation), which is called by the vhashify program (through MatchList_initManually). Currently this means redhat|mandrake and debian are supported. It is looking at a XXX/style file (what's XXX?) for finding out which distribution a guest is running (can this be a problem?) -&amp;gt; open questions to be looked at.&lt;br /&gt;
&lt;br /&gt;
* If one configures exclude lists, vhashify is supposed ''not'' to use package management for getting the config file list (daniel_hozac says: &amp;quot;that's the idea, i haven't verified it though&amp;quot;). (One can check whether vpkg is being run by adding an &amp;lt;tt&amp;gt;echo &amp;quot;$0 $@ called..&amp;quot; &amp;gt;&amp;amp;2&amp;lt;/tt&amp;gt; statement at the top of that script. Note the redirection to stderr.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [[util-vserver:Documentation]]&lt;br /&gt;
* [[Frequently_Asked_Questions#What_is_unification_.28vunify.29.3F]]&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/util-vserver:Vhashify</id>
		<title>util-vserver:Vhashify</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/util-vserver:Vhashify"/>
				<updated>2007-02-08T15:53:03Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: I never see vpkg being run&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== All about vunify / vhashify ==&lt;br /&gt;
&lt;br /&gt;
Some collected wisdom about the vunify/vhashify functionality:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;unification&amp;quot; is the process of replacing files with hardlinks to identical files in other vservers (or, in the case of vhashify, more precisely to a common base); for security, the files are then supplied with immutable-but-unlinkable flags (a vserver speciality), and recently COW link capability has been added to vserver (2.2+), which means that when such a file is being modified, the hardlink is automatically dissolved and the contents copied (CONFIG_VSERVER_COWBL).&lt;br /&gt;
&lt;br /&gt;
* vhashify is the successor to vunify; vunify only looks at files at identical relative paths and links them if they are identical; vhashify builds hash values over the contents of ''all'' (non-excluded) files and links them into a common base directory,  or unifies them with pre-existing links there. So running hashification on multiple vservers will effectively hard link their identical files.&lt;br /&gt;
&lt;br /&gt;
* You don't call the vhashify tool directly (which lives in lib/util-vserver/), but let the &amp;quot;vserver&amp;quot; multipurpose script do the work:&lt;br /&gt;
&lt;br /&gt;
 vserver &amp;lt;vserver-name&amp;gt; hashify&lt;br /&gt;
&lt;br /&gt;
* The guest needs to be running for the above because vhashify may try to figure out what files not to hashify by calling the package manager of the guest via &amp;lt;tt&amp;gt;vserver enter&amp;lt;/tt&amp;gt;; the reason for this is that it tries not to unify config files because they couldn't be written to afterwards unless COW links are supported (which is a recent addition), which may be a hassle unlike with program/library files which are replaced on upgrades. The details of how the list of config files is retrieved can be found in &amp;lt;tt&amp;gt;scripts/vpkg&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;lib/util-vserver/vpkg&amp;lt;/tt&amp;gt; after installation), which is called by the vhashify program (through MatchList_initManually). Currently this means redhat|mandrake and debian are supported. It is looking at a XXX/style file (what's XXX?) for finding out which distribution a guest is running (can this be a problem?) -&amp;gt; open questions to be looked at.&lt;br /&gt;
&lt;br /&gt;
* If one configures exclude lists, vhashify is supposed ''not'' to use package management for getting the config file list (daniel_hozac says: &amp;quot;that's the idea, i haven't verified it though&amp;quot;). (Actually, in pflanze's experience with 0.30.212 (and Debian host/guests), vpkg is not even being run without exclude lists, as can be verified by adding an echo statement at the top of that script, it is not shown when running &amp;lt;tt&amp;gt;vserver &amp;lt;name&amp;gt; hashify&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [[util-vserver:Documentation]]&lt;br /&gt;
* [[Frequently_Asked_Questions#What_is_unification_.28vunify.29.3F]]&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/util-vserver:Vhashify</id>
		<title>util-vserver:Vhashify</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/util-vserver:Vhashify"/>
				<updated>2007-02-06T00:59:19Z</updated>
		
		<summary type="html">&lt;p&gt;Pflanze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== All about vunify / vhashify ==&lt;br /&gt;
&lt;br /&gt;
Some collected wisdom about the vunify/vhashify functionality:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;unification&amp;quot; is the process of replacing files with hardlinks to identical files in other vservers (or, in the case of vhashify, more precisely to a common base); for security, the files are then supplied with immutable-but-unlinkable flags (a vserver speciality), and recently COW link capability has been added to vserver (2.2+), which means that when such a file is being modified, the hardlink is automatically dissolved and the contents copied (CONFIG_VSERVER_COWBL).&lt;br /&gt;
&lt;br /&gt;
* vhashify is the successor to vunify; vunify only looks at files at identical relative paths and links them if they are identical; vhashify builds hash values over the contents of ''all'' (non-excluded) files and links them into a common base directory,  or unifies them with pre-existing links there. So running hashification on multiple vservers will effectively hard link their identical files.&lt;br /&gt;
&lt;br /&gt;
* You don't call the vhashify tool directly (which lives in lib/util-vserver/), but let the &amp;quot;vserver&amp;quot; multipurpose script do the work:&lt;br /&gt;
&lt;br /&gt;
 vserver &amp;lt;vserver-name&amp;gt; hashify&lt;br /&gt;
&lt;br /&gt;
* The guest needs to be running for the above because vhashify may try to figure out what files not to hashify by calling the package manager of the guest via &amp;lt;tt&amp;gt;vserver enter&amp;lt;/tt&amp;gt;; the reason for this is that it tries not to unify config files because they couldn't be written to afterwards unless COW links are supported (which is a recent addition), which may be a hassle unlike with program/library files which are replaced on upgrades. The details of how the list of config files is retrieved can be found in &amp;lt;tt&amp;gt;scripts/vpkg&amp;lt;/tt&amp;gt;, which is called by the vhashify program (through MatchList_initManually). Currently this means redhat|mandrake and debian are supported. It is looking at a XXX/style file (what's XXX?) for finding out which distribution a guest is running (can this be a problem?) -&amp;gt; open questions to be looked at.&lt;br /&gt;
&lt;br /&gt;
* If one configures exclude lists, vhashify is supposed ''not'' to use package management for getting the config file list (daniel_hozac says: &amp;quot;that's the idea, i haven't verified it though&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [[util-vserver:Documentation]]&lt;br /&gt;
* [[Frequently_Asked_Questions#What_is_unification_.28vunify.29.3F]]&lt;/div&gt;</summary>
		<author><name>Pflanze</name></author>	</entry>

	</feed>