Como instalar o software do repositório antigo? [duplicado]

-1

Eu quero instalar um pacote em um computador com o Ubuntu Precise.

No entanto, o provedor do pacote apenas "suporta" o Ubuntu até o Lucid. Versões mais recentes provavelmente são suportadas também, mas elas pararam de atualizar o repositório. O mais novo repositório disponível é

deb http://appscale.cs.ucsb.edu/appscale_packages lucid stable

Se eu tentar instalar o pacote desse repositório, recebo este erro, provavelmente devido a problemas de versão:

$ sudo apt-get install appscale-core
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 appscale-core : Depends: sun-java6-jdk but it is not installable
                 Depends: libboost-filesystem1.40.0 but it is not installable
                 Depends: libboost-serialization1.40.0 but it is not installable
                 Depends: libboost-thread1.40.0 but it is not installable
                 Depends: libboost-program-options1.40.0 but it is not installable
                 Depends: libboost-iostreams1.40.0 but it is not installable
                 Depends: libboost-python1.40.0 but it is not installable
E: Unable to correct problems, you have held broken packages.

Meu sistema está totalmente atualizado e atualizado, então duvido que eu realmente tenha quebrado pacotes.

Eu já estive nessa situação antes, que eu tinha um repositório que só existia até uma versão menor do que a versão atual (LTS).

Existe uma maneira geral de resolver isso?

    
por Steven Roose 16.11.2012 / 14:14

3 respostas

0

Você adiciona

deb http://appscale.cs.ucsb.edu/appscale_packages lucid stable

para seus recursos, mas onde você espera que seu sistema encontre as dependências?

O pacote dentro do PPA exige que você instale

sun-java6-jdk 
libboost-filesystem1.40.0  this yeilds dependencies for:
    libboost-system1.40.0 (>= 1.40.0-1) 
    libc6 (>= 2.3.6-6~) 
    libgcc1 (>= 1:4.1.1)
    libstdc++6 (>= 4.1.1) 
libboost-serialization1.40.0 
libboost-thread1.40.0 
libboost-program-options1.40.0
libboost-iostreams1.40.0 
libboost-python1.40.0 

mas o apt-get não pode encontrar estes pacotes desde que nos mudamos para uma nova versão desses pacotes que eles não estão disponíveis desde o Lucid.

O método de instalação sugerido no wiki do appscale é:

tar xzvf appscale-tools.tar.gz
cd appscale-tools
sudo bash debian/appscale_build.sh

Veja se isso funciona.

    
por Rinzwind 16.11.2012 / 14:39
0

O problema é que o pacote que você está tentando instalar é antigo e suas dependências não podem ser satisfeitas. Provavelmente porque as bibliotecas que você instalou em seu sistema estão mais atualizadas do que aquelas que o pacote precisa, ou elas não estão mais disponíveis (como sun-java6-jdk ).

Eu acho que você tem três opções aqui:

  • Experimente a instalação manual usando o .tar.gz fornecido aqui ;
  • Usando gem para instalá-lo ( gem é algo como apt-get para ruby). Não sei se isso instala o que você precisa ou apenas algumas ferramentas de gerenciamento / bibliotecas, mas você pode tentar:

    sudo gem install appscale-tools
    
  • Instale esse pacote em um sistema Ubuntu Lucid, que você pode ter em seu sistema atual usando virtualização (ex: VirtualBox, LXC ou até mesmo um chroot pode funcionar)

Espero que isso ajude.

    
por Salem 16.11.2012 / 14:35
0

O problema neste caso não é que seus pacotes estejam quebrados, mas que o pacote que você está tentando instalar aparentemente foi projetado para funcionar com versões mais antigas de pacotes do que as disponíveis com precisão.

É possível para instalar um arquivo .deb antigo, ignorando erros de dependência com sudo dpkg --ignore-depends -i package.deb . No entanto, as chances são de que isso não funcionará - se o pacote incluir quaisquer arquivos binários, as versões da biblioteca que eles exigem no tempo de execução (iniciando em glibc e trabalhando para cima) estarão incorretas ou os arquivos de configuração estarão no lugar errado. Basicamente, você está em um mundo de dor e quebra o ponto de apt , que se destina a garantir que todos os seus pacotes sejam compatíveis entre si.

No entanto, se você está se sentindo com o sangue openjdk-6-jdk deve ser um substituto imediato do sun java, e você pode tentar instalar a versão atual do libboost e fazer links simbólicos para o falso com uma versão mais antiga instalada. Eu tentaria encontrar um pacote atualizado ou compilá-lo a partir da fonte.

    
por chronitis 16.11.2012 / 14:50