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/snapshots 下载每日的/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.edu/~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 (按 回车)
# 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的使用方面
a 我已经在系统里安装了openssh,但只能以root用户登录,其他的用户不行
这通常可能是由于你的用户帐号没有指定合适的shell。察看/etc/passwd文件,看看它是不是以/bin/bash结尾(或者是以其他的shell结尾)。如果没有的话,你必需为这个帐号指定一个shell。可以用usermod命令,像这样:
代码:
# usermod -s /bin/bash myuser
b 我只能以root帐户执行X程序
你的/tmp目录权限不对,需要重新设置,以root权限执行下面的命令来改变权限:
# chmod 1777 /tmp
c 我怎么配置国际键盘呢?
编辑/etc/rc.conf文件里的KEYMAP变量。然后重启或执行/etc/init.d/keymaps restart命令。
只有root帐户能使用DNS域名解析
/etc/resolv.conf权限不对,执行# chmod 0644 /etc/resolv.conf变更权限。
d 为什么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。