第七章 临时系统的创建(下)

来源:互联网 发布:javascript 模块 知乎 编辑:程序博客网 时间:2024/05/29 07:35

14.文本流编辑工具  sed-4.1.5

  • sed 软件包中包含一个文本流编辑器 sed , 许多软件的配置、编译和安装过程都会用到 sed 命令,将其作为临时系统的一部分进行安装

tar xvf /lfs-sources/sed-4.1.5.tar.gzcd sed-4.1.5./configure --prefix=/toolsmakemake installcd ..rm -rf sed-4.1.5


15.文件打包工具   tar-1.18

  • 大量的软件包都是使用 tar 进行打包,安装 tar 命令用于软件包的还原工作

tar xvf /lfs-sources/tar-1.18.tar.bz2cd tar-1.18./configure --prefix=/toolsmakemake installcd ..rm -rf tar-1.18


16.信息阅读工具   texinfo-4.9

  • texinfo 软件包包含读取、写入、转换 info 文档的程序,可用于生成 info 文件

tar xvf /lfs-sources/texinfo-4.9.tar.bz2cd texinfo-4.9./configure --prefix=/toolsmakemake installcd ..rm -rf texinfo-4.9


17.util-linux-2.12r

tar xvf /lfs-sources/util-linux-2.12r.tar.bz2cd util-linux-2.12rsed -i 's@/usr/include@/tools/include@g' configure./configuremake -C libmake -C mount mount umountmake -C text-utils morecp -v mount/{,u}mount text-utils/more /tools/bincd ..rm -rf util-linux-2.12r


18.清理临时系统   stripping

  • 完成了上面各个软件包的编译安装后,临时系统就算搭建完成了,现在的任务是精简下临时系统。跳过这个步骤并不会对后续的制作过程有任何影响

strip --strip-debug /tools/lib/*strip --strip-unneeded /tools/{,s}bin/*
rm -rf /tools/{info,man}

  • strip --strip-debug /tools/lib/*   清除函数库文件中的多余信息。 /tools/lib 中包含了共享库和静态库,共享库可以完全清除非运行所需要的编译信息,而静态链接库在静态链接时还需要一些编译信息,如果完全清除掉所有编译信息则无法进行静态链接,这里使用  --strip-debug将调试信息清除而保留链接静态库所需要的其他信息。 strip 命令只能处理二进制的程序文件
  • strip --strip-unneeded /tools/{,s}bin/*    清除命令文件中的多余信息。在 /tools/bin 和 /tools/sbin 中有许多命令文件,这些命令文件不需要包括调试信息在内的任何非运行所需要的信息, 使用  --strip-unneeded可以将所有与正常运行无关的信息从执行文件中删除
  • rm -rf /tools/{info,man}  删除系统中各种不需要的帮助说明手册,该步骤可以节省几十MB的磁盘空间

19. 退出临时系统制作用户

  • 临时系统制作完成后,就可以准备用这个临时系统来制作目标系统,现在已经不需要使用临时系统的制作用户了,切换到临时系统飞过程需要使用 root 用户来完成,并且在临时系统中将以 root 用户的身份进行所有的制作工作

exit




原创粉丝点击