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 "aufs3.x" where "x" represents the linux kernel version, "linux-3.x". For instance, "aufs3.0" is for linux-3.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-3.10 and aufs3.10 (which are not released yet), but the "aufs3.10" branch doesn't exit in this repository, then "aufs3.9", "aufs3.8", ... or something is the branch for you. Also you can view all branches by $ git branch -a Note: The 3.x-rcN branch is to be used with `rc' kernel versions ONLY. The minor version number, 'x' in '3.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 aufs3 as module from aufs3-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. - MountCmd, UmountCmd specify mount(8) and umount(8) in full path. By default, they are "/bin/mount" and "/bin/umount" individually. - 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 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: ;