[Unionfs] Problem with unionfs

Jesse I Pollard pollard at ccs.nrl.navy.mil
Wed Feb 13 10:06:51 EST 2008


Stephan Schöffel wrote:
> hi there,
>
> i'm still new to unionfs. i followed the tutorial on this website 
> http://flaviostechnotalk.com/wordpress/index.php/2005/06/28/filesystem-snapshots-with-unionfs/ 
> which was linked at the unionfs website.
>
> the example did work but it does not fit my problem properly. i tries 
> different things but could not get it to work the way i want.
>
> here is what i want:
>
> i want (via script and using unionfs) to bring different directories 
> to their original state if the machine is rebooted. eg i want to 
> delete files users write to /tmp
> i used the following approach:
>
> modprobe unionfs
> mkdir /tmp_union
> mount -t unionfs -o dirs=/tmp=rw unionfs /tmp_union
> mkdir /tmp_snap
>
> unionctl /tmp_union --add --mode rw /tmp_snap
> unionctl --mode ro /tmp
>
>
>
>
> unfortunately, users can still write to /tmp and the changes are not 
> logged in /tmp_snap. is there a way to bring /tmp back to its original 
> state by using unionfs?
I'm going out on limb, but what you want depends on other things:

1. do you use a disk based filesystem for /tmp?
2. do you need large amount of space for /tmp?

One reason for these questions is that you COULD use a ramfs for /tmp. 
On every
reboot, ram is cleared.

Aternative to ramfs or unionfs:

If a resident disk based filesystem is required, then just mkfs that 
filesystem
before mounting it. An /etc/rc script with something like:

mkfs /dev/hda6
mount /dev/hda6 /tmp

Even if you do want to use a unionfs, you will have to mount that union 
on /tmp
to prevent users from accessing the underlying filesystem:

1. mount the scratch filesystem somewhere users cant directly get to it, 
such as
       /var/scratch/tmp_snap
   and make /var/scratch only accessable to root.

2. The readonly FS underlying scratch must be mounted somewhere users 
can't get to
   either:
       /var/scratch/tmp

3. Mount the unionfs thus:

    mount -t unionfs -o 
dirs=/var/scratch/tmp_snap=rw:/var/scratch/tmp=ro none /tmp

4. and on every boot you still have to erase the tmp_snap.

Personally, I think you need either the ramfs or the non-unionfs version.
> --stephan
> _______________________________________________
> unionfs mailing list: http://unionfs.filesystems.org/
> unionfs at mail.fsl.cs.sunysb.edu
> http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs



More information about the unionfs mailing list