Portage说明书

emmmm 没错 我终于开写了

首先简单介绍下Portage:

  1. 它使用wget下载源码
  2. 编译前会检查/usr/portage/distfiles是否有此源码文件
  3. 通过校验源码的md5检查完整性
  4. 支持模糊搜索(完虐其它包管理,所以请善用)

USE:

这个东西在Gentoo里面很重要,在这里我就打个比方:

假如你想搭个房子,一般的发行版是给你一个标准套房,想要别的功能需要另外装修或购买家具(例如语言包)

但如果想彻底改变,一般发行版除了自己编译时调整参数是不可能做到的

Gentoo作为几乎所有软件都需要编译的系统,但是软件如此之多,怎么样才能保证统一性?这时候就有了USE:

USE你可以看做全局或单一软件的编译参数,假如我想让这个包有Python支持或支持Python就加上python这个USE
再假如你想让这个程序能有GTK的支持就加上gtk这个USE

再或者你可以通过USE改变这个包的类型:比如你不想使用任何闭源的东西,则加上bindist这个USE(gentoo是默认加上的),不过作为普通用户你应该改成-bindist与前面的意思相反

我知道你应该在想了,这么多USE,我怎么知道怎么配置:你不需要了解所有的USE,接下来就会说明白了

在安装gentoo的时候 有个选择profile的步骤,其实那个时候就是在配置USE了,你当前的USE可以通过运行emerge --info看到完整的信息

所以,除了将make.conf中的bindist改成-bindist,其它特殊需要或你没有选择profile以外你不需要自己配置USE

但是我又该如何知道有哪些USE?很简单,在每次安装软件或者更新的时候加上-v参数即可,例如平时安装软件是'emerge -a xxx',改成emerge -av xxx即可.

通过上面的说明你可能已经知道了 -xxx即禁用状态,可以在make.conf中声明

USE在make.conf声明了一大堆不方便管理怎么办,这里简单说个技巧

你可以在make.conf中声明个One Two Three:

One="USE-1 USE-2 USE-3"
Two="USE-4 USE-5 USE-6"
Three="USE-7 USE-8 USE-9"
USE="${One} ${Two} ${Three}"

你看 这样是不是更方便管理了(注意变量名不要和其它变量冲突)

Tips:

关于下载源码,有时候你指定了镜像站却还是下载很慢 那是因为有些源码并不是从镜像站下载,而是直接从官网下载,而在中国这个局域网,下载起来。。。。

这时候你可以选择临时设置代理:

export https_proxy=127.0.0.1:8118
export http_proxy=127.0.0.1:8118

这里仅供示例 具体的ip和端口根据实际情况更改

但是我没有代理怎么办,如果你有国外vps什么的,在/var/log/emerge-fetch.log找到下载链接在vps上下载之后再通过ftp或http下载到/usr/portage/disfiles(记得覆盖或删除先前的源码)

5条评论
  1. test
    test2018-02-26

    export http_proxy=127.0.0.1:8118 一般代理设置是 本地服务器+本地端口,还是远程服务器+远程端口?

    1. YangMame
      YangMame2018-02-26

      俩者都可以 不过我一般都是用的ss 在本地有端口为代理

      回复
    回复
  2. none
    none2017-11-18

    小伙,blog长草了......

    1. YangMame
      YangMame2017-11-19

      才没有 =.=

      1. YangMame
        YangMame2017-11-20

        test

        回复
      回复
    回复
添加新评论