Existe um local padrão no Linux para armazenar arquivos de origem, por exemplo, OpenSSL . Estou construindo o Nginx a partir do código-fonte com a versão não padrão do OpenSSL. Preciso fazer o download e descompactar o OpenSSL e o fiz no diretório inicial. Agora, gostaria de saber se existe um local padrão no Linux, talvez /opt
?
directory-structure
source
user3448600
fonte
fonte
Respostas:
Sempre que você se perguntar algo assim, consulte o FHS ( Filesystem Hierarchy Standard ). Lá, você encontrará a seguinte entrada:
Então você pode colocar seus arquivos de origem em subdiretórios de
/usr/src
. Dito isto, este é um diretório opcional para que você possa realmente mantê-los onde quiser. O código-fonte não é relevante depois que você o compila em um executável, para que o sistema nunca exija que a fonte de algo esteja acessível em um local específico.Em conclusão:
/usr/src
é um local bastante padrão, mas fique à vontade para escolher o seu, se preferir.fonte
/usr/src
em um sistema não- Linux. Os BSDs mantêm suas fontes de sistema básicas lá por padrão e você não deseja misturá-las com software de terceiros. Basta construir em seu$HOME
lugar .../usr/src
derivados Debian, se você tiver certos pacotes instalados (gcc-6-source
,binutils-source
pacotes DKMS, cabeçalhos do kernel etc.). No Debian, há um recurso interessante no qual você pode se adicionar aosrc
grupo que possui/usr/src
e, em seguida, apenas escrever lá como você mesmo (sem precisarsudo
ou o que seja)./usr/src/debug
e/usr/src/kernels
(AFAICS)./usr
em nenhum sistema. Você deve colocar as coisas em/usr/local
. Os BSDs se importam com você/usr/local/src
?/usr/local/src
é um local seguro para manter o código fonte e construí-lo também. A ESF diz :e também
Não está claro o que significa "código fonte local", mas está claro que o sistema não tentará colocar nada
/usr/local/src
, ao contrário/usr/src
, então parece haver pouca desvantagem em colocar o código lá.Na verdade, eu tenho o meu em um sistema de arquivos separado:
Nota: pelo menos no Debian, seu usuário precisa ser adicionado ao
staff
grupo para escrever/usr/local
.fonte
/usr/local/src
enquanto as outras respostas só discutir/usr/src
/usr/local
(em teoria). Então, basicamente, significa exatamente o que você descreveu.Se por "padrão" você quer dizer convencional, o local para descompactar e criar o código-fonte é o seu diretório pessoal. Espera-se que esses arquivos sejam transitórios, excluídos quando você terminar ou sejam mantidos, se desejar, organizados da maneira que desejar. Seu diretório pessoal é a sua área para brincar com todo esse tipo de coisa.
Se você deseja mantê-los posteriormente, para referência , o " Padrão de hierarquia do sistema de arquivos " recomenda
/usr/src
. No entanto, este é um guia, não uma lei; e, se você aderir a esse hábito, em seguida, se aventurar em um sistema não-Linux, poderá causar problemas ao segui-lo. Por exemplo, em um sistema BSD, as fontes básicas do sistema são mantidas lá e você realmente não quer mexer com elas. Mesmo no Linux, você pode correr o risco de se misturar com qualquer fonte armazenada pelos gerenciadores de pacotes, o que não é desejável.Eu recomendaria evitar
/usr/src
geral. Não há benefício óbvio em manter tudo lá, e risco potencial se você confundir o significado pretendido.fonte
Você pode usar
/usr/src
como este local é razoável e distribuições baseadas em rpm o usam para armazenar o conteúdo dos pacotes srpm. Mas qualquer outro lugar como/opt
,/usr/local
,~/src
é bomfonte