#### Linux From Scratch - Version 10.1-rc1

### Chapter 8. Installing Basic System Software

- Prev

  Gawk-5.1.0

- Next

  Groff-1.22.4

- Up
- Home

# 8.56. Findutils-4.8.0

The Findutils package contains programs to find files. These programs are provided to recursively search through a directory tree and to create, maintain, and search a database (often faster than the recursive find, but is unreliable if the database has not been recently updated).

Approximate build time: 0.9 SBU
Required disk space: 55 MB

## 8.56.1. Installation of Findutils

Prepare Findutils for compilation:

    ./configure --prefix=/usr --localstatedir=/var/lib/locate

The meaning of the configure options:

`--localstatedir`

  This option changes the location of the locate database to be in `/var/lib/locate`, which is FHS-compliant.

Compile the package:

    make

To test the results, issue:

    chown -Rv tester .
    su tester -c "PATH=$PATH make check"

Install the package:

    make install

Some of the scripts in the LFS-Bootscripts package depend on find. As `/usr` may not be available during the early stages of booting, this program needs to be on the root partition. The updatedb script also needs to be modified to correct an explicit path:

    mv -v /usr/bin/find /bin
    sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb

## 8.56.2. Contents of Findutils

Installed programs: find, locate, updatedb, and xargs
Installed directory: /var/lib/locate

### Short Descriptions

find | Searches given directory trees for files matching the specified criteria
locate | Searches through a database of file names and reports the names that contain a given string or match a given pattern
updatedb | Updates the locate database; it scans the entire file system (including other file systems that are currently mounted, unless told not to) and puts every file name it finds into the database
xargs | Can be used to apply a given command to a list of files

- Prev

  Gawk-5.1.0

- Next

  Groff-1.22.4

- Up
- Home