Como posso alternar entre versões de um pacote instalado com o apt-get? [duplicado]

1

Em 12.04, tenho a versão mais recente do Ocaml (4.01) instalada com todas as dependências. Estou tentando instalar o Coq, que depende de uma versão mais antiga (3.12) do tempo de execução ocaml-base-nox (por meio de uma dependência virtual). A execução de apt-cache policy ocaml-base-nox fornece a seguinte saída:

ocaml-base-nox:
  Installed: 4.01.0-1ppa4~precise
  Candidate: 4.01.0-1ppa4~precise
  Version table:
 *** 4.01.0-1ppa4~precise 0
        500 http://ppa.launchpad.net/avsm/ppa/ubuntu/ precise/main amd64 Packages
        100 /var/lib/dpkg/status
     3.12.1-2ubuntu2 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

Ok, não deve ser um problema, certo? Eu só preciso mudar minha versão para 3.12 para instalar / usar coq, então eu posso voltar para o 4.01 quando eu precisar da versão mais recente. Não está claro para mim como fazer isso. Depois de um pouco de googling eu tentei o seguinte:

$ sudo apt-get install ocaml-base-nox=3.12.1-2ubuntu2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  camlp4 camlp4-extra ocaml ocaml-base ocaml-compiler-libs ocaml-interp ocaml-native-compilers
  ocaml-nox
The following packages will be DOWNGRADED:
  ocaml-base-nox
0 upgraded, 0 newly installed, 1 downgraded, 8 to remove and 0 not upgraded.
Need to get 596 kB of archives.
After this operation, 205 MB disk space will be freed.
Do you want to continue [Y/n]?

Parece que vai remover toda a minha pilha Ocaml, que provavelmente terei que reinstalar do zero para usar novamente. Além disso, a maior parte do que eu uso o Ocaml (o projeto mirage unikernal) requer 4.0 ou superior.

Então, qual é a maneira correta de alternar entre as versões do pacote? Existe alguma maneira de forçar o apt-get a instalar algo sem desinstalar nada?

    
por user2518951 18.09.2014 / 21:33

1 resposta

0

Sim, na verdade, você provavelmente não precisa fazer nada disso. Na maioria das vezes, a versão de dependência especificada em um caso como o seu é para o significado de versão, a versão especificada ou qualquer versão maior. Se você deseja instalar o coq, apenas digite os seguintes comandos e o apt-get chamará automaticamente as dependências necessárias para você. Para fazer isso, abra um terminal e digite os seguintes comandos:

sudo apt-get update
sudo apt-get install coq

Se você ainda tiver o mesmo problema, não será um problema para você desinstalar e reinstalar esses pacotes. A menos que você use o comando purge , os arquivos de configuração do software removido permanecerão intactos; reinstalação irá restaurar todas as configurações do usuário e nenhuma configuração adicional deve ser necessária.

Você pode usar o seguinte comando para restaurar esses pacotes:

sudo apt-get install camlp4 camlp4-extra ocaml ocaml-base ocaml-compiler-libs ocaml-interp ocaml-native-compilers ocaml-nox
    
por mchid 18.09.2014 / 22:43