Quando chown e chmod parecem não fazer nada numa unidade USB, comece por identificar o sistema de ficheiros. A resposta da comunidade na fonte suspeitava de NTFS ou exFAT, o que é uma explicação razoável, pois esses sistemas de ficheiros não funcionam como ext4/Btrfs, com propriedade Unix e bits de modo nativos.
A fonte não indica qual foi o sistema de ficheiros utilizado efetivamente por MikeFrizz, e o autor da publicação original nunca voltou para confirmar o resultado. Por isso, isto deve continuar a ser um guia de resolução de problemas atento ao sistema de ficheiros, e não uma afirmação de que todas as unidades USB do ZimaOS ignoram as permissões.
Identifique o sistema de ficheiros da USB antes de alterar as permissões
Verifique o formato do disco em Armazenamento do ZimaOS ou através de um comando apenas de leitura, como:
lsblk -f
O ZimaOS atual suporta acesso de leitura/escrita a NTFS, exFAT, ext4 e Btrfs, entre outros formatos, mas “suportado para leitura/escrita” não significa que todos os sistemas de ficheiros persistam os metadados Unix UID/GID/modo da mesma forma.
Consulte a matriz atual de formatos de disco suportados.
NTFS e exFAT apresentam frequentemente as permissões através de opções de montagem
No Linux, o exFAT e muitas configurações de montagem NTFS apresentam os ficheiros com valores de propriedade/modo derivados das opções de montagem, em vez de armazenarem as alterações normais às permissões POSIX exatamente como o ext4. Consequentemente, chown ou chmod podem parecer não surtir efeito ou ser revertidos ao montar novamente.
Isso não significa que a unidade esteja apenas em leitura ou avariada.
Um sistema de ficheiros Linux proporciona ao Docker permissões POSIX mais previsíveis
Se o disco USB for dedicado ao ZimaOS/Linux e precisar de um controlo real sobre UID/GID/modo, o ext4 ou Btrfs é uma opção mais natural. A reformatação é destrutiva, por isso copie os dados para outro local antes de alterar o sistema de ficheiros.
Evite utilizar um symlink do anfitrião como principal método de migração do armazenamento do Docker
O utilizador da fonte copiou os dados do Immich para uma USB e criou um symlink a partir da localização antiga. Os contentores não seguem automaticamente symlinks do anfitrião que estejam fora do respetivo espaço de nomes de volumes montados. O symlink pode apontar para um caminho que o contentor não consegue ver.
Uma montagem bind/um volume direto é mais claro e mais fácil de auditar.
Mapeie diretamente a pasta USB para o Immich
Em vez de manter um caminho antigo no anfitrião e redirecioná-lo através de um symlink, edite o volume da aplicação/contentor Immich para que a pasta USB real seja montada no caminho do contentor esperado pelo Immich.
A documentação atual da IceWhale explica que o caminho no anfitrião pode ser alterado sem alterar o caminho no contentor.
Consulte o modelo atual de caminhos de volumes Docker do ZimaOS.
Não mova cegamente todos os componentes do Immich para um armazenamento USB arbitrário
As bibliotecas multimédia e o armazenamento de carregamentos do Immich têm requisitos diferentes dos da base de dados PostgreSQL e do estado da aplicação. Antes de mover diretórios, identifique exatamente qual o volume do anfitrião que está a ser relocalizado e siga as orientações atuais de implementação/migração do Immich.
Não mova um diretório de base de dados ativo através de um symlink enquanto os contentores estiverem em execução.
Corrija o mapeamento antes de aplicar um chmod 777 generalizado
Se o contentor não conseguir ver a pasta correta do anfitrião, alterar as permissões não corrigirá o caminho. Verifique primeiro a montagem e, em seguida, ajuste apenas o acesso mínimo de utilizador/grupo necessário para o contentor.
Perguntas frequentes sobre permissões em USB
O ZimaOS suporta leitura/escrita em NTFS e exFAT?
Sim, a documentação atual da IceWhale indica que ambos são suportados para leitura/escrita.
Porque é que chmod/chown podem continuar a comportar-se de forma diferente?
Esses sistemas de ficheiros não utilizam a semântica nativa de propriedade/modo POSIX do Linux da mesma forma que o ext4 ou Btrfs.
O sistema de ficheiros do utilizador da fonte e a solução final foram confirmados?
Não. O sistema de ficheiros foi inferido por uma resposta da comunidade e o autor da publicação original não comunicou qualquer resultado.
