Você está correto que o GNU Stow não suporta hard-linking atualmente. No entanto, acho que você também está correto, pois provavelmente uma solução não é melhor do que a conexão simbólica, porque se um aplicativo externo for feliz substituirá um link simbólico por um arquivo normal, certamente também poderá quebrar um link físico (isto é, substituir o inode).
No entanto, tenho boas notícias para você :-) Eu também use o GNU Stow para gerenciar meus dotfiles , e é por isso que em 2.1.3 eu adicionei especificamente a opção --adopt
para ajudar a lidar precisamente com este cenário. Depois de um programa externo ter quebrado o seu link simbólico, você pode simplesmente restaurar com esta opção, e então a versão potencialmente alterada do arquivo será adotada no diretório do seu pacote Stow e o link simbólico será restaurado, com o efeito de não alterar o conteúdo do arquivo. Como você rastreia seus dotfiles por meio do controle de versão, é possível ver o que mudou (por exemplo, via git diff
) e, em seguida, se desejar, verifique algumas ou todas as alterações.
N.B. Para diretórios de pacotes que não são rastreados em um sistema de controle de versão, essa é uma opção arriscada, pois pode modificar o conteúdo do pacote Stow sem desfazer as alterações.