Como atualizar pacotes compilados da fonte? [duplicado]

6

Estou prestes a instalar o ambiente de desktop Enlightenment e é um processo muito longo. Eu quero saber se, uma vez instalado, ele será atualizado automaticamente ou terei que continuar compilando para atualizá-lo.

    
por Jacky 17.05.2011 / 03:35

3 respostas

4

Quando você instala a partir do código-fonte, não há nada (como o dpkg) que rastreie os arquivos recém-instalados para você (quais arquivos e onde eles foram colocados). A menos que você use explicitamente uma ferramenta.

Como saber onde os arquivos foram instalados

Eu uso o Git para rastrear instalações no meu / usr / local. Aqui está como fica:

cd /usr/local
git init
git add .
git commit -m "Starting to track /usr/local"

Instale o novo software ( ./configure , make , make install ). E então:

cd /usr/local
git status
git add .
git commit -a -m "Installed open-magic-1.2.3"

Agora você pode ver quais arquivos foram instalados e quando:

cd /usr/local
git log --stat

Se você é habilidoso com o Git, você pode até mesmo fazer desinstalações com alguns comandos git. Mas tenha cuidado, pois o Git não rastreia as permissões do arquivo (eu escrevi um script especial que pode salvar e restaurar todas as permissões e propriedades de / para os arquivos). Eu só desinstalei algumas vezes, mesmo que eu tenha 334 commits (e.i. instalados) em meu / usr / local.

Algumas pessoas instalam software em diretórios dedicados e criam links simbólicos ou adicionam os diretórios bin a PATH.

Eu comecei a fazer isso também. Eu instalo fontes com o PREFIX definido como /opt/open-science-1.2.3 (por exemplo) e, em seguida, faço links simbólicos para os arquivos bin no meu Git rastreado /usr/local/bin . O que é realmente bom nisso é que eu posso pré-criar o diretório /opt/open-science-1.2.3 pertencente ao non-root e então executar make install como não-root. Isso prova que o script de instalação não conectou arquivos em nenhum lugar do sistema em /opt/open-science-1.2.3 .

A maneira simples, mas confusa

Provavelmente, a maneira mais fácil de atualizar é apenas reinstalar as novas fontes. Basta fazer o procedimento de instalação como se fosse a primeira vez. Você pode acabar tendo alguns arquivos antigos órfãos por aí. O software será executado corretamente, mas os arquivos órfãos ocupam espaço tornando sua configuração confusa.

    
por Aleksandr Levchuk 17.05.2011 / 04:12
0

Você precisará recompilar para cada atualização. Os pacotes de revisão de código-fonte como Git, SVN ou bzr ajudarão você a encontrar e baixar as atualizações nos arquivos-fonte, mas precisará recompilar. Não há um rastreador / instalador de atualizações automáticas para arquivos de código-fonte.

    
por laurent 17.05.2011 / 06:13
0

Como Aleksandr Levchuk apontou corretamente, você pode rastrear instalações para atualizações disponíveis usando o GIT ou o SVN. Para o Enlightenment, há o SVN - link

Eu fiz uma pergunta semelhante há alguns meses - Can Eu atualizo software instalado diretamente do código-fonte . Tem boas respostas também.

    
por Chethan S. 17.05.2011 / 05:46