Onde devo armazenar os downloads de origem para instalação?

10

Eu costumava baixar tudo para / tmp, porque depois make; sudo make installgeralmente não preciso mais desses arquivos.

Mas agora percebi que a única maneira de desinstalar programas instalados a partir da fonte é usar make uninstall(quando disponível). Por isso, provavelmente devo manter meus downloads caso precise deles mais tarde.

Então, onde devo guardá-los? Existe um lugar projetado para isso no linux?

ChocoDeveloper
fonte
Evite o problema: instale a partir de pacotes, quando possível.
Michael Hampton
@ MichaelHampton Às vezes isso não é uma opção (eu acho), por exemplo: o nginx requer a instalação do código fonte do formulário, se você deseja adicionar módulos de terceiros.
ChocoDeveloper

Respostas:

16

O local definido pelo padrão de hierarquia do sistema de arquivos para manter o código-fonte é /usr/src. Suponho que você também possa usar /usr/local/src, pois isso é um pouco mais descritivo de onde o software veio (ou seja, você o construiu; a distribuição não).

Observe, no entanto, que o FHS realmente menciona que o código-fonte não deve ser criado a partir deste diretório, provavelmente porque você não deve compilar as coisas como raiz, portanto, suponho que você mova a árvore de origem para lá após a instalação. Na prática, porém, eu não me incomodo; Eu mantenho tudo o que construo ~/Code, que está em uma partição mais espaçosa. Basicamente, não existe uma convenção amplamente aceita; você apenas faz o que funciona para você.

Você também deve consultar o checkinstall , um excelente software que cria um pacote rudimentar a partir de um comando. (Provavelmente estará no repositório da sua distribuição.) Essencialmente, em vez de executar

sudo make install

você executaria algo ao longo das linhas de

sudo checkinstall make install

que o questiona sobre o pacote que você está criando, relógios make installinstala tudo e cria um pacote que pode ser instalado e desinstalado corretamente com um gerenciador de pacotes. Eu acredito que o checkinstall pode criar pacotes para sistemas baseados em dpkg (Ubuntu, Debian, etc.), sistemas baseados em RPM (Fedora, RHEL etc.) e sistemas baseados em Slackware. Se você estiver executando o Arch, não se preocupe com o checkinstall; em vez disso, considere usar um PKGBUILD.

Espero que ajude!

trinta e três
fonte
+1 por mencionar pacotes. Qual eu acho que é a resposta que foi necessária (mas não solicitada).
Hennes 02/02
Obrigado! Estou usando o checkinstall agora, parece ótimo até agora. Uma última pergunta: não preciso manter o .deb, certo? O dpkg saberá como desinstalá-lo, mesmo que ele desapareça
ChocoDeveloper
Está correto. Todos os gerenciadores de pacotes mantêm uma lista de arquivos instalados pelo pacote, para que você possa excluir o pacote criado após a instalação.
thirtythreeforty
5

Não há local designado para arquivos de origem; todo mundo tem seus próprios hábitos.

No entanto, considere estas três opções:

  1. Nas raízes homedir (funciona, mas é ativado / o que geralmente é bastante pequeno).
  2. / usr / local / src / (ou na verdade qualquer coisa em / usr / local /
  3. Instale via pacote e use o gerenciador de pacotes para desinstalar.

Para manutenção a longo prazo, eu realmente recomendo a opção 3. Mesmo que você precise compilar os pacotes (a partir da fonte). Nesse caso, você obtém: untar / configure / make / make package através de alguma sintaxe, dependendo da sua escolha / instalação do pacote

Hennes
fonte