Em cada um dos pontos específicos:
-
Acesso root: Se ele usa o FUSE, ele não precisa de root, se não usa o FUSE, ele precisa de root, a menos que você faça uma configuração especial com recursos (potencialmente perigosos) ou namespaces.
-
Montagem em
/
: Suponho que você queira dizer como o sistema de arquivos raiz na inicialização, caso em que qualquer um deles executado em modo kernel deve, em teoria, funcionar, embora alguns sejam mais confiáveis do que outros. A maioria dos LiveCDs faz isso, então é aqui que eu sugiro procurar informações sobre esse ponto específico. -
Escrevendo para os ramos subjacentes: Isso depende do que você quer dizer. Se você quer dizer a propagação de gravações para a vista montada até os ramos inferiores, não faço ideia. Se você quer escrever para os ramos inferiores fora de banda do sistema de arquivos principal, tecnicamente todos os três grandes fazem, mas todos eles requerem uma remontagem para garantir que a mudança seja propagada para a visão montada.
-
Políticas de gravação configuráveis: Eu não sei especificamente sobre isso, mas acho que as grandes 3 (UnionFS, AUFS e OverlayFS) não suportam isso.
-
Ordem de prioridade dependente do arquivo: Eu acho que esse tipo também se enquadra na terceira subquestão, e como lá, eu não conheço nenhum que suporte especificamente isso.
Quanto a alguns detalhes mais específicos sobre cada um deles:
-
UnionFS: Até onde eu sei, esta foi a implementação do sistema de arquivos unificado empilhável original para Linux. Ele existe há muito tempo e é usado por muitos LiveCDs do Linux. Ele é executado no modo kernel e requer correções para o kernel upstream a ser usado.
-
AUFS: Originado como uma bifurcação do UnionFS, e depois meio que se tornou algo próprio. Este tentou obter mainline mesclado e foi rejeitado com base na qualidade do código. Ele substituiu o UnionFS em alguns LiveCD's da distro, principalmente Debian e derivados do Gentoo. Como o UnionFS, ele é executado no modo kernel e requer correções no kernel upstream.
-
OverlayFS: Eu não sei muito sobre o desenvolvimento original deste, além de ser apoiado em um par de derivativos BSD também. É notavelmente a implementação de uplay / union filesystem upstream no kernel do Linux. Ele também é executado no modo kernel.
-
UnionFS-FUSE: Esse projeto, de certa forma confuso, na verdade não tem nada a ver com o UnionFS, além de fornecer essencialmente a mesma funcionalidade. É a implementação do FUSE mais amplamente utilizada de um sistema de arquivos de união, mas isso é tudo que eu sei sobre isso.
-
mhddfs: Este é um valor atípico estranho que é mais parecido com uma implementação de raid0 de granularidade de arquivo do que um sistema de arquivos de união convencional. Ele suporta o balanceamento de arquivos em vários diretórios de backup com base no uso de espaço. Também é baseado em FUSE.
Algumas coisas específicas para observar que não são específicas de uma implementação específica:
-
Todas as opções no kernel têm limitações sobre o que os sistemas de arquivos de apoio podem ser, mais notavelmente não trabalhar com sistemas de arquivos em rede ou BTRFS.
-
Todas as implementações do FUSE têm problemas quando usadas como um sistema de arquivos raiz. Isso não é específico para implementações de sistema de arquivos de união, mas é mais um problema com o FUSE em geral.