Ocasionalmente, podemos ter que instalar algo da fonte devido a vários motivos. Embora seja bastante padrão como instalar o software, dadas as dependências apropriadas, não está claro para mim como gerenciar essa instalação para conveniência futura.
Mais especificamente:
O que podemos fazer para garantir uma desinstalação fácil e limpa (incluindo as dependências instaladas imediatamente antes e apenas para o software instalado a partir da fonte)?
O que podemos fazer para garantir uma atualização fácil e limpa do mesmo software, que provavelmente será instalado a partir da fonte novamente?
O que podemos fazer para minimizar possíveis conflitos se houver um pacote padrão (instalado usando o apt-get) e a versão (mais recente) do pacote (instalada a partir da fonte)?
apt-get src
provavelmente não pode ajudar nesses casos.Primeiro de tudo, depende muito de como você gerencia seus códigos-fonte. Eu faço um diretório como
~/sources
e coloco todos os programas em seus subdiretórios, enquanto outros criam um novo diretório para cada programa.Da mesma forma, alguns como eu, criam um novo subdiretório subdiretório para cada nova versão e removem as versões mais antigas somente quando é garantido que não haja bugs significativos na nova versão que interromperiam meu trabalho.
Não existe uma maneira única de fazer isso, mas, da maneira que você escolher, escolha uma maneira mais fácil para você gerenciar .
Desinstalação Limpa
Eu sugeriria criar um
rem_dep.sh
script que se pareceria com isso.Onde
dep1, dep2, depn
estão as dependências.Atualização limpa e fácil
Se você obtiver o código-fonte de um sistema de controle de versão automatizado como
git
oubazaar
ou se os links forem previsíveis, poderá criar um shell script queEm outros casos também, você pode criar esses scripts com trabalho manual até certo ponto.
Conflito de gestão
--prefix
opção ao instalar softwares e dependências.fonte
Construir dependências:
AFAIK eles devem ser gravados manualmente. Você pode criar um arquivo como o README para manter a lista de dependências instaladas manualmente.
Se esse software já tiver um binário incorporado nos repositórios Ubuntu ou PPA. O rastreamento de dependências durante a instalação deve ser mais fácil:
Desinstalação limpa:
Mantenha a pasta de origem configurada e instalada. Melhor se você coletar todas as fontes em uma pasta específica com o arquivo de dependências instaladas.
Atualização limpa e isolamento de arquivos instalados:
Instale-os em específico
--prefix
(de preferência--prefix=/opt/software_name-version/
).Isso resolverá muitos problemas: versões simultâneas com a do repositório; atualização limpa; mais fácil para desinstalação suja, caso a fonte tenha sido excluída.
Mais sofisticado ou da melhor maneira, como a resposta do @muru, Construa um pacote Debian (para pacotes disponíveis nos repositórios Ubuntu / PPA)
fonte