Por que eu deveria executar regularmente 'apt-get update' e comandos similares? [duplicado]

4

Eu sou completamente novo no Ubuntu. Um amigo me recomendou a executar com frequência os seguintes comandos:

sudo apt-get upgrade
sudo apt-get update
sudo apt-get autoremove
sudo apt-get autoclean

Ele disse que isso de alguma forma manteria meu sistema limpo e atualizado. Eu não sei exatamente o que esses comandos fazem. É realmente útil executá-los regularmente?

    
por pecka 16.05.2018 / 08:48

2 respostas

8

Em todas as versões atualmente suportadas do Ubuntu, podemos usar apt em vez de apt-get . Se você deseja capturar a saída em um arquivo, use apt-get , mas use apt como sua saída é mais legível (e quem gosta de digitar?).

sudo apt update

Downloads de informações dos repositórios 1 O APT está configurado para verificar e atualiza o banco de dados dpkg dos pacotes disponíveis, instalados e desinstalados para refletir as alterações nos repositórios. Isto significa que quando você consulta o banco de dados em seu sistema com comandos como

apt policy package-name
apt show package-name
apt search package-name

eles imprimem informações precisas e quando você executa comandos como

sudo apt install package-name

eles buscarão a versão mais recente disponível.

Quando você executa sudo apt update , pode ver que alguns pacotes são atualizáveis, o que significa que novas versões foram adicionadas aos repositórios. As versões mais novas geralmente têm correções de bugs e atualizações de segurança, portanto, você deve instalá-las. Isso pode ser feito atualizando todos os pacotes que têm novas versões disponíveis com o comando

sudo apt upgrade

Se o kernel foi atualizado (pacotes como linux-image-4.15.0-20-generic ) você deve então executar um comando para remover as versões antigas do kernel (exceto a segunda mais nova que é mantida como sobressalente, caso a nova esteja com bugs). Você pode usar este comando:

sudo apt autoremove

para fazer isso. Este comando também removeu pacotes órfãos. Estes geralmente só existem quando você usa um comando como

sudo apt remove package-name

e package-name têm dependências que foram instaladas automaticamente, mas não são necessárias por nenhum outro pacote.

Para autoclean , refiro-me a man apt-get

autoclean (and the auto-clean alias since 1.1)
       Like clean, autoclean clears out the local repository of retrieved
       package files. The difference is that it only removes package files
       that can no longer be downloaded, and are largely useless.

Os outros três comandos são realmente importantes e devem ser executados regularmente para manter o sistema seguro e atualizado e evitar encher o disco com arquivos antigos do kernel, mas você provavelmente não verá muita diferença depois de executar autoclean . Os poucos arquivos que ele pode excluir ocasionalmente não são muito importantes.

1 Estes repositórios são configurados por padrão, então você geralmente não precisa fazer nada com eles. Eles estão listados no arquivo /etc/apt/sources.list e nos arquivos em /etc/apt/sources.list.d . O APT é rigoroso quanto ao formato desses arquivos (por motivos de segurança) e emitirá erros se eles tiverem uma sintaxe incorreta. Se o seu sistema tiver um ambiente gráfico, ele terá uma opção para configurar os repositórios nas configurações. Você precisa de privilégios de root para realizar esse trabalho.

    
por Zanna 16.05.2018 / 09:37
2

Enquanto a resposta de Zanna cobre o propósito destes comandos, eu gostaria de focar na segunda parte:

Is it really useful to run them regularly?

Embora seja bom executá-los com frequência suficiente , não vejo motivos para executá-los literalmente regularmente (em tempo real, por exemplo, uma vez por dia, uma vez por semana, uma vez por mês).

  • As tarefas de atualização e limpeza atendidas por esses comandos não são criadas com base no tempo. Eles começam a ser úteis quando uma nova versão de pacotes instalados pode ser encontrada nos repositórios.

  • O comando apt-get update é executado pelo sistema regularmente por padrão (consulte Atualizações automáticas do pacote , < href="https://help.ubuntu.com/community/AutomaticSecurityUpdates"> AutomaticSecurityUpdates ). As atualizações de segurança que seriam instaladas por apt-get upgrade serão automaticamente instaladas também por Atualizações Autônomas.

  • O update automático se aplica a todos os pacotes. Assim que o APT souber sobre as atualizações que não são instaladas automaticamente, o sistema irá lembrá-lo de instalá-las manualmente (usando apt install <package> ou apt upgrade para atualizar todas elas), por exemplo:

    • na tela de login do CLI:

      Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.113-rt128+ x86_64)
      ...
      29 packages can be updated.
      6 updates are security updates.
      
    • na saída de um comando APT:

      $ sudo apt update
      ...
      5 packages can be upgraded. Run 'apt list --upgradable' to see them.
      
  • Você será lembrado de executar autoremove também.

    $ sudo apt update
    ...
    The following packages were automatically installed and are no longer required:
      devilspie libturbojpeg:i386 libxrandr-ltsr2 language-pack-kde-en
    Use 'apt-get autoremove' to remove them.
    

Se você ainda quiser executar os comandos na base de tempo, poderá criar uma tarefa cron para eles .

    
por Melebius 16.05.2018 / 10:50