Utilities for aufs
http://aufs.sf.net
Junjiro R. Okajima
These utilities are always necessary for aufs.
If you forget to install them, your aufs may not work correctly.
And these are not for aufs1 essentially, except aubrsync. See below in
detail.
You will find GIT branches whose name is in form of "aufs4.x" where "x"
represents the linux kernel version, "linux-4.x". For instance,
"aufs4.0" is for linux-4.0.
You may not be able to find the GIT branch in aufs-util for your
version. In this case, you should git-checkout the branch for the
nearest lower number.
If you are using linux-4.10 and aufs4.10 (which are not released yet),
but the "aufs4.10" branch doesn't exit in this repository, then
"aufs4.9", "aufs4.8", ... or something is the branch for you.
Also you can view all branches by
$ git branch -a
Note: The 4.x-rcN branch is to be used with `rc' kernel versions ONLY.
The minor version number, 'x' in '4.x', of aufs may not always
follow the minor version number of the kernel.
Because changes in the kernel that cause the use of a new
minor version number do not always require changes to aufs-util.
Makefile in this tree has some customizable make-variables.
- CPPFLAGS
specify the include path if necessary.
Some of linux kernel header files are necessary including
linux/aufs_type.h. If you have installed kernel header files to
/usr/include, then you may not need to specify CPPFLAGS.
Otherwise you need to do something like this sample.
+ run "make headers_install" in your kernel source tree, and
$LinuxSrc/usr/include is created and header files are installed
there by default.
+ if you build aufs4 as module from aufs4-standalone.git, then
$AufsStdalone/usr/include is created and header files are
installed there.
+ and specify
CPPFLAGS="-I $LinuxSrc/usr/include -I $AufsStdalone/usr/include"
Note that your distribution may contain an obsoleted version of
aufs_type.h in /usr/include/linux or something. When you build aufs
utilities, make sure that your compiler refers the correct aufs header
file which is built by "make headers_install."
- DESTDIR
specify your install path if necessary.
some commands have to be installed under /sbin.
- HOSTCC
specify the compiler on host side when cross-compiling, otherwise you
can ignore this make-variable.
For cross-compiling, use CC for cross-compiler (target side) and HOSTCC
for native (host side) compiler, since this package requires buiding
and running some small internal tools.
- BuildFHSM
specify "yes" if you want FHSM tools or if you enabled
CONFIG_AUFS_FHSM when you built your aufs kernel module. The default
is BuildFHSM=no.
$ make BuildFHSM=yes
- LibAuDir
specify the directory path to install the shared object library
libau.so. The default is /usr/lib.
This make variable will be useful for the system who has both of
glibc and musl-libc, or the system who has x86_64 and i686 libraries.
- MountCmd, UmountCmd
specify mount(8) and umount(8) in full path. By default, they are
"/bin/mount" and "/bin/umount" individually.
o /sbin/mount.aufs, /sbin/umount.aufs
Helpers for util-linux-ng package. You should NOT invoke them
manually. Just install them by "make install".
o /sbin/auplink
Handles aufs pseudo-link at remount/unmount time. You can invoke it
manually at anytime.
o /sbin/aumvdown
Operates aufs internal feature "move-down" (opposite of "copy-up").
See aumvdown.8 in detail.
o /usr/bin/aubusy
Prints PIDs which make the branch busy and un-removable. It runs
/sbin/auibusy internally.
o /usr/bin/auchk
Similar to generic fsck. Checks whether a branch is healthy or not
from aufs's point of view.
o /usr/bin/aubrsync
Move files from the upper writable branch to the lower branch.
If you use this script with aufs1, then you need to install aufs.shlib
to /usr/lib/aufs.shlib. Currently only the 20080211 version is tested
for aufs1.
The development of this script is sponcered by ASUSTek Computer Inc.
(http://www.asus.com/).
Kindly they agreed that I keep my aufs work as free software as it has
been.
o /etc/default/aufs
A library for shell scripts.
o /usr/lib/libau.so
A dynamic link library for "readdir(3) in user-space".
If you need this , then run "make libau.so install_ulib". And refer
to the aufs manual in detail.
Contributions
- Michael S. Zick wrote good examples, and made them public at
http://hg.minimodding.com/repos/aufs/
# Local variables: ;
# mode: text;
# End: ;