Mr. Junjiro R. Okajima, thanks for your immediate answer. Yesterday I followed your suggestions but some things haven't changed.
1. Kernel messages [ 99.884200] aufs 2.1-standalone.tree-3.0-rcN-20110711 The reason for the above message is my update from Debian GNU/Linux testing "Squeeze" to testing "Wheeze" in September 2011. At that time the Linux kernel with the version 3.0 was introduced. Maybe the Debian maintainer wanted give us user the new kernel with a run able AUFS kernel module. In the near future I will update the current testing "Wheezy". The update will update the kernel and the AUFS kernel module. The current AUFS module makes no problems. I think, I am not in hurry. [ 99.984955] aufs test_add:262:mount[2493]: uid/gid/perm /tmp/jailcache.ro.usrlocal 0/50/02775, 0/0/0755 [ 100.071844] aufs test_add:262:mount[2499]: uid/gid/perm /tmp/jailcache.ro.home 1000/1000/0755, 0/0/0755 The reasons for above message are how I created the directories of the read only branches. Both directories are created form the user root but the bound directories /usr/local and /home have other user ids, group ids and partly permissions. The following lines shows how I build the AUFS union for usrlocalonaufs: $> sudo mkdir -p /tmp/jailcache.rw.usrlocal \ /tmp/jailcache.ro.usrlocal $> sudo mount -o bind /usr/local /tmp/jailcache.ro.usrlocal $> sudo mount -t aufs -o \ br:/tmp/jailcache.rw.usrlocal:/tmp/jailcache.ro.usrlocal \ usrlocalonaufs /tmp/jail/usr/local The solution is the change of the uid, guid and perm of the directories /tmp/jailcache.rw.usrlocal and /tmp/jailcache.ro.usrlocal, if I see it the right way. As you suggested I installed the never used aufs-util. After the installation the following kernel message appears again in the kernel logs. Again, the kernel message appeared during the GNOME Desktop session log in: [ 129.434722] aufs au_opts_parse:1039:mount[3397]: unknown option errors=remount-ro [ 129.441762] aufs au_opts_parse:1039:mount[3398]: unknown option commit=0 [ 129.452269] aufs au_opts_parse:1039:mount[3400]: unknown option commit=0 [ 129.468503] aufs au_opts_parse:1039:mount[3402]: unknown option commit=0 [ 129.473906] aufs au_opts_parse:1039:mount[3403]: unknown option commit=0 [ 129.477398] aufs au_opts_parse:1039:mount[3404]: unknown option commit=0 Now after I had installed the aufs-util, it seems I had passed a wrong mount option to AUFS. Please, could you take a look on the above shown mount command. The command is an example how I mounted the AUFS branches. Maybe you find a wrong mount option in the command line. As you have guessed, the next message is disappeared after the aufs- util installation: [ 3942.141298] WARNING: at /build/buildd-linux-2.6_3.0.0-3-amd64-9ClimQ/ linux-2.6-3.0.0/debian/build/source_amd64_none\ /fs/aufs/ plink.c:450 au_plink_put+0x39/0x6b [aufs]() [ 3942.141531] Hardware name: M720-US3 [ 3942.141588] pseudo-link is not flushed 2. Chroot environment removal and forgotten daemons Another problem I have is the removal of the on AUFS based chroot environment. A removal of the chroot environment is only successful if no process like a daemon has access to one of the under AUFS mounted file systems. The problem is the user can't know which daemons or background processes he triggers if he executes a command in the chroot environment. Your suggestion was the script aubusy. Sure aubusy is our friend to detect a busy AUFS branch but I have had some problems with the script. Maybe I stumbled about an old version of aubusy. The script I used is from the Debian binary package aufs-tools with the version number 20110410-1. Running aubusy from the above mentioned Debian binary package gave the following output: $> sudo aubusy /tmp/jail/usr/local /tmp/jailcache.rw.usrlocal /usr/bin/aubusy: 62: /usr/bin/aubusy: mntopts: parameter not set 19: Invalid argument xargs: auibusy: exited with status 255; aborting I was a little bit puzzled but after some time I found the reason for the abort. It was the regular expression of the sed command in row 52 that lives in aubusy. The following line shows the unchanged line: 52: si=$(echo $mntopts | sed -e 's/^.*,si=\([^,]*\),.*$/\1/') The comma, point and star in front of the dollar sign are the trouble maker. After the deletion aubusy runs as expected. The following line shows the changed line: 52: si=$(echo $mntopts | sed -e 's/^.*,si=\([^,]*\)$/\1/') I guess that a new Debian binary package of aufs-tools does include a newer, a adapted version of aubusy. 3. NFS in an on AUFS based chroot environment Maybe I didn't present the problem I have, not clear enough. With the script bldchraufs I create a chroot environment of the whole system. The created chroot environment based on AUFS. In that environment I start the nfs server daemon and export the directory /srv/nfs. The following rows shows how I do the above mentioned things. First I enter the chroot environment after that I run the following commands: $> sudo invoke.rc nfs-kernel-server start This starts a local nfs server daemon in chroot environment based on AUFS. Doing this I get the following message: Exporting directories for NFS kernel daemon...exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "127.0.0.1:/srv/nfs". Assuming default behaviour ('no_subtree_check'). NOTE: this default has changed since nfs-utils version 1.0.x exportfs: scandir /etc/exports.d: No such file or directory exportfs: /srv/nfs does not support NFS export . Starting NFS kernel daemon: nfsd mountd. The following rewritten message from the above message could be a hint why exportfs can't export the directory /srv/nfs: exportfs: /srv/nfs does not support NFS export The directory /srv/nfs lives on the partition /dev/sda12. In the chroot environment the partition with the directory /srv is bound on /tmp/jailcache.ro.srv. The directory /tmp/jailcache.ro.srv is the read only branch of the AUFS union /tmp/jail/srv. Maybe this kind of a branch can't be handled by exportfs. The contents of the file /etc/exports looks like this: /srv/nfs 127.0.0.1(rw,insecure,all_squash,anonuid=1000,anongid=1000) Do not look at the options behind the local ip address. These were used by the user space nfsd. I will changed them if I could use the kernel space nfsd in the chroot environment. During the run of the command exportfs -a the following message appears: $> sudo exportfs -a exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "127.0.0.1:/srv/nfs". Assuming default behaviour ('no_subtree_check'). NOTE: this default has changed since nfs-utils version 1.0.x exportfs: scandir /etc/exports.d: No such file or directory exporting 127.0.0.1:/srv/nfs exportfs: /srv/nfs does not support NFS export In the above case I use nfs exports in an AUFS environment but I do not export an union or a branch. Is this kind of AUFS usage supported? Again, I would be very glad, if you could find some time to answer my questions. Thanks a lot in advanced. Regards, Robert Wotzlaw ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure