Skip to Content
DocumentaciónOperacionesAdministración del sistemaFuentes de software y estrategias de actualización

Fuentes de software y estrategias de actualización

Warning

26.10: no realice una purga masiva de los paquetes OpenSSH en el estado rc. Los paquetes de reemplazo pueden seguir usando la configuración anterior y la purga puede dañar SSH. Verifique 26.10 problemas conocidos y conserve el acceso de recuperación antes del mantenimiento remoto.

Configurar correctamente las fuentes de software y establecer una estrategia de actualización sólida son fundamentales para la seguridad y estabilidad del sistema. Este artículo explica cómo configurar fuentes de software y varias estrategias de actualización en Ubuntu 26.04.

Conceptos básicos de fuentes de software

Ubuntu 26.04 Formato fuente

A partir de Ubuntu 24.04, la configuración de origen de APT utiliza el nuevo formato DEB822, con el archivo de configuración ubicado en /etc/apt/sources.list.d/ubuntu.sources:

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

Contenidos típicos:

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

Descripciones de los componentes de origen

ComponenteDescripción
mainSoftware de código abierto oficialmente respaldado por Canonical
restrictedControladores propietarios con soporte oficial.
universeSoftware de código abierto mantenido por la comunidad
multiverseSoftware restringido por derechos de autor o limitaciones legales

Descripciones de suites

SuiteDescripción
resoluteRepositorio de versiones base
resolute-updatesActualizaciones recomendadas
resolute-backportsVersiones de software más recientes respaldadas
resolute-securityActualizaciones de seguridad

Cambiar a un espejo

# 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

Reemplace el URIs con un espejo:

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

Al elegir un espejo, prefiera uno que esté geográficamente y en red cerca de usted. Los usuarios de la red académica pueden preferir los espejos Tsinghua o USTC, mientras que los usuarios de servidores en la nube deberían usar los espejos internos de su proveedor para obtener las mejores velocidades.

Espejos comunes:

EspejoURL
Nube de Alibabahttps://mirrors.aliyun.com/ubuntu
Universidad de Tsinghuahttps://mirrors.tuna.tsinghua.edu.cn/ubuntu
USTChttps://mirrors.ustc.edu.cn/ubuntu
Nube de Huaweihttps://mirrors.huaweicloud.com/ubuntu
Nube Tencenthttps://mirrors.cloud.tencent.com/ubuntu

Después de cambiar, actualice el índice:

sudo apt update
Warning

Los PPA son fuentes de software mantenidas personalmente por terceros cuyos paquetes no han sido revisados ​​por Canonical. Agregar PPA que no son de confianza puede introducir riesgos de seguridad o provocar conflictos de dependencia. Solo agregue PPA de proyectos conocidos y desactive todos los PPA antes de actualizar la versión de su sistema.

Gestión de APP

Los PPA (archivos de paquetes personales) permiten a desarrolladores externos distribuir paquetes de software.

Agregar un 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

Eliminar un PPA

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

Agregar manualmente una fuente de terceros

Usando la fuente oficial Docker como ejemplo:

# 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

Listado de fuentes 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

APT Gestión de actualizaciones

Comandos básicos de actualización

# 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

Ver el historial de actualizaciones

# 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

Fijación de paquetes

Para evitar que se actualice un paquete específico:

# 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

actualizaciones desatendidas Actualizaciones automáticas

Instalación y Activación

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

Configurar actualizaciones automáticas

Edite el archivo de configuración principal:

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

Opciones de configuración clave:

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

Configurar la frecuencia de actualización:

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

Prueba de actualizaciones 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

Actualizar recomendaciones de estrategia

Usuarios de escritorio

# 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 periódicamente e instale actualizaciones manualmente:

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

Entornos de servidor

Para servidores de producción, se recomienda:

  1. Solo actualizaciones de seguridad de instalación automática; manejar otras actualizaciones manualmente.
  2. Establezca ventanas de mantenimiento para actualizaciones planificadas.
  3. Prueba en un entorno de prueba antes de aplicar a producción.
  4. Habilite las notificaciones por correo electrónico para mantenerse informado sobre las actualizaciones.
# 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";

Actualizaciones de versión

Actualización a una nueva versión 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

Limpieza después de las actualizaciones

# 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}'