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


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

O que atualiza?


450
2017-11-27 00:07


origem




Respostas:


Em poucas palavras, apt-get update Na verdade, não instala novas versões de software. Em vez disso, 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 faz o download das 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. A partir de http://linux.die.net/man/8/apt-get:

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

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

    A partir de http://linux.die.net/man/8/apt-get:

    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 realizada primeiro para que o apt-get saiba que novas versões de pacotes estão disponíveis.

  • apt-get dist-upgrade fará o mesmo trabalho que é feito por apt-get upgradeAlém disso, ele também manipula as dependências de forma inteligente, portanto, pode remover pacotes obsoletos ou adicionar novos. Veja aqui: O que é "dist-upgrade" e por que ele atualiza mais que "upgrade"?

    A partir de http://linux.die.net/man/8/apt-get:

    Além de executar a função de atualização, essa opção também lida de forma inteligente com dependências variáveis ​​com 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 /etc/apt/sources.list(5) arquivo 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 && do seguinte modo:

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 sudo as duas vezes, mas desde sudo por padrão, não pede a você dentro de 5 ou mais minutos desde a última sudo operação, você será solicitado para sua senha apenas uma vez (ou não em todos).


484
2017-11-27 00:17



Nós sempre precisamos correr sudo apt-get update comando sempre que instalamos pacotes? Qual é a desvantagem se não o fizermos? - JohnnyQ
@JohnnyQ Se você não executar esse comando, poderá obter um pacote desatualizado instalado. - hexafraction
ah soa como se fosse apenas uma coisa de convenção então. Então eu estou supondo que realmente não é necessário, especialmente se você está apenas usando pacotes básicos com comandos básicos que não são atualizados normalmente. Problema na minha situação é que apt-get update Demora um pouco, a internet aqui ainda é primitiva. - JohnnyQ
@JohnnyQ Para alguns pacotes, é muito importante que suas listas de pacotes estejam atualizadas. Exemplos de tais pacotes incluem software crítico para segurança. - hexafraction
@JohnnyQ, se sua atualização do apt-get for lenta, então seu apt-get dist-upgrade também será lento, então isso não é realmente um argumento para não fazer o apt-get update primeiro. Btw, você pode acelerar sua atualização do apt-get olhando para a pasta /etc/apt/sources.d/ para ver se você tem algum repositório customizado adicionado e um deles pode não responder, o que retardará todo o processo de atualização. - Mladen B.


Uma pesquisa no Google pode dar a você a definição de praticamente qualquer comando de terminal, assim como pode ajudar no terminal. Por exemplo,

apt-get --help

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

sudo

executa o seguinte comando com recursos de superusuá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 está atualmente listado nas listas de software locais 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ção é a help.ubuntu.com local. Por exemplo, se você pesquisou esse site por apt-get você encontraria AptGet / Howto como um dos resultados.


42
2017-11-27 00:16



Alex, eu basicamente posso usar o comando como você diz: "apt-get update apt-get install <pacote>" Basicamente 2 coisas podem ser executadas apenas digitando os 2 comandos juntos assim? - Elysium
@Elysium Sim, se você tiver && entre eles como sudo apt-get update&&sudo apt-get install foo bar baz - hexafraction
Usando && significa que o segundo comando só será executado se o primeiro for bem-sucedido. Se você não se importa com o sucesso do primeiro comando, use ; em vez de. - Flimm
Uma pesquisa no Google me levou a essa pergunta / resposta. Apenas FYI;) - teewuane


Corrida 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 poucas palavras: é altamente recomendado para executar sudo apt-get update antes de instalar, mas pode ser ignorado se você está realmente pressionado pelo tempo a menos que você tenha alterado repositórios ou PPAs desde o último apt-get update.


18
2018-06-05 23:21





Você precisa correr apt-get update uma vez antes de instalar novos pacotes, pois isso atualiza as informações do repositório local. Se você vai instalar vários pacotes logo após o outro, você não precisa 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...


12
2018-06-05 23:23



Bom truque para isso! - Emerson Hsieh


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. Atualização, como mencionado acima, buscará o software disponível e atualizará as listas upgrade instalará novas versões do software instalado no seu computador (atualizações reais de software).

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".


10
2017-11-27 00:21



O que é sudo apt-get install para então? Instalando pacotes específicos em vez de uma atualização geral? - Peter Mortensen


Quando você instala pacotes a partir da linha de comando com sudo apt-get install ... (ou sudo aptitude install ...), ou quando você atualizá-los a partir da linha de comando (com upgrade ou dist-upgrade ao invés de install), as seguintes informações são obtidas da configuração do sistema local e não da internet:

  1. quais pacotes estão disponíveis

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

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

Corrida 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 GUI (o Update Manager, o Software Center 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 você mesmo 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 isto antes de instalar qualquer pacote, e necessário executá-lo para instalar as atualizações mais recentes, 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 um. É somente se a informação não for atualizada por um tempo, que você deve se certificar de executá-la.


4
2018-06-05 23:59





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

Na linha de comando, corri apt-get updatee, em seguida, tentou o comando System Tools / Software-Update novamente 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 ...


4
2018-04-02 02:58



Interessante ... Pode haver alguma situação de rede incomum entre você e o servidor que é mais bem tratado quando você executa apt-get que pela verificação automática executada executando o Software Updater / Update Manager? Você usa um proxy HTTP? E você é capaz de fazer isso acontecer de novo ou aconteceu apenas uma vez? Se é uma anomalia isolada, eu me pergunto se talvez o problema é devido a um erro de configuração do servidor temporário. Qual espelho você usa? Com mais informações, talvez eu possa melhorar minha resposta. (Btw, isto é pretendido como uma resposta separada, ou deveria ser convertido em um comentário?) - Eliah Kagan


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 versão mais recente no repositório. Isso pode ser especialmente problemático se você instalar um arquivo .deb manualmente ou um ppa de um terceiro.

Basicamente, garante sua lista corresponde ao mestre Lista.


2
2018-06-05 23:38