Instale uma versão diferente de um pacote

9

Estou executando o servidor lúcido e instalei o tomcat. A versão instalada é 6.0.24-2ubuntu1.6.

Esta é a versão a que estou ligado? É possível instalar uma versão mais recente? O disponível do maverick é 6.0.28.

Talvez eu possa adicionar uma fonte para fornecer minha instalação lúcida com esta versão? Na interface do usuário do gerenciador de pacotes, posso "forçar a versão". É possível forçar a versão da alternativa de linha de comando também?

    
por Michael Wiles 14.03.2011 / 12:39

3 respostas

6

Resposta curta:

Usando o pinning, você pode selecionar quais pacotes vêm de Maverick, e automaticamente obter suas dependências, e mantê-los atualizados através de seu gerenciador de pacotes. link

Resposta longa copiada do link :

  

Você seria muito melhor explorar o pinagem adequado, consulte man apt_preferences .

     

Então vamos supor que você está no Oneiric e você deseja obter esses pacotes   de Precise.

     

Se você ler o homem, verá que copiei / colei o material relevante   seções e acabou de modificar o nome do lançamento

     

/ etc / apt / preferences

Package: libccid
Pin: release n=precise
Pin-Priority: 990

Package: libpcsclite*
Pin: release n=precise
Pin-Priority: 990

Package: libusb*
Pin: release n=precise
Pin-Priority: 990

Package: opensc
Pin: release n=precise
Pin-Priority: 990

Package: pcscd
Pin: release n=precise
Pin-Priority: 990


Explanation: Uninstall or do not install any Ubuntu-originated
Explanation: package versions other than those in the oneiric release
Package: *
Pin: release n=oneiric
Pin-Priority: 900

Package: *
Pin: release o=Ubuntu
Pin-Priority: -10
     

Em seguida, copiei meu /etc/apt/sources.list para    /etc/apt/sources.list.d/precise.list e substituiu todas as ocorrências de   onírico com precisão. Em seguida, executei apt-get update e finalmente apt-get upgrade .

# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  libpcsclite1 libusb-0.1-4 libusb-1.0-0 libusbmuxd1
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 86.0 kB of archives.
After this operation, 88.1 kB disk space will be freed.
Do you want to continue [Y/n]? y
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-0.1-4 amd64 2:0.1.12-20 [17.6 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-1.0-0 amd64 2:1.0.9~rc3-2 [30.9 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise/main libpcsclite1 amd64 1.7.4-2ubuntu1 [23.5 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main libusbmuxd1 amd64 1.0.7-2 [14.1 kB]
Fetched 86.0 kB in 0s (124 kB/s) 
     

Por alguma razão, o pcscd e o opensc não foram instalados, provavelmente   porque não foi instalado para começar, então não havia nada para   upgrade, não é grande coisa, eu posso instalar exatamente essa versão usando precisa   como a referência como esta.

$ apt-get install opensc pcscd -t precise
     

Tome nota do uso de -t , packagename/precise também funcionaria.

     

e há os pacotes que você quer, desde a última versão, e    somente esses pacotes , eles também serão atualizados automaticamente. Se você não quiser mais, basta excluir as entradas de    /etc/apt/preferences e a próxima vez que você executar apt-get upgrade   eles serão removidos. Se você remover todo o arquivo prefs, certifique-se de   excluir esse arquivo de fontes precise.list também nosso sistema tentará   para atualizar para o conjunto mais recente de pacotes. Além disso, se você decidir   dist-upgrade mais tarde, você precisará remover todo o arquivo prefs e   provavelmente seria uma boa idéia remover as outras fontes.   a atualização vai encontrar, graças à maior prioridade, que existem   nenhum pacote para atualizar.

     

Apt pinning não é tão difícil, você só precisa cavar um pouco e   experimentar. Todos os verbos para n= etc são encontrados examinando    apt-cache policy .

     

É por isso que os administradores experientes reclamam do apt vs yum. Você pode   atualizar serviços de forma concisa e mantê-los atualizados em um   forma determinística e sustentável.

     

Não é mais necessário compilar pacotes.

     

Sugiro que você leia toda a página do manual e fique à vontade   com o conceito e leia outros guias sobre apt pinning antes   continuando com esta proposta. Boa sorte e divirta-se!

     

link

    
por Jayen 18.03.2012 / 02:04
2

Você pode forçar uma versão na linha de comando com o apt-get install somepackage = someversion, mas você não pode pedir por uma versão que não esteja nos repositórios que o apt sabe, o que geralmente significa a versão em que você está.

Você pode tentar baixar manualmente o deb maverick do launchpad e instalá-lo. Às vezes isso funciona, mas às vezes isso depende de versões mais novas de várias bibliotecas e, portanto, não é instalado. A outra opção é baixar o último código e compilá-lo você mesmo.

    
por psusi 14.03.2011 / 15:56
1

O lucid tem apenas 6.0.24 disponível e é improvável que mude. É raro retroceder software como o tomcat para uma versão mais antiga.

Mas você ainda pode executar o tomcat mais recente usando os pacotes binários do tomcat. Eu estou usando isso.

    
por aneeshep 14.03.2011 / 14:38