Gentoo使用经验

来源:互联网 发布:干扰网络的软件 编辑:程序博客网 时间:2024/04/29 23:13

两年前一个叫张文明的Linux高手给我推荐了Gentoo,说开发人员应该用用,于是我就很高兴的使用上了Gentoo。
其实,Gentoo的入门和掌握比Ubuntu都要困难,不过随着不得不想办法解决一些问题,我发现其实使用Gentoo除了比Ubuntu费劲以外,其实也还是有好处的,就是可以在解决问题的同时增长很多linux的知识。下面是我使用gentoo的一些经验,写出来一是备忘,二是希望能和同好者分享。

  1. ~x86
    看到这个标志的时候,通常是你无法安装一些包的时候,因为~x86表示的是一个包属于“测试分支,x86是机器架构”。

    Gentoo中有软件分支的概念,一个软件分支就是有相同属性的一组软件包,软件分支有“稳定类分支”和“测试类分支”。一般默认安装gentoo后就是在“稳定类分支”上,这上面的软件包都是经过严格测试后的软件,而测试类分支上的软件是可以使用但是还没有经过完全测试的软件,一些较新的软件都会先标记为测试类分支,测试OK后才标记为稳定分支。

    当我们需要使用测试分支上的软件包时,我们可以有两种办法告诉系统,一是在/etc/make.conf中添加一个变量ACCEPT_KEYWORDS="~x86"接受所有的测试分支上的软件包,另外一个办法就是在/etc/portage/package.keywords中对每一个需要安装的测试分支软件包进行登记,如“app-office/gnumeric ~x86”或者指定版本信息“=app-office/gnumeric-1.2.13 ~x86”。
    需要特别强调的是,使用ACCEPT_KEYWORDS="~x86"方法,会在你的系统中混用测试分支,这样做后是无法回到只用稳定版本分支的状态的,所以,一般不推荐使用!
  2. mask
    屏蔽包,当gentoo的开发人员认为某个软件包不能使用时,他们会把该包加到/usr/portage/profile/package.mask中,并且写明原因。如果你想强行使用这些包,那么在文件/etc/portage/package.umask中加入该包即可,但是这些包的使用是得不到gentoo开发人员支持的,这需要注意。
    同样的,如果你想让你的系统不使用某些包,那么你也可以在/etc/portage/package.mask中记录该包,这样gentoo就不会使用这些包了。

  3. 升级gcc,从i686-pc-linux-gnu-4.1.2到gcc-4.3.2-r3
    直接 emerge gcc 提示一个错误:/usr/include/bits/mathinline.h:6322: Error: symbol `fstatat64' is already
    解决办法很简单,就是先升级glibc然后再升级gcc即可!参考bug30915

    后来到gcj的时候,又出现另外一个错误,升级 gentoolkit 未能解决,于是向gentoo bugzilla提交一个bug。

    安装完成后,还要按照Gentoo GCC升级指导中的步骤执行:
    # gcc-config i686-pc-linux-gnu-4.1.1
    # env-update && source /etc/profile
    # emerge --oneshot -av libtool

补充:后来抵挡不住使用Ubuntu方便的安装模式和自动升级的优点,转投Ubuntu阵营了。

用Ubuntu的确方便!真没时间解决使用Gentoo时遇到的一个又一个问题!