安装 Findutils-4.1

估计编译时间:		0.10 SBU
估计所需硬盘空间:     3 MB

安装 Findutils

你必须先打补丁,才能安装这个包。确认在运行下面的命令前,补丁已经解压了。

命令如下:

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

FHS 兼容性说明

缺省情况下,updatedb的数据库是放在/usr/var。如果你要遵守FHS规范,就用下面的命令来安装这个软件包,它把数据库放在 /var/lib/misc/locatedb 里:

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

命令解释

patch -Np1 -i ../findutils-4.1.patch: 这个补丁避免了一个变量冲突并改了几个错误的语法,从而修正了一些编译错误。

patch -Np1 -i ../findutils-4.1-segfault.patch: 这个补丁修正了一个当 locate 遇到一个非常长的路径名时,会导致的分段错误( segfault )。

Findutils的内容

最后检查于 version 4.1.

包含的程序

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

具体说明

bigram

和code一起使用来建立老式的位置数据库,阅读locatedb.5手册可以了解更多

code

code 是frcode的前身,用在老式位置数据库里

find

在一个目录和其子目录里面找符合条件的文件. 如果没有条件给定, 它会列出所有在当前目录和其子目录的文件.

frcode

frcode使用前端压缩(front-compress)被 updatedb调用来压缩文件名列表,可以减小数据库4到5倍

locate

扫描包含当前文件系统所有文件和目录的数据库.可以列出在数据库中符合条件的文件或者目录.如果用户要找一个文件, 这个程序会告知这个文件的准确位置. 如果位置数据库没有及时的更新,它只能给出可能已经过时的信息

updatedb

更新位置数据库. 扫描整个文件系统,包括其他mount的文件系统(除非设定参数禁止).并且把每一个找到的文件和目录放到将被locate使用的数据库里面. 最好每天更新这个数据库.

xargs

可以列印文件名,如果需要对一些文件进行同样的操作, 程序可以产生一个包含这些文件的列表(一行一个), 并且对这些文件执行那个命令

安装Findutils依赖于

最后检查于 version 4.1.

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