O que é uma estrutura de nomenclatura apropriada para armazenar pacotes de aplicativos?

2

Eu preciso determinar uma estrutura de nomeação de diretório apropriada para um sistema de gerenciamento de pacotes. A estrutura de diretórios original não era compatível com POSIX e certamente não era do estilo UNIX (você notará que é semelhante ao GoboLinux). A estrutura parecia um pouco assim:

  • /Applications - aplicativos para usuários (mas que os próprios usuários não foram instalados)
  • /System/AppResolve - resolução da aplicação (efetivamente /bin )
  • /System/LibResolve - resolução da biblioteca (efetivamente /lib )
  • /System/Utilities/Applications - aplicativos essenciais para a operação do sistema
  • /System/Utilities/Libraries - bibliotecas essenciais para operação do sistema

Agora preciso encontrar uma maneira de representar essa estrutura de diretórios em um sistema semelhante ao UNIX. AppResolve e LibResolve não são um problema, pois /lib e /bin funcionam bem para isso, o problema é com os outros diretórios.

Em cada um dos outros diretórios, os aplicativos residem em sua própria pasta, portanto, por exemplo, você pode ter esse tipo de caminho:

/System/Utilities/Applications/Tar/1.22/bin/tar

É claro que o link simbólico /bin/tar resolveria esse binário.

Então a questão é esta , eu preciso pegar esse tipo de estrutura e reorganizá-la para caber dentro do estilo UNIX de nomear diretórios (particularmente para que funcione com a estrutura existente no Linux) . Pensei no seguinte, mas acho que é repetitivo e não muito bom:

  • /usr/app/user/applications/...
  • /usr/app/system/applications/Tar/1.22/bin/tar
  • /usr/app/system/libraries/...

Sugestões?

PARA CLARIFICAÇÃO: Isso não está solicitando um mapeamento para diretórios UNIX existentes; ele está pedindo o caminho principal mais adequado para os diretórios "usuário" e "sistema", dada a convenção de nomenclatura UNIX (diretórios de 3 letras, etc.)

    
por June Rhodes 15.02.2012 / 06:08

2 respostas

0

Como sugestão de revisão man hier ou outra documentação sobre os padrões de hierarquia. Eu instalo pacotes em /opt , que mapeia para o diretório /Applications . Na maioria dos sistemas que eu trabalhei, os diretórios de pacotes bin são adicionados ao PATH no usuário .profile ou no sistema /etc/profile .

Em alguns casos, a configuração e os binários podem ser vinculados aos diretórios bin , sbin , etc e lib padrão no diretório raiz ou em /usr/local .

EDIT: releia sua pergunta. Use os diretórios padrão bin , sbin , lib , etc , usr e var . Os diretórios de origem e de compilação geralmente estão localizados em um local /usr/src com um diretório por pacote. A instalação geralmente é feita copiando os arquivos na estrutura de diretório padrão. Depois que a instalação estiver concluída, será seguro limpar ou remover o diretório em /usr/src .

    
por 16.02.2012 / 01:37
0
Primeiro de tudo, você pode evitar completamente os problemas de mapeamento introduzindo uma maneira de compilar o software em questão com configurações diferentes, então use caminhos reais do UNIX em vez de tentar chutá-lo?

Se você modificar o original de forma que ele funcione re-empacotado em locais apropriados, eu recomendaria usar /opt como um lugar para esconder a coisa toda e o sym-link também.

    
por 19.02.2012 / 22:37