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, diga escrever um script para automatizar a instalação do Jenkins. Depois de adicionar http:/q/pkg.jenkins-ci.org/debiana /etc/apt/sources.list, Jenkins está disponível a partir de duas fontes. Agora, eu 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?


apt-getpor padrão, obtenha a versão mais recente. execute apt-get updateantes para ter certeza
Anwar

Respostas:


14

apenas digite

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

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


3
Não se esqueça apt-get updateantes apt-get install ...de atualizar as listas de pacotes dos repositórios.
Eric Carvalho

Obrigado, meio óbvio ... :) Anteriormente, encontrei uma versão mais antiga instalada sem intenção, mas talvez isso tenha sido causado pelo esquecimento de fazer apt-get updateprimeiro.
Jonik

6

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

Seleção de uma versão dos backports pode ser feito através da especificação de instalar a partir backports: apt-get -t xenial-backports install golang.

Referência: https://help.ubuntu.com/community/UbuntuBackports#Installing_Backports


2

Para quem mais chega aqui: a resposta de ttoine está correta.

MAS, se você estiver com a apt-get -q -y --force-yes install openjdk-6-jdk=<blah>sintaxe (digamos, via Chef), poderá especificar um asterisco / estrela para obter as informações mais recentes:apt-get -q -y --force-yes install openjdk-6-jdk=\*


1

Observe que, para obter uma versão mais recente real 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, a mais recente real) 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 da sua distribuição."

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.