Installing Findutils-4.1

Estimated build time:           1 minute
Estimated required disk space:  3 MB

Installing Findutils

Before Findutils is installed the findutils patch file has to be unpacked.

Install Findutils by running the following commands:

patch -Np1 -i ../findutils-4.1.patch &&
./configure --prefix=/usr &&
make &&
make libexecdir=/usr/bin install

FHS compliance notes

By default, the location of the updatedb database is in /usr/var. If you would rather be FHS compliant, you may wish to use another location. The following commands use the database file /var/lib/misc/locatedb which is FHS compliant.

patch -Np1 -i ../findutils-4.1.patch &&
./configure --prefix=/usr &&
make localstatedir=/var/lib/misc &&
make localstatedir=/var/lib/misc libexecdir=/usr/bin install

Command explanations

patch -Np1 -i ../findutils-4.1.patch: This patch is to fix some compilation errors by avoiding a variable conflict and changing some bad syntax.

Contents of findutils-4.1

Program Files

bigram, code, find, frcode, locate, updatedb and xargs

Descriptions

bigram

bigram is used together with code to produce older-style locate databases. To learn more about these last three programs, read the locatedb.5 manual page.

code

code is the ancestor of frcode. It was used in older-style locate databases.

find

The find program searches for files in a directory hierarchy which match a certain criteria. If no criteria is given, it lists all files in the current directory and its subdirectories.

frcode

updatedb runs a program called frcode to compress the list of file names using front-compression, which reduces the database size by a factor of 4 to 5.

locate

Locate scans a database which contain all files and directories on a filesystem. This program lists the files and directories in this database matching a certain criteria. If a user is looking for a file this program will scan the database and tell him exactly where the files he requested are located. This only makes sense if the locate database is fairly up-to-date else it will provide out-of-date information.

updatedb

The updatedb program updates the locate database. It scans the entire file system (including other file system that are currently mounted unless it is told not to do so) and puts every directory and file it finds into the database that's used by the locate program which retrieves this information. It's good practice to update this database once a day to have it up-to-date whenever it is needed.

xargs

The xargs command applies a command to a list of files. If there is a need to perform the same command on multiple files, a file can be created that contains all these files (one per line) and use xargs to perform that command on the list.

Dependencies

Findutils-4.1 needs the following to be installed:


bash: sh
binutils: ar, as, ld, ranlib
diffutils: cmp
fileutils: chmod, cp, install, mv, rm
grep: egrep, grep
gcc: cc1, collect2, cpp0, gcc
make: make
patch: patch
sed: sed
sh-utils: basename, date, echo, hostname
textutils: cat, tr