Você está procurando FUSE (que significa Filesystem in USErspace). O FUSE é um driver de kernel e utilitários associados ao espaço de usuário e bibliotecas que permitem que um programa de espaço de usuário (potencialmente sem privilégios) implemente um driver de sistema de arquivos. O programa define como implementar as primitivas do sistema de arquivos ( open
, read
, write
, mkdir
, etc.). O FUSE está disponível para variantes mais modernas de unix .
Já existem muitos sistemas de arquivos FUSE existentes . De particular interesse para você é copyfs , que mantém um histórico de todas as versões sucessivas de todos os arquivos.
Se o que você quer é realmente manter as versões anteriores de um arquivo, seria melhor ter um sistema de controle de revisão como CVS, git, Mercurial, etc. Um sistema de controle de revisão não apenas armazena versões sucessivas dos arquivos sob seu controle, mas também armazena comentários alterados, permite ramificações no histórico de versões, permite agrupar vários arquivos e muito mais.