LFS 学习日记(第五章构建临时系统之 Ncurses 至 Gettext )

2010年07月02日 星期五
http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/ncurses.html
5.14. Ncurses-5.7

translation: The Ncurses package contains libraries for terminal-independent handling of character screens. ( Ncurses 程序包提供与终端无关的字符屏幕处理库。 )

测试和组成部分的学习放在第六章进行。

2010年07月03日 星期六
http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/bash.html
5.15. Bash-4.1
配置的关键是禁用它自身的内存分配函数,它将使用 glibc 的。

http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/coreutils.html
5.17. Coreutils-8.4

The above command refuses to install su because the program cannot be installed setuid root as a non-privileged user.
因为这时执行安装的是非root用户,安装 su 时必须是设置成root的setuid。

translation: By manually installing it with a different name, we can use it for running tests in the final system as a non-privileged user and we keep a possibly useful su from our host first in our PATH.

部分不清楚的命令学习:
comm 比较的两个内容排序了的文件,如文件的行的内容依次是(每行一个数字): 1,3,33,4,455,5...
csplit 分割文件,如: csplit filename 3 将 把一个文件分成两个文件 xx00 和 xx01 ,xx00 包含1、2行,xx01 包含 3 及以后的行。同时在标准输出设备上(屏幕)输出每个文件的字节数
expand 转换文件中的 Tab 为空格
factor 批量质数因子计算

2010年07月05日 星期一

todo: coreutils 部分不清楚的命令:
dircolors expr mkfifo nohup printf pathchk paste ptx runcon stdbuf sum timeout test tr tsort uniq

http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/diffutils.html
5.18. Diffutils-2.8.1

todo: 不清楚的命令 sdiff

lfs:/mnt/lfs/sources/ncurses-5.7$ time { ./configure --prefix=/tools --with-shared     --without-debug --without-ada --enable-overwrite && make && make install; }

real    1m8.422s
user    0m42.575s
sys    0m46.951s

question: This package has a test suite, but it can only be run after the package has been installed. 哪里说的?为什么?

lfs:/mnt/lfs/sources/bash-4.1$ time { ./configure --prefix=/tools --without-bash-malloc && make && make install; }

real    0m52.309s
user    0m27.534s
sys    0m36.794s

lfs:/mnt/lfs/sources/bzip2-1.0.5$ time { make && make PREFIX=/tools install; }

real    0m1.970s
user    0m3.012s
sys    0m0.760s

lfs:/mnt/lfs/sources/coreutils-8.4$ time { ./configure --prefix=/tools --enable-install-program=hostname && make && make install; }

real    1m22.929s
user    0m42.627s
sys    1m0.244s

lfs:/mnt/lfs/sources/diffutils-2.8.1$ time { ./configure --prefix=/tools && make && make install; }

real    0m16.514s
user    0m5.416s
sys    0m13.317s

http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/findutils.html
5.19. Findutils-4.4.2
命令 locate 快速定位已经被updatedb更新过的文件数据库,对从不改变的比如系统文件的搜索应该很好
todo: 命令 xargs 的详细用法

lfs:/mnt/lfs/sources/findutils-4.4.2$ time { ./configure --prefix=/tools && make && make install; }

real    0m46.359s
user    0m15.081s
sys    0m33.894s

http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/gawk.html
5.20. Gawk-3.1.7

lfs:/mnt/lfs/sources/gawk-3.1.7$ time { ./configure --prefix=/tools && make && make install; }

real    0m41.964s
user    0m18.677s
sys    0m30.818s

todo: 需要时学习 gawk 的使用,及命令 igawk, pgawk 的使用

http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/gettext.html
5.21. Gettext-0.17

make -C gnulib-lib 操作前先切换到目录 gnulib-lib,即相当于 cd gnulib-lib && make

lfs:/mnt/lfs/sources/gettext-0.17/gettext-tools$ time { ./configure --prefix=/tools --disable-shared && make -C gnulib-lib && make -C src msgfmt && cp -v src/msgfmt /tools/bin; }

real    1m32.884s
user    0m44.227s
sys    1m35.354s

todo: 需要时学习 gettext 的使用,及命令 ngettext, xgettext 等的使用