一个技术博客
随笔- 12  文章- 1  评论- 0 
博客园  首页  新随笔  联系  管理  订阅 订阅
2012年5月25日
结构

分为以下几个部分

第一部分——介绍Part I - Introduction

第一部分中介绍了一些LFS安装过程中的重要说明。本节也提供了一些本书的元信息。

第二部分——准备工作Part II - Preparing for the Build

第二部分介绍构建准备过程——分区、下载包、编译过程工具。

第三部分——构建LFS系统Part III - Building the LFS System

第三部分指导读者构建LFS系统——一个一个的编译安装包,设置启动脚步,安装内核。成果系统是其他软件可以扩展的基础。最后,有一个简单的使用参考列出所有程序、库和重要的已安装文件。

posted @ 2012-05-25 15:18 超越了 阅读(3) 评论(0) 编辑
排版

为了易于阅读,这里做一些排版约定。本节包含了一些LFS中排版格式的例子。

./configure --prefix=/usr

这种格式说明文本就是你看到那个意思,除非周围有注明。同时也注明章节中的引用。

一些情况下,一个逻辑行分为多个物理行,行尾用一个反斜杠。

CC="gcc -B/usr/bin/" ../binutils-2.18/configure \  --prefix=/tools --disable-nls --disable-werror

需注意这个反斜杠紧跟一个回车。否则空格或制表符将产生不正确的结果。

install-info: unknown option '--dir-file=/mnt/lfs/usr/info/dir'

这种格式 (fixed-width text) 表示屏幕输出, 通常是命令行结果. 此格式通常也用于显示文件,例如:/etc/ld.so.conf.

Emphasis

这种格式有多种目的。一个主要目的是表示强调重点。

http://www.linuxfromscratch.org/

这种格式用于超链接。包含知识、下载地址和网站。

cat > $LFS/etc/group << "EOF"root:x:0:bin:x:1:......EOF

这种格式用于创建配置文件。第一个命令告诉系统创建文件从下面的命令直到文件结束。因此,这整段就是和看到的一样。

<REPLACED TEXT>

这种格式用于不是表达括号内看到的意思,而是复制粘贴操作。

[OPTIONAL TEXT]

这种格式说明括号内的文本是可选的。

passwd(5)

这种格式用于引用指定的手册页。括号内的数字用于说明手册内的章节。例如,passwd有两个手册页。对于每隔LFS安装,这两个手册页就位于 /usr/share/man/man1/passwd.1 和/usr/share/man/man5/passwd.5.。当使用 passwd(5)时就指向/usr/share/man/man5/passwd.5. man passwd 将打印第一个手册页。和 “passwd”匹配, 就是/usr/share/man/man1/passwd.1.如果,你需要读指定的页,你需要运行 man 5 passwd。 It需要指出的是大多数手册页没有重复的名字存在不同的章节中。因此, man <program name> 已经足够了。

posted @ 2012-05-25 15:17 超越了 阅读(4) 评论(0) 编辑
2012年2月27日
先决条件
构建LFS系统不是一个简单的任务。为了解决问题和正确执行命令列表,需要掌握一定的Unix系统管理知识。少部分时候,你应该可以使用命令行拷贝、移动文件和目录,列出文件或目录的内容,修改当前目录。也需要具备正确安装使用Linux软件的知识。

因为LFS假设你至少掌握这些基本知识,各种LFS支持论坛不太可能在这些领域给你提供太多的帮助。你会发现你对这些基础知识的疑问一般得不到回答,或者你可以简单的参考一下LFS基本的课前阅读物。


构架LFS系统前,我们建议阅读以下基础知识读物:
Before building an LFS system, we recommend reading the following HOWTOs:

  • 软件构建知识Software-Building-HOWTO http://www.tldp.org/HOWTO/Software-Building-HOWTO.html

    在Linux下构建一般Unix软件的综合性指南。虽然是很久以前写的,但是它仍然很好的总结了构建和安装软件的基本技术。
  • Linux用户手册The Linux Users' Guide http://www.linuxhq.com/guides/LUG/guide.html

    覆盖了Linux软件的使用。老资料了,也依然有效。

  • 基础阅读?The Essential Pre-Reading Hint http://www.linuxfromscratch.org/hints/downloads/files/essential_prereading.txt

    特别适用Linux新用户。包含一个广泛课题的优秀的信息源列表。任何尝试安装LFS系统的人应该理解其中的大部分课题。

posted @ 2012-02-27 00:46 超越了 阅读(11) 评论(0) 编辑
宿主系统要求

宿主系统应该遵从下面这些软件的最低版本要求。这对于现在大多数Linux发行版都不是一个问题。需要注意的是很多发行版将软件的头文件分散的不同的包,例如这种形式:“<package-name>-devel” 或 “<package-name>-dev”。请确保你的发行版安装了这些东西。

早期版本的软件也许可以工作,但是没有经过测试。

  • Bash-3.2 (/bin/sh bash的符号链接或者硬链接)

  • Binutils-2.17 (不推荐大于2.21的版本,因为没有测试过)

  • Bison-2.3 (/usr/bin/yacc bison的链接或一个执行bison的小脚步n)

  • Bzip2-1.0.4

  • Coreutils-6.9

  • Diffutils-2.8.1

  • Findutils-4.2.31

  • Gawk-3.1.5 (/usr/bin/awk gawk的链接)

  • Gcc-4.1.2 (不推荐大于4.6.1的版本,因为没有测试过)

  • Glibc-2.5.1 (不推荐大于2.14.1的版本,因为没有测试过)

  • Grep-2.5.1a

  • Gzip-1.3.12

  • Linux Kernel-2.6.25 (用GCC 4.1.2或以上版本编译)

    内核版本需求是因为第6章构建glibc中开发人员建议我们提到的版本要求。

    如果内核版本低于2.6.25或者不是使用GCC4.1.2或以上版本编译,你需要一个符合要求的内核替代。 这里有两种方法。首先,看看你的Linux发行商是否提供2.6.25或更高版本的内核,如果是,你可以安装这个发行版。如果发行商没有提供一个可接收的内核,你可以自己编译一个。第8章指导你如何编译内核和配置引导程序(假设宿主使用GRUB)。

  • M4-1.4.10

  • Make-3.81

  • Patch-2.5.4

  • Perl-5.8.8

  • Sed-4.1.5

  • Tar-1.18

  • Texinfo-4.9

  • Xz-5.0.3

上面提到的符号链接需要用来构建LFS系统。符号链接指向其他软件(如:dash、mawk等)可以工作,但是LFS开发组不提供测试和支持,可能需要一些差异说明,有些包需要附加的补丁。

检测你的系统是否符合版本要求,是否可以编译程序,运行如下代码:

cat > version-check.sh << "EOF"#!/bin/bashexport LC_ALL=C# Simple script to list version numbers of critical development toolsbash --version | head -n1 | cut -d" " -f2-4echo "/bin/sh -> `readlink -f /bin/sh`"echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-bison --version | head -n1if [ -e /usr/bin/yacc ];  then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";   else echo "yacc not found"; fibzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6-echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2diff --version | head -n1find --version | head -n1gawk --version | head -n1if [ -e /usr/bin/awk ];  then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`";   else echo "awk not found"; figcc --version | head -n1/lib/libc.so.6 | head -n1 | cut -d"," -f1grep --version | head -n1gzip --version | head -n1cat /proc/versionm4 --version | head -n1make --version | head -n1patch --version | head -n1echo Perl `perl -V:version`sed --version | head -n1tar --version | head -n1echo "Texinfo: `makeinfo --version | head -n1`"xz --version | head -n1echo 'main(){}' > dummy.c && gcc -o dummy dummy.cif [ -x dummy ]; then echo "Compilation OK";  else echo "Compilation failed"; firm -f dummy.c dummyEOFbash version-check.sh

posted @ 2012-02-27 00:46 超越了 阅读(11) 评论(0) 编辑
LFS中各程序包的作用
像先前陈述的哪样,LFS的目标是构建一个完整可用的基本系统。这包含用户选择定制的完整系统所有相对小的基本包。这并是不说LFS可能是最小系统。一些重要的包并不是确实需要。下文列出的是本书中每个包的解释。


  • Autoconf

    这个包包含了根据开发人员模版产生的shell脚本可以自动配置源码。通常需要重新构建包在更新了构建过程后。
  • Automake

    这个包包含从模版生成Make file的程序。通常需要重新构建包在更新了构建过程后。
  • Bash

    这个包满足Linux基础标准的核心需求,为系统提供一个Bourne Shell的界面。作为其他Shell包之上的选择是因为他的通用性和广泛的兼容性超越了基本的shell功能。
  • Binutils

    这个包是处理目标文件的连接器、汇编器和其他工具。包里的程序需要用来编译LFS和BLFS系统的大部分包。
  • Bison

    这是GNU版本的 yacc (Yet Another Compiler Compiler) 用来编译一些LFS程序。

  • Bzip2

    压缩和解压缩程序。用来解压很多LFS包。

  • Coreutils

    查看操作文件和目录的基本程序包。用于命令行文件管理,也用作LFS每个包的安装过程。
  • DejaGNU

    测试其他程序的框架。仅在临时工具链安装。
    This package contains a framework for testing other programs. It is only installed in the temporary toolchain.
  • Diffutils

    比较文件或目录的差异。用来创建补丁,也用在很多包的构建过程中。
  • Expect

    这是一个程序进行脚本与交互程序对话的程序。它通常用于测试其它程序装。只有安装在临时工具链。
  • E2fsprogs

    用于处理ext2,ext3,ext4文件系统的工具集。是常规和彻底测试Linux支持的文件系统。
  • File

    判断文件类型的工具集。用来编译一些包。
  • Findutils

    在文件系统中查找文件。用于很多包的编译脚本。
  • Flex

    生成文本模式识别程序的工具。是GNU版本的lex(词法分析器)程序。用来编译很多LFS包。
  • Gawk

    用于处理文本文件。是GNU版本的awk (Aho-Weinberg-Kernighan)。用于很多包的编译脚本。
  • Gcc

    GNU的编译器集合。包含C和C++编译器。
  • GDBM

    GNU的数据库管理库。用于Man-DB。
  • Gettext

    用于本地化和国际化的工具和库。

  • Glibc

    主要的C库。Linux程序运行必须。
  • GMP

    任意精度算法的很有用的数学库。用来编译Gcc。
  • Grep

    在文件中进行查找的程序。用于很多包的编译脚本。
  • Groff

    用于处理和格式化文本。一个重要的用处是用于格式化手册页。
  • GRUB

    Grand Unified Boot Loader。众多引导程序中的一个,也是最灵活的。
  • Gzip

    压缩和解压缩文件的程序。用于LFS和BLFS中解压很多包。
  • Iana-etc

    提供网络服务和协议的数据。用于启动网络功能。
    This package provides data for network services and protocols. It is needed to enable proper networking capabilities.
  • Inetutils

    基本网络管理的程序。
  • IProute2

    基本和高级功能的IPv4、IPv6程序。用于支撑其他网络工具包的IPv6功能。
    This package contains programs for basic and advanced IPv4 and IPv6 networking. It was chosen over the other common network tools package (net-tools) for its IPv6 capabilities.
  • Kbd

    键值表数据文件,非美国键盘的工具,很多控制台字体。
  • Less

    很漂亮的文本查看器,在查看文件时可以上下滚动。Man-DB用来查看手册页。
  • Libtool

    This package contains the GNU generic library support script. It wraps the complexity of using shared libraries in a consistent, portable interface. It is needed by the test suites in other LFS packages.

  • Linux Kernel

    Linux操作系统内核。
    This package is the Operating System. It is the Linux in the GNU/Linux environment.
  • M4

    通用的文本宏处理器程序,用于构建工具和其他程序。
  • Make

    直接的构建工具。几乎LFS的所有包都需要它。
  • Man-DB

    查找和查看手册页。有很强的国际化功能,支持手册程序。
  • Man-pages

    Linux系统相关内容手册页。
  • Module-Init-Tools

    管理Linux内核模块的程序。
  • MPC

    复数计算程序。用于GCC。
  • MPFR

    多精度算法程序。用于GCC。
  • Ncurses

    独立终端的屏幕字符处理库。常用于菜单系统中的光标处理。很多LFS包都用到它。
  • Patch

    提供一个比较程序创建的补丁包来修改或创建文件。用于很多LFS包的构建过程中。
  • PCRE

    用于和Perl 5相同的正则表达式模式匹配。依赖于Glib,可用于Grep。
  • Perl

    运行时语言PERL的解释器。用于很多LFS包的安装和测试。
  • Procps

    进程监控。用于系统管理和LFS的Bootscripts。
  • Psmisc

    显示运行进程的信息。有用的系统管理工具。
  • Readline

    工具集用于命令行的编辑和历史功能。用于Bash。
  • Sed

    不用文本编辑器来编辑文本内容。用于很多的LFS包的配置脚本。
  • Shadow

    用于安全的处理密码。
  • Sysklogd

    记录系统信息日志,例如内核记录或守护进程发生的不寻常事件。
  • Sysvinit

    初始化程序,是Linux系统中所有其他进程的父进程。
  • Tar

    用于LFS中几乎所有包的存档和解包功能。
  • Tcl

    Tcl语言用于很多LFS包的测试。仅包含于临时工具链。
  • Texinfo

    读、写、转换信息页。用于很多包的安装过程。
  • Udev

    用于动态创建设备借点。一种创建/dev目录下大量静态设备的选择。
  • Util-linux

    包含很多工具程序。在这当中被用来处理文件系统,
    This package contains miscellaneous utility programs. Among them are utilities for handling file systems, consoles, partitions, and messages.
  • Vim

    一个编辑器。选择它是因为兼容传统的vi编辑器和大量强大的兼容能力。编辑器是一个比较个人的选择,如果需要也可以选择其他的。
  • XZ Utils

    文件压缩和解压程序。提供很高的压缩率,常用来解压XZ或者LZMA格式。
  • Zlib

    常用的压缩和解压程序。

posted @ 2012-02-27 00:44 超越了 阅读(41) 评论(0) 编辑
2011年12月29日
LFS和标准
LFS结构非常接近Linux标准。这些基础标准是:

  • POSIX.1-2008.

  • Filesystem Hierarchy Standard (FHS)

  • Linux Standard Base (LSB) Core Specification 4.0

    LSB 有五个分离的标准: Core, C++, Desktop, Runtime Languages, and Printing. 除了一般需求也有构架描述需求。LFS尝试明确上节讨论的构架。

    [Note] 注意

    很多人不同意LSB的需求。定义它的主要目的是确保合适的软件能够安装和运行在操作系统上。既然LFS基于源码,用户完全掌握哪些程序需要安装,哪些LSB需求的不被安装。

创建一个通过LSB认证的LFS系统是可能的。但是附加包超出了LFS的范围。大多数附加包的安装教程将在BLFS中。

满足LSB需求的LFS包

LSB Core:

Bash, Binutils, Coreutils, Diffutils, File, Findutils, Gawk, Grep, Gzip, M4, Man-DB, Ncurses, Procps, Psmisc, Sed, Shadow, Tar, Util-linux, Zlib

LSB C++:

Gcc

LSB Desktop:

None

LSB Runtime Languages:

Perl

LSB Printing:

None

LSB Multimeda:

None

满足LSB需求的BLFS包

LSB Core:

Bc, Cpio, Ed, Fcrontab, Initd-tools, PAM, Sendmail (or Postfix or Exim)

LSB C++:

None

LSB Desktop:

ATK, Cairo, Desktop-file-utils, Freetype, Fontconfig, Glib2, GTK+2, Icon-naming-utils, Libjpeg, Libpng, Libxml2, MesaLib, Pango, Qt3, Qt4, Xorg

LSB Runtime Languages:

Python

LSB Printing:

CUPS

LSB Multimeda:

Alsa Libraries, NSPR, NSS, OpenSSL, Java

满足LSB需求未包含在LFS或BLFS中的包

LSB Core:

At, Batch, Lsb_release

LSB C++:

None

LSB Desktop:

None

LSB Runtime Languages:

None

LSB Printing:

None

LSB Multimeda:

Xdg-utils

posted @ 2011-12-29 11:16 超越了 阅读(104) 评论(0) 编辑
2011年12月23日
本书中各程序包的解释
像先前陈述的哪样,LFS的目标是构建一个完整可用的基本系统。这包含用户选择定制的完整系统所有相对小的基本包。这并是不说LFS可能是最小系统。一些重要的包并不是确实需要。下文列出的是本书中每个包的解释。
As stated earlier, the goal of LFS is to build a complete and usable foundation-level system. This includes all packages needed to replicate itself while providing a relatively minimal base from which to customize a more complete system based on the choices of the user. This does not mean that LFS is the smallest system possible. Several important packages are included that are not strictly required. The lists below document the rationale for each package in the book.

  • Autoconf

    这个包包含了根据开发人员模版产生的shell脚本可以自动配置源码。通常需要重新构建包在更新了构建过程后。
  • Automake

    这个包包含从模版生成Make file的程序。通常需要重新构建包在更新了构建过程后。
  • Bash

    这个包满足Linux基础标准的核心需求,为系统提供一个Bourne Shell的界面。作为其他Shell包之上的选择是因为他的通用性和广泛的兼容性超越了基本的shell功能。
  • Binutils

    这个包是处理目标文件的连接器、汇编器和其他工具。包里的程序需要用来编译LFS和BLFS系统的大部分包。
  • Bison

    这是GNU版本的 yacc (Yet Another Compiler Compiler) 用来编译一些LFS程序。

  • Bzip2

    压缩和解压缩程序。用来解压很多LFS包。

  • Coreutils

    查看操作文件和目录的基本程序包。用于命令行文件管理,也用作LFS每个包的安装过程。
  • DejaGNU

    测试其他程序的框架。仅在临时工具链安装。
    This package contains a framework for testing other programs. It is only installed in the temporary toolchain.
  • Diffutils

    比较文件或目录的差异。用来创建补丁,也用在很多包的构建过程中。
  • Expect

    这是一个程序进行脚本与交互程序对话的程序。它通常用于测试其它程序装。只有安装在临时工具链。
  • E2fsprogs

    用于处理ext2,ext3,ext4文件系统的工具集。是常规和彻底测试Linux支持的文件系统。
  • File

    判断文件类型的工具集。用来编译一些包。
  • Findutils

    在文件系统中查找文件。用于很多包的编译脚本。
  • Flex

    生成文本模式识别程序的工具。是GNU版本的lex(词法分析器)程序。用来编译很多LFS包。
  • Gawk

    用于处理文本文件。是GNU版本的awk (Aho-Weinberg-Kernighan)。用于很多包的编译脚本。
  • Gcc

    GNU的编译器集合。包含C和C++编译器。
  • GDBM

    GNU的数据库管理库。用于Man-DB。
  • Gettext

    用于本地化和国际化的工具和库。

  • Glibc

    主要的C库。Linux程序运行必须。
  • GMP

    任意精度算法的很有用的数学库。用来编译Gcc。
  • Grep

    在文件中进行查找的程序。用于很多包的编译脚本。
  • Groff

    用于处理和格式化文本。一个重要的用处是用于格式化手册页。
  • GRUB

    Grand Unified Boot Loader。众多引导程序中的一个,也是最灵活的。
  • Gzip

    压缩和解压缩文件的程序。用于LFS和BLFS中解压很多包。
  • Iana-etc

    提供网络服务和协议的数据。用于启动网络功能。
    This package provides data for network services and protocols. It is needed to enable proper networking capabilities.
  • Inetutils

    基本网络管理的程序。
  • IProute2

    基本和高级功能的IPv4、IPv6程序。用于支撑其他网络工具包的IPv6功能。
    This package contains programs for basic and advanced IPv4 and IPv6 networking. It was chosen over the other common network tools package (net-tools) for its IPv6 capabilities.
  • Kbd

    键值表数据文件,非美国键盘的工具,很多控制台字体。
  • Less

    很漂亮的文本查看器,在查看文件时可以上下滚动。Man-DB用来查看手册页。
  • Libtool

    This package contains the GNU generic library support script. It wraps the complexity of using shared libraries in a consistent, portable interface. It is needed by the test suites in other LFS packages.

  • Linux Kernel

    Linux操作系统内核。
    This package is the Operating System. It is the Linux in the GNU/Linux environment.
  • M4

    通用的文本宏处理器程序,用于构建工具和其他程序。
  • Make

    直接的构建工具。几乎LFS的所有包都需要它。
  • Man-DB

    查找和查看手册页。有很强的国际化功能,支持手册程序。
  • Man-pages

    Linux系统相关内容手册页。
  • Module-Init-Tools

    管理Linux内核模块的程序。
  • MPC

    复数计算程序。用于GCC。
  • MPFR

    多精度算法程序。用于GCC。
  • Ncurses

    独立终端的屏幕字符处理库。常用于菜单系统中的光标处理。很多LFS包都用到它。
  • Patch

    提供一个比较程序创建的补丁包来修改或创建文件。用于很多LFS包的构建过程中。
  • PCRE

    用于和Perl 5相同的正则表达式模式匹配。依赖于Glib,可用于Grep。
  • Perl

    运行时语言PERL的解释器。用于很多LFS包的安装和测试。
  • Procps

    进程监控。用于系统管理和LFS的Bootscripts。
  • Psmisc

    显示运行进程的信息。有用的系统管理工具。
  • Readline

    工具集用于命令行的编辑和历史功能。用于Bash。
  • Sed

    不用文本编辑器来编辑文本内容。用于很多的LFS包的配置脚本。
  • Shadow

    用于安全的处理密码。
  • Sysklogd

    记录系统信息日志,例如内核记录或守护进程发生的不寻常事件。
  • Sysvinit

    初始化程序,是Linux系统中所有其他进程的父进程。
  • Tar

    用于LFS中几乎所有包的存档和解包功能。
  • Tcl

    Tcl语言用于很多LFS包的测试。仅包含于临时工具链。
  • Texinfo

    读、写、转换信息页。用于很多包的安装过程。
  • Udev

    用于动态创建设备借点。一种创建/dev目录下大量静态设备的选择。
  • Util-linux

    包含很多工具程序。在这当中被用来处理文件系统,
    This package contains miscellaneous utility programs. Among them are utilities for handling file systems, consoles, partitions, and messages.
  • Vim

    一个编辑器。选择它是因为兼容传统的vi编辑器和大量强大的兼容能力。编辑器是一个比较个人的选择,如果需要也可以选择其他的。
  • XZ Utils

    文件压缩和解压程序。提供很高的压缩率,常用来解压XZ或者LZMA格式。
  • Zlib

    常用的压缩和解压程序。

posted @ 2011-12-23 15:13 超越了 阅读(41) 评论(0) 编辑
2011年11月26日
LFS 目标构架

LFS的目标构架是英特尔32位处理器.如果你以前没有构建过LFS,最好从这个构架开始。32位构架受到Linux系统的最广泛支持,也兼容大部分开源软件和版权软件。

另一方面,通过一些修改,也支持Power PC 和 64位 AMD或Intel的处理器。构建一个使用这些处理器的系统,首要条件就是,一个已经存在的Linux系统,比如:LFS、Ubuntu、Rad hat/Fedora,SuSe或者其他发行版。32位的发行版安装和使用64位的计算机。

其他一些因素列在这里。比较32位系统,64位的可执行程序更大,执行时间更快。例如LFS6.5构建在酷睿2双核处理的上的统计如下:

构架 构建时间 程序大小 
32-bit 198.5 分钟 648 MB 
64-bit 190.6 分钟 709 MB

你可以看见,64位系统比32位只是快4%同时大9%。64位系统的好处相对较小。当然,如果你有超过4G内存,需要处理超过4G的数据,64位系统是比较合适的。

LFS构建的缺省的64位系统可看作是纯64位系统。也就是说,仅可以运行64位程序。构建”multi-lib"系统,需要编译很多程序两次,一次32位的一次64位的。LFS没有直接支持这个,因为这会影响到以教育为目的的直接的基础系统的构建。你可以参考CLFS项目来了解这个主题。

最后一个关于64位系统的建议。有些包现在不能编译成纯64位或者需要一些特殊的编译方法。通常,这些包会嵌入一些32位特有的汇编语言指令造成64位下编译失败。这包含BLFS里面的Xorg驱动。很多这些问题可以通过,但另一些需要特殊的处理或补丁。
posted @ 2011-11-26 15:23 超越了 阅读(21) 评论(0) 编辑
2011年11月25日
致读者
摘要: 有很多理由说明你应该读这个手册,然而也有这样的疑问:为什么要舍近求远,而不是下载一个存在的发行版?一个很重要的理由是这可以帮助你里里外外的更加了解Linux的工作原理。另一个关键因素是你可以更多的控制你的系统,而不用依赖其他不必要的模块。LFS让你创建紧凑的系统。当你安装一个正规的发行版时,你被安装一些你不了解也用不上的程序。你可能会抱怨硬件或CPU,但这些占用资源的因素切没被考虑。启动光盘,USB、嵌入式系统都能从LFS获益。另一个好处是安全性,通过完全从源代码打编译,你有权审视一切,并给所有需要的问题打上补丁,不再需要等待别人给你一个二进制包去修复漏洞。除非亲力亲为的检查漏洞和实现补丁,否阅读全文
posted @ 2011-11-25 13:06 超越了 阅读(6) 评论(0) 编辑
前言
摘要: LFS的作者有十多年的Linux历程,当初是1998年,他得到一个安装版很快就安装好,并且对linux的一些概念和所奉行的哲学感兴趣。这里有很多方法可以去达成一个任务,让人不在局限于一种实现。在尝试了很多发行版后,觉得它们都是伟大的系统,没有什么对或错的区别。只在乎于个人的口味,但是面对这么多的发行版,没有一款是单独的系统完全适合我。于是我决定打造一款完全适合我的Linux系统。为了打造自己的系统,我尝试编译代码而不是获取二进制发行包。一个完美的系统应该没有其他系统的不足,开始的时候很令人气馁,但是我坚信这个系统可以构建出来。当逐个解决了循环依赖、编译错误等问题后,我终于完成了这个自定义系统。阅读全文
posted @ 2011-11-25 12:01 超越了 阅读(9) 评论(0) 编辑
仅列出标题  下一页
Copyright ©2012 超越了