﻿---
title: Clean Disk Space in Ubuntu
date: 2025-06-25
excerpt: 运行apt install报错You don't have enough free space in /var/cache/apt/archives/，本文记录解决方法
tags: [Linux, Ubuntu, OS]
thumbnail: https://assets.vluv.space/cover/Dev/Linux/clean_disk.webp
cover: https://assets.vluv.space/cover/Dev/Linux/clean_disk.webp
updated: 2026-05-08 22:10:51
---

## Intro

实习一开始申请的 Ubuntu 18，下载 neovim 比较麻烦，直接用了`snap`下载的 nvim。
最近发现在 ubuntu 上使用 nvim 作为 manpager 报错，例如

```shell
$ man select
cannot fstatat canonical snap directory: Permission denied
/usr/bin/man: command exited with status 1: sed -e '/^[[:space:]]$/{ N; /^[[:space:]]\n[[:space:]]*$/D; }' | LESS=-ix8RmPm Manual page select(2) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB%.. (press h for help or q to quit)$PM Manual page select(2) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB%.. (press h for help or q to quit)$ MAN_PN=select(2) nvim +Man!
```

大致是`man`无权访问 snap 目录。前段时间升级了 ubuntu，于是这里打算通过用 apt 安装 nvim 来解决这一问题;
不过又引出一个新问题：

```shell
$ apt-get install neovim
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  neovim
0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.
Need to get 37.4 kB of archives.
After this operation, 168 kB of additional disk space will be used.
E: You don't have enough free space in /var/cache/apt/archives/.
```

试了一下网上的方法，多数是清理`/var/cache/apt/archives/`目录下的文件，或者清理`/var/log/`下的日志文件，但都没有效果。

## Solution

定位一下问题，使用`df`命令查看磁盘使用情况
可以判断是`/dev/mapper/ubuntu--vg-ubuntu--lv`分区满了，`/var/cache/apt/archives/`目录下的文件是存放在这个分区上的。

```shell
$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                                16G     0   16G   0% /dev
tmpfs                              3.2G  307M  2.9G  10% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   58G   57G     0 100% /
tmpfs                               16G     0   16G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                               16G     0   16G   0% /sys/fs/cgroup
/dev/sda2                          974M  213M  694M  24% /boot
...
/dev/loop21                         13M   13M     0 100% /snap/kubectl/3512
/dev/sdb1                          492G  4.2G  462G   1% /mnt/data
tmpfs                              3.2G  8.0K  3.2G   1% /run/user/0
```

> [!caution]
>
> 从路径结构上看 `/mnt/data` 是 `/` 下的一个子目录, 但删除 `/mnt/data` 中的文件后， 并不会释放`/dev/mapper/ubuntu--vg-ubuntu--lv` 分区的空间。
>
> 原因是`/mnt/data`及其子目录的内容实际上存储在设备`/dev/sdb1/`上，而不占用原来 `/` 的磁盘空间。

定位到问题后，就很容易处理了。个人通过`rm -rf /root/.local/share/Trash`后释放了 26G 的空间，成功安装了 nvim。回收站路径见[Where is the .Trash folder? - Ask Ubuntu](https://askubuntu.com/a/102106/2119475)

### Another WorkAround

如果空间实在捉襟见肘，可以试下如下的方法

```shell
sudo apt -o Dir::Cache::Archives="/dev/shm/" install neovim
```

> [!NOTE]
>
> `-o` 选项用于临时修改 APT 的配置，这里将缓存目录设置为 `/dev/shm/`，基于内存的临时文件系统，这样可以避免磁盘空间不足的问题

此外禁用 APT 的缓存功能应该也可以，参考[8. Disable the APT cache to save storage space](https://www.doublebastion.com/disable-the-apt-cache-to-save-storage-space/)

## Screenshot

换用 apt 安装 nvim 后，就可以正常使用 nvim 作为 manpager 了，效果大概是这样的

![neovim man](https://assets.vluv.space/nvim_as_manpager.webp)
