荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: cbi@bbs.pku.edu.cn (土豆|生活也许就是一种煎熬), 信区: Linux
标  题: Gentoo Linux官方文档中译本zz--faqs
发信站: 北大未名站 (Mon Nov 10 15:03:38 2003)
转信站: SZU!news.ccie.net.cn!news.happynet.org!PKU

Gentoo Linux FAQs

Debentoo Gao译 2003.10.28

1初识Gentoo Linux

a Gentoo是怎么发音的,还有它的词义是什么呢?
Gentoo呢,是一种很小,跑的很快的企鹅,它发这个音“gen-too”(“gentoo”中的“
g”的发音和“gentle”相同)(中文别名“健兔”,:))

b Gentoo Linux有何过人之处呢?
Gentoo Linux是一种定制性很强,非常摩登,且运行速度飞快的发行版。因此,对于习惯
了使用Slackware,Linux From Scratch或者是BSD的用户来说它也非常有吸引力。
Gentoo内建了类似BSD的包管理机制,你可以很方便的升级你的系统到最新版本。

2 安装 Gentoo

a .iso和.tbz2安装文件有何不同?
.tbz2包含了安装Gentoo Linux所必需的系统文件。.iso镜像包含了内核,许多主流硬件
的驱动模块,以及有用的系统工具,像kfs 等,并对网络有着良好的支持。比起.tbz2,
用户更喜欢把.iso镜像刻录到CD上并启动到一个最小化的Linux环境来安装。如果用户要
从一个已安装好的Linux系统上安装Gentoo,.tbz2包则是比较好的选择。我们只要下载
.tbz2包,解压到安装Gentoo的分区(请确认解压包时没有遗漏-p参数),执行chroot命
令并按一般的步骤开始安装。

b 为什么有时候.iso和.tbz2文件名称后会有不同的修订号(r-)
.tbz2包只在Gentoo Linux系统有比较重要的升级时才修正版本号,而.iso镜像只在我们
发现有用户无法用自己的硬件设备启动BootCD安装时,才会重新制作镜像和修订版本号。
从新的内核驱动模块和补丁被加入并稳定下来后,在没有类似情况出现。

c 在我使用"-O9 -ffast-math -fomit-frame-pointer"优化参数编译安装软件后,发现系
统很不稳定,怎么会这样呢?
使用任何大于-03的优化参数编译软件是很危险的,它很有可能让你的安装软件崩溃。有
时太过苛刻的优化系统反而会弄巧成拙。Loc-Dog(IRC上的网友)告诉我,他通常使用
-O3 -mcpu=i686 -march=i686 -fforce-addr -fomit-frame-pointer -funroll-loops
-frerun-cse-after-loop -frerun-loop-opt -malign-functions=4优化参数编译包就可
以达到很好的效果。如果还是想要为一些特别的软件包提升区区2%的性能的话(一般是些
图行处理和多媒体软件包)最好是使用ultra-high参数,那样可以很方便的测试软件包以
确定没有优化过头。
当然了,在你系统出了这样那样的问题之前还是劝你使用CFLAGS -march= -02为妥。

d 完成系统安装后root的默认passwd是什么?
默认的是空密码,打回车就行了。

e 怎么修改我的root passwd(或其他用户的)?
你可以在登录后使用passwd命令来修改。更多有关他的参数选项,请参考man passwd.

f 我怎么增加一个用户呢?
adduser gentoo命令会在系统增加一个名为gentoo的新用户,接下来用passwd命令来为这
个用户设置密码。你一可以用以下命令代替adduser命令:


源码:-------------------------------------------------------------------------
-------# useradd gentoo -m -G users,audio,wheel -s /bin/bash------------------
--------------------------------------------------------------

以上命令会在系统增加一个名为gentoo的新用户,并赋予他对系统声音设备的使用权(
/dev/sounds/*)和在shell中用su命令转换root的权力。
另一种方法是使用emerge superadduser,使用superadduser gentoo命令也能起到相同的
效果。

g 为什么普通用户不能使用su命令取得root用户的权限?
为了安全的原因,只有wheeel组的用户可以使用su命令取得root用户的权限。把一个用户
加入wheel组可以这么做:

源码:-------------------------------------------------------------------------
-------#usermod -G users,wheel username---------------------------------------
-----------------------------------------


h 我该如何做才能使用devfs?
如果你使用1.0rc_5以上的gentoo Linux的话,不需要做什么特殊的设置就可以使用
devfs。系统会自动启动(不过你得在内核中加入对devfs的支持,没忘了吧:))。那如
果你使用的版本低于1.0rc_5的话,在你的GRUB配制文件里加入devfs=mount选项,像这样
:kernel /boot/boot/bzImage devfs=mount foo=bar。以后每次启动时内核会自动挂载
/dev/devfs文件系统。

i 那该怎样禁止使用devfs呢?
在1.0rc_6以上版本,你可以给内核加上gentoo=nodevfs参数。

j 怎样做在重启时能保持/dev/mouse设备不丢失(使用devfs文件系统)
如果你使用1.0_rc6以上版本,那么你可以用ln -s命令为/dev/mouse/设备做个符号连接
,这样重启间mouse设备就不会再有丢失的问题了。
所有其他的用户需要编辑/etc/devfsd.conf文件并加入以下几行:

源码:-------------------------------------------------------------------------
-------REGISTER        ^misc/psaux$    CFUNCTION GLOBAL symlink misc/psaux
mouse
UNREGISTER      ^misc/psaux$    CFUNCTION GLOBAL unlink mouse-----------------
---------------------------------------------------------------

如果你使用的不是PS/2鼠标,/dev/misc/psaux设备,你需要调整misc/psaux/为你使用的
设备名,然后执行killall -HUP devfsd命令让devfsd重新读取/etc/devfsd.conf文件。

k Grub找不到stage x.y?
在安装过程中grub的有关配置文件会被拷贝到/boot/grub/下(在Gentoo Linux 1.0rc_5
以及之前的版本是在/boot/boot/grub下)Grub启动时会在/boot/grub/目录下自动搜寻启
动分区。(我们强烈建议单独划分一个挂载于/boot的启动分区,这样做可以最大程度的
保证内核启动的安全性。)标题错误的发生一般是因为a没有单独划分启动分区,b在解压
缩.tbz2系统安装包或emerge –usepkg system前忘了挂载/boot/启动分区,c当启动分区
是reiserfs文件系统时忘了加notail选项。请阅读IBM developerWorks Grub tutorial.
以便了解更多有关grub的命令行使用及相关信息。

l 我的ASUS CUV4X-D设备无法启动,在内核自检硬件设备时会僵死
在BIOS里关闭MPS 1.4(multi-processor-system:多媒体系统)或者转为1.1的版本试一下
。Multi-Processor-System仍会很正常的工作。请确认启动Gentoo Linux使用了正确的启
动选项。

m 如果我已经安装了Gentoo 1.4_rc1,可不可以不用重装就升级到 1.4_rc2,
1.4_final/_rc3?
实际上你安装了1.4发行版本会发现它们并没有多少区别。Gentoo 1.4及以后的版本都是
基于glibc-2.3.x的。就拿一台安装了1.4rc1的机器来说,在其上执行emerge sync;
emerge -u world后,实际上它已经是一台安装好了1.4rc2的机器了。

n 我的内核无法启动, 正确地说接下来我该怎么办呢?


3软件包的管理

a GentooLinux的软件包是以什么格式存储的?
它们是以ebuild自动安装脚本的形式放在Protage树上。我们是基于port机制的系统,我
们提供了自动安装脚本(ebuild文件)和一个特殊的包管理系统(Portage),所以你可以
从源文件安装各种的程序。我们通常只做二进制的版本包。你可以从Development
HOWTO 了解更多有关ebuild脚本的信息。在完整的ISO文件里,我们提供了一整套.tbz2格
式的增强二进制包工具。(.tar.bz2格式在文件的末尾添加了合适的meta-information)


b 为什么要写一个新的port系统(Portage)取代BSD的版本?
当然是因为Portage有更多优点啦。ebuild语法其中的一个设计原理就是可以模拟你手动
输入安装程序的过程,因此Portage更容易学习和被掌握,可定制性也很强。它也拥有像
OpenBSD类型的“fake”安装,安全的反安装,系统配置,包屏蔽,以及一个真正解决包
倚赖关系的系统等等非常好的特性。

c 和debian的apt以及BSD的ports相比有何不同之处呢?
Portage结合了apt和ports许多优秀的特性,比如说,USE选项,真正解决包倚赖关系的系
统,安全地安装和卸载软件包,还有真正的软件包数据库。我想Portage是最棒的;它是
一个带有人性化安全性极佳包管理机制的ports系统。


d 那么改怎样安装和卸载软件包呢?
Portage User Guide会详细的告诉你改怎样安装卸载软件包以及如何升级Portage。
怎样设置编译软件包的一些相关属性呢?
可以修改/etc/make.conf文件,来改变编译和emerge软件包的默认选项。以下列出的是主
要的选项:
标记 说明
HOST 这里可以设置许多的编译选项,像i686-pc-linux-gnu.
CFLAGS 一些有关语言编译软件包的gcc选项
CXXFLAGS 有关用C++语言编译软件包的gcc属性
USE 它允许你设置你喜欢的一些属性进行编译。比如说在USE字符串中加入了“gnome”,
那当你在编译xchat时会加入对gnome的支持。所有的倚赖关系都受USE的控制。
GENTOO_MIRRORS 存放Gentoo软件包下载地址的列表。Protage会试图首先在一个
GENTOO_MIRROR下载软件包,然后才是正式的下载地址。强制让Portage跳过镜像检查,那
就设置此属性为””。

e /etc/make.defaults文件是派什么用场的?
在portage 1.5之前,/etc/make.defaults就是过时的配置文件,如果你有了Portage
1.5-r1或以上版本,那么可以安全地删除此文件。这个文件已被/etc/make.profile/make
.defaults所取代,它包含了系统特殊属性的一些默认设置。(实际上现在
/etc/make.profile是/usr/portage/profiles/default的一个符号连接。)它规定了许多
变量设置文件的优先权,如下所示(按最优先原则排列):
1环境变量
2/etc/make.conf,按你的设置
3/etc/make.profile/make.defaults,默认的特殊选项。
4/etc/make.globals,gobal的默认选项(其他配置文件没有的特殊选项可以到这里来设置
。)

f 有什么方法可以像apt-get update或make World命令一样升级我安装过的所有软件包?

当然可以咯!输入emerge –update system命令去升级你所有的系统软件包,(请先带—
pretend参数察看所要安装的软件包)。使用emerge –update world命令完整的升级你的
系统,包括所有安装过的软件包。(再次提醒一下,请先带—pretend参数察看所要安装
的软件包。)

g 当在用emerge或ebuild升级一个软件包时,怎样避免破坏我的设置文件?
现在Portage默认包含了设置文件管理机制的支持。输入emerge –help config命令来了
解更多的信息。一般来说这个问题的答案是,如果一个软件包在/etc的某个地方安装了他
的配置文件,而先前的配置文件已经存在的话,,新的配置文件会被更名为
._cfgxxxx_????。一个很有用的工具etc-update可以测试和升级任何受保护的配置文件,
你可以emerge app-admin/gentookit来获取此工具。

h 我想自己手动执行./configure命令可以吗?
当然能,但一般我们不这样做。首先按照man ebuild上的做,ebuild xxx-x.y.z
ebuild unpack。接着 cd /var/portage/xxx-x.y.z/work,手动执行./configure和make步
骤安装软件包(两个步骤都要做,因为Portage已不再管理这个软件包的编译。)待用
Portage完成了安装,(这样以后你可以很方便的卸载它,你应该这样做,随后Portage会
解决可能出现的倚赖关系。)第一步你需要touch /var/portage/xxx-x.y.z/.comiled,然
后执行ebuild xxx-x.y.z ebuild merge(欺骗Portage ebuild foo-x.y.z.ebuild
compile步骤已经结束。)

i rsync怎么不能用呢?
如果你的网络在防火墙的后面,无法使用rsync,可以从http://cvs.gentoo.org/snapsho
ts 下载每日的/usr/portage/ snapshot来代替它。只要执行tar xvjf
portage-xxx.tbz2把它解压到/user目录就行了。

j 在防火墙后怎么使用emerge呢?
可以修改/etc/make.conf中的PROXY选项,如果还是不行的话,试着对/etc/wget/wgetrc
中的http_proxy和ftp_proxy的选项做合适的修改。
我可以在其他的操作系统上使用rsync吗?
有一个叫“unsion”程序可以在UNIX和Win32下工作,详情请见http://www.cis.upenn.ed
u/~bcpierce/unison/

k 家里用的是低速的modem上网的。我可不可以下载了源码包然后再把它们安装到系统上

绝对可以。你可以运行emerge –pretend package来察看什么软件包需要被安装。下载源
文件到任何你想放置的目录。然后拷贝他们到/usr/portage/distfiles并执行emerge
package命令就会开始按你的要求编译安装程序。

l /usr/portage/distfiles/里的.tar.gz源码包安装好后可不可以删除,它们占了很多的
硬盘空间?
没问题,你可以放心地删除这些包。不过你的网速如果很慢的话,比如说用modem上网,
你还是原封不动的把它们都留着为好。一般情况下一些特殊块的软件会释放好几个相同的
版本ebuild。如果你删除了那些源码包,下次再升级、安装它们时还会再次从Internet上
下载。

m 我可以不用(r)sync管理我的ebuilds吗?
通常的作法是使用匿名的CVS来取代rsync,把下载的ebuilds保存在/usr/portage/local
目录。以下是具体的方法:
# emerge cvs (如果需要的话)
# cd /usr
# cvs -d : pserver:anonymous@gentoo.org:/home/anoncvs login (按 <enter>回车)
# cvs -d : pserver:anonymous@gentoo.org:/home/anoncvs get gentoo-x86
# cp /usr/portage/distfiles/* gentoo-x86/distfiles/
# cp -a /usr/portage/packages/* gentoo-x86/packages/
# mv portage portage.old
# ln -s gentoo-x86 portage
# mkdir /usr/portage/local
# echo local >> /usr/portage/profiles/categories
# cp /etc/make.conf /etc/make.conf.orig
# sed -e 's/#SYNC="cvs/SYNC="cvs/' /etc/make.conf.orig > /etc/make.conf

n 我emerge了 blackdown-jdk和black-jre,然后用java-config –list-available命令
只列出了black-jre,OpenOffice也不能emerge了,我该怎么办呢?
解决的方法:
# emerge unmerge blackdown-jre blackdown-jdk
# CONFIG_PROTECT="" emerge blackdown-jdk
4 Gentoo的使用方面
我已经在系统里安装了openssh,但只能以root用户登录,其他的用户不行
这通常可能是由于你的用户帐号没有指定合适的shell。察看/etc/passwd文件,看看它是
不是以/bin/bash结尾(或者是以其他的shell结尾)。如果没有的话,你必需为这个帐号
指定一个shell。可以用usermod命令,像这样:
# usermod -s /bin/bash myuser

o 我只能以root帐户执行X程序
你的/tmp目录权限不对,需要重新设置,以root权限执行下面的命令来改变权限:
# chmod 1777 /tmp

p 我怎么配置国际键盘呢?
编辑/etc/rc.conf文件里的KEYMAP变量。然后重启或执行/etc/init.d/keymaps restart
命令。
只有root帐户能使用DNS域名解析
/etc/resolv.conf权限不对,执行# chmod 0644 /etc/resolv.conf变更权限。

q 为什么KDE不能读取/etc/profiles文件里的设置?
你要在/opt/kde2.1/bin/startkde文件的第一行加上—login,就像这样:
#!/bin/sh --login
在最近的KDE版本中已经解决了这个问题。


5 系统维护

a Reiserfs文件系统崩溃了,怎么修复呢?
如果你的ReiserFS系统分区出了问题,试着用Gentoo Linux启动光盘启动,执行
reiserfsck –rebuild-tree来修复它。它会重新核对文件系统的一致性,但无可避免的
是你还是会丢失一些文件和目录。

b 如何在Gentoo 1.0rc_5预览版本里察看/etc/log/syslod.d目录里的timestamps和其他
记录信息?
在gentoo Linux 1.0rc_5或之前的版本察看timestamps记录。需要用到管道传输最近的记
录文件到tai64nlocal命令:
# cat /var/log/syslog.d/current | tai64nlocal | less
或者,如果你想实时察看记录文件,可以这么做:
# tail -f /var/log/syslog.d/current | tai64nlocal


6 有关Gentoo Linux的开发

a 哪里可以上报bugs呢?
指定的软件程序可以和它的开发者联系。也可以使用我们的http://bugs.gentoo.org 网
页上Bugzill bug跟踪器来呈报bug。去访问我们的IRC(#gentoo) OpenProjects频道也行


b 多少时间可以发行一个新版本呢?
等主要软件的作者发布了新的源代码,并且我们对系统的软件包都做了必要的升级后就会
制作发行新版本。新版本的消息我们会在gentoo-announce邮件列表上发布。等基础的源
代码都有了更新或有了新的硬件驱动模块加入后,新的CD镜像会随之新鲜出炉。
我想让一种软件加入Portage树该怎么做?
去我们的http://bugs.gentoo.org 网站,输入“ebuild”,提出一个新的bug,并附上你
ebuild的bug报告。


c 怎样把提出的新问题和解答加入FAQ?
在http://bugs.gentoo.org 上提出新的bug,并把它们加入“Docs-users”作品中。
制作一个KDE程序,在执行make -f Makefile.cvs时出现了“invalid unused variable”
的错误提示。
在运行make -f makefile.cvs前要设置一个环境变量:export WANT_AUTOMAKE_1_4=1。同
样的,对于KDE2的程序设置export WANT_AUTOCONF_2_1=1,KDE的程序则是export
WANT_AUTOCONF_2_5=1。

d 在编译Mozilla时扬声器会发出烦人的蜂鸣声,怎样在console里关闭它?
可以使用setterm命令关闭它:# setterm -blength 0
如果在启动时就想关闭它,你需要在/etc/conf.d/local.start里加入上述命令。然而,
这样只能屏蔽你正在用的模拟终端,想关闭其他终端的蜂鸣声,用管道输出上述命令到终
端,就像这样:
# setterm -blength 0 >/dev/vc/1
你可以用其他想要屏蔽蜂鸣声的终端设备来代替/dev/vc/1。


7 Gentoo Linux资源的相关问题

a 在哪里可以找到更多关于Gentoo Linux 1.0rc_5以及更早版本使用指南的资源?
http://cr.yp.to/daemontools.html
在哪里可以找到更多有关Gentoo Linux的信息?
你可以去看看http://www.gentoo.org上的Gentoo Linux官方文档。一般的Linux信息可以
在http://www.linuxdoc.org上找到。
我可以购买Gentoo Linux的CD吗?
当然行!在Cheapbytes上每份新出炉的CDR光盘只售5美元。
在tuxcds网站上也可以以很优惠的价格得到。这些购买CD的用户给予了Gentoo计划以资金
上的很大支持。所以乘热赶快去购买吧。

b 为什么每当我回复了一个Gentoo邮件列表的问题,只在最初的帖子上有,而没有加入整
个列表中去?
邮件列表的管理员已经决定以改变邮件头的方式把答复加入列表。有很多理由说明需要这
么做。比如说,一个用户拥有一个比较大的邮箱,整个列表每时每刻会收到许多发出的讨
论邮件。大部分使用GUI界面的电子邮件软件有一项“向所有人回复”的功能,你可以很
方便的确认你的答复是否已经加入了邮件列表。大部分使用文本方式的邮件软件也有这种
功能,如果你不知道的话,告诉你吧,在Pine软件中有一项“向用户组提交答复'的功能
,可以设置傻瓜化的方式投递答复到列表。具体的使用方法可以参照forums.gentoo.org
上的非官方文档。一些订阅列表的用户却不喜欢用这种方法,他们喜欢到处穷追不舍的激
烈争论,可太多的这样争论会慢慢引起一些沉重的话题。最后,列表管理员才不得不会决
采取开头的方法。讨论的话题有时候会涉及到很多其他方面的问题,太过激的言论会被停
止讨论。虽然这样做对有些用户造成一定的不便,但到目前为之这仍然是比较好的变通方
法。(这里也很多善意的争论在进行着。是的,列表管理员都瞧着呢:)

c FAQ并没有解决我的问题,那该怎么办呢?
一个比较好的步骤是先看看这里的有关文档,还不行的话,去Google网站搜索一下各种
Gentoo Linux的邮件列表。只要输入"lists.gentoo.org xxx" 关键字查一下就行。如果
问题仍然存在,可以上Gentoo Linux的IRC(#gentoo上的irc.freenode.net频道)问问看


版权所有 2001-2002 Gentoo Technologies, Inc. Questions, Comments,
Corrections? Email www@gentoo.org


--


  ╭─╮                                                          ╭-e
  ├─┼-                                                         (╲ ╲
  § _∕ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ╰﹨\ ╲
  ∕ ﹨       抱歉!我是个艺术家,所以凝视美女是我的工作!          ∕

※ 来源:·北大未名站 bbs.pku.edu.cn·[FROM: 162.105.40.16]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店