Skip to content

Releases: saad-git-007/linux_disk_prune

Disk Prune 0.3.1

Choose a tag to compare

@saad-git-007 saad-git-007 released this 26 Sep 03:28

Disk Prune 0.3.1

Tested on every current Ubuntu release. In a fresh container of each release, the new compatibility suite:

  • installs this .deb with apt
  • runs every suggested system cleanup for real
  • checks dpkg and apt are healthy and that only the listed packages and files went
  • starts the desktop app on both Wayland and X11

Newer releases differ in ways the app handles:

  • Wayland-only GNOME
  • the Rust uutils rm
  • apt 3
  • t64 library renames

Fixes

  • The journal suggestion is skipped when journalctl is not installed.
  • The treemap legend no longer overlaps the depth hint on narrow windows.
wget https://github.com/saad-git-007/linux_disk_prune/releases/download/v0.3.1/linux-disk-prune_0.3.1_amd64.deb
sudo apt install ./linux-disk-prune_0.3.1_amd64.deb

Disk Prune 0.3.0

Choose a tag to compare

@saad-git-007 saad-git-007 released this 25 Sep 22:47

Disk Prune 0.3.0

New

  • Large items tab. Type a size in MB, or 2G. Every file and folder above it is shown as:

    • a mosaic
    • a size histogram
    • a "what it is" donut
    • a ranked list

    You can filter by files or folders and by name, and hide parent folders that are only big because of a sub-folder.

  • Open what it suggests. Right-click any suggestion, path, tile or row:

    • Open in Files (files are highlighted in their folder)
    • Open file
    • Copy path(s) and Copy command
    • Show in treemap

    Double-click to reveal.

Safer cleanups
These come from an adversarial safety audit and from running every cleanup against real apps.

  • Kernels: leftover module folders never include a kernel dpkg is still installing, and they are re-checked right before deletion.
  • Root deletions: a symlink-safe find -delete walk. The in-app removal is race-safe, never crosses into another filesystem, and never removes a folder containing your home.
  • apt autoremove: removes packages and keeps your config files. Flatpak uninstalls only the exact runtimes reviewed, and Docker prunes the daemon that was measured.
  • Logs: MySQL binlogs and per-host log files are never treated as rotated logs. Crash cleanup only takes apport's files.
  • Caches: pip cleans only its own folders, and odd cache environment variables are ignored.
  • node_modules: only for projects with a lockfile, never an app's bundled code or global npm installs.
  • Snaps: a disabled revision newer than the active one (after snap revert) is only a manual step.
  • Flatpak apps: running apps are detected.
  • Terminal UI: fixes for tiny terminals, cancelling a review, and restoring the terminal after a signal.

Tests

  • 111 unit tests
  • user-level cleanups executed against real apps: 328/328
  • audit reproducers: 14/14 fixed
  • functional CLI/TUI suite: 263/264; the one failure is the known limit on trees deeper than PATH_MAX
  • black-box suite: 178/178
  • live-system validator: 39/39 rules exact
wget https://github.com/saad-git-007/linux_disk_prune/releases/download/v0.3.0/linux-disk-prune_0.3.0_amd64.deb
sudo apt install ./linux-disk-prune_0.3.0_amd64.deb

Disk Prune 0.2.0

Choose a tag to compare

@saad-git-007 saad-git-007 released this 25 Sep 10:54

Disk Prune 0.2.0

20+ new cleanup rules

  • Browser caches: Chrome, Chromium, Brave, Edge, Firefox (deb and snap), Flatpak apps. Profiles and logins are never touched; while a browser is running the rule becomes a manual step.
  • Electron app caches (VS Code, Slack, Discord, …), skipped while the app runs. Stale locks left by a crash are recognised.
  • Obsolete VS Code/Cursor extension versions; caches of older JetBrains IDE versions.
  • uv (only data not hard-linked into a venv), Poetry, Conda, pnpm, npx, Yarn, Go, Gradle, Selenium, Playwright, Mesa shader cache, tracker3. Hugging Face models are a manual step only.
  • System: orphaned snapd downloads, apt autoremove (simulated first; kernels excluded), unused Flatpak runtimes, systemd core dumps, Trash on other drives.

More accurate

  • APT counts only .debs and partial downloads. Package lists are rebuilt on the next apt, so they no longer count.
  • Leftover kernel module dirs also purge their rc dpkg records.
  • Snap revisions include each revision's data and show what is freed now vs. later.
  • The journal estimate replays journald's own vacuum.

Runs on any Ubuntu 22.04 machine

  • System paths come from apt-config, snap, flatpak, journald, apport, fontconfig and PATH.
  • User paths honour XDG_*, CARGO_HOME, PIP_CACHE_DIR and npm_config_cache.

Also

  • "Worth a look" is now Top savings.
  • The review dialog wraps long commands.
  • New tests/system/validate_ubuntu_rules.py checks every recommendation against the owning tools on a live system: 39/39 rules exact.
  • 103 unit tests; black-box suite 178/178.

Install:

wget https://github.com/saad-git-007/linux_disk_prune/releases/download/v0.2.0/linux-disk-prune_0.2.0_amd64.deb
sudo apt install ./linux-disk-prune_0.2.0_amd64.deb

Disk Prune v0.1.0

Choose a tag to compare

@saad-git-007 saad-git-007 released this 25 Sep 04:47

First release of Disk Prune: a fast, animated disk analyzer and safe cleanup assistant for Ubuntu 22.04.

Install

wget https://github.com/saad-git-007/linux_disk_prune/releases/download/v0.1.0/linux-disk-prune_0.1.0_amd64.deb
wget https://github.com/saad-git-007/linux_disk_prune/releases/download/v0.1.0/linux-disk-prune_0.1.0_amd64.deb.sha256
sha256sum -c linux-disk-prune_0.1.0_amd64.deb.sha256
sudo apt install ./linux-disk-prune_0.1.0_amd64.deb

Then open Disk Prune from the app launcher, or run linux_disk_prune.

Highlights

  • Views: treemap, sunburst, tree and prune dashboard in the animated "Abyssal" theme.
  • Rendering: GPU (Vulkan on the integrated GPU, automatic OpenGL fallback), plus a terminal UI (--tui) for SSH and --summary / --json reports.
  • Ubuntu-aware cleanup: APT cache, inactive kernels (keeps the running kernel and the two newest, dry-runs apt first), disabled snap revisions, journal, rotated logs, crash dumps, pip/cargo/npm caches, Docker, Rust target/, node_modules, __pycache__.
  • Safety: nothing runs until you review and confirm. Admin actions share one pkexec password prompt. Your own marks go to the Trash by default. It never crosses mount points or follows symlinks.
  • Tested: 83 unit tests plus an independent black-box suite (178/178 checks against GNU du).

Inspired by disktree by Tobi Lütke.