6.58.2. Findutils 的内容
安装的程序: find, locate, updatedb, 以及 xargs
Findutils 软件包包含用于查找文件的程序。 这些程序能够递归地搜索目录树,以及创建、维护和搜索数据库 (一般比递归搜索快,但在数据库最近没有更新时不可靠)。
首先,禁用一个在某些机器上会无限循环的测试:
sed -i 's/test-lock..EXEEXT.//' tests/Makefile.in
然后,进行 glibc-2.28 和更高版本要求的一些修补:
sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' gl/lib/*.c sed -i '/unistd/a #include <sys/sysmacros.h>' gl/lib/mountlist.c echo "#define _IO_IN_BACKUP 0x100" >> gl/lib/stdio-impl.h
准备安装 Findutils:
./configure --prefix=/usr --localstatedir=/var/lib/locate
配置选项的含义:
--localstatedir
该选项将 locate
数据库的位置改为 /var/lib/locate, 以与
FHS 兼容。
编译该软件包:
make
运行以下命令以测试编译结果:
make check
安装该软件包:
make install
BLFS 及 BLFS 之外的一些软件包预期 find 程序在 /bin 中,因此要保证它被放置在那里:
mv -v /usr/bin/find /bin
sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb