教程 gentoo tutorial

USE 标志与编译优化

在完成用户与权限管理后,下一步是 配置 USE 标志与编译优化,让 Gentoo 系统根据需求裁剪功能并提升性能。

一、USE 标志概述

USE 标志用于控制软件包功能和依赖:

  • 全局 USE 标志:适用于系统中所有软件包,配置在 /etc/portage/make.conf 中:
bash
USE="X gtk qt5 wifi bindist"

`

  • 包级 USE 标志:针对单个软件包,配置在 /etc/portage/package.use:
bash
echo "app-editors/vim python gui" >> /etc/portage/package.use

💡 使用 USE 标志可以去掉不需要的功能,减少编译时间和磁盘占用。

二、编译优化(CFLAGS 与 CXXFLAGS)

CFLAGS 和 CXXFLAGS 控制编译器优化选项:

bash
CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="${CFLAGS}"
  • -O2:优化代码性能
  • -march=native:针对本机 CPU 指令集优化
  • -pipe:使用管道提高编译速度

⚠️ 不建议使用 -O3 或其他激进优化,可能导致不稳定。

三、Make.conf 配置示例

在 /etc/portage/make.conf 中综合配置示例:

bash
# 镜像源
GENTOO_MIRRORS="http://mirrors.tuna.tsinghua.edu.cn/gentoo"

# 全局 USE 标志
USE="X gtk qt5 wifi bindist"

# 编译优化
CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="${CFLAGS}"

# 端口树配置
MAKEOPTS="-j$(nproc)"
  • MAKEOPTS 指定并行编译核心数,提高编译效率。

四、管理 USE 标志

  1. 查看包 USE 标志支持:
bash
equery uses app-editors/vim
  1. 查看当前 USE 标志:
bash
emerge --info | grep USE
  1. 修改后重新编译软件包:
bash
emerge --ask --changed-use --deep @world

五、建议操作

  • 根据硬件和需求合理设置 USE 标志
  • 定期更新软件包并根据新 USE 调整编译选项
  • 使用 equery 和 emerge 检查和管理 USE 标志