Gentoo 使用经验
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差不多.
在管理 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差不多.
相关推荐
playlinuxxx 2020-11-11
86417413 2020-11-25
83206733 2020-11-19
86276537 2020-11-19
83266337 2020-11-19
86256434 2020-11-17
zhouboxiao 2020-11-16
rise 2020-11-22
sssdssxss 2020-11-20
windle 2020-11-10
孙雪峰 2020-10-30
85477104 2020-11-17
xfcyhades 2020-11-20
liuxudong00 2020-11-19
cheidou 2020-11-19
gunhunti 2020-09-25
csdnYF 2020-11-15
达观数据 2020-11-11