Sistema de archivos basado en FUSE que se usa para introducir no determinismo en los metadatos del sistema de archivos. "no determinismo" significa que una misma acción puede producir resultados diferentes en distintos momentos. En el contexto de los sistemas de archivos, esto implica que disorderfs puede alterar el orden en que se devuelven los archivos y modificar sus tiempos de acceso/modificación/creación, lo cual es útil para probar software y detectar dependencias ocultas en el orden de los archivos.
1.-
Montar un directorio con disorderfs
Supongamos que tenemos un directorio /home/user/proyecto y queremos montarlo con disorderfs en /mnt/disorderfs:
# mkdir /mnt/disorderfs
# disorderfs --shuffle /home/user/proyecto /mnt/disorderfs
$ ls /mnt/disorderfs
2.-
Cambiar aleatoriamente las marcas de tiempo de los archivos
Si queremos que las fechas de creación/modificación de los archivos sean aleatorias, usamos:
# disorderfs --shuffle --touch-randomize /home/user/proyecto /mnt/disorderfs
$ ls -l --time-style=full-iso /mnt/disorderfs
3.-
Probar si un paquete es reproducible
Si estamos verificando la reproducibilidad de un paquete de software, podemos compilarlo dentro del directorio montado con disorderfs:
# disorderfs --shuffle --multi-user . /mnt/build
# cd /mnt/build
# make
Si la compilación produce archivos diferentes en distintas ejecuciones, significa que el proceso no es completamente reproducible.
# umount /mnt/disorderfs