
Eu tenho um programa chamado zlib que preciso atualizar. Como nunca baixei antes, suspeito que venha com o Ubuntu.
Normalmente eu apenas baixaria e compilaria, mas uma ferramenta diferente (vcftools) irá usá-lo, então não posso simplesmente instalá-lo localmente. Eu suspeito que preciso
Instale a nova versão do zlib em algum lugar e diga ao sistema para procurar o zlib na pasta em que o instalei. Se o zlib for compatível com versões anteriores, tudo bem, espero.
Atualize a versão atual (mas sudo apt-get install informa que tenho a versão mais recente)
Como eu faço isso? Obrigado.
Responder1
Acho que você está confundindo um pouco as coisas. zlib
é apenas mais um pacote instalado localmente na sua caixa do Ubuntu. Eu primeiro veria se existe uma versão mais recente zlib
em um dos repositórios Ubuntu/Debian que contém todo o software que você pode instalar (pré-construído) para Ubuntu/Debian e outros sistemas operacionais que derivam de qualquer uma dessas 2 distros.
$ apt-get install zlib
Mas antes de executarmos esse comando, vamos verificar se o pacote é de fato chamado zlib
:
$ dpkg -l |grep zlib
ii zlib1g:amd64 1:1.2.7.dfsg-13 amd64 compression library - runtime
Portanto, parece que o pacote é realmente chamado de zlib1g
. Para atualizá-lo:
$ apt-get install zlib1g
Reading package lists... Done
Building dependency tree
Reading state information... Done
zlib1g is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
Então, estou preso nessa versão específica ou não há uma mais recente disponível.
Outra abordagem
Você poderia facilmente baixar a versão mais recente do zlib
, 1.2.8, e compilá-la, e então configurar seu LD_LIBRARY_PATH
, temporariamente, para apontar para suas versões compiladas dessas bibliotecas. Isso permitiria que você experimentasse, sem precisar instalá-lo em seu sistema ainda.
Depois de definir o LD_LIBRARY_PATH
, você pode invocar VCFtools
para testá-los.
Próximos passos
Sua próxima opção seria encontrar um repositório de terceiros com uma versão mais recente do zlib1g incluída ou baixar o pacote fonte e criar seu próprio arquivo .deb usando-o. Existem vários tutoriais sobre como configurar seu próprio ambiente de construção de pacotes e construir seu primeiro arquivo .deb. Parece mais complicado do que realmente é.
Responder2
Uma determinada versão de uma distribuição vem com uma determinada versão de cada programa. É disso que se trata um lançamento. (Existem distribuições de “lançamento contínuo”, nas quais você gasta todo o seu tempo atualizando para a próxima versão de cada software. Se você tem coisas melhores para fazer com seu tempo, opte por uma distribuição lançada.)
Oversão do pacote zlib1gno Ubuntu 12.04 (preciso) é 1.2.3.4, e a versão no Ubuntu 12.10 (quantal) é 1.2.7. Você pode baixar o pacote fonte (todos os três arquivos: .dsc
e .diff.gz
ou .orig.tar.gz
) .debian.tar.gz
do site do Ubuntu e compilar essa versão como um pacote.
sudo apt-get install build-essential fakeroot
sudo apt-get build-dep zlib
dpkg-source zlib_1.2.7.dfsg-13.dsc
cd zlib-1.2.7.dfsg
dpkg-buildpackage -rfakeroot -us -uc -b -nc
sudo apt-get install ../zlib1g-1.2.7.*.deb
Observe que a instalação de versões mais recentes de uma biblioteca pode causar incompatibilidades. Para o zlib, duvido que você tenha problemas, mas isso não é algo que você deva fazer levianamente.
Como alternativa, instale uma versão mais recente da biblioteca em algum lugar do seu diretório inicial e use-a apenas para o programa específico que precisa dela. Se você compilar e instalar o zlib no ~/lib/zlib1.2.8/lib
, aqui está um script wrapper adequado:
#!/bin/sh
export LD_LIBRARY_PATH=~/lib/zlib1.2.8/lib
exec vcftools "$@"