网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > linux > 系统管理 > 系统管理 > 完全手工打造自定义的LINUX  

完全手工打造自定义的LINUX

2008-08-27  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

    LFS相关

  LFS是Linux From Scratch的简称,LFS 存在的一个重要原因是可以帮助人们学习 linux 系统内部是如何工作的。构建一个 LFS 系统会帮助演示是什么使 linux 运转,各种组件如何在一起互相依赖的工作。最好的事情之一通过这种学习可以获得完全根据自己的需求定制 linux 系统的能力。

网管有家bitscn.net

  LFS 的一个关键的好处是它让用户对于系统有更多的控制,而不是依赖于他人的 linux 实现。在 LFS 的世界里,你自己坐在司机的位置,掌控系统的每一个细节,比如目录布局和启动脚本配置等等。你也能掌控在哪里、为何、以及怎样安装每一个程序。有关LFS相关的资料可以去这个链接中查找.http://www.linuxfromscratch.org/ 。

网管u家www.bitscn.net

  本文的环境为VM5.5搭建,其中分配给虚拟机的内存为256M,硬盘大小为8G,当然,真正完成后系统的大小不到600M,但是在编译时至少需要3G的空间。为了方便使用,其中的软件包可以去LFS项目中下载现成的ISO包,地址为 http://kerrek.linuxfromscratch.org/pub/lfs-livecd/ lfslivecd-x86-6.3-r2130.iso,当然,如果想使用更新的软件,请去相应的网站下载。这里的用的是lfslivecd-x86-6.3-r2130.iso。 网管联盟bitsCN@com

  由于制作的过程比较长,可能会持续好几天,如果是通过VM来做的话,可以利用它的暂停功能来保护现场,使用时间启动现场继续制作过程。 网管联盟bitsCN@com

  注意:这里出现的指令都是必须要输入的指令,不同于以前的文章风格。

网管u家u.bitscn@com

    一:初始化制作环境。 网管联盟bitsCN@com

  在使用VM时有一个麻烦的地方,它不能从物理机器保存的文件中通过复制粘贴命令的方式来进行安装制作,而LFS有很多的编译指令或其它命令都大同小异,本着方便至上的原因,所以开启它的网络功能,然后通过远程连接工具(Putty,SshClient)来进行指令操作。 网管u家www.bitscn.net

  使用光盘启动,没什么好说的,到了设置系统时间和地区时如下图所示:
网管有家www.bitscn.net

  1:完成后会启动到用户模式,输入下列指令用开启网络功能并设置管理员密码。注意:在设置VM虚拟机时在有关网卡的设定中请使用"桥接"模式,否则可能获取不到IP,而且局域网中还要满足可以通过DHCP的方式来获取IP。

[root~]# /etc/rc.d/init.d/sshd start
[root~]# passwd root
网管有家bitscn.net


   2:通过SshClient连入主机,对硬盘执行分区操作     这里可以按照你自己的需要的分区,这里我按照设置一个根分区和一个交换分区为例,交换分区占用512M,其余的全部分给根分区,/dev/hda1为交换分区;/dev/hda2作为目标系统根目录。

cfdisk /dev/hda
网管bitscn_com

 保存退出后进行磁盘分区的格式化

mkswap /dev/hda1
mkfs.ext3 /dev/hda2
网管联盟bitsCN_com

 3:创建相应的文件和路径。   在这里要说明的是两个LiveCD下的重要目录/usr/share/LFS-BOOK-6.3-HTML目录存放的就是LFS手册;/lfs-sources里面存放的就是建造LFS所需要的源码包,不需要到处下软件了。 具体指令的作用可以参考相关文档,这里就不做详细说明了。所创建的符号链接使得将要编译的工具链总是位于 /tools 目录下,这意味着编译器、汇编器和连接器在编译目标目录为/tools时总可以使用。

export LFS=/mnt/lfs
mkdir -pv $LFS
mount /dev/hda2 $LFS
mkdir -v $LFS/sources
chmod -v a+wt $LFS/sources
chmod -v a+wt $LFS/sources
ln -sv /mnt/lfs/tools/ /
网管朋友网www_bitscn_net

  以 root 用户登录的时候,犯一个错误就足以损坏甚至摧毁系统,因此,本章我们推荐使用一个无特权的用户来编译和安装软件包。您可以使用您自己的用户名,不过为了建立一个干净的工作环境,建议您新建一个名为 lfs 的组,并在其中添加一个名为 lfs 的用户,我们将在安装过程中使用这个用户。

groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
passwd lfs
chown -v lfs /mnt/lfs/tools/
chown -v lfs /mnt/lfs/sources/
su - lfs
网管朋友网www_bitscn_net

 作为 lfs 用户登录的时候,初始 shell 通常是一个登陆shell(login shell),它会首先读取宿主系统的 /etc/profile 文件(可能包含一些设置和环境变量),然后继续读取 .bash_profile 文件来完成登录初始化。.bash_profile 文件中的 exec env -i.../bin/bash 命令用完全空的环境来取代当前的环境(除了继承 HOME, TERM, PS1 变量外)。这样能保证我们的编译环境不会被宿主系统中不必要的或者有潜在危险的环境变量所影响,从而确保获得一个干净的工作环境。

cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL PATH
EOF
source ~/.bash_profile
export
cd /mnt/lfs/sources/
网管有家www.bitscn.net

网管u家u.bitscn@com

TAGs   定义   打造   手工   完全   LFS   一个   系统   lfs   使用   可以   环境      
 上一篇:系统管理员工具包: 日志文件基础知识   下一篇:Linux:从LiveCD到自启动U盘
完全手工打造自定义的LINUX 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: