USE标记
在管理 USE 标记之前,我们首先要区分 全局 与 本地 的概念。
全局标记,顾名思义,就是系统软件包或绝大部分软件包都会依赖的标记。
本地标记,是针对安装的软件包不同,可自由定制的标记。
当前可用的全局USE标记列表可以在 /usr/portage/profiles/use.desc文件里找到。
当前可用的局部USE标记列表可以在 /usr/portage/profiles/use.local.desc 文件里找到。
BTW, 建议安装 gentoolkit 里, 使用里边的 euse -i 命令来查看详细信息.
添加,修改,删除全局 USE 标记, 我建议改在 /etc/make.conf
而针对本地标签, 则通过制定软件包+标签的方式, 定义在 /etc/portage/package.use 里.
这样的可以有效区分全局和本地, 使其工作在不同的作用域下.
另外, 针对单个软件包, 还可以进行临时的 增删改 USE 标记:
USE=”-cups” emerge -avt samba
但不是很推荐这样用,因为当系统升级或装新版软件包时, 原来支持的标记可能被新版去掉,到时候整个软件的使用也会成问题。
USE标签的结构:
所有可以配置 USE 标记的地方
/usr/portage/profile/base/make.defaults
/usr/portage/profile/default-linux/make.defaults
/usr/portage/profile/default-linux/x86/make.defaults
/usr/portage/profile/default-linux/x86/2007.0/make.defaults
/etc/make.conf
/etc/portage/package.use
作为环境变量的USE设定
顺序,从低到高只使用第一次碰到的。比如 package.use 里定义了 -ssl,那么 make.conf 里再定义 ssl 就会被忽略.
make.defaults里面的USE默认设定
用户在/etc/make.conf里面的USE设定
用户在/etc/portage/package.use里面的USE设定
作为环境变量的USE设定
以上所有配置文件,除了 make.defaults 不建议修改(emerge –sync 后,你的修改会被覆盖), 其他的建议分全局
和本地两种作用域来管理.
屏蔽的包和被block的包
当 emerge 安装A软件包时,如果提示某个B依赖包被 blocks 时,你可以在 /etc/portage/portage.keywords 里添加 >= B, 然后重装被block的软件包.
比如
[blocks B ] >=sys-apps/coreutils-6.10 (is blocking sys-apps/mktemp-1.5)
说明大于等于 6.10 版的软件包 sys-apps/coreutils, 被 sys-apps/mktemp-1.5 block掉了.
如果你仍然想安装, 则在 /etc/portage/portage.keywords 加 <sys-apps/coreutils-6.10
然后重装 sys-apps/coreutils 即可.
被mask的包, 查看这篇文章 http://www.linuxsir.org/bbs/thread308248.html
想安装软件包的最新版本(默认emerge只会安装某个软件包的稳定版本), 可以在 /etc/portage/package.keywords 里添加软件包名 + ~x86 即可, 这点与被mask的包, unmask差不多.环境变量
gentoo有一套设计良好的环境变量配置体系。类似,init脚本在启动rc后,按顺序执行runlevel里的启动脚本那样。boot->default or boot->nonetwork or boot-> single
上面用 ls 命令列出了 /etc/env.d 目录下的所有文件,这些文件里依次定义了与某些软件相关的环境变量。文件名前2位数字,表示env-update将从大到小的启动顺序来执行这些脚本.
脚本的内容,其实很简单,就是定义几个环境变量,比如:
99imkenwu 就是我自己定义的,需要全局使用的环境变量。它的启动顺序是 99 ,即排在最后一个执行。
gentoo 环境变量体系有点:
1, 提高可读性,即,不需要将全局的环境变量都定义在 /etc/profile 里,使 profile 文件变得异常臃肿,难维护。
2, 环境变量解耦合,将每个软件使用到的不同的环境变量分开。
3, 方便维护。
etc-update
配置文件更新工具,方便将 新的软件包 提供的配置与老的配置进行 merge,update等操作。很方便。
另外,当你每次 emerge 完时, 也会提示你,有多少个 /etc 下的配置未更新。
Gentoo 使用经验
转载请注明出处:服务器评测 » Gentoo 使用经验