Embora seja quase um ano desde que comecei a usar o Ubuntu, não tentei instalar o software a partir da fonte. Na verdade, não encontrei a necessidade de fazê-lo. Mas agora estou trabalhando em um software que está no estágio candidato a lançamento nos repositórios, mas o código fonte da versão estável mais recente está disponível na home page do software.
Aprendi que a instalação a partir do código fonte pode ser difícil se o software tiver muitas dependências. No entanto, se eu resolver isso, posso ser feliz com a versão mais recente. Mas fico me perguntando se esse software pode se atualizar automaticamente ou terei que executar alguns scripts para atualizar o pacote. Ou ainda pior, terei que reinstalar cada atualização do zero?
Também estou ansioso para saber se existe alguma vantagem específica de instalar a partir da fonte que não seja a acima.
fonte
Respostas:
É melhor observar que as dependências de um software raramente mudam. Se você tiver compilado o software com êxito uma vez, qualquer versão subsequente deverá ser fácil de compilar - todas as dependências já deverão estar satisfeitas.
Se você compilou a partir da fonte, não há nenhum
.deb
pacote ou similar que você possa usar para atualizar, a menos que espere a distribuição incluir esse software em seus repositórios ou aguarde até que o PPA dos desenvolvedores seja atualizado.Simplificando, alguém precisa compilá-lo primeiro para torná-lo um deb. A compilação de uma versão antiga não permitiria a atualização automática, você ainda precisa passar por todo o processo "download-configure-compile-install".
No entanto , se você deseja instalar a mesma versão em vários computadores, faria sentido empacotar sua versão compilada como
.deb
(ou similar) e distribuí-la para esses computadores. Se bem feito, as dependências serão extraídas automaticamente.Quanto às vantagens de instalar a partir do código-fonte, os dois únicos que consigo pensar são:
fonte
De acordo com este post, você pode gerar um pacote .deb depois de compilar as fontes. Em vez de "make install", você pode instalar a partir do pacote .deb. Isso facilita a atualização (se estiver em algum repositório) porque o pacote será gerenciado pelo gerenciador de pacotes que rastreia a atualização.
No caso de compilar o pacote "some-package" a partir das fontes e existirem dependências, você pode tentar "apt-get build-dep some-package" para instalar automaticamente todas as dependências necessárias para a compilação do pacote, sem rastrear manualmente cada dependência você mesmo. Dessa forma, as dependências também são gerenciadas pelo gerenciador de pacotes e devem ser atualizadas automaticamente também.
fonte
Outra alternativa para os
git
usuários vale a pena mencionar:Você também pode usar
git pull
depois de um anteriorgit clone
para atualizar seu código-fonte e recompilar seu programa, se desejar. (Você também pode usargit
para acompanhar ainda mais os arquivos: veja a resposta aqui .)Se você originalmente usou
git clone
o código-fonte, como em, por exemplo,e você reteve a pasta após a compilação e instalação, você pode fazer o cd para a pasta e executar
git pull
para obter as confirmações mais recentes. Em seguida, remova todos os diretórios de criação que você criou e / ou executemake clean
(se apropriado) e compile o software novamente e instale-ocheckinstall
, o que também cria um pacote para você (embora não seja adequado para distribuição).No entanto, se você estiver ajudando no desenvolvimento de um programa e precisar recompilar após cada diário
git pull
, provavelmente instalará na pasta base, pois seria desnecessário instalar na/usr/local/
hierarquia todas as vezes.Por exemplo, se estou testando e recompilando regularmente um programa, eu cdaria para minha pasta de compilação depois de obter as confirmações mais recentes com
git pull
e executar (para este programa em particular):e compile a versão de depuração para testar.
No entanto, se você apenas desejasse compilar uma nova versão do seu programa clonado por git a cada mês ou mais (e não o estivesse testando ou depurando), normalmente instalaria na
/usr/local/
hierarquiacheckinstall
.fonte
Para gerenciar suas instalações a partir do código-fonte, consulte minha resposta aqui: Como atualizar pacotes compilados a partir do código-fonte?
fonte