安装 Sh-utils-2.0

估计编译时间:		0.47 SBU
估计所需硬盘空间:     42 MB

Sh-utils 的安装

安装前,必须打补丁。这个补丁用来避免在静态链接时与某些Glibc 版本 (通常是glibc-2.1.x)之间的变量名冲突。如果你用的是其它版本的glibc,用这个补丁也是安全的。所以,如果你不确定,最好用这个补丁。

patch -Np1 -i ../sh-utils-2.0.patch

安装命令如下:

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

在 make install 阶段你将看到下面的警告:

WARNING: insufficient access; not installing su
NOTE: to install su, run 'make install-root' as root

你可以安全地忽略它。按 Sh-utils 的要求,你需要以 root 的身份来安装 su ,这个程序是与 root 用户绑定用户id的。因为我们在第六章中不需要用到 su ,并且在第六章中,重新安装 Sh-utils 时,su 会被正确安装,你这里就装作没看见这个警告。

Sh-utils的内容

最后检查于 version 2.0.

包含的程序

basename, chroot, date, dirname, echo, env, expr, factor, false, groups, hostid, id, logname, nice, nohup, pathchk, pinky, printenv, printf, pwd, seq, sleep, stty, su, tee, test, true, tty, uname, uptime, users, who, whoami 和 yes

具体说明

basename

去掉文件名中的目录和后缀。

chroot

使用特定的目录作为执行某个命令或者交互shell的root目录。

date

以特定的格式显示当前时间,或者设置系统日期。

dirname

显示从文件名去掉不是目录的后缀后的内容。

echo

显示一行文本。

env

在一个被修改的环境运行一个程序。

expr

执行简单的整数计算。

factor

输出所有指定整数的质因数。

false

返回一个不成功或者逻辑假的结果。

groups

显示一个用户所在的组。

hostid

以16进制方式,显示当前主机的数字标志符

id

显示某个用户或者当前用户的真实和有效UID、GID。

logname

显示当前用户的登录名。

nice

修改某个进程的调度优先级。

nohup

使某个命令不被挂起。

pathchk

检查文件名是否是有效的或者是可移动的。

pinky

一个轻量级的finger工具,用来得到某个用户的信息。

printenv

显示所有的环境变量。

printf

格式化输出数据。

pwd

显示当前工作目录。

seq

以指定的步长输出一个数列。

sleep

延迟一段时间。

stty

改变和显示终端行的设置。

su

改变用户的身份运行一个shell。

tee

从标准输入读取数据,输出到标准输出和文件。

test

检查文件类型,以及进行变量的比较。

true

返回一个成功或者逻辑真的结果。

tty

t显示标准输出设备连接终端的文件名。

uname

打印系统信息。

uptime

显示系统已经运行的时间。

users

显示在当前主机登录的用户名。

who

显示哪些用户登录。

whoami

打印用户有效的用户标志符。

yes

重复输出一个'y'字符串,直到被杀死。

安装Sh-utils依赖于

最后检查于 version 2.0.

Autoconf: autoconf, autoheader
Automake: aclocal, automake
Bash: sh
Binutils: ar, as, ld, ranlib
Diffutils: cmp
Fileutils: chmod, chown, install, ls, mv, rm
Gettext: msgfmt, xgettext
Gcc: cc, cc1, collect2, cpp0, gcc
Glibc: getconf
Grep: egrep, fgrep, grep
M4: m4
Make: make
Gawk: gawk
Perl: perl
Sed: sed
Sh-utils: basename, echo, expr, hostname, sleep, uname
Tar: tar
Texinfo: install-info, makeinfo
Textutils: cat, tr