手机版
你好,游客 登录 注册
背景:
阅读新闻

Gentoo Linux x86 源码安装

[日期:2012-02-16] 来源:Linux社区  作者:scanlinux [字体: ]
配置引导程序
安装并配置grub

代码 2.27: Emerge grub并编辑它的配置文件
livecd conf.d # time emerge grub
 
real 1m4.634s
user 0m39.460s
sys   0m15.280s
livecd conf.d # nano -w /boot/grub/grub.conf

 

代码 2.28: grub.conf范例
default 0
timeout 10
 
title Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/sda3

 

代码 2.29: 安装grub
livecd conf.d # grub
Probing devices to guess BIOS drives. This may take a long time.
 
grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0xfd
 
grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/
grub/menu.lst"... succeeded
Done.
 
grub> quit

重启
退出chroot环境,卸载所有文件系统并重启:

代码 2.30: 重启
livecd conf.d # exit
livecd / # umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
livecd / # reboot
(别忘了取出光盘)

完成安装

注意: 在我们这台测试机器上,从minimal CD启动显示boot提示符开始,到重启后显示登录提示符, 总用时为00:42:31。没错,不到一个小时!注意这个时间还包含了stage3包、Portage快照和一些软件包的下载时间,以及配置内核所花的时间。

 
注意:到这一步,这个系统已经安装完成了,是完全的命令行,这里可以暂告一段落。如果想安装KDE或者是gnome,继续往下看。作为服务器,不建议安装图形界面。
 
下图是我在虚拟机上安装的 gentoo。
 

 
root身份登录,用useradd添加一个或多个用户,作为日常使用。

代码 2.31: 从另一台电脑连到你的新机器
(清理known_hosts文件中的内容,因为你的新机器已生成一个新的通用主机密钥)
$ nano -w ~/.ssh/known_hosts
(找出新机器的IP并删除那一行,保存并退出nano
 
(使用你新机器的IP地址)
$ ssh root@192.168.1.10
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
Password: 输入密码

 

代码 2.32: 添加一个新用户
mybox ~ # adduser -g users -G lp,wheel,audio,cdrom,portage,cron -m john
mybox ~ # passwd john
New UNIX password: 设置John的密码
Retype new UNIX password: 再次输入John的密码
passwd: password updated successfully

最后涉及的配置
开始选择最近的镜像,在/etc/make.conf中定义SYNC变量和GENTOO_MIRRORS变量,或者也可以使用mirrorselect。此时你还可以定义并行编译的进程数。

代码 2.33: 使用mirrorselect并设置MAKEOPTS
mybox ~ # emerge mirrorselect
mybox ~ # mirrorselect -i -o >> /etc/make.conf
mybox ~ # mirrorselect -i -r -o >> /etc/make.conf
(通常,一个较好的值为处理器数加一)
mybox ~ # echo 'MAKEOPTS="-j2"' >> /etc/make.conf

现在是启用或禁用一些USE标记的好时机。运行emerge -vpe world,列出所有当前已安装的软件包以及它们被启用和禁用的USE标记。编辑/etc/make.conf或使用下列命令定义USE变量:

代码 2.34: 查看当前使用的USE标记并启用或禁用一些
mybox ~ # emerge -vpe world
Portage列出软件包和它们的USE标记。作为例子,让我们禁用ipv6fortran,并启用unicode
mybox ~ # echo 'USE="nptl nptlonly -ipv6 -fortran unicode"' >> /etc/make.conf

新版本的glibc使用/etc/locale.gen来定义语言环境。

代码 2.35: 定义语言环境
mybox ~ # cd /etc
mybox etc # nano -w locale.gen
mybox etc # locale-gen

最后但并非最轻松的,你可能想修改/etc/make.conf中的CFLAGS变量来优化编码,以满足你的特定需要。请注意极少需要一长串的标记列表,那样甚至可能导致系统崩溃。建议通过march选项指定处理器类型并赋上-O2 -pipe
可能你还想转到 ~x86。只有当你能够对付那些脆弱不良的ebuild和软件包时才能这么做。如果你倾向于保持系统的稳定性,请不要添加ACCEPT_KEYWORDS变量。添加FEATURES="ccache"却是个好主意。

代码 2.36: 为make.conf作最后的修改
mybox etc # nano -w make.conf
(在CFLAGS中将-march设为你的CPU类型)
CFLAGS="-O2 -march=athlon-xp -pipe"
(添加下面一行)
FEATURES="ccache"
(只有清楚自己在干什么才添加下面一行)
ACCEPT_KEYWORDS="~x86"

可能你会想重编译整个系统两次,以使你所作的最新配置完全生效。这要花很长的时间来完成,而只能得到微小的速度提升。你可以让系统自己随着以后新软件包的发布而逐步完成优化。不过,站在保持系统一致性的立场来看,重编译仍不失为一个好主意。请参考文档Gentoo GCC升级指南,其中讨论了如何搭建一个具有良好一致性的systemworld,以及这样做的好处。
只重编译那些因你应用了新的USE标记或受此影响而需要升级的软件包,也要花费不少时间。可能还必须卸载会阻止你升级的软件包。在emerge -vpuD --newuse world的输出中寻找“[blocks B ],用emerge -C卸载它们。

代码 2.37: 升级软件包
(安装ccache
mybox etc # emerge ccache
 
(请注意转到~x86会导致很多软件包要升级)
mybox etc # emerge -vpuD --newuse world
(好好看一看软件包列表和它们的USE标记,有阻止的包就先卸载,然后启动漫长的过程)
mybox etc # time emerge -vuD --newuse world
((重)编译了79个软件包)
 
real 180m13.276s
user 121m22.905s
sys   36m31.472s
 
(重编译libtool以避免一些潜在的问题)
mybox etc # emerge --oneshot libtool
 
(更新配置文件,确保不要让dispatch-conf更新你配置好的文件)
mybox etc # dispatch-conf
 
(如果升级了perl应该执行perl-cleaner脚本)
mybox etc # time perl-cleaner all
real 1m6.495s
user 0m42.699s
sys   0m10.641s
 
(如果升级了Python的主要软件包,应该执行python-updater脚本)
mybox etc # python-updater

接下来该做什么
想安装服务器应用程序还是一个桌面系统,取决于你打算让你的新Gentoo做什么。以下仅作为一个例子,统计了emerge gnomeemerge kde在~x86系统(按之前的描述安装的)上所花费的时间。两者是在同一起点开始安装的。去看看我们的文档目录,研究一下如何安装和配置你挑选的软件。

重要: 以下只是举个例子,并不意味着就作为推荐设置。

 

代码 2.38: Emerge GNOME
mybox etc # emerge -vp gnome
(查看软件包列表和它们的USE标记,如果需要请编辑make.conf)
mybox etc # nano -w /etc/make.conf
(定义了以下USE标记)
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
     -kde -qt4 -arts -eds -esd gnome gstreamer gtk firefox"
 
mybox etc # time emerge gnome
(安装了326个软件包)
 
real 520m44.532s
user 339m21.144s
sys   146m22.337s

 

代码 2.39: Emerge KDE
mybox etc # emerge -vp kde-meta
(查看软件包列表和它们的USE标记,如果需要请编辑make.conf)
mybox etc # nano -w /etc/make.conf
(定义了以下USE标记)
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
     kde qt4 -arts -eds -esd -gnome -gstreamer -gtk -firefox"
 
mybox etc # time emerge kde-meta
(安装了391个软件包)
 
real 1171m25.318s
user 851m26.393s
sys   281m45.629s
linux
相关资讯       Gentoo  Gentoo Linux 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款