LinuxMint 桌面 "伤寒杂病" 小诊所

好久没上论坛了. 最近换新公司只提供 windows 作为开发设备. 我已经和 wsl2 + ubuntu 和解了.

人生苦短, 干活要紧. 什么 wayland input-method-v1 v2 v3 electron 我不熟. vscode remote 大法好.

问题 19

删除系统分区中的大文件后,已用空间的体积没有明显减小。系统分区的文件系统是 btrfs。

  • 发现问题的系统
    • 所有系统分区是 btrfs 格式的 Linux 系统。
  • 问题原因
    • 大概率是因为创建了 btrfs 分区快照,快照会占据一定的空间。
  • 解决方法
    • 删除多余的 btrfs 快照。

问题 20

Timeshift 无法删除 btrfs 快照。

  • 发现问题的系统
    • Linux Mint 22.2 Zara 64 位
  • 症状描述
    • Timeshift 是一个对 Linux 系统进行备份的软件,它可以利用 btrfs 文件系统的“快照”功能,创建系统分区的备份。当系统出现问题后,可以恢复到先前的备份版本,类似于 Windows 的“系统还原”。
    • 系统快照需要占用一定的硬盘空间(但和 Ghost 那种镜像式备份不同,btrfs 快照是增量备份,只会备份有改动的文件,因此占用的硬盘空间不会特别大),为节约硬盘空间,需要定期删除不需要的旧版快照。
    • 但有时在 Timeshift 中删除快照时会报错,无法删除快照。
  • 解决方案
    • 手动删除快照。具体操作如下:

进入 Timeshift 软件界面,选中要删除的快照,然后点击“浏览”按钮,转到弹出的文件管理器窗口,复制这一快照的完整路径,

001.png

接下来终端运行命令

sudo rm -rf [快照路径]

等待删除完毕后,重新打开 Timeshift,就会发现这个快照已经被删掉了。

问题 21

在文件系统为 btrfs 的根分区上,无法启用 swapfile

  • 发现问题的系统:
    • Linux Mint 22.2 Zara 64 位,根分区(挂载点为 / 的系统盘)的文件系统为 btrfs
  • 症状描述:
    • 在根目录下创建 swapfile 后[1],执行 sudo swapon /swapfile,系统提示 swapon: /swapfile:swapon 失败: 无效的参数
  • 问题原因:
    • btrfs 对 swapfile 有较多的限制[2]。为了在 btrfs 格式的分区上使用 swapfile,需要重进行新调整子卷布局等操作。
  • 解决方案:
    • 方案 1:如果你还有未划分的硬盘空间,可以创建一个 swap 分区。这是一个比较简单的方法,但需要对硬盘进行重新分区,并不灵活。
    • 方案 2:如果你还有一个文件系统格式为 ext4 的分区,可以将 swapfile 放到该分区中。
    • 方案 3:可以直接在文件系统格式为 btrfs 的根分区中创建 swapfile,但务必注意[3]
      1. 创建 swapfile 时,需要使用命令 btrfs filesystem mkswapfile
      2. swap文件在使用时,它所在的子卷不能被快照。
      3. 不支持在RAID配置的btrfs上使用swap文件。
    • 方案 4:推荐 使用 zarm 机制,该机制会对内存中的内容进行压缩,从而实现有限内存空间的高效利用[4]。具体操作可参考这篇文章

  1. 具体操作参照本文:https://zhuanlan.zhihu.com/p/109084885 ↩︎

  2. 参考资料:https://zhuanlan.zhihu.com/p/355986059 ↩︎

  3. 参考资料:https://forums.debiancn.org/t/topic/6431/11,感谢 依云 的指导。 ↩︎

  4. 参考资料:https://blog.xzr.moe/archives/88/ ↩︎

1 个赞