Defragger es una aplicación gráfica de desfragmentación para sistemas operativos Linux, desarrollada en Rust con la interfaz Qt Quick/Kirigami. A diferencia de las utilidades clásicas que dependen de comandos externos como e4defrag, esta herramienta interactúa directamente con el sistema de archivos mediante interfaces del kernel, permitiendo visualizar y reorganizar la asignación de bloques sin salir al terminal.
El proyecto nace de la necesidad de reproducir layouts de almacenamiento consistentes durante pruebas de alto rendimiento, donde la fragmentación afectaba la varianza de los datos incluso en unidades NVMe. La aplicación permite analizar la fragmentación, identificar archivos dispersos y ejecutar procesos de desfragmentación online para ext4 u offline para FAT16/FAT32. También incluye una función de compactación que mueve datos hacia el inicio del volumen en sistemas FAT.
La seguridad es un pilar central: la interfaz gráfica y la línea de comandos no se ejecutan como root. Las operaciones privilegiadas se delegan a un helper autorizado por PolicyKit a través de D-Bus, que valida identificadores opacos en lugar de rutas arbitrarias. El software requiere Rust 1.85 o superior, CMake 3.24 y Qt 6. Actualmente se encuentra en fase alfa, por lo que los desarrolladores recomiendan realizar copias de seguridad antes de usarlo, especialmente con volúmenes FAT donde el soporte de escritura es más reciente.
