O que faz o “sudo apt-get update”?

435

Eu estou querendo saber o que o sudo apt-get update faz?

O que ele atualiza?

    
por Elysium 27.11.2012 / 01:07

9 respostas

465

Em poucas palavras, apt-get update não instala novas versões de software. Em vez disso, ele atualiza as listas de pacotes para atualizações de pacotes que precisam de atualização, bem como novos pacotes que acabaram de chegar aos repositórios.

  • apt-get update baixa as listas de pacotes dos repositórios e as "atualiza" para obter informações sobre as versões mais recentes dos pacotes e suas dependências. Ele fará isso para todos os repositórios e PPAs. Do link :

      

    Usado para sincronizar novamente os arquivos de índice de pacotes de suas origens. Os índices de pacotes disponíveis são obtidos a partir dos locais especificados em /etc/apt/sources.list (5). Uma atualização sempre deve ser executada antes de um upgrade ou dist-upgrade.

  • apt-get upgrade buscará novas versões de pacotes existentes na máquina se o APT conhecer essas novas versões por meio de apt-get update .

    De link :

      

    Usado para instalar as versões mais recentes de todos os pacotes atualmente instalados no sistema a partir das fontes enumeradas em /etc/apt/sources.list (5). Pacotes atualmente instalados com novas versões disponíveis são recuperados e atualizados; sob nenhuma circunstância pacotes atualmente instalados são removidos, nem pacotes recuperados e instalados ainda não estão instalados. Novas versões dos pacotes atualmente instalados que não podem ser atualizados sem alterar o status de instalação de outro pacote serão deixadas em sua versão atual. [Ênfase minha] Uma atualização deve ser executada primeiro para que o apt-get saiba novas versões de pacotes estão disponíveis.

  • O

    apt-get dist-upgrade fará o mesmo trabalho que é feito por apt-get upgrade , além disso, ele também manipulará as dependências de forma inteligente, para que possa remover pacotes obsoletos ou adicionar novos. Veja aqui: O que é "distinto atualizar "e por que atualizar mais do que" atualizar "?

    De link :

      

    Além de executar a função de atualização, essa opção também lida de maneira inteligente com as novas dependências das novas versões de pacotes; O apt-get tem um sistema de resolução de conflitos "inteligente" e tentará atualizar os pacotes mais importantes em detrimento dos menos importantes, se necessário.   O arquivo /etc/apt/sources.list (5) contém uma lista de locais de   qual recuperar arquivos de pacote desejados. Veja também apt_preferences (5) para um mecanismo para sobrepor as configurações gerais para pacotes individuais.

Você pode combinar comandos com && da seguinte forma:

sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg

ou para obter as versões mais recentes possíveis de acordo com os requisitos de versão das dependências:

sudo apt-get update && sudo apt-get dist-upgrade

Você precisa de sudo nas duas vezes, mas como sudo , por padrão, não solicita mais de 5 minutos desde a última operação sudo , será solicitada sua senha apenas uma vez (ou não) ).

    
por hexafraction 27.11.2012 / 01:17
42

Uma pesquisa no Google pode fornecer a definição para quase todos os comandos do terminal, assim como o --help no terminal. Por exemplo,

apt-get --help

sudo apt-get update tem basicamente três partes:

sudo

executa o seguinte comando com recursos de super usuário (raiz). Muitas ações que exigem a modificação de arquivos do sistema ou a instalação de aplicativos exigem permissões adicionais para serem processadas.

apt-get

é uma ferramenta de linha de comando que o Ubuntu usa para instalar, remover e gerenciar pacotes de software

update

é uma opção para o programa apt-get usar, que atualiza as listas de pacotes de um servidor na Internet. As listas de pacotes fornecem ao utilitário apt-get informações importantes sobre os pacotes de software que você pode instalar usando o apt-get. O apt-get usa essas listas para determinar qual software instalar quando receber um comando para instalar. Por exemplo

sudo apt-get install guake

instalaria o terminal Guake como listado atualmente nas listas locais de software do meu computador. No entanto, esta pode não ser a versão apropriada ou, se o programa for novo, pode não estar disponível. Assim, ao instalar o software com o apt-get, você normalmente digita

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

garantindo que o apt-get saiba como instalar a versão mais recente do pacote.

Outra fonte útil de informações é o site help.ubuntu.com . Por exemplo, se você pesquisou esse site por apt-get , encontrará AptGet / Howto como um dos resultados.

    
por Alex 27.11.2012 / 01:16
18

Executar sudo apt-get update simplesmente garante que sua lista de pacotes de todos os repositórios e PPAs esteja atualizada. Se você não executar este comando, poderá obter versões mais antigas de vários pacotes que está instalando ou, pior ainda, problemas de dependência. Se você acabou de adicionar um PPA e não tiver atualizado, nada do PPA funcionará, pois você não tem uma lista de pacotes desse PPA ou repositório.

Em suma: É altamente recomendado executar sudo apt-get update antes da instalação, mas pode ser ignorado se você estiver realmente pressionado pelo tempo a menos que tenha alterado os repositórios ou PPAs desde o último apt-get update .

    
por hexafraction 06.06.2012 / 01:21
12

Você precisa executar apt-get update uma vez antes de instalar novos pacotes, pois isso atualiza as informações do repositório local. Se você for instalar vários pacotes logo após o outro, não será necessário executar apt-get update . Além disso, você pode instalar vários pacotes de uma só vez se digitar sudo apt-get install package1 package2...

    
por Jason Petrilla 06.06.2012 / 01:23
10

Atualiza a lista de softwares disponíveis no seu computador.

Seu computador tem uma lista (como um catálogo) que contém todo o software disponível que os servidores Ubuntu têm disponível. Mas o software e as versões disponíveis podem mudar, portanto, uma "atualização" atingirá o servidor e verá qual software está disponível para atualizar suas listas locais (ou catálogos).

Observe que update é diferente de upgrade . A atualização, conforme mencionado acima, buscará o software disponível e atualizará as listas, enquanto o upgrade instalará novas versões do software instalado no seu computador (atualizações de software reais).

Para realmente atualizar seu software (não "atualizar" as listas), você executa o comando

sudo apt-get upgrade

que geralmente é executado após uma "atualização".

    
por Sam 27.11.2012 / 01:21
4

Quando você instala pacotes a partir da linha de comando com sudo apt-get install ... (ou sudo aptitude install ... ), ou quando os atualiza da linha de comando (com upgrade ou dist-upgrade em vez de install ), as informações a seguir é obtido a partir da configuração do seu sistema local e não da Internet:

  1. quais pacotes estão disponíveis

  2. quais versões deles estão disponíveis

  3. onde os pacotes disponíveis devem ser recuperados de

A execução de sudo apt-get update (ou sudo aptitude update ) atualiza isso no seu sistema local. Esta é a etapa que realmente recupera informações sobre quais pacotes podem ser instalados, incluindo quais atualizações dos pacotes de pacotes atualmente instalados estão disponíveis , de fontes da Internet.

Quando você instala pacotes com uma interface gráfica (o Gerenciador de Atualizações, o Centro de Software ou o Gerenciador de Pacotes Synaptic), o trabalho de sudo apt-get update é feito automaticamente. Quando você instala pacotes a partir da linha de comando, não é, e você deve sempre fazer isso sozinho , a menos que você tenha feito isso muito recentemente .

Como as informações sobre quais versões atualizadas dos pacotes estão disponíveis são obtidas executando sudo apt-get update (ou sudo aptitude update ), é aconselhável executar isso antes de instalar qualquer pacote, e necessário executá-lo para instalar as atualizações mais recentes, < em> mesmo que você não tenha adicionado ou removido quaisquer fontes de software (como um PPA) .

Por favor, note que se você pretende executar várias operações de gerenciamento de pacotes ao mesmo tempo, você não precisa executar sudo apt-get update antes de cada uma. É somente se as informações não forem atualizadas por um tempo, que você deve se certificar de executá-las.

    
por Eliah Kagan 06.06.2012 / 01:59
4

Como Eliah Kagan mencionou acima, você espera que um aplicativo de GUI execute apt-get update antes de apt-get install / apt-get upgrade , mas acabei de descobrir um erro 404 interessante, em um relativamente novo máquina de VM de segurança ofensiva, que me deixou perplexa por um minuto.

Na linha de comando, executei apt-get update e tentei novamente o comando Ferramentas do Sistema / Atualização de Software e, desta vez, ele foi executado sem erros 404.

Então, eu acho que você não pode sempre assumir que apt-get update é executado a partir de aplicações GUI ...

    
por mikepratt 02.04.2015 / 04:58
2

Como dito por muitas pessoas antes de mim, isso atualiza seu repositório local (lista de pacotes).

Você pode ter problemas se tentar instalar

apt-get install foobar

e foobar ou uma dependência não tem sua última versão no repositório. Isso pode ser especialmente problemático se você instalar um arquivo .deb manualmente ou um ppa de um terceiro.

Basicamente, garante que sua lista corresponda à lista mestre .

    
por N8tron 06.06.2012 / 01:38
2

Vamos considerar o exemplo da instalação do media player VLC no Ubuntu:

sudo apt-get update

Ele irá verificar os repositórios para atualizações disponíveis.

Considerando que

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

instalará o media player VLC a partir dos repositórios que procuramos.

Se você fez login como usuário root (administrador), não precisa usar sudo , porque você já tem privilégios de superusuário.

    
por Praveen Vinny 27.11.2012 / 08:24