Como instalar a versão mais recente de um pacote com o apt-get?

14

É fácil instalar uma versão específica de um pacote com o apt-get:

apt-get install <package name>=<version>

Por exemplo:

apt-get install jenkins=1.517

Mas existe um atalho para instalar a versão mais recente ?

Por exemplo, digamos, escrever um script para automatizar a instalação do Jenkins. Depois de adicionar http:/q/pkg.jenkins-ci.org/debian a /etc/apt/sources.list , o Jenkins está disponível em duas origens. Agora, gostaria de dizer ao apt-get para instalar a versão mais recente sem saber exatamente qual é a versão mais recente no momento em que o script é executado.

Isso é possível de alguma maneira simples?

    
por Jonik 03.06.2013 / 14:57

4 respostas

11

apenas digite

apt-get update    
apt-get install <package-name>

E o mais recente disponível em todos os seus repositórios será instalado.

    
por ttoine 03.06.2013 / 14:59
6

A resposta selecionada funciona na maioria dos casos. No entanto, você pode se deparar com uma situação em que uma versão mais recente está disponível em um repositório backport que não será instalado por apt-get install <package-name> por padrão. Por exemplo, recentemente me deparei com isso:

$ apt-cache policy golang
golang:
  Installed: 2:1.3.3-1
  Candidate: 2:1.3.3-1
  Version table:
     2:1.7~5~bpo8+1 0
        100 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages
     2:1.5.1-4~bpo8+1 0
        100 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages
 *** 2:1.3.3-1 0
        500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status

A seleção de uma versão dos backports pode ser feita especificando a instalação dos backports: apt-get -t xenial-backports install golang .

Referência: link

    
por jotrocken 11.04.2017 / 10:48
2

Para qualquer um que chegar aqui: a resposta de ttoine está correta.

MAS se você está preso com a sintaxe apt-get -q -y --force-yes install openjdk-6-jdk=<blah> (digamos via Chef), você pode especificar um asterisco / estrela para obter as últimas: apt-get -q -y --force-yes install openjdk-6-jdk=\*

    
por Isa Farnik 14.09.2016 / 19:26
1

Note que, para obter uma versão recente de um pacote, você pode precisar adicionar um repositório ao apt, um repositório que contém uma versão mais atual (ou seja, mais recente) do pacote. Por exemplo, a documentação do openvpn explica:

"As versões mais recentes do OpenVPN estão disponíveis nos repositórios apt do projeto OpenVPN. Isso permite que você use uma versão mais atualizada do OpenVPN do que o que normalmente está disponível nos repositórios de sua distribuição."

Claro, você quer ter certeza de confiar em qualquer repositório que você adicionar. Existem várias maneiras de adicionar um repositório. Eu gosto da maneira que eles sugerem nos documentos do OpenVPN vinculados acima. Há também o add-apt-repository .

    
por Hawkeye Parker 21.02.2018 / 21:21