Make it possible to exclude directories by name no matter where they
are in the filesystem from the locate database. By default, exclude ".zfs" directories, as users who who have set snapdir=visible and are taking frequent snapshots most likely do not want the snapshots included in the locate database.
This commit is contained in:
parent
2eeee67ce8
commit
6f8b6f9469
@ -15,9 +15,12 @@
|
||||
# directories to be put in the database
|
||||
#SEARCHPATHS="/"
|
||||
|
||||
# directories unwanted in output
|
||||
# paths unwanted in output
|
||||
#PRUNEPATHS="/tmp /usr/tmp /var/tmp /var/db/portsnap"
|
||||
|
||||
# directories unwanted in output
|
||||
#PRUNEDIRS=".zfs"
|
||||
|
||||
# filesystems allowed. Beware: a non-listed filesystem will be pruned
|
||||
# and if the SEARCHPATHS starts in such a filesystem locate will build
|
||||
# an empty database.
|
||||
|
@ -52,6 +52,7 @@ PATH=$LIBEXECDIR:/bin:/usr/bin:$PATH; export PATH
|
||||
: ${FCODES:=/var/db/locate.database} # the database
|
||||
: ${SEARCHPATHS:="/"} # directories to be put in the database
|
||||
: ${PRUNEPATHS:="/tmp /usr/tmp /var/tmp /var/db/portsnap"} # unwanted directories
|
||||
: ${PRUNEDIRS:=".zfs"} # unwanted directories, in any parent
|
||||
: ${FILESYSTEMS:="$(lsvfs | tail -n +3 | \
|
||||
egrep -vw "loopback|network|synthetic|read-only|0" | \
|
||||
cut -d " " -f1)"} # allowed filesystems
|
||||
@ -79,6 +80,14 @@ case X"$PRUNEPATHS" in
|
||||
done;;
|
||||
esac
|
||||
|
||||
case X"$PRUNEDIRS" in
|
||||
X) ;;
|
||||
*) for dir in $PRUNEDIRS
|
||||
do
|
||||
excludes="$excludes -or -name $dir -type d -prune"
|
||||
done;;
|
||||
esac
|
||||
|
||||
tmp=$TMPDIR/_updatedb$$
|
||||
trap 'rm -f $tmp; rmdir $TMPDIR' 0 1 2 3 5 10 15
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user