Hardcoded / usr / bin / env em scripts de configuração

1

Estou construindo um sistema Linux que não possui um diretório / usr. Obter o toolchain para funcionar foi surpreendentemente fácil, mas estou acertando essa irritação com vários scripts auto *: configure, etc., muitas vezes parecem assumir que env está em /usr/bin .

Uma solução alternativa é fazer ln -sv .. /usr durante a compilação, mas obviamente isso é esteticamente desagradável e corre o risco de um caminho com /usr vazando para o sistema final. (Haverá uma rede montada em /usr na produção, e eu não quero que o sistema base saiba que existe.)

Eu instalei meu autotools errado, ou isso é apenas uma suposição irritante que o configure geralmente faz? Estou quebrando o FHS não colocando env em /usr/bin ? (Isso não é um problema para mim; eu já estou quebrando isso por ter /inc e /share .)

    
por Bandrami 12.06.2014 / 05:31

2 respostas

2

Você pode encontrar /usr inestéticas, mas é assim que o universo funciona. Quase todos os Unix têm /usr/bin/env - até onde sei, o único Unix existente que não existe é o SCO OpenServer, e não é grande coisa. Por não ter /usr/bin/env , você não está apenas violando a ESF, você está violando uma convenção extremamente difundida. /usr/bin/env é uma localização padrão, mesmo que esse padrão não esteja escrito. Não é para ser um local configurável: /usr/bin/env é o único local que todos podem assumir.

Quer você goste ou não, a solução é organizar para ter /usr/bin/env . Remover a /usr hierarquia é bom, mas se você fizer isso, faça /usr um link simbólico para / .

Se você vai montar um /usr na rede, então:

  • Crie /usr um diretório que contenha um link simbólico bin -> ../bin .
  • Certifique-se de que no sistema de arquivos montado em /usr , o arquivo bin/env seja um link simbólico para /bin/env ou um programa env em funcionamento.
por 13.06.2014 / 04:11
1

/usr/bin é A localização de env em quase todos os linux e alguns unixes incluindo o OpenBSD. Muitos scripts usam essa linguagem para respeitar os locais PATH , bash , sh , python , perl , ...

dos usuários

Mais informações para

Did I install my autotools wrong, ...

precisa de mais algumas informações sobre "o conjunto de ferramentas", eu acho.

    
por 12.06.2014 / 08:19