如何清理Linux系统以释放磁盘空间?

如何清理Linux系统以释放磁盘空间?

有哪些通用方法可以释放大量存储空间而不删除个人文件?

我正在进行发行版升级(Debian11->12),它需要根分区上的大量磁盘空间/它的大小不大,我想将所有用户文件保留在该分区上,除了少数例外,如果需要。No space left on device例如,先前的升级由于错误而在中间失败,并且需要的磁盘空间比运行时显示的要多sudo apt-get full-upgrade。运行逐步发行版升级(每次升级需要更少的磁盘空间)尚不可能。

通用方法是删除缓存和旧日志,而不是移动或删除用户文件(例如媒体文件)。请解释这些东西删除了什么。

答案1

  • sudo journalctl --vacuum-size=300M将日志减少到 300 MB
  • sudo logrotate /etc/logrotate.conf压缩或(?)删除系统日志
  • sudo apt-get autoremove删除仅依赖于您之前删除的软件包且不再需要的软件
  • sudo apt-get cleansudo rm -rf /var/cache/apt/archives/*这与删除缓存的下载安装包几乎相同。在某些安装过程中运行它可能会出现问题。
  • 从垃圾箱中删除文件trash:/并检查 /tmp 中是否有可以删除的大文件:find /tmp -type f -size +50M -exec du -h {} \; | sort -n
  • 使用类似的命令识别最大的文件sudo find / -mount -type f -size +100M -exec du -h {} \; | sort -n(还有一些是这里这里)或使用像(图形磁盘映射)这样的 GUI gdmap,然后移动/删除它们或创建符号链接。
    • 例如,要为 ClamTk 相对较大的 daily.cld 文件创建符号链接,可以运行该文件,sudo mv /var/lib/clamav/daily.cld /home/username/Software/daily.cld因此sudo ln -s "/home/username/Software/daily.cld" "/var/lib/clamav/daily.cld"这也适用于期望文件位于特定位置的软件使用的文件。通常可以找到大文件的目录包括/opt/.
  • 人们可以做的另一件事是通过用符号链接替换重复项来对媒体进行重复数据删除,但我不知道有什么命令或工具可以做到这一点(或帮助您做到这一点)
  • GUIBleachBit可能有一些额外的方法

如果像我一样,您的系统崩溃或由于磁盘空间太小而无法运行桌面环境(例如 KDE Plasma),您可以从 TTY 运行 CLI 命令来删除文件,以释放足够的空间磁盘空间。您可以使用 Ctrl+Alt+F1(或 F2、F3...)切换到虚拟终端 (TTY) 并返回。一旦释放了足够的磁盘空间,您就可以使用这些快捷方式切换回来并重新启动桌面环境(对于 KDE 来说是kstart5 plasmashell)。


如果您遇到此问题是因为您需要更多磁盘空间来进行发行版升级,我建议逐步升级作为一种解决方案,可以使此冗余并避免由于没有剩余磁盘空间而导致升级中断。开发人员提出了一些替代方案:

  • 在其他地方使用缓存目录运行命令,例如:apt upgrade -o dir::cache::archives=/media/apt-archives
  • 未经测试:(while sudo apt -s upgrade | grep '^Inst' | head -1 | awk '{print $2}' | xargs apt install; do sudo apt clean; done“使用 head -10 或任何适合更多/更少包的内容”)

相关内容