Estrutura de diretórios do Linux para novo aplicativo

0

Estou escrevendo um novo aplicativo Python que pretendo distribuir para vários colegas. Em vez da minha atitude despreocupada de simplesmente ter tudo contido e correr dentro de uma pasta no meu diretório pessoal, desta vez eu gostaria de ampliar meu horizonte e realmente tentar utilizar a estrutura de diretórios do Linux como era pretendida (pelo menos um pouco). Por favor, leia o meu resumo abaixo e comente e faça recomendações se isso não estiver correto.

Vamos ligar para o programa "narf"

/usr/narf - Install location for the actual python file(s).    
/usr/bin/narf - Either a softlink to the main python file above or use this location instead.    
/etc/narf - Any configuration files for app narf.    
/var/log/narf - Any log files for app narf.    
/usr/lib - Any required libraries for app narf.    
/run/narf - Any persistent (across reboot), but still temp files for app narf.    
/tmp/narf - Very temp files for app narf that go away with reboot

Eu assumo que devo usar / usr / X (por exemplo / usr / bin em vez de apenas / bin), pois minha aplicação não é crítica ao sistema e é um mero addon.

Atualmente, uso 16 LTS, mas parte disso é uma forma de tentar padronizar meu aplicativo para qualquer distribuição Linux popular.

Obrigado pela ajuda.

    
por Atomiklan 08.03.2017 / 22:22

2 respostas

1

O único problema que você pode ter é o diretório /run . Ele também é usado como armazenamento temporário e é recomendado apenas para processos privilegiados. Assim, os arquivos armazenados lá não são persistentes, como você pretende que sejam, e serão removidos com uma reinicialização.

Dependendo da finalidade desses arquivos persistentes, você pode armazenar dados temporários no diretório ~/.local/share/narf do usuário, se esses dados forem específicos do usuário, ou usar /var/cache/narf (ou /var/tmp , já que é persistente de acordo com resumo da Wikipedia ) para dados persistentes.

    
por Sergiy Kolodyazhnyy 08.03.2017 / 22:48
1

/usr/narf - Install location for the actual python file(s).

Não. Os pacotes não criam diretórios de nível superior em /usr para eles mesmos. Se estes são arquivos Python para uso pelo seu aplicativo, coloque-os em algum lugar em /usr/share/narf , que é para arquivos independentes de arquitetura usados pelo pacote narf. Por exemplo, terminador e /usr/share/terminator/terminatorlib/translation.py .

Se você não estiver criando um pacote, tudo em /usr será movido para /usr/local (então /usr/local/bin/narf , /usr/local/share/narf , etc.).

    
por muru 09.03.2017 / 02:43