安装 Fileutils-4.1

估计编译时间:		0.94 SBU
估计所需硬盘空间:     40 MB

Fileutils 的安装

静态链接的Fileutils包在某些装有Glibc-2.2.3的系统中可能会引起segmentation faults。似乎在使用AMD CPU的机器上发生得多一些但也有一两例是在使用Intel CPU的机器上。如果你的机子属于这种情况,就使用下面的补丁。

注意:有时使用补丁会造成无法编译这个包,即使你是用AMD CPU 并且装了Glibc-2.2.3 (或更高) 。如果出现这种情况,你应该把 fileutils-4.1 这个目录给删掉,重新解压,再继续。我们相信这是由于你的发行版修改了 Glibc-2.2.3 ,但是细节目前还不是很清楚。

为了在AMD/Glibc-2.2.3 的机器上正确编译,用下面的命令。如果你的机器没有装 Glibc-2.2.3 ,就 不要用补丁,否则会引起多种编译错误。

patch -Np1 -i ../fileutils-4.1.patch

用下面的命令安装 Fileutils:

LDFLAGS=-static \
    ./configure --disable-nls --prefix=$LFS/static &&
make &&
make install

一旦你装上了Fileutils,你可以测试一下是否会 segmentation fault。运行 $LFS/static/bin/ls。如果能工作,说明一切正常,否则,你就要重装Fileutils。如果上一次你没有用补丁,那么这次就要用补丁,反之,上次用了补丁,这次就不要用。

命令解释

patch -Np1 -i ../fileutils-4.1.patch: 这个补丁用来修正在glibc 2.2.3系统中静态编译fileutils时可能发生的错误。如果没有修正,而错误又发生了的话,那可能在第六章中进入chroot的环境时所有的 fileutils 程序都会引起segmentation faults 。

Fileutils的内容

最后检查于 version 4.1.

包含的程序

chgrp, chmod, chown, cp, dd, df, dir, dircolors, du, install, ln, ls, mkdir, mkfifo, mknod, mv, rm, rmdir, shred, sync, touch and vdir

具体说明

chgrp

c改变文件和目录属组,属组可以使用组名或者组识别号表示。

chmod

改变文件和目录的权限,权限可以使用符号或者八进制两种表达方式。 .

chown

改变文件和目录的所有权(包括用户和/或组)。

cp

把文件从一个地方复制到另一个地方。 .

dd

以可选块长度复制文件,默认情况下从标准输入设备输出到标准输出设备。复制过程中,还可以对文件进行一些转换。 .

df

显示参数中的文件所在分区磁盘空间的使用情况,如果没有给出文件参数就显示所有已经安装的文件系统的可用空间数量

dir, ls and vdir

ls、dir和vdir: dir和vdir都是ls的一个版本,默认的输出格式不同。这些程序的功能都是列出给出的文件或者目录名。目录中的内容按照字母顺序排序。对于ls,如果标准输出设备是一个终端,默认的文件名显示方式是成列输出,竖向排序;否则每行只有一个输出。对于dir,默认的文件名显示方式也是成列输出,竖向排序。对于vdir,文件名使用长格式显示。

dircolors

设置LS_COLOR环境变量。LS_COLOR环境变量用来改变ls及相关工具默认的颜色组合。 .

du

显示参数使用的磁盘空间的数量,对于参数为目录还会列出每个子目录磁盘空间占用情况。 .

install

复制文件,设置它们的权限,如果可能还设置拥有它们的用户和组。

ln

做文件之间的硬/软(符号)连接。

mkdir

建立目录,使用给定的参数作为目录名。

mkfifo

以给定的参数作为名字建立FIFO(又叫命名管道)文件。 .

mknod

使用给出的文件名,建立一个FIFO、字符特殊文件(special file)或者块特殊文件(special file)。特殊文件是UNIX系统的一个术语,意思是能够产生或者接受数据的东西,也就是通常所说的设备文件

mv

根据所给参数的不同,把文件或者目录移动到另外的目录或者将其改名。

rm

删除文件或者目录。

rmdir

删除目录(目录必需为空)。

shred

安全删除一个文件,重写其占用的磁盘空间,使其无法恢复。

sync

使磁盘和内存的数据同步。

touch

把参数指定的文件的访问和修改时间改为当前的时间。如果文件不存在,它就建立一个空文件。

安装Fileutils依赖于

最后检查于 version 4.1.

Bash: sh
Binutils: ar, as, ld, ranlib
Diffutils: cmp
Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm, rmdir
Gettext: msgfmt, xgettext
Gcc: cc, cc1, collect2, cpp0, gcc
Grep: egrep, fgrep, grep
Make: make
Perl: perl
Sed: sed
Sh-utils: basename, echo, expr, hostname, sleep, uname
Texinfo: install-info
Textutils: cat, tr