Changelog
- Honest about space btrfs snapshots hold: On Omarchy and other systems where snapper snapshots the root,
mo cleanstill trims old pacman packages but says their space comes back only as the snapshots rotate and leaves it out of the freed total,mo uninstallsays the same for removed packages, andmo analyzenotes that snapshots exist when only root can list them. On a btrfs test machine, 231 MB of old packages freed nothing until the snapshot holding them was deleted. - More caches covered: Steam and Lutris shader caches, Thunderbird, Telegram, WebKitGTK, Heroic, GNOME Software, sccache, Wine installer downloads and Snap app caches are cleaned, each waiting while its app runs, while Spotify's offline music and downloaded models inside Flatpak and Snap caches stay. Playwright and Cypress browser downloads are left alone, as on macOS.
- Leftovers of about 60 more apps: Uninstall now finds the home folders of apps such as Alacritty, Neovim, Emacs, VirtualBox and Burp Suite, each path reviewed by hand from the xdg-ninja catalog. Folders other apps share or that hold sign-in keys are never offered, and chat history stays unselected.
- Optimize points out more: Pending
.pacnewmerges in/etc, AUR packages that need a rebuild after a Python or library update, files under/usrand/optno package owns, and broken links in your home folder, each with the command to run. Nothing is changed. - Status shows apps: Processes are grouped by app, such as "Firefox ×14", with their CPU and memory added up and GPU memory where the driver reports it, and a btrfs disk shows its data and metadata allocation, turning red when metadata is nearly full.
更新日志
- 如实说明 btrfs 快照占着的空间:在 Omarchy 这类用 snapper 给根目录打快照的系统上,
mo clean照常清理旧的 pacman 包,但会说明这部分空间要等快照轮换后才回来,也不再算进已清理的总量,mo uninstall删掉软件包时同样会提示,mo analyze在快照只有 root 能看时也会注明有快照,在一台 btrfs 测试机上,231 MB 旧包删掉后一点空间都没回来,直到删掉存着它们的快照才释放。 - 覆盖更多缓存:会清理 Steam 和 Lutris 的着色器缓存、Thunderbird、Telegram、WebKitGTK、Heroic、GNOME Software、sccache、Wine 的安装包下载和 Snap 应用缓存,应用运行时都会等它退出,Flatpak 和 Snap 缓存里的 Spotify 离线音乐和下载的模型会保留,Playwright 和 Cypress 下载的浏览器跟 macOS 一样不动。
- 多认识约 60 个应用的残留:卸载时能找到 Alacritty、Neovim、Emacs、VirtualBox、Burp Suite 这些应用放在家目录里的文件夹,每条路径都对照 xdg-ninja 的目录逐条人工核过,多个应用共用的文件夹和存着登录密钥的文件夹不会列出来,聊天记录默认不勾选。
- 优化能指出更多问题:
/etc里待合并的.pacnew,Python 或依赖库升级后需要重新编译的 AUR 包,/usr和/opt下不属于任何软件包的文件,以及家目录里失效的链接,每项都附上要运行的命令,Mole 自己什么都不改。 - 状态面板按应用显示:进程按应用归组,比如「Firefox ×14」,CPU 和内存合在一起算,驱动报了的话还会显示显存,btrfs 磁盘会显示 data 和 metadata 的分配情况,metadata 快满时标红。
Install
curl -fsSL https://raw.githubusercontent.com/tw93/Mole/linux/install.sh | bashMole installs into ~/.local/share/mole and links mo into ~/.local/bin, with no sudo. Already installed? Run mo update. SHA256SUMS.txt lists the checksum of each archive, and the installer checks it before installing.