Freedom251 › Disk Defragmentation Software
Shake

What Shake is
Shake is a free userspace defragmenter for GNU/Linux, created by Brice Arnould. It rewrites fragmented files while the system remains in use and uses heuristics to decide which files need processing. Its selection can consider file size, last-shake date or change time, access-time patterns, and fragment counts. By default, files larger than 95 MB are skipped, and files newer than two months are not processed; options can change these thresholds and tolerances. Shake can show fragmentation without modifying files when run with `--pretend` and `--verbose`. A sorted list of MP3 files can be piped into it so files are defragmented and placed near one another in lexical order. Installation guidance covers Ubuntu/Debian, Gentoo, Arch Linux, and source builds using CMake and libattr development files. The maker recommends mounting partitions with `user_xattr` for more efficient incremental use, though Shake can run without it. Usage instructions call for root access and recommend processing an idle whole partition for better results.
Who it suits
Shake suits GNU/Linux users who want userspace defragmentation and can run commands as root. It is also useful for users needing preview output or ordered placement of MP3 files.
What it does well
- Free GNU/Linux defragmenter
- Runs while the system is in use
- Offers preview mode without changes
- Supports several Linux installation methods
- Can order piped MP3 files
What to know first
- Requires root access
- Files over 95 MB skipped by default
- Newer files skipped by default
- `user_xattr` is recommended for efficiency
Limits
By default, Shake skips files larger than 95 MB and files newer than two months. Its age rule makes files eligible when their last-shake time or ctime is older than eight times 31 days; options can change the thresholds and tolerances.
Getting started
- Visit the Shake project page.
- Choose the installation instructions for Ubuntu/Debian, Gentoo, or Arch Linux, or build from source with CMake and libattr development files.
- For more efficient incremental use, mount the partition with `user_xattr`.
- Run Shake as root on a directory; the instructions recommend using it on an idle whole partition for better results.
- Use `--pretend` and `--verbose` to inspect fragmentation without changing files.
Verdict
Shake provides configurable file defragmentation with preview support and Linux installation guidance. Its defaults, root requirement, and extended-attribute recommendation should be considered before use.
Questions
Is Shake free?
Yes. Shake has a free plan.
Which platform does Shake support?
Shake is for GNU/Linux. Installation options are listed for Ubuntu/Debian, Gentoo, and Arch Linux.
Does Shake have a preview mode?
Yes. The `--pretend` and `--verbose` options report fragmentation without changing files.
Does Shake require `user_xattr`?
It can run without `user_xattr`, but is less efficient for incremental use. The author recommends mounting the partition with that setting.
Who is the maker of Shake?
The project page names Brice Arnould as the author.
Facts from Shake's own pages
- Age behavior
- By default, Shake processes files whose last shake time or ctime is older than eight times 31 days and skips files newer than two months; these values can be changed with options. · vleu.net, 4 Oct 2026
- Extended attributes
- The maker recommends mounting the partition with user_xattr; Shake can run without it but is less efficient because it uses extended attributes to store information for incremental use. · vleu.net, 4 Oct 2026
- File ordering
- You can pipe a sorted file list into Shake to defragment files and place files close together in lexical order on disk. · vleu.net, 5 Oct 2026
- File selection
- Shake uses file size, last-shake date or ctime, access-time patterns, and fragment counts in deciding whether files are fragmented enough to process. · vleu.net, 5 Oct 2026
- File size behavior
- By default, files larger than 95 MB are skipped, and the page says this behavior can be changed with `--big-tolerance`. · vleu.net, 5 Oct 2026
- Filesystem requirement
- The maker recommends mounting the partition with user_xattr; Shake can run without it but is less efficient for incremental use. · vleu.net, 5 Oct 2026
- Founded
- 2008 · vleu.net, 28 Sept 2026
- How it works
- It defragments files by rewriting fragmented files. · vleu.net, 5 Oct 2026
- Installation
- The maker lists Ubuntu/Debian, Gentoo, and Arch Linux installation options and instructions for building from source with CMake and libattr development files. · vleu.net, 4 Oct 2026
- Install options
- The page lists Ubuntu/Debian, Gentoo, and Arch Linux installation options and instructions for building from source. · vleu.net, 5 Oct 2026
- Maker
- The project page names Brice Arnould as the author. · vleu.net, 4 Oct 2026
- Maker location
- The maker's about page says he lives in Evilard, a village close to Berne, Switzerland. · vleu.net, 4 Oct 2026
- Preview
- The `--pretend` and `--verbose` options can show fragmentation without running a defragmentation pass. · vleu.net, 5 Oct 2026
- Preview mode
- Shake can report fragmentation without changing files using the --pretend and --verbose options. · vleu.net, 4 Oct 2026
- Purpose
- Shake is a userspace defragmenter for GNU/Linux that can run while the system is in use. · vleu.net, 5 Oct 2026
- Root access
- The usage instructions say to run Shake as root. · vleu.net, 5 Oct 2026
- Source code
- The maker links to a public GitHub repository whose file list includes COPYING and GPL.txt. · github.com, 5 Oct 2026
- Support contact
- The project page lists [email protected] as the author's email address. · vleu.net, 5 Oct 2026
- Usage
- The maker says to run Shake as root on a directory and recommends running it on the whole partition when it is not in use for better results. · vleu.net, 4 Oct 2026
Where Shake stands on Freedom251
- Disk Defragmentation Software#14 of 20