# 编译缓存与 ccache

URL: https://caijiao.org/gentoo/ccache
Source: docs/gentoo/ccache.md
Description: 本章介绍 Gentoo 系统中的编译缓存工具 ccache，提升源码编译效率并减少重复编译时间。

在掌握软件包掩码与解锁后，下一步是 **使用编译缓存（ccache）优化 Gentoo 源码编译效率**，节省时间和资源。

## 一、什么是 ccache

`ccache` 是一个编译缓存工具：

- 缓存已编译的对象文件  
- 避免重复编译相同源码  
- 与 Portage 集成，可显著提高编译速度

## 二、安装 ccache

安装 ccache 软件包：

```bash
emerge --ask dev-util/ccache
````

启用系统级 ccache：

```bash
eselect ccache enable
```

查看状态：

```bash
eselect ccache show
```

## 三、配置 ccache

编辑 `/etc/portage/make.conf`，添加或修改如下内容：

```bash
FEATURES="ccache"
CCACHE_DIR="/var/cache/ccache"
CCACHE_SIZE="10G"
```

说明：

- `FEATURES="ccache"`：启用 Portage 的 ccache 支持
- `CCACHE_DIR`：缓存目录
- `CCACHE_SIZE`：最大缓存大小，可根据磁盘调整

## 四、使用 ccache 编译软件包

启用后，正常使用 `emerge` 编译软件包即可：

```bash
emerge --ask app-editors/vim
```

ccache 会自动缓存编译对象，下次编译相同源码时将直接使用缓存，提高速度。

## 五、管理 ccache

1. 查看缓存状态：

```bash
ccache -s
```

2. 清理缓存：

```bash
ccache -C
```

3. 根据需要调整缓存大小：

```bash
ccache -M 20G
```

## 六、建议操作

- 对于频繁更新和编译的软件包，启用 ccache 可显著节省时间
- 定期监控缓存使用情况，避免占用过多磁盘空间
- 配合 USE 标志和 Portage 设置优化编译效率
