Clean Disk Space in Ubuntu

Clean Disk Space in Ubuntu

Intro

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

1
2
3
$ 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来解决这一问题;
不过又引出一个新问题:

1
2
3
4
5
6
7
8
9
10
$ 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/目录下的文件是存放在这个分区上的。

1
2
3
4
5
6
7
8
9
10
11
12
13
$ 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

Another WorkAround

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

1
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

Screenshot

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

neovim man

Clean Disk Space in Ubuntu

https://vluv.space/ubuntu_disk_clean/

作者

GnixAij

发布于

2025-06-25

更新于

2025-06-27

许可协议

评论