我的LFS制作日志
首先建立linux分区,以及SWAP。(用linux安全光盘分的,偷懒了^_^)然后去挂载他们。
建立工具链目录,并给权限。
添加lfs组和用户,转换用户。
设置目录所有者为LFS,这个地方出了问题,$LFS环境变量不知道为什么失效了。重建$LFS。
居然在第一次编译Binutils-2.16.1就出错,郁闷!!!!
查出了问题,原来我挂载的空间不够。
果然加大了空间编译通过,我想一直到第5章结束都不会再出问题了吧,我可以一边看电影,一边做LFS了。
妈的!编译GCC过程居然中途停住了,咋回事?
现在好了,停了大约10分钟,我应该考虑升级下电脑了。
好了继续看《the rock》。。。。。。
OK,GCC clear!!!
Linux-Libc-Headers-2.6.12.0 clear!!
Glibc clear!
调整工具链的时候,SPECFILE=`dirname $(gcc -print-libgcc-file-name)`/specs &&
gcc -dumpspecs > $SPECFILE &&
sed 's@^/lib/ld-linux.so.2@/tools&@g' $SPECFILE > tempspecfile &&
mv -vf tempspecfile $SPECFILE &&
unset SPECFILE
GCC_INCLUDEDIR=`dirname $(gcc -print-libgcc-file-name)`/include &&
find ${GCC_INCLUDEDIR}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; &&
rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` &&
unset GCC_INCLUDEDIR
上面命令都是用手输入的,累啊!!!clear!!
Tcl-8.4.13 clear!!
Expect clear!!
DejaGNU clear!!
GCC clear!!
Binutils clear!!
Ncurses-5.5 clear!!
Bash-3.1 clear!!
Bzip2-1.0.3 clear!!
Coreutils-5.96 clear!!
Diffutils clear!!
Findutils-4.2.27 clear!!
Gawk clear!!
Gettext-0.14.5 clear!!
Grep-2.5.1a clear!
Gzip-1.3.5 clear!
M4-1.4.4 clear!
Make-3.80 clear!
Patch-2.5.4 clear!
Perl-5.8.8 clear!
Sed-4.1.5 clear!
Tar-1.15.1 clear!
Texinfo-4.8 clear!
Util-linux-2.12r clear!
清理系统完毕!
改变所有者完毕!
到此第5章结束!(好无聊!)
现在开始构建 LFS 系统(第六章)
挂载虚拟内核文件系统完毕!
创建系统目录结构完毕!
创建必需的文件与符号连接完毕!
执行到这里遇到问题,安装包的目录无法找到!!
重起系统再做一便,可是太他妈墨迹了,打字打烦了,所以用livecd挂在了油盘,复制文档来做,方便多了,但是无法挂中文。
妈的,没弄几下呢就到切换系统的时候了,新做出来的小系统并不能挂优盘,郁闷!!!
还有N多行命令要打!!!郁闷啊!!!
终于打完了,几十行啊!
现在开始安装包了!
Linux-Libc-Headers-2.6.12.0 clear!!
Man-pages-2.34 clear!!
出现问题glibc无法make!!
fuck 没办法了,重新作一便吧。
换我的FC5作。
以下一直到第6章,省略若干步骤!
START!
第六章的GLIBC终于他妈的过了,应该喝点酒庆祝一下!以下是GLIBC的简要描述。
catchsegv
当程序发生段故障的时候,用来建立一个堆栈跟踪
gencat
建立消息列表
getconf
针对文件系统的指定变量显示其系统设置值
getent
从系统管理数据库获取一个条目
iconv
字符集转换
iconvconfig
建立快速加载的 iconv 模块所使用的配置文件
ldconfig
配置动态链接库的实时绑定
ldd
列出每个程序或者命令需要的共享库
lddlibc4
帮助 ldd 操作目标文件
locale
打印当前locale的详细信息
localedef
编译 locale 标准
mtrace
读取并解释一个内存跟踪文件然后以人类可读的格式显示一个摘要
nscd
为最常用的名称服务请求提供缓存的守护进程
nscd_nischeck
检查在进行 NIS+ 查找时是否需要安全模式
pcprofiledump
转储 PC profiling 产生的信息
pt_chown
一个辅助程序,帮助 grantpt 设置子虚拟终端的属主、用户组、读写权限
rpcgen
产生实现远程过程调用(RPC)协议的 C 代码
rpcinfo
对 RPC 服务器产生一个 RPC 呼叫
sln
ln 程序使用静态连接编译的版本,在 ln 不起作用的时候,sln 仍然可以建立符号链接
sprof
读取并显示共享目标的特征描述数据
tzselect
对用户提出关于当前位置的问题并输出时区信息到标准输出
xtrace
通过打印当前执行的函数跟踪程序执行情况
zdump
显示时区
zic
时区编译器
ld.so
帮助动态链接库执行的辅助程序
libBrokenLocale
帮助应用程序(如Mozilla)处理破损的 locale
libSegFault
段故障信号处理器
libanl
异步名称查询库
libbsd-compat
为了在 linux 下执行一些 BSD 程序,libbsd-compat 提供了必要的可移植性
libc
主 C 库,集成了最常用函数
libcidn
被Glibc使用,在getaddrinfo()函数中来处理国际域名
libcrypt
用于的加密库
libdl
动态连接接口库
libg
g++ 运行时库
libieee
IEEE 浮点运算库
libm
数学函数库
libmcheck
包括了启动(boot)时需要的代码
libmemusage
帮助 memusage 搜集程序运行时的内存占用信息
libnsl
提供网络服务的库
libnss
名称服务切换库,包含了解释主机名、用户名、组名、别名、服务、协议等等的函数
libpcprofile
包含用于跟踪某些特定源代码的 CPU 使用时间的 profiling 函数
libpthread
POSIX 线程库
libresolv
创建、发送、解释到互联网域名服务器的数据包
librpcsvc
提供 RPC 的其他杂项服务
librt
提供了大部分的 POSIX.1b 运行时扩展接口
libthread_db
对多线程程序的调试很有用
libutil
包含了在很多不同的 Unix 程序中使用的"标准"函数
下面是一些包的安装了,不一一描述了。
Binutils-2.16.1
这里check出了问题,如果以后有问题,回到这里!!
Binutils 的内容
addr2line
把程序地址转换为文件名和行号。在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号。
ar
建立、修改、提取归档文件。归档文件是包含多个文件内容的一个大文件,其结构保证了可以恢复原始文件内容。
as
一个汇编器,用来汇编 gcc 的输出,产生的目标文件然后由接器 ld 连接。
c++filt
连接器使用它来过滤 C++ 和 Java 符号,防止重载函数冲突。
gprof
显示程序调用段的各种数据。
ld
连接器,它把一些目标和归档文件结合为一个文件,重定位数据,并链接符号引用。通常,建立一个新编译程序的最后一步就是调用 ld 。/p>
nm
列出出现在目标文件中的符号
objcopy
把一种目标文件中的内容复制到另一种类型的目标文件中
objdump
显示所给目标文件的信息。使用选项来控制其显示的信息。它所显示的信息通常只有编写编译工具的人才感兴趣。
ranlib
产生归档文件索引,并将其保存到这个归档文件中。在索引中列出了归档文件各成员所定义的可重分配目标文件。
readelf
显示 ELF 格式可执行文件的信息
size
列出目标文件每一段的大小以及总体的大小。默认情况下,对于每个目标文件或者一个归档文件中的每个模块只产生一行输出。
strings
打印某个文件的可打印字符串,这些字符串最少 4 个字符长,也可以使用选项"-n"设置字符串的最小长度。默认情况下,它只打印目标文件初始化和可加载段中的可打印字符;对于其它类型的文件它打印整个文件的可打印字符,这个程序对于了解非文本文件的内容很有帮助。
strip
删除目标文件中的全部或者特定符号
libiberty
包含许多GNU程序都会用到的函数,这些程序有: getopt, obstack, strerror, strtol, 和 strtoul
libbfd
二进制文件描述库
libopcodes
用来处理 opcodes("可读文本格式的")处理器操作指令)的库,在生成一些应用程序的时候也会用到它,比如 objdump 。
GCC 的内容
cc
C 编译器
cpp
C 预处理器。编译器用它来将 #include 和 #define 这类声明在源文件中展开。
c++
C++ 编译器
g++
C++ 编译器
gcc
C 编译器
gccbug
一个shell脚本,帮助创建有价值的 bug 报告。
gcov
覆盖测试工具,用来分析在程序的哪里做优化的效果最好。
libgcc
gcc 的运行时库
libstdc++
准 C++ 库,包含许多常用的函数。
libsupc++
为 C++ 语言提供支持的库函数。
Berkeley DB 的内容
db_archive
打印出不再使用的日志文件路径名
db_checkpoint
监视和检查数据库日志的守护进程
db_deadlock
当死锁发生时,退出锁定要求
db_dump
把数据库文件转换成 db_load 能认出的文本文件
db_hotbackup
创建 "hot backup" 或者是 "hot failover" 的 Berkeley DB 数据库镜像。
db_load
从db_dump产生的文本文件中创建出数据库文件
db_printlog
把数据库日志文件转换成人能读懂的文本
db_recover
在发生错误后,把数据库恢复到一致的状态
db_stat
显示数据库环境统计
db_upgrade
把数据库文件转换成新版本的Berkley DB格式
db_verify
对数据库文件进行一致性检查
libdb.{so,a}
包含db处理相关函数的C库
libdb_cxx.{so,a}
包含db处理相关函数的C++库
Coreutils 的内容
basename
去掉文件名中的目录和后缀
cat
把文本文件的内容发送到标准输出
chgrp
改变文件和目录属组,属组可以使用组名或者组识别号表示
chmod
改变文件和目录的权限,权限可以使用符号或者八进制两种表达方式
chown
改变文件和目录的所有权(包括用户和/或组)
chroot
使用特定的目录作为执行某个命令或者交互 shell 的根目录(/)。在多数系统中,只有 root 用户能运行这个命令
cksum
输出指定的每个文件的CRC(循环冗余校验)校验和与字节数
comm
一行一行对两个已经排序的文件进行比较,在第三列中显示同一行是否相同
cp
复制文件
csplit
把一个文件按照给定的模式或者行号分成几块
cut
从指定的文件中提取特定的列送到标准输出
date
以特定的格式显示当前时间,或者设置系统日期
dd
以可选块长度复制文件,默认情况下从标准输入设备输出到标准输出设备。复制过程中,还可以对文件进行一些转换
df
显示参数中的文件所在分区磁盘空间的使用情况,如果没有给出文件参数就显示所有已经安装的文件系统的可用空间数量。
dir
列出给定目录的内容 (同 ls 命令)
dircolors
设置 LS_COLOR 环境变量(用来改变 ls 及相关工具默认颜色组合)
dirname
显示从文件名去掉非目录后缀之后的内容
du
显示参数使用的磁盘空间的数量,对于参数为目录还会列出每个子目录磁盘空间占用情况。
echo
显示给定字符串或变量值
env
在一个被修改的环境中运行一个程序
expand
把 tab 转换为空格符
expr
执行表达式计算
factor
输出所有指定整数的质因数
false
返回一个不成功或者逻辑假的结果
fmt
重新格式化指定文件的段落
fold
断开指定文件(默认是标准输入)较长的行,在屏幕上显示
groups
显示一个用户所在的组
head
显示每个指定文件的前几行(默认是10)
hostid
以16进制方式,显示当前主机的数字标志符
hostname
显示或设置主机名
id
显示某个用户或者当前用户的真实和有效的 UID、GID 。
install
复制文件,设置它们的权限,如果可能还设置拥有它们的用户和组
join
合并两个文件的行
link
创建从指定文件到指定名称的硬链接
ln
创建文件之间的硬/软(符号)连接
logname
显示当前用户的登录名
ls
列出指定目录的所有内容。缺省是将文件和子目录按字母顺序排列。
md5sum
显示或者校验 MD5 校验码。
mkdir
建立目录,使用给定的参数作为目录名。
mkfifo
以给定的参数作为名字建立FIFO(又叫"命名管道")文件。
mknod
使用给出的文件名,建立一个设备节点,也就是:FIFO、字符特殊文件(special file)或者块特殊文件(special file)。
mv
根据所给参数的不同,把文件或者目录移动到另外的目录或者将其改名
nice
修改某个进程的调度优先级
nl
把每个指定文件的内容写到标准输出,在每行加上行号
nohup
使某个命令不被挂起,并将输出重定向到一个日志文件。
od
以数字方式显示指定文件的内容,默认为八进制。
paste
将字段连接在一起,在字段之间自动插入分割符,默认的分割符是 Tab 。
pathchk
检查文件名是否是有效的或者是可移植的
pinky
一个轻量级的 finger 客户端,用来得到某个用户的信息。
pr
将文件分成适当大小的页送到打印机
printenv
显示环境变量
printf
根据给定的参数格式化输出数据,与 C 语言中的该函数相似。
ptx
为指定的文件提供一个排序索引
pwd
显示当前工作目录
readlink
显示指定符号链接的值
rm
删除文件或者目录
rmdir
删除目录(目录必需为空)
seq
以指定的步长输出一个数列
sha1sum
显示或校验 160 位的 SHA1 校验码
shred
安全删除一个文件,重写其占用的磁盘空间,使其无法恢复。
sleep
延迟一段时间
sort
对文件进行排序
split
把文件分成固定大小(字节或行数)的片断
stat
显示文件或者文件系统的状态
stty
改变和显示终端行的设置
sum
显示指定文件的校验和及块数
sync
刷新文件系统缓冲区,使磁盘和内存的数据同步。
tac
逆向显示指定的文件,最后一行在最前。
tail
显示每个指定文件的最后几行(默认是10)。
tee
从标准输入读取数据,输出到标准输出和指定的文件。
test
检查文件类型,以及进行变量的比较。
touch
把参数指定的文件的访问和修改时间改为当前的时间。如果文件不存在,它就建立一个空文件。
tr
从标准输入读入正文,对字符进行转换、压缩或者删除,然后写到标准输出
true
返回一个成功或者逻辑真的结果
tsort
对给定的文件进行拓扑排序
tty
显示标准输出设备连接终端的文件名
uname
打印系统信息
unexpand
把空格符转换成 tab
uniq
抛弃指定文件或者标准输入中内容重复的行
unlink
删除指定文件
users
显示在当前主机登录的用户名
vdir
同 ls -l
wc
统计文件中包含的字节数、单词数、行数
who
显示有哪些用户登录
whoami
打印当前用户的有效用户标志符
yes
重复输出"y"字符,直到被杀死。
Iana-Etc 的内容
/etc/protocols
描述 TCP/IP 子系统可用的各种 Internet 协议。
/etc/services
将 internet 服务映射到一个包含端口号和所使用协议的文本名称。
M4 的内容
M4 能够将宏展开并将输入拷贝到输出。宏可以是内嵌的也可以是用户定义的,并且可以接受很多参数。除了展开宏,m4 还有其它内置的功能,比如包含引用文件、运行 Unix 命令、进行整数运算、文本操作、循环等等。m4 可以被用作一个编译器的前端或作为自身的一个宏处理程序。
Bison 的内容
bison
根据一系列规则来生成一个可以分析文本文件的结构的程序的程序,Bison 是一个替代 Yacc (Yet Another Compiler Compiler) 的语法分析程序生成器。
yacc
一个 bison 的包装,意思是程序仍然调用 yacc 而不是 bison ,它用 -y 选项调用 bison 。
liby.a
acc 库包含与 Yacc 兼容的 yyerror 和 main 函数,这个库通常不是很有用,但是 POSIX 需要它。
Ncurses 的内容
安装的程序: captoinfo(→tic), clear, infocmp, infotocap(→tic), reset(→tset), tack, tic, toe, tput, tset
安装的库: libcursesw.{a,so} (symlink and linker script to libncursesw.{a,so}), libformw.{a,so}, libmenuw.{a,so}, libncurses++w.a, libncursesw.{a,so}, libpanelw.{a,so} and their non-wide-character counterparts without "w" in the library names.
简要描述
captoinfo
将 termcap 描述转化成 terminfo 描述
clear
如果可能,就进行清屏操作
infocmp
比较或显示 terminfo 描述
infotocap
将 terminfo 描述转化成 termcat 描述
reset
重新初始化终端到默认值
tack
terminfo 动作检测器。主要用来测试 terminfo 数据库中某一条目的正确性。
tic
Tic 是 terminfo 项说明的编译器。这个程序通过 ncurses 库将源代码格式的 terminfo 文件转换成编译后格式(二进制)的文件。 Terminfo 文件包含终端能力的信息。
toe
列出所有可用的终端类型,分别列出名称和描述。
tput
利用 terminfo 数据库使与终端相关的能力和信息值对 shell 可用,初始化和重新设置终端,或返回所要求终端为类型的长名。
tset
可以用来初始化终端
libcurses
链接到 libncurses
libncurses
用来在显示器上显示文本的库。一个例子就是在内核的 make menuconfig 进程中。
libform
在 ncurses 中使用表格
libmenu
在 ncurses 中使用菜单
libpanel
在 ncurses 中使用面板
Procps 的内容
安装的程序: free, kill, pgrep, pkill, pmap, ps, skill, slabtop, snice, sysctl, tload, top, uptime, vmstat, w, watch
安装的库: libproc.so
简要描述
free
报告系统中的空闲和已用内存数量(同时包括物理内存和交换内存)
kill
向进程发送消息
pgrep
基于进程名及其属性来查找进程
pkill
依据进程名及其属性向进程发送消息
pmap
报告所告所给定进程的内存映射
ps
显示当前正运行的进程列表
skill
向符合所给标准的进程发送消息
slabtop
实时显示内核 slap 缓冲的详细信息
snice
改变符合所给标准的进程的调度优先权
sysctl
在运行期间修改内核参数
tload
打印当前系统平均负荷曲线图
top
显示使用 CPU 最密集的进程列表,它提供了对实时的处理器行为的实时察看。
uptime
报告系统运行了多久,有多少用户登录,以及系统平均负荷。
vmstat
报告虚拟内存统计,并给出有关处进程、内存、块输入/输出(IO)、陷阱、CPU使用率。
w
显示哪个用户登录,在哪里以及何时登录的。
watch
重复运行所给的命令,以显示输出的第一次满屏,这将允许用户察看随时间变化的输出。
libproc
含有该软件包中大多数程序所需使用的函数
LibLibtool 的内容
安装的程序: libtool, libtoolize
安装的库: libltdl.{a,so}
简要描述
libtool
提供通用的库编译支持。
libtoolize
提供了一种标准方式来将 libtool 支持加入到一个软件包中
libltdl
隐藏 dlopening 库的复杂细节tool 的内容
安装的程序: libtool, libtoolize
安装的库: libltdl.{a,so}
简要描述
libtool
提供通用的库编译支持。
libtoolize
提供了一种标准方式来将 libtool 支持加入到一个软件包中
libltdl
隐藏 dlopening 库的复杂细节
Perl 的内容
安装的程序: a2p, c2ph, dprofpp, enc2xs, find2perl, h2ph, h2xs, instmodsh, libnetcfg, perl, perl5.8.8(→perl), perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man, pod2text, pod2usage, podchecker, podselect, psed(→s2p), pstruct(→c2ph), s2p, splain, xsubpp
安装的库:太多了,有好几百个,无法在这里全部列出!
简要描述
a2p
把 awk 翻译成 Perl
c2ph
显示 cc -g -S 产生的 C 语言结构。
dprofpp
显示 Perl 的 profile 数据。
enc2xs
为 Encode 模块编译 Perl 扩展,用于 Unicode 字符映射或 Tcl 编码文件。
find2perl
将 find 命令翻译成 Perl 代码。
h2ph
将 .h 的C头文件转成 .ph 的perl头文件
h2xs
将 .h 的 C 头文件转成 perl 程序扩展
instmodsh
一个监测安装 Perl 模块的 Shell 脚本,甚至可以从已安装模块中创建压缩包。
libnetcfg
可以用来配置 libnet
perl
综合了 C, sed, awk, sh 特性和能力于一体的强大的编程语言
perl5.8.8
perl 的硬连接
perlbug
生成关于 perl 和相关模块的 bug 报告,并且 mail 给他们。
perlcc
从 perl 程序生成可执行文件
perldoc
显示嵌于 perl 安装目录或者一个 perl 脚本的 .pod 格式的小文档。
perlivp
Perl 安装验证过程,可以用它来验证 Perl 及其库是否安装正常。
piconv
A 是 Perl 版本的字符编码转换程序,类似于 iconv
pl2pm
将 Perl4 样式的 .pl 库文件转化为 Perl5 样式的 .pm 库模块的工具
pod2html
将 pod 格式的文件转为 html 格式
pod2latex
将 pod 格式的文件转为 LaTeX 格式
pod2man
将 pod 数据转为格式化的 *roff 输入
pod2text
将 pod 数据转为格式化的 ASCII 文本
pod2usage
打印文件内嵌的 pod 文档的使用信息
podchecker
检查 pod 格式的文档的语法
podselect
有选择的打印 pod 文档内容到标准输出
psed
是 Perl 版本的流式编辑器,类似于 sed
pstruct
显示 cc -g -S 产生的 C 语言结构
s2p
把 sed 脚本翻译成 Perl 脚本
splain
强制 Perl 输出冗余警告信息
xsubpp
把 Perl XS 代码转换成 C 代码
Readline 的内容
安装的库: libhistory.{a,so}, libreadline.{a,so}
简要描述
libhistory
提供一个统一的调用历史行的用户接口
libreadline
应用于各种需要命令行接口的应用程序的统一的用户接口的辅助程序
Zlib 的内容
安装的库: libz.{a,so}
简要描述
libz
包含很多程序都用到的压缩和解压函数
Autoconf 的内容
安装的程序: autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate, ifnames
简要描述
autoconf
一个产生可以自动配置源代码包,生成shell脚本的工具,以适应各种类 UNIX 系统的需要。autoconf 产生的配置脚本在运行时独立于 autoconf ,因此使用这些脚本的用户不需要安装 autoconf 。
autoheader
能够创建供 configure 脚本使用的 C #define 语句模板文件。
autom4te
一个 M4 宏处理器的包装
autoreconf
当 autoconf 和 automake 的模版文件被改变的时候,以正确的顺序自动运行 autoconf, autoheader, aclocal, span>automake, gettextize, libtoolize 以节约时间。
autoscan
为软件包创建 configure.in 文件。它以命令行参数中指定的目录为根(如果未给定参数则以当前目录为根)的目录树中检查源文件,搜索其中的可移植性问题,为那个软件包创建一个 configure.scan 文件以充当一个预备性的 configure.in 文件。
autoupdate
将 configure.in 文件中 autoconf 宏的旧名称更新为当前名称
ifnames
为一个软件包写 configure.in 文件提供帮助,它打印软件包中那些在 C 预处理器中已经使用了的标识符。如果一个包已经设置成具有某些可移植属性,这个程序能够帮助指出它的 configure 脚本应该如何检查。它可以用来填补由 configure.in 产生的 autoscan 中的隔阂。
Automake 的内容
安装的程序: acinstall, aclocal, aclocal-1.9.6, automake, automake-1.9.6, compile, config.guess, config.sub, depcomp, elisp-comp, install-sh, mdate-sh, missing, mkinstalldirs, py-compile, symlink-tree, ylwrap
简要描述
acinstall
用来安装 aclocal 风格的 M4文件的脚本
aclocal
根据 configure.in 文件的内容,自动生成 aclocal.m4 文件
aclocal-1.9.6
aclocal的硬链接
automake
根据 Makefile.in 文件的内容,自动生成 Makefile.in 文件。在目录的顶层运行该命令,可以为一个包建立所有的 Makefile.in 文件。通过扫描 configure.in 文件,它可以自动找到每一个合适的 Makefile.am 文件并且产生相应的 Makefile.in 文件。
automake-1.9.6
automake的一个硬链接
compile
包装了编译器的脚本
config.guess
用来为特定的 build, host, target 尝试猜测标准的系统名称的脚本
config.sub
配置验证子脚本
depcomp
在编译程序的同时产生其依赖信息的脚本
elisp-comp
按字节编译 Emacs Lisp 代码
install-sh
能安装程序、脚本、数据文件的脚本
mdate-sh
打印程序和目录更改时间的脚本
missing
一个用来填充在安装过程检查出的缺失的 GNU 程序空位的脚本
mkinstalldirs
产生目录树结构的脚本
py-compile
编译 Python 程序
symlink-tree
为整个目录创建符号链接的脚本
ylwrap
包装了 lex 和 yacc 的脚本
Bash 的内容
安装的程序: bash, bashbug, sh(→bash)
简要描述
bash
作为命令行解释器被广泛使用。它能在执行命令前解释非常复杂的命令行参数,这使它成为一个强大的工具。
bashbug
帮助用户用标准格式编写和提交有关 bash 的bug报告的脚本。
sh
指向 bash 的符号连接。当运行 sh 的时候,bash 会尽量模仿老的 sh 历史环境来运行,同时遵循 POSIX 标准。
Bzip2 的内容
安装的程序: bunzip2(→bzip2), bzcat(→bzip2), bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless, bzmore
安装的库: libbz2.{a,so}
简要描述
bunzip2
解压使用 bzip2 压缩的文件
bzcat
解压缩指定的文件到标准输出
bzcmp
对 bzip2 压缩的文件运行 cmp 命令
bzdiff
对 bzip2 压缩的文件运行 diff 命令
bzgrep
对 bzip2 压缩的文件运行 grep 命令
bzegrep
对 bzip2 压缩的文件运行 egrep 命令
bzfgrep
对 bzip2 压缩的文件运行 fgrep 命令
bzip2
使用 Burrows-Wheeler 块排列文本压缩算法和霍夫曼编码来压缩文件。压缩比要大于 gzip 工具使用的基于"Lempel-Ziv"的压缩算法(如 gzip 格式),接近 PPM 统计压缩算法族的压缩比。
bzip2recover
试图从被破坏的 bzip2 文件中恢复数据
bzless
对 bzip2 压缩的文件运行 less 命令
bzmore
对 bzip2 压缩的文件运行 more 命令
libbz2*
利用 Burrows-Wheeler 算法,实现无损块顺序数据压缩的库文件。
Diffutils 的内容
安装的程序: cmp, diff, diff3, sdiff
简要描述
cmp
比较两个文件,并指出它们是否不同及不同的字节。
diff
比较两个文件或目录,并指出哪些文件的哪些行不同。
diff3
逐行比较三个文件
sdiff
合并两个文件,并以交互方式输出结果
E2fsprogs 的内容
安装的程序: badblocks, blkid, chattr, compile_et, debugfs, dumpe2fs, e2fsck, e2image, e2label, filefrag, findfs, fsck, fsck.ext2, fsck.ext3, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, mklost+found, resize2fs, tune2fs, uuidgen.
安装的库: libblkid.{a,so}, libcom_err.{a,so}, libe2p.{a,so}, libext2fs.{a,so}, libss.{a,so}, libuuid.{a,so}
简要描述
badblocks
用来检查设备(通常是硬盘分区)上的坏块
blkid
定位并打印出块设备属性的命令行工具
chattr
在 ext2 和 ext3 文件系统上改变文件属性
compile_et
用来将错误代码(error-code)和相关出错信息的列表 转化为适用于 com_err 库的 C 语言文件
debugfs
文件系统调试器。能用来检查和改变 ext2 文件系统的状态
dumpe2fs
打印特定设备上现存的文件系统的超级块(super block)和块群(blocks group)的信息
e2fsck
用来检查和修复 ext2 和 ext3 文件系统
e2image
将关键的 ext2 文件系统数据保存到一个文件中
e2label
显示或者改变指定设备上的 ext2 文件系统标识
filefrag
报告一个文件的碎片情况
findfs
通过卷标或通用唯一标识符(UUID)寻找文件系统
fsck
用来检查或者修理文件系统
fsck.ext2
默认检查 ext2 文件系统
fsck.ext3
默认检查 ext3 文件系统
logsave
把一个命令的输出保存在日志文件中
lsattr
列出 ext2 文件系统上的文件属性
mk_cmds
将一个包含命令列表的文件转化为适用于子系统库 libss 的 C 源文件
mke2fs
用来创建 ext2 或 ext3 文件系统
mkfs.ext2
默认创建 ext2 文件系统
mkfs.ext3
默认创建 ext3 文件系统
mklost+found
在 ext2 文件系统上创建一个 lost+found 目录,并给该目录预分配磁盘数据块,以减轻 e2fsck 命令的负担。
resize2fs
可以用来增大或缩小 ext2 文件系统
tune2fs
调整 ext2 文件系统的可调参数
uuidgen
创建一个新的通用唯一标识符(UUID)。这个新 UUID 可以被认为是在所有已创建的 UUID 中独一无二的,不论是在本地的系统或者别的系统,过去还是将来。
libblkid
包含设备识别和节点释放的库函数
libcom_err
通用错误显示库
libe2p
用于 dumpe2fs, chattr, lsattr
libext2fs
允许用户级的程序操作 ext2 文件系统
libss
用于 debugfs
libuuid
用来给对象产生通用唯一标识符(UUID)使之可以在本地系统之外引用
File 的内容
安装的程序: file
安装的库: libmagic.{a,so}
简要描述
file
测试每一个指定的文件并且试图对它们进行分类。有三个测试集,按照下面的顺序执行:文件系统测试、幻数(magic number)测试、语言测试。第一个测试成功后会打印文件文件类型。
libmagic
包含产生幻数(magic number)的函数,供file程序使用。
Findutils 的内容
安装的程序: bigram, code, find, frcode, locate, updatedb, xargs
简要描述
bigram
以前用来创建 locate 数据库。
code
以前用来创建 locate 数据库。它是 frcode 的前身。
find
在一个目录和其子目录里面找符合条件的文件
frcode
被 updatedb 调用来压缩文件名列表,它使用的是前端压缩(front-compression),可以减小数据库4到5倍。
locate
扫描一个文件名称数据库,可以列出在数据库中符合条件的文件或者目录。
updatedb
更新 locate 数据库。它会扫描整个文件系统,包括所有挂载的文件系统(除非设定参数禁止),并且把每一个找到的文件和目录放到 locate 数据库里面。
xargs
可以在一系列文件上运行同一个命令
Flex 的内容
安装的程序: flex, lex
安装的库: libfl.a
简要描述
flex
是一个用来生成识别文本的模式程序的工具。模式识别在很多程序中是非常有用,用户设置一些查询规则,然后 flex 可以生成一个查询程序。人们使用 flex 可以比亲自编写查询程序更便捷。
lex
在 lex 仿真模式下运行 flex 的一个脚本
libfl.a
flex 库
GRUB 的内容
安装的程序: grub, grub-install, grub-md5-crypt, grub-set-default, grub-terminfo, mbchk
简要描述
grub
GRUB 的命令解释 shell
grub-install
在指定设备上安装 GRUB
grub-md5-crypt
以 MD5 加密一个密码
grub-set-default
为 Grub 设置默认启动入口
grub-terminfo
从 terminfo 名称产生 terminfo 命令。如果你在一个不常见的终端时,可以使用这个命令。
mbchk
检查多重启动内核的格式
Gawk 的内容
安装的程序: awk(→gawk), gawk, gawk-3.1.5, grcat, igawk, pgawk, pgawk-3.1.5, pwcat
简要描述
awk
指向 gawk 的链接
gawk
awk 的GNU版本,用来管理文本文件的程序。
gawk-3.1.5
gawk 的硬链接
grcat
读取组数据库 /etc/group
igawk
赋予 gawk 包含文件的能力
pgawk
gawk 的概要分析(profiling)版本
pgawk-3.1.5
pgawk 的硬链接
pwcat
/etc/passwd 读取密码数据库
Gettext 的内容
安装的程序: autopoint, config.charset, config.rpath, envsubst, gettext, gettext.sh, gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq, ngettext, xgettext
安装的库: libasprintf.{a,so}, libgettextlib.so, libgettextpo.{a,so}, libgettextsrc.so
简要描述
autopoint
将标准的 gettext infrastructure 文件拷贝到源码包中
config.charset
产生一个依赖于系统的字符编码表
config.rpath
输出依赖于系统的变量,描述如何在可执行程序中设置库文件的实时查找路径。
envsubst
替换 shell 格式化字符串中的环境变量
gettext
通过在消息列表中查找,来将一种自然语言的消息翻译成用户的本地语言
gettext.sh
主要作为一个shell的函数库来为 gettext 服务
gettextize
拷贝所有的标准 Gettext 文件到软件包的顶层目录下,以进行国际化。
hostname
用不同的格式显示一个网络主机名
msgattrib
根据翻译目录中消息的属性过滤它们,并且操作这些属性。
msgcat
将给定的 .po 文件合并到一起
msgcmp
比较两个 .po 文件,看它们是否包含相同的 msgid 字符串
msgcomm
找出不同 .po 文件中的相同信息
msgconv
把一个翻译列表转化成另一种字符编码
msgen
建立一个英文翻译目录
msgexec
对一个翻译列表中的所有翻译执行同一个命令
msgfilter
对一个翻译列表中的所有翻译使用同一个过滤器
msgfmt
从翻译列表生成一个二进制的消息列表
msggrep
将一个翻译列表中的所有符合给定格式或者属于给定源文件的消息展开
msginit
生成一个新的 .po 文件,并使用用户环境中的消息来对这个文件进行初始化。
msgmerge
将两个翻译合并成一个
msgunfmt
将二进制翻译文件反编译成源文件
msguniq
将翻译目录中重复的翻译合并成一个
ngettext
显示依赖于数字格式的文本文件的本国语言翻译
xgettext
从源文件中展开消息行, 用来创建起始翻译模板
libasprintf
定义 autosprintf 类,使 C 的函数以 C++ 程序可使用的结构输出,与 <string> 字符串和 <iostream> 流一起使用。
libgettextlib
包含多个 gettext 程序使用的函数,是私有库
libgettextpo
用来写处理 .po 文件的程序。当 Gettext 自带的标准程序(如 msgcomm, msgcmp, msgattrib, msgen)不能满足要求时,可以使用这个库。
libgettextsrc
包含多个 gettext 程序使用的函数,是私有库。
Grep 的内容
安装的程序: egrep(→grep), fgrep(→grep), grep
简要描述
egrep
打印出匹配扩展正则表达式模式的行
fgrep
对固定字符串列表进行匹配
grep
对基本正则表达式进行匹配
Groff 的内容
安装的程序: addftinfo, afmtodit, eqn, eqn2graph, geqn(→eqn), grn, grodvi, groff, groffer, grog, grolbp, grolj4, grops, grotty, gtbl(→tbl), hpftodit, indxbib, lkbib, lookbib, mmroff, neqn, nroff, pfbtops, pic, pic2graph, post-grohtml, pre-grohtml, refer, soelim, tbl, tfmtodit, troff
简要描述
addftinfo
读取一个 troff 字体文件并增加一些 groff 系统使用的附加点阵字体。
afmtodit
建立同 groff 和 grops 一起使用的字体文件。
eqn
将嵌于 troff 输入文件中的方程描述翻译成 troff 能够理解的命令
eqn2graph
把 EQN 等式转换成反图像
geqn
指向 eqn 的连接
grn
groff 的 gremlin 文件预处理器
grodvi
groff 的产生 TeX dvi 格式的驱动
groff
groff 文档格式系统的前端。通常它调用 troff 程序和对指定设备适用的后处理器
groffer
把 groff 文件和 man 文档显示在 X 和 tty 上
grog
读取文件然后猜测使用 -e, -man, -me, -mm, -ms, -p, -s, -t 中的哪个 groff 参数来打印文件。并把带有这个参数的 groff 命令输出到标准输出。
grolbp
LBP-4 和 LBP-8 激光打印机系列的 groff 驱动
grolj4
产生适用于HP Laserjet4 打印机的 PCL5 格式的 groff 驱动
grops
将 GNU troff 的输出翻译成 PostScript
grotty
将 GNU troff 的标准输出翻译成适合类打字机设备的格式
gtbl
指向 tbl 的连接
hpftodit
使用 groff -Tlj4 从一个 HP-tagged 字体文件中创建 groff 使用的字体文件。
indxbib
建立同 refer, lookbib, lkbib 一起使用的文件的文献数据库的反向列表
lkbib
在文献数据库中搜索包括指定关键字的条目,并将其输出到标准输出
lookbib
打印一个标准错误的提示,除非标准输入不是终端。从标准输入读入关键字搜索在指定文件中的文献数据库中的含有这些关键字的条目,并将结果输出到标准输出。
mmroff
一个简易的 groff 预处理器
neqn
将方程格式化,使其成为适应 ASCII 输出的脚本
nroff
这个脚本用 nroff 命令仿真 groff 命令
pfbtops
将 .pfb 格式的 Postscript 字体翻译成 ASCII 码
pic
将内嵌于 troff 或 TeX 输入文件中的图像编译成 troff 或 TeX 理解的指令
pic2graph
把 PIC 图表转换成反图像
post-grohtml
将GNU troff 的输出翻译成 HTML
pre-grohtml
将GNU troff 的输出翻译成 HTML
refer
将一个文件拷贝到标准输出并丢弃 .[ 和 .] 之间作为引用的内容和在 .R1 和 .R2 之间解释如何处理这些引用的命令
soelim
读取文件将其中的 .so 文件 表格替换为 文件 的内容
tbl
将内嵌于 troff 或者 TeX 输入文件中的表格编译成 troff 或者 TeX 理解的指令
tfmtodit
建立 groff -Tdvi 使用的字体文件
troff
和 Unix 的 troff 高度兼容。一般运行 groff 来调用它,groff 依照合适的顺序并使用合适的参数来执行预处理程序和后处理程序。
Gzip 的内容
安装的程序: compress(→gzip), gunzip(→gzip), gzexe, gzip, uncompress(→gunzip), zcat(→gzip), zcmp, zdiff, zegrep, zfgrep, zforce, zgrep, zless, zmore, znew
简要描述
compress
压缩和解压缩文件
gunzip
解压由 gzip 压缩过的文件
gzexe
将文件压缩成可以自解压的可执行文件
gzip
通过 Lempel-Ziv 编码(LZ77)压缩指定的文件
uncompress
解压由 gzip 压缩过的文件
zcat
将解压缩的数据写到标准输出上
zcmp
在压缩文件上调用 cmp 命令
zdiff
在压缩文件上调用 diff 命令
zegrep
在压缩文件上调用 egrep 命令
zfgrep
在压缩文件上调用 fgrep 命令
zforce
强制性地为每一个 gzip 文件加上 .gz 扩展名,这样gzip 就不会对它们再次进行压缩。这个程序可能在一个文件经过传输后名字被截短的情况下能够派上用场。
zgrep
在压缩文件上调用 grep 命令
zless
在压缩文件上调用 less 命令
zmore
在压缩文件上调用 more 命令
znew
将.Z格式的文件(使用 compress 压缩)转压缩成.gz格式(使用 gzip 压缩)
Inetutils 的内容
安装的程序: ftp, ping, rcp, rlogin, rsh, talk, telnet, tftp
简要描述
ftp
文件传输协议程序
ping
向网络主机发送请求应答包,并报告回复所需的时间。
rcp
远程文件拷贝
rlogin
远程登陆
rsh
运行远程 shell
talk
与另一个用户交谈
telnet
TELNET 协议接口
tftp
小文件传输程序
IPRoute2 的内容
安装的程序: arpd, ctstat(→lnstat), ifcfg, ifstat, ip, lnstat, nstat, routef, routel, rtacct, rtmon, rtpr, rtstat(→lnstat), ss, tc.
简要描述
arpd
用户空间的 ARP 守护进程。用在大型网络中,那里内核空间的 ARP 实现不是很合适;或者是用在设置一个蜜罐。
ctstat
连接状态工具
ifcfg
ip命令的shell脚本包装
ifstat
显示网络接口的统计信息,包括接口发送和接收到的包数量。
ip
主可执行程序,它包含以下几个功能:
ip link 查看和修改设备状态
ip addr 查看地址的特性,添加新地址、删除旧地址。
ip neighbor 查看邻居的特性,添加新邻居、删除旧邻居。
ip rule 查看和修改路由规则
ip route 查看路由表和修改路由表规则
ip tunnel 查看和修改 IP 隧道及其特性
ip maddr 查看和修改多播地址及其特性
ip mroute 设置、修改、删除多播路由
ip monitor 不间断的监视设备状态、地址、路由
lnstat
提供 Linux 网络统计信息,用于替代旧的 rtstat 程序。
nstat
显示网络统计信息
routef
ip route 的一个组件,用于刷新路由表。
routel
ip route 的一个组件,用于列出路由表。
rtacct
显示 /proc/net/rt_acct 文件的内容
rtmon
路由监视工具
rtpr
将 ip -o 的输出转换为可读的格式
rtstat
路由状态工具
ss
类似于 netstat 命令,显示活动的连接。
tc
流量控制,用于实现服务质量(QOS)和服务级别(COS):
tc qdisc 建立排队规则
tc class 建立基于级别的队列调度
tc estimator 估算网络流量
tc filter 设置 QOS/COS 包过滤器
tc policy 设置 QOS/COS 规则
Kbd 的内容
安装的程序: chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, kbd_mode, kbdrate, loadkeys, loadunimap, mapscrn, openvt, psfaddtable(→psfxtable), psfgettable(→psfxtable), psfstriptable(→psfxtable), psfxtable, resizecons, setfont, setkeycodes, setleds, setmetamode, showconsolefont, showkey, unicode_start, unicode_stop
简要描述
chvt
改变前台虚拟终端
deallocvt
重新分配不用的虚拟终端
dumpkeys
显示键盘转换表
fgconsole
显示活动虚拟控制台的数量
getkeycodes
显示内核中扫描码与键盘码的转换表
kbd_mode
设置或显示键盘模式
kbdrate
设置或显示键盘重复和延迟的速度
loadkeys
加载键盘转换表
loadunimap
加载内核的 Unicode 到字体(unicode-to-font)之间的影射表
mapscrn
把用户定义的输出字符影射表加载到控制台驱动器中。注意这个程序已经过时,它实现的功能已经并入 setfont 程序。
openvt
在一个新虚拟终端启动一个程序
psfaddtable
链接到 psfxtable
psfgettable
链接到 psfxtable
psfstriptable
链接到 psfxtable
psfxtable
一套处理控制台字体的 Unicode 字符表的工具
resizecons
让内核改变控制台的大小
setfont
改变控制台的 EGA 或 VGA 字体
setkeycodes
告诉内核的键盘驱动程序在扫描码/键码(scancode-to-keycode)影射表中加入新的影射,当你的键盘上有某些特殊建的时候这个就很有用了。
setleds
设置当前终端键盘的发光二极管(LED)标志
setmetamode
设置键盘的元键(meta key)
showconsolefont
显示当前 EGA / VGA 终端的屏幕字体
showkey
测试键盘发出的扫描码和键码
unicode_start
使控制台进入 UNICODE 模式。在 LFS 系统中从不使用,因为应用程序并未配置为支持 UNICODE 。
unicode_stop
终止控制台的 UNICODE 模式
Less 的内容
安装的程序: less, lessecho, lesskey
简要描述
less
一个文件显示或分页程序。它显示某文件的内容,并可以分卷、寻找字符串、跳转到某一标记。
lessecho
在 Unix 系统中,可以用来扩展元字符,比如 * 和 ?
lesskey
为 less 定义按健
Man-DB 的内容
安装的程序: accessdb, apropos, catman, convert-mans,lexgrog, man, mandb, manpath, whatis, zsoelim
简要描述
accessdb
将 whatis 数据库的内容转储为人类可读形式
apropos
搜索 whatis 数据库,显示包含给定字符串的系统命令的简短描述。
catman
创建或更新预格式化的 manual 页
convert-mans
重新格式化 man 手册页,以使 Man-DB 能够显示它们
lexgrog
显示一行给定 manual 页的摘要信息。
man
格式化并显示请求的 manual 页
mandb
创建或更新 whatis 数据库
manpath
显示 $MANPATH 的内容或在man.conf中设置的搜索路径(如果 $MANPATH 没有设置),以及用户的环境变量。
whatis
搜索 whatis 数据库,显示包含给定关键字的系统命令的简短描述。
zsoelim
读取文件并用提到的 file 的内容来替换 .so file 格式的行。
Mktemp 的内容
安装的程序: mktemp, tempfile
简要描述
mktemp
使用安全性较强的方式创建临时文件,用于脚本中。
tempfile
使用比 mktemp 安全性较弱的方式创建临时文件,但是能够满足向后的兼容性。
Module-Init-Tools 的内容
安装的程序: depmod, generate-modprobe.conf, insmod, insmod.static, lsmod, modinfo, modprobe, rmmod
简要描述
depmod
创建一个可加载内核模块的依赖关系文件,modprobe 用它来自动加载模块。
generate-modprobe.conf
从一个现存的2.2 或者 2.4版本内核的模块设置中创建一个 modprobe.conf 文件
insmod
向正在运行的内核加载模块
insmod.static
insmod 的静态编译版本
lsmod
显示当前已加载的内核模块信息
modinfo
检查与内核模块相关联的目标文件,并打印出所有能得到的信息。
modprobe
利用 depmod 创建的依赖关系文件来自动加载相关的模块
rmmod
从当前运行的内核中卸载模块
Patch 的内容
安装的程序: patch
简要描述
patch
根据一个patch 文件来对文件进行修改。通常情况下,一个 patch 文件是一个差别清单。这个清单用diff程序创建。通过将这些差别应用到原始文件,patch 创建出修订版本。
Psmisc 的内容
安装的程序: fuser, killall, pstree, pstree.x11(→pstree)
简要描述
fuser
报告使用所给文件或文件系统的进程的进程ID(PID)。
killall
通过进程名来终止进程,它发送消息到所有正在运行任意所给指令的进程。
oldfuser
报告使用所给文件或文件系统的进程的进程ID(PID)。
pstree
以目录树的形式显示所有正在运行的进程
pstree.x11
同 pstree ,只是它在退出前要求确认
Shadow 的内容
安装的程序: chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, grpck, grpconv, grpunconv, lastlog, login, logoutd, newgrp, newusers, nologin, passwd, pwck, pwconv, pwunconv, sg(→newgrp), su, useradd, userdel, usermod, vigr(→vipw), vipw
安装的库: libshadow.{a,so}
简要描述
chage
用于设置必须对密码进行更改的最大间隔天数
chfn
用于对用户的全名及其他信息进行修改
chgpasswd
用于对一整个系列的组账号密码进行更新
chpasswd
用于对一整个系列的用户账号密码进行更新
chsh
用于更改一个用户的默认的登录 shell
expiry
检查并加强当前的密码过期策略
faillog
用于检查记录登录失败的日志,或是设置账户在被锁定前最大的登录失败次数,亦可用于重置登录失败的次数。
gpasswd
用来增加和删除组中的成员和管理员
groupadd
用指定的名称建一个组
groupdel
删除指定名称的组
groupmod
用来修改所指定组的名称或 GID
grpck
校验组文件 /etc/group 和 /etc/gshadow 的完整性
grpconv
从正常组文件中创建或更新一影子组文件
grpunconv
从 /etc/gshadow 更新 /etc/group 并将前者删除
lastlog
报告最近的所有用户的登录或是所指定用户的登录
login
被系统用来允许用户进行登录
logoutd
一个后台程序,用来加强对登录时间和端口进行限制
newgrp
用来在登录会话期间对当前的 GID 进行修改
newusers
用来对一整个系列的用户账户进行创建或更新
nologin
显示一个账户不可用的信息,被设计用来作为那些不准登录的账户的默认 shell。
passwd
用来对一个用户或组账户进行密码修改
pwck
校验密码文件 /etc/passwd 和 /etc/shadow 的完整性
pwconv
从一个正常的密码文件中创建或更新一影子密码文件
pwunconv
从 /etc/shadow 更新 /etc/passwd 并删除前者
sg
当一个用户的 GID 被设置到所给的组时执行所指定的命令
su
用另一个用户和组ID来运行一个 shell
useradd
用所给名称建立一个新的用户或更新默认新用户的信息
userdel
删除所指定的用户账户
usermod
用来更改所给用户的登录名、用户标识(UID)、shell、最初组、主目录等
vigr
编辑 /etc/group 或 /etc/gshadow 文件
vipw
编辑 /etc/passwd 或 /etc/shadow 文件
libshadow
包含了本包中大部分程序所用到的函数
Sysklogd 的内容
安装的程序: klogd, syslogd
简要描述
klogd
一个系统守护进程,截获并且记录下 LINUX 内核日志信息。
syslogd
记录下系统里所有提供日志记录的程序给出的日志和信息内容。每一个被记录的消息至少包含时间戳和主机名(通常还包括程序名)。
Sysvinit 的内容
安装的程序: bootlogd, halt, init, killall5, last, lastb(→last), mesg, mountpoint, pidof(→killall5), poweroff(→halt), reboot(→halt), runlevel, shutdown, sulogin, telinit(→init), utmpdump, wall
简要描述
bootlogd
把启动信息记录到一个日志文件
halt
正常情况下等效于 shutdown 加上 -h 参数(当前系统运行级别是 0 时除外)。它将告诉内核去中止系统,并在系统正在关闭的过程中将日志记录到 /var/log/wtmp 文件里。
init
当内核已经初始化硬件,接管引导程序,开启指令线程时,init 会被第一个启动。
killall5
发送一个信号到所有进程,但那些在它自己设定级别的进程将不会被这个运行的脚本所中断。
last
给出哪一个用户最后一次登录(或退出登录),它搜索 /var/log/wtmp 文件,出给出系统引导、关闭、运行级别改变等信息。
lastb
给出登失败的尝试,并写入日志 /var/log/btmp
mesg
控制是否允许其他用户也有向系统所有用户发送信息的权限
mountpoint
检查给定的目录是否是一个挂载点
pidof
报告给定程序的PID号
poweroff
告诉内核中止系统并且关闭系统(参见 halt)
reboot
告诉内核重启系统(参见 halt)
runlevel
告前一个和当前的系统运行级别,并且将最后一些运行级别写入 /var/run/utmp
shutdown
使系统安全关闭,向所有线程发送关闭信号并且通知所有已经登录的系统用户系统即将关闭。
sulogin
允许 root 登录,它通常情况下是在系统在单用户模式下运行时,由 init 所派生。
telinit
告诉 init 将切换到那一个运行级
utmpdump
以一个多用户友好的方式列出已经给出的登录文件的目录
wall
向所有已经登录的用户写入一个信息
Tar 的内容
安装的程序: rmt, tar
简要描述
rmt
通过一个 Internet 连接线程实施远程操作一个磁带驱动器
tar
从压缩档案里创建和解压文件,也可理解为压缩包(tarball)。
Texinfo 的内容
安装的程序: info, infokey, install-info, makeinfo, texi2dvi, texi2pdf, texindex
简要描述
info
用于读取 Info 文档,它类似于 man 手册页,但是他们会给出更深入的解释而不是停留在解释程序参数上。例如你可以看看 man bison 和 info bison 的区别。
infokey
把包括 Info 设置的源文件编译成二进制格式
install-info
安装 info 文档,它会更新 info 的索引文件
makeinfo
将 Texinfo 源文档翻译成不同的格式,包括html、info文档、文本文档。
texi2dvi
把给定的 Texinfo 文档格式化成可打印的设备无关的文件
texi2pdf
将 Texinfo 文档转化成 PDF 文件
texindex
对 Texinfo 索引文件进行排序
Udev 的内容
安装的程序: ata_id, cdrom_id, create_floppy_devices, edd_id, firmware_helper, path_id, scsi_id, udevcontrol, udevd, udevinfo, udevmonitor, udevsettle, udevtest, udevtrigger, usb_id, vol_id, write_cd_aliases
安装的目录: /etc/udev
简要描述
ata_id
为 Udev 提供关于 ATA 驱动器的一个唯一的字符串和一些附加信息(uuid,label等)
cdrom_id
为 Udev 提供 CD-ROM 或 DVD-ROM 驱动器的性能
create_floppy_devices
创建所有可能的 CMOS 类型的 floppy 设备
edd_id
为 Udev 提供关于 BIOS 磁盘驱动器的 EDD ID
firmware_helper
为设备加载 firmware
path_id
提供设备的最短的唯一的硬件路径
scsi_id
根据向特定设备发送SCSI INQUIRY命令的返回信息,为 Udev 提供一个唯一的 SCSI 标识符
udevcontrol
为运行 udevd 守护进程,配置一些选项。比如,log level。
udevd
一个守护进程,侦听热插拔事件,并针对事件,创建设备,运行配置好的外部程序。
udevinfo
允许用户查询 udev 数据库以得到当前这个系统上所有设备的信息,它也提供一种方式去查询任何设备在 sysfs 树里去帮助创建 Udev 规则。
udevmonitor
打印出从Udev的规则运行之后,收到的内核事件和 Udev 发出的环境变量。
udevsettle
监视 Udev 的事件队列,如果当前热插拔事件被处理完就立即退出。
udevtest
模拟一个 udev 为那些给定的设备,并且打印出真实节点的名称 udev 可能已经被创建或者(不在LFS中)被重命名的网络接口。
udevtrigger
重新切换到内核空间的热插拔事件处理
usb_id
为 Udev 提供关于 USB 设备的信息
vol_id
为 Udev 提供一个文件系统的 label 和 uuid
/etc/udev
包含 udev 配置文件、设备许可、设备命名规则。
Util-linux 的内容
安装的程序: agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt, colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk, flock, fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize, line, logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, namei, pg, pivot_root, ramsize(→rdev), raw, rdev, readprofile, rename, renice, rev, rootflags(→rdev), script, setfdprm, setsid, setterm, sfdisk, swapoff(→swapon), swapon, tailf, tunelp, ul, umount, vidmode(→rdev), whereis, write
简要描述
agetty
打开 tty 端口,为登录名称建立命令控制符,并引出 login 程序
arch
报告机器的体系结构
blockdev
在命令行中调用块设备的 ioctl
cal
显示一个简单的日历
cfdisk
处理指定设备的分区表
chkdupexe
找出重复的可执行文件
col
过滤回显反馈线
colcrt
过滤那些 nroff 终端不具备输出的能力,比如高分点距、半线距
colrm
过滤掉给出的列
column
把输出格式化为几列
ctrlaltdel
设置 CTRL+ALT+DEL 组合键的功能为硬重启或软重启
cytune
查询和修改 Cyclade 驱动器的中断入口
ddate
把阳历日期转换为 Discordian 日期
dmesg
显示内核的启动信息
elvtune
调整块设备的相互作用和性能
fdformat
低级格式化一张软盘
fdisk
磁盘分区管理程序
flock
得到一个文件锁,并根据状态执行一个命令
fsck.cramfs
对 Cramfs 文件系统的一致性进行检查
fsck.minix
对 Minix 文件系统的一致性进行检查
getopt
在给出的命令行进行选项和参数解析
hexdump
用用户指定的方式(包括ASCII, 十进制, 十六进制, 八进制)显示一个文件或者标准输入的数据
hwclock
查询和设置硬件时钟(也被称为 RTC 或 BIOS 时钟)
ipcrm
删除给定的进程间通信(IPC)资源
ipcs
提供 IPC 状态信息
isosize
报告 iso9660 文件系统的大小
line
单行拷贝
logger
设置系统日志的入口
look
显示以某个给定字符串开头的行
losetup
启动和控制回环(loop)设备
mcookie
为 xauth 生成 magic cookies (128位的随机16进制数)
mkfs
在一个设备(通常是一个硬盘分区)设备上建立文件系统
mkfs.bfs
创建一个 Santa Cruz Operations (SCO) bfs 文件系统
mkfs.cramfs
创建 cramfs 文件系统
mkfs.minix
创建 Minix 文件系统
mkswap
初始化指定设备或文件,以用做交换分区
more
分屏显示文件,但没有 less 好用
mount
把一个文件系统从一个设备挂载到一个目录
namei
显示指定路径的符号链接
pg
显示文本文件内容,一次显示一屏
pivot_root
使某个文件系统成为当前进程的根文件系统
ramsize
显示或者改变 RAM disk 的大小
raw
将一个原始的 Linux 字符设备绑定到一个块设备
rdev
查询和设置内核的根设备和其他信息
readprofile
显示内核侧写文件 /proc/profile 的信息
rename
对文件进行重命名
renice
修改正在运行进程的优先级
rev
颠倒一个文件每行字符的顺序
rootflags
在挂载根设备时查询和设置额外的信息
script
为终端会话过程建立一个 typescipt 文件,记录会话过程中终端的输出。
setfdprm
设置用户定义的软盘参数
setsid
在一个新的会话中运行程序
setterm
设置终端属性
sfdisk
磁盘分区表管理工具
swapoff
取消对指定交换设备和交换文件的使用
swapon
使指定的交换设备和交换文件生效
tailf
跟踪一个日志文件,显示日志的最后10行,并将日志中新的记录也显示出来。
tunelp
设置打印设备的参数
ul
用来将指定文件中出现的下划线使用指定终端画下横线的序列
umount
卸载一个被挂载的文件系统
vidmode
查询和设置视频模式
whereis
确定某命令二进制文件、源文件、手册文档的位置
write
发一个消息给另一个用户,如果他开启了 writting 的话。
Vim 的内容
安装的程序: efm_filter.pl, efm_perl.pl, ex(→vim), less.sh, mve.awk, pltags.pl, ref, rview(→vim), rvim(→vim), shtags.pl, tcltags, vi(→vim), view(→vim), vim, vim132, vim2html.pl, vimdiff(→vim), vimm, vimspell.sh, vimtutor, xxd
简要描述
efm_filter.pl
能读取 vim 产生的错误的一个过滤器
efm_perl.pl
将 perl 解释器的错误信息重新格式化以用于 vim 的"quickfix"模式。
ex
以 ex 模式启动 vim
less.sh
用 less.vim 起动 vim 的脚本
mve.awk
处理 vim 错误信息
pltags.pl
为 Perl 代码建立一个标记文件,以用于 vim
ref
检查参数的拼写错误
rview
一个 view 的限制版,它不能启动任何 shell 命令并且 view 不能被挂起。
rvim
一个 vim 的限制版。它不能启动任何 shell 命令并且 vim 不能被挂起。
shtags.pl
为 perl 代码产生一个标志文件
tcltags
为 TCL 代码产生一个标志文件
view
以只读模式启动 vim
vi
vim 的一个链接
vim
编辑器
vim132
在132列模式下的终端中起动 vim
vim2html.pl
将 vim 文档转化为 HTML 格式
vimdiff
使用 vim 同时编辑一个文档的 2 或 3 个版本并显示他们的区别使用 vim 同时编辑一个文档的 2 或 3 个版本并显示他们的区别
vimm
在一个远端终端上开启 DEC 定位输入模式
vimspell.sh
检查文件拼写并产生一个需要在 vim 中强调的语法报告。这个脚本需要 LFS 和 BLFS 都不提供的旧的 Unix spell 命令
vimtutor
教你使用 vim 的基本操作和命令
xxd
生成十六进制转储或者做相反的工作,因此它能给二进制文件打补丁。
我保留了调试连,打包了TOOLS内的文件,并存在了宿主系统的根目录,然后删除了LFS系统TOOLS文件夹。
到这里第6章就完事了,总算他妈的过了,喝酒庆祝!!!!
下面开始第七章
7.2.2. Contents of LFS-Bootscripts
Installed scripts: checkfs, cleanfs, console, functions, halt, hotplug, ifdown, ifup, localnet, mountfs, mountkernfs, network, rc, reboot, sendsignals, setclock, static, swap, sysklogd, template, udev
简要描述
checkfs
在挂载之前检查文件系统完整性(日志文件系统和基于网络的文件系统除外)
cleanfs
删除系统重启后就不需要保存了的文件,例如在 /var/run/ 和 /var/lock/ 目录下的文件;重新创建 /var/run/utmp 文件并删除可能存在的 /etc/nologin, /fastboot, /forcefsck 文件。
console
为指定的键盘布局读入正确的键盘映射表,并设置屏幕字体。
functions
包含在不同脚本中共用的一些函数,例如错误和状态检查函数。
halt
关闭系统
hotplug
为系统设备加载模块
ifdown
协助 network 脚本停止网络设备
ifup
协助 network 脚本启动网络设备
localnet
设置系统主机名和本地回环(loopback)设备
mountfs
挂载所有文件系统,有 noauto 标记或者基于网络的文件系统除外。
mountkernfs
用来挂载内核提供的文件系统,例如 proc
network
设置网络连接,例如网卡等;并设置默认网关(如果可用) 。
rc
主要的运行级控制脚本,负责让所有其它脚本按符号链接名确定的顺序一个接一个的运行。
reboot
重新启动系统
sendsignals
在系统重启或关闭系统之前,确保每一个进程都已经终止了。
setclock
如果硬件时钟没有设置为 UTC 时间,将内核时钟重置为本地时间。
static
提供为网络接口指派静态 IP 地址的功能
swap
启用或禁用交换文件和交换分区
sysklogd
启动或停止系统和内核日志守护进程
template
为其它守护进程创建自定义启动脚本的模板
udev
启动 udev 并在 /dev 目录创建设备节点
一些常用配置已经完毕,大多数的网络信息和主机信息我都作成了www.vip8.org和musicyxy
进入第8章!!!
我晕!!!!!
刚才编译内核居然出错!!
Bus option:
PCI PCMCIA EISA MCA ISA
NETWORK:
IPV6 protocol
802.1Q VLAN Support
WAN router
the TPX protocol
Generic IEEE 802.11 Networking Stack
Device Drive:
ATA/ATAPI/MFM/RLL
Linux 的内容
安装的文件: config-2.6.16.27, lfskernel-2.6.16.27, System.map-2.6.16.27
简要描述
config-2.6.16.27
包含所有内核配置选择后的项
lfskernel-2.6.16.27
Linux 系统的引擎。当启动计算机时,内核是操作系统装载的第一个部分,它检测并初始化所有的电脑硬件的组件,然后将这些设备以文件树的形式存放使得其它软件可以访问,并且能让单个 CPU 成为多任务处理机器能力,可以同时运行许多程序。
System.map-2.6.16.27
显示地址和符号的文件;它映射内核里所有函数和数据结构的入口和地址。
页:
[1]