Como tornar o MSYS (MSYS2) portátil

2

No Windows, eu tenho uma pasta C: \ msys32 (contendo o que eu acredito ser uma instalação do MSYS2) criada para / por um ambiente de desenvolvimento ESP32 (localizado em ~ / esp). A pasta inicial MSYS inclui meu nome de usuário do Windows.

Agora, quando copio essa instalação para outro computador, de repente essa pasta altera nomes que eu acho perturbadores por si só, já que isso não é "minha pasta", é apenas um nome para contornar um requisito do Linux, pode ser algum nome fixo (canônico) como 'usuário'.

Mais significativamente esse comportamento significa que minha instalação não é portátil. Quando copio a pasta msys32 para outro computador, tudo quebra ou não faz sentido. Para mim, seria melhor se esse nome de usuário fosse simplesmente removido do caminho, mas eu ficaria em segundo lugar, que é dar a ele um nome fixo. Como posso fazer isso?

PS Eu entendo que o objetivo do msys é recriar um ambiente Linux, mas por favor considere que "multi-usuário" é um dinossauro no mundo de hoje onde a maioria das pessoas é "multi-computador".

    
por user287749 09.05.2018 / 14:24

3 respostas

0

Não sei bem o que fazer com "tudo quebra ou não faz sentido" e se posso ajudá-lo com isso.

Com relação aos diferentes perfis de usuários, caminhos iniciais, nomes de usuários e como eles se relacionam entre si. Tenha em mente que todas as contas de usuários locais no Windows são sempre exclusivas, você pode entrar em duas máquinas Windows com o mesmo nome de conta e mesma senha, mas seus SIDs são sempre diferentes. Isso geralmente não importa para você, apenas porque as permissões de arquivo padrão estão configuradas para "Usuários Autenticados" e grupos abstratos similares.

Da mesma forma, no unix, você normalmente se preocupa com o conteúdo de sua pasta pessoal e direitos de acesso a arquivos, além do nome de usuário ou do UID subjacente não serem de grande preocupação, é apenas o nome que você deve fornecer no login.

A menos que "ESP32" fizesse algo estranho com os arquivos de configuração /etc , as coisas deveriam funcionar, não importando qual nome de usuário fosse exibido, definir %HOME% através das propriedades do sistema Windows é minha abordagem preferida para especificar minha página personalizada diretório, já que programas como o windows build do emacs também respeitam esta configuração. Se você quiser uma solução portátil totalmente independente para exatamente um usuário, então /etc/nsswitch.conf deve fazer o trabalho.

Informação detalhada:

PS: Msys é um ambiente de compilação derivado do cygwin para ajudar o Windows do gcc e amigos (coletivamente chamados de mingw) a construir software no Windows que é em teoria multiplataforma mas baseado principalmente no Unix e passou a depender das ferramentas unix para construção. É isso aí. O Cygwin visa muito mais que isso e se você quiser, por exemplo, executar um servidor ssh com separação de privilégios, então o cygwin deixa de ser portátil devido a coisas como problemas de permissão de arquivos e contas perdidas.

    
por 10.05.2018 / 08:31
0

Para minhas necessidades, foi suficiente editar "db_home: / home / user" em "C: \ msys32 \ etc \ nsswitch.conf" antes de executar o mingw32.exe.

Após executar o ming32.exe, c: \ msys32 \ home \ user será criado, com os arquivos comuns nele. É a nova pasta inicial. Agora, todos os caminhos no espaço do usuário são constantes e as instalações podem ser compactadas e copiadas para outro PC, e todos os problemas de instalação desaparecem.

    
por 11.05.2018 / 14:01
0
por 23.06.2018 / 14:23

Tags