Skip to Content
DocumentaçãoOperaçõesAdministração do SistemaFontes de software e estratégias de atualização

Fontes de software e estratégias de atualização

Warning

26.10: não limpe em massa pacotes OpenSSH no estado rc. Pacotes de substituição ainda podem usar a configuração antiga e a limpeza pode quebrar SSH. Verifique 26.10 problemas conhecidos e mantenha o acesso de recuperação antes da manutenção remota.

A configuração adequada das fontes de software e o estabelecimento de uma estratégia de atualização sólida são essenciais para a segurança e estabilidade do sistema. Este artigo explica como configurar fontes de software e várias estratégias de atualização no Ubuntu 26.04.

Noções básicas de fonte de software

Formato fonte 26.04

A partir do Ubuntu 24.04, a configuração de origem APT usa o novo formato DEB822, com o arquivo de configuração localizado em /etc/apt/sources.list.d/ubuntu.sources:

cat /etc/apt/sources.list.d/ubuntu.sources

Conteúdo típico:

Types: deb deb-src URIs: http://archive.ubuntu.com/ubuntu Suites: resolute resolute-updates resolute-backports Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Descrições dos componentes de origem

ComponenteDescrição
mainSoftware de código aberto oficialmente suportado pela Canonical
restrictedDrivers proprietários com suporte oficial
universeSoftware de código aberto mantido pela comunidade
multiverseSoftware restrito por direitos autorais ou limitações legais

Descrições das suítes

SuíteDescrição
resoluteRepositório de versão base
resolute-updatesAtualizações recomendadas
resolute-backportsVersões de software mais recentes com backport
resolute-securityAtualizações de segurança

Mudando para um espelho

# Back up the original configuration sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak # Edit the source configuration sudo nano /etc/apt/sources.list.d/ubuntu.sources

Substitua o URIs por um espelho:

Types: deb deb-src URIs: https://mirrors.aliyun.com/ubuntu Suites: resolute resolute-updates resolute-backports resolute-security Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Tip

Ao escolher um espelho, prefira um que esteja geograficamente e com rede mais próxima de você. Os usuários de redes acadêmicas podem preferir espelhos Tsinghua ou USTC, enquanto os usuários de servidores em nuvem devem usar os espelhos internos de seus provedores para obter as melhores velocidades.

Espelhos comuns:

EspelhoURL
Nuvem Alibabahttps://mirrors.aliyun.com/ubuntu
Universidade Tsinghuahttps://mirrors.tuna.tsinghua.edu.cn/ubuntu
USTChttps://mirrors.ustc.edu.cn/ubuntu
Nuvem Huaweihttps://mirrors.huaweicloud.com/ubuntu
Nuvem Tencenthttps://mirrors.cloud.tencent.com/ubuntu

Após a mudança, atualize o índice:

sudo apt update
Warning

PPAs são fontes de software mantidas pessoalmente por terceiros cujos pacotes não foram revisados ​​pela Canonical. Adicionar PPAs não confiáveis ​​pode introduzir riscos de segurança ou causar conflitos de dependência. Adicione PPAs apenas de projetos conhecidos e desative todos os PPAs antes de atualizar a versão do seu sistema.

Gestão de APP

PPAs (Personal Package Archives) permitem que desenvolvedores terceirizados distribuam pacotes de software.

Adicionando um PPA

# Add a PPA sudo add-apt-repository ppa:graphics-drivers/ppa # Update the index after adding sudo apt update # Install software from the PPA; choose the version reported by ubuntu-drivers devices sudo apt install nvidia-driver-XXX

Removendo um PPA

# Remove a PPA sudo add-apt-repository --remove ppa:graphics-drivers/ppa # Update the index sudo apt update

Adicionando manualmente uma fonte de terceiros

Usando a fonte oficial Docker como exemplo:

# Download the GPG key curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # Add the repository (DEB822 format) # Note: Docker's official repository may not yet publish the resolute suite. # If apt update reports a missing Release file, temporarily fall back to noble. sudo tee /etc/apt/sources.list.d/docker.sources << 'EOF' Types: deb URIs: https://download.docker.com/linux/ubuntu Suites: resolute Components: stable Signed-By: /usr/share/keyrings/docker-archive-keyring.gpg EOF # Update and install sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io

Listando fontes configuradas

# View all source files ls /etc/apt/sources.list.d/ # View all sources used by APT apt policy # Check which source a package comes from apt policy nginx

Gerenciamento de atualização APT

Comandos básicos de atualização

# Update the package index sudo apt update # Upgrade installed packages sudo apt upgrade # Smart upgrade (may install or remove dependencies) sudo apt full-upgrade # View upgradable packages without actually upgrading apt list --upgradable # Upgrade a specific package sudo apt install --only-upgrade nginx

Visualizando o histórico de atualizações

# View APT operation history cat /var/log/apt/history.log # View compressed history logs zless /var/log/apt/history.log.1.gz # View dpkg operation log cat /var/log/dpkg.log

Fixação de pacote

Para evitar que um pacote específico seja atualizado:

# Hold a package version sudo apt-mark hold package-name # Unhold a package sudo apt-mark unhold package-name # View all held packages apt-mark showhold

atualizações autônomas Atualizações automáticas

Instalação e ativação

# Install (usually pre-installed on Ubuntu 26.04) sudo apt install unattended-upgrades # Enable automatic updates sudo dpkg-reconfigure -plow unattended-upgrades

Configurando atualizações automáticas

Edite o arquivo de configuração principal:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Principais opções de configuração:

Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}"; "${distro_id}:${distro_codename}-security"; "${distro_id}:${distro_codename}-updates"; // "${distro_id}:${distro_codename}-proposed"; // "${distro_id}:${distro_codename}-backports"; }; // Blacklist packages from auto-updating Unattended-Upgrade::Package-Blacklist { "linux-image*"; "linux-headers*"; "nginx"; }; // Automatically remove no-longer-needed dependencies Unattended-Upgrade::Remove-Unused-Dependencies "true"; // Automatically remove no-longer-needed kernels Unattended-Upgrade::Remove-Unused-Kernel-Packages "true"; // Automatically reboot if necessary Unattended-Upgrade::Automatic-Reboot "true"; Unattended-Upgrade::Automatic-Reboot-Time "03:00"; // Email notifications Unattended-Upgrade::Mail "admin@example.com"; Unattended-Upgrade::MailReport "on-change";

Configure a frequência de atualização:

sudo nano /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "7";

Testando atualizações automáticas

# Dry run (does not actually install) sudo unattended-upgrade --dry-run --debug # Run automatic updates immediately sudo unattended-upgrade -v # View automatic update logs cat /var/log/unattended-upgrades/unattended-upgrades.log

Atualizar recomendações de estratégia

Usuários de desktop

# Recommended: auto-install security updates, manually install feature updates # /etc/apt/apt.conf.d/20auto-upgrades APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "7";

Verifique periodicamente e instale as atualizações manualmente:

sudo apt update && apt list --upgradable sudo apt upgrade

Ambientes de servidor

Para servidores de produção, é recomendado:

  1. Instalar automaticamente apenas atualizações de segurança; lidar com outras atualizações manualmente.
  2. Defina janelas de manutenção para atualizações planejadas.
  3. Teste em um ambiente de teste antes de aplicar na produção.
  4. Ative notificações por e-mail para se manter informado sobre atualizações.
# Recommended server configuration # /etc/apt/apt.conf.d/50unattended-upgrades Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}-security"; }; Unattended-Upgrade::Automatic-Reboot "false"; Unattended-Upgrade::Mail "admin@example.com";

Atualizações de versão

Atualizando para uma nova versão do Ubuntu

# Ensure the current system is fully updated sudo apt update && sudo apt full-upgrade # Check if a new version is available do-release-upgrade -c # Perform the version upgrade sudo do-release-upgrade

Limpeza após atualizações

# Clean the downloaded deb package cache sudo apt clean # Remove no-longer-needed dependencies sudo apt autoremove # Clean residual configuration files dpkg -l | awk '$1 == "rc" {print $2}'