Como organizar / opt?

Aug 27 2020

Gostaria de colocar um script feito à mão em seu lugar convencional e estrutura de pasta. Ele está localizado em /opt/chkobm/chkobm, mas parece uma prática ruim, pois requer $PATHa inclusão de caminhos curinga ( /opt/*/)

Do TLDP (seção "Linux Filesystem Hierarchy"):

Os programas a serem invocados pelos usuários estão localizados no diretório / opt / 'package' / bin.

Em primeiro lugar, existe uma regra consensual sobre onde colocar esses arquivos? ( /usr/binme parece um lugar alternativo viável) Em segundo lugar, devo colocar scripts feitos à mão /opt/*/bin/e exportar esse caminho $PATH?

Respostas

Stewart Aug 27 2020 at 18:15

/usr/local/bin é o lugar idiomático para colocar isso.

De acordo com a hierarquia do sistema de arquivos Linux :

A ideia original /usr/localera ter um /usrdiretório separado ('local') em cada máquina além disso /usr, que poderia ser montado somente para leitura em outro lugar. Ele copia a estrutura de /usr. Hoje em dia, /usr/localé amplamente considerado um bom lugar para manter programas auto-compilados ou de terceiros. A hierarquia / usr / local deve ser usada pelo administrador do sistema ao instalar o software localmente. Ele precisa estar protegido contra sobrescritos quando o software do sistema for atualizado. Pode ser usado para programas e dados que são compartilháveis ​​entre um grupo de hosts, mas não encontrados em / usr. O software instalado localmente deve ser colocado em / usr / local em vez de / usr, a menos que esteja sendo instalado para substituir ou atualizar o software em / usr.

Eu tendo a confiar no FHS conforme definido pelo Debian. O Debian é muito bom em fazer cumprir os padrões. Isso é o que eles têm a dizer sobre opt :

Os diretórios / opt / bin, / opt / doc, / opt / include, / opt / info, / opt / lib e / opt / man são reservados para uso do administrador do sistema local. Os pacotes podem fornecer arquivos "front-end" destinados a serem colocados (por meio de link ou cópia) nesses diretórios reservados pelo administrador do sistema local, mas devem funcionar normalmente na ausência desses diretórios reservados.

...

Geralmente, todos os dados necessários para suportar um pacote em um sistema devem estar presentes em / opt /, incluindo arquivos destinados a serem copiados em / etc / opt / e / var / opt /, bem como diretórios reservados em / opt.

...

A estrutura dos diretórios abaixo de / opt / é deixada para o empacotador do software, embora seja recomendado que os pacotes sejam instalados em / opt // e sigam uma estrutura semelhante às diretrizes para / opt /. Uma razão válida para divergir desta estrutura é para pacotes de suporte que podem ter arquivos instalados em / opt // lib ou / opt // bin.

A definição do Debian de /usr/localé idêntica à definição anterior do link TLDP.