RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1608922
Accepted
iewher
iewher
Asked:2025-03-19 13:36:21 +0000 UTC2025-03-19 13:36:21 +0000 UTC 2025-03-19 13:36:21 +0000 UTC

如何释放磁盘空间

  • 772

大家好,请帮助我正确地释放空间,并且不丢失数据。

georgiy@debian-pp:~$ df -h
Файловая система                 Размер Использовано  Дост Использовано% Cмонтировано в
udev                               7,8G            0  7,8G            0% /dev
tmpfs                              1,6G         1,8M  1,6G            1% /run
/dev/sda2                          109G          98G  5,0G           96% /
tmpfs                              7,8G          27M  7,8G            1% /dev/shm
tmpfs                              5,0M          12K  5,0M            1% /run/lock
/dev/loop0                          56M          56M     0          100% /snap/core18/2846
/dev/loop2                          45M          45M     0          100% /snap/snapd/23545
/dev/loop3                          45M          45M     0          100% /snap/snapd/23771
/dev/loop1                          56M          56M     0          100% /snap/core18/2855
/dev/sda1                          511M         5,9M  506M            2% /boot/efi
/dev/sdb1                          229G         119G   98G           55% /home
192.168.88.93:/mnt/main/nfs-devs   975G          33G  942G            4% /var/nfs-devs
tmpfs                              1,6G         2,6M  1,6G            1% /run/user/1000

启动 docker 容器时,/dev/sda2空间不足并抛出错误。

占用空间截图

也许可以以某种方式连接这两个部分,最主要的是它是安全的。

linux
  • 1 1 个回答
  • 75 Views

1 个回答

  • Voted
  1. Best Answer
    Pak Uula
    2025-03-21T16:28:39Z2025-03-21T16:28:39Z

    抱歉,我忘记注意到您的空格是以 结尾/,而不是/home。

    想法是一样的:

    1. 找到占用空间最多的目录
    2. 分析一下
    3. 找到治疗方法
    sudo du -m -d1 -a -x / | sort -nr
    

    例子

    176320  /
    128564  /var
    27587   /home
    8193    /swap.img
    8193    /swapfile
    3777    /usr
    6       /etc
    4       /tmp
    .
    .
    

    我们以同样的方式看一下内容/var:sudo du -mxad1 /var/ | sort -nr

    128565  /var/
    127187  /var/lib
    1249    /var/log
    127     /var/cache
    2       /var/backups
    

    让我们继续

    127188  /var/lib/
    126250  /var/lib/docker
    674     /var/lib/snapd
    219     /var/lib/apt
    34      /var/lib/dpkg
    ...
    

    正如所证明的——docker 占用了大量的空间。清理 docker 有很多种方法。最残忍的是删除除了正在运行的容器以及它们关联的镜像、卷等之外的所有内容:

    docker system prune -a --volumes
    

    清理后,停止 docker 并将 /var/docker 移动到另一个分区上的 /home/docker。并将其放入符号链接 ln -s /home/docker /var/docker或写入配置文件中/etc/docker/daemon.json

    {
      "data-root": "/home/docker"
    }
    

    原始答案

    首先,值得弄清空间去了哪里。为此我使用以下命令du:

    • 该键-d 1输出用深度为 1 的所有子目录(即运行该命令的目录的子目录)替换目录的总空间
    • 该键-m显示以兆字节为单位的大小。
    • 密钥-a在输出中包含文件,而不仅仅是目录
    cd $HOME
    du -a -m -d 1 . | sort -nr
    

    这个长命令将遍历你的整个主目录,并打印主目录下每个子目录的总大小,并按降序打印排序列表。

    例如,我有:

    10445   .
    4016    ./go
    3067    ./.cache
    1798    ./work
    1133    ./.vscode-server
    224     ./.nvm
    80      ./.npm
    71      ./go1.23.4.linux-amd64.tar.gz
    .
    .
    

    经过这样的分析,您可以查看谁占用了最多空间的详细信息,并在网上查找如何进行清理而不破坏任何东西。

    $ du -a -m -d 1 ./go | sort -nr
    4016    ./go
    3918    ./go/pkg
    98      ./go/bin
    
    $ du -a -m -d 1 ./.cache | sort -nr
    3067    ./.cache
    2681    ./.cache/go-build
    336     ./.cache/cloud-code
    42      ./.cache/pip
    .
    .
    

    事实证明,对我来说最大的空间被 go 模块和 go build 缓存占用了。因此,您需要上网查找如何清洁它。

    $ go clean -modcache
    $ du -a -m -d 1 . | sort -nr
    6527    .
    3067    ./.cache
    1798    ./work
    1133    ./.vscode-server
    224     ./.nvm
    98      ./go
    .
    .
    

    减去四千兆字节。

    $ go clean -cache
    $ du -a -m -d 1 . | sort -nr
    3846    .
    1798    ./work
    1133    ./.vscode-server
    386     ./.cache
    224     ./.nvm
    98      ./go
    .
    .
    

    又减去 3 GB。

    当然,你的位置会被别的东西占据。但总体思路依然是:

    1. 诊断 - 浪费空间最多的地方。
    2. 找到专门针对占用空间最大的应用程序的清理器,
    3. 主题清理并检查结果。

    重复此操作直到释放足够的空间。

    如果您不确定,请将命令输出添加到您的问题中du -a -m -d 1 ~ | sort -nr,我们将看看可以删除什么以及如何删除。

    • 3

相关问题

  • 如果 fuser -k number/tcp 没有帮助,如何在 Debian 中释放端口?

  • Ubuntu。startx 不起作用。黑屏

  • --syn 在 iptables 中有什么作用?

  • 为什么需要iso格式?

  • C程序中没有密码的sudo

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5