I don't want any answer saying that there's no need, please!
I don't want any answer saying that there's no need, please!
Use e4defrag to defrag your files
If your ext4 file system is created with the extent
option (it's default in recent distros), you can use the e4defrag
utility to check and defragment it online i.e. without umounting.
Just check fragmentation level with something like this (you need to be root to see details):
sudo e4defrag -c /path/to/myfiles
Here's an example of the output you can get:
$ sudo e4defrag -c iso/
<Fragmented files> now/best size/ext
1. /home/gerlos/iso/debian-live-7.5.0-i386-rescue.iso
7/1 111177 KB
2. /home/gerlos/iso/systemrescuecd-x86-4.4.1.iso
4/1 100897 KB
3. /home/gerlos/iso/debian-live-7.5.0-amd64-rescue.iso
6/1 116053 KB
4. /home/gerlos/iso/ubuntu-14.04.2-server-amd64.iso
8/1 76160 KB
5. /home/gerlos/iso/ubuntu-14.10-desktop-amd64.iso
15/1 75712 KB
Total/best extents 40/5
Average size per extent 90577 KB
Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This directory (iso/) does not need defragmentation.
Done.
As in this example, most of the time it will tell you that no defragmentation is needed, but if you want to do it anyway you can use (you don't need to use sudo to defrag your own files):
e4defrag /path/to/myfiles
Your users can even run it on their own files, there's no need to be root unless you want to work on other user's or system files.
e4defrag
is in the e2fsprogs
package, and I guess it's already installed on your Ubuntu system.