¿Un solo comando para actualizar todo en Ubuntu?

15

Sé que hay tres comandos para actualizar y luego actualizar todo el sistema, estos son:

  • sudo apt-get update # Obtiene la lista de actualizaciones disponibles
  • sudo apt-get upgrade # Actualiza estrictamente los paquetes actuales
  • sudo apt-get dist-upgrade # Instala actualizaciones (nuevas)

¿Existe un comando de súper actualización que combine todos estos comandos en uno?

JohnDoea
fuente
1
No, puedes hacerlo a lo sumosudo apt-get update && sudo apt-get dist-upgrade
heemayl
¡Sigue siendo una línea de comandos! ;-)
Fabby
Para aquellos que tropezarán con esta pregunta algún día, aquí hay una relacionada para ejecutar updatey, upgradecomo frases
Sergiy Kolodyazhnyy

Respuestas:

23

Hay 3 opciones decentes:

  1. Podrías crear un script como el siguiente:

    #!/bin/bash
    set -e
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade

    Llámalo algo así update.shy colócalo /usr/local/biny luego haz que el script sea ejecutable ejecutando:

    sudo chmod +x /usr/local/bin/update.sh
  2. Otro método sería crear un alias bash (in ~/.bashrc) o donde sea que almacene normalmente sus alias:

    alias update='sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade'
  3. Un método final sería simplemente encadenar los 3 comandos en la línea de comandos:

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

Algunas opciones ...

Referencia:

andrew.46
fuente
66
Cuando está utilizando dist-upgradeno tiene sentido hacerlo de upgradeantemano ..
heemayl
3
@heemayl: En teoría sí. En la práctica, hay casos de esquina en los que un directo dist-upgradepuede fallar, pero upgradeseguido por uno dist-upgradeno. Esto se debe principalmente a errores de definición de dependencia de paquetes o paquetes de mezclas de diferentes versiones / distribuciones / PPA. Si solo se usan paquetes de los repositorios oficiales de Canonical para exactamente una versión (el valor predeterminado), tales errores deberían ser extremadamente raros y corregidos rápidamente.
David Foerster
2
También está la variante impresionar amigos del # 3:for x in update {,dist-}upgrade; do sudo apt $x; done
Eli Barzilay
1
En el paso 1, ¿qué hace "set -e"?
karjedavpalaa
8

Podemos tener un comando de una línea (sin necesidad de scripts, solo copiar y pegar)

sudo apt update -y && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt clean -y && sudo apt autoclean -y
  • update - actualiza la lista de paquetes pero no los instala
  • upgrade - instale nuevas versiones de paquetes si hay nuevas versiones disponibles
  • full-upgrade - realiza la función de actualización, pero eliminará los paquetes instalados actualmente si es necesario para actualizar el sistema en su conjunto (entonces se corrigen las dependencias erróneas)
  • autoremove, autocleanY clean- los paquetes viejos limpios que no son necesarios más
  • la opción -yno solicita permiso en cada paso
João Pimentel Ferreira
fuente
7

Si le molesta escribir demasiado, puede definirse un "alias". Esto se puede hacer, por ejemplo, agregando una línea al final de tu $HOME/.profilecomo esta:

alias sau='sudo aptitude update && sudo aptitude upgrade'

(por supuesto, puede reemplazar "sau" por otra cosa; para mí eso es un acrónimo de Sudo Apt-get Update). Después de guardar el archivo, abra un nuevo shell (o "fuente" el .profile de nuevo en ejecución . $HOME/.profile. Ahora siempre puede simplemente escribir "sau" para hacer el trabajo completo. Funciona muy bien para mí con múltiples máquinas.

Izzy
fuente
Hm. Supongo que solo le estaba pidiendo a alguien que me dijera un alias: P
polandeer
Sí, pero esa es la única forma de hacerlo con un "comando único". Y su pregunta no excluyó esto;)
Izzy
Difícil. De todos modos, la única razón por la que pregunté fue porque quería entenderlo mejor, no porque soy demasiado vago para escribir. sudo aptitude update && sudo aptitude upgradeLa razón por la que pregunté fue porque puedes hacerlo con pacman ( sudo pacman -Syu --noconfirm).
polandeer
Si tiene que hacer eso con frecuencia y en varias máquinas, le alegra que al menos pueda tener un alias. Sin embargo: apt-get updatetiene un parámetro -u, de acuerdo con la página del manual que muestra las actualizaciones disponibles. No probé si luego pide aplicarlos (no tengo Ubuntu / Debian cerca de mí para verificar ahora).
Izzy
3

Desafortunadamente, los dos comandos deben ejecutarse por separado.

Cormac O'Brien
fuente
2
sudo apt install unattended-upgrades

Esta es la mejor línea hasta ahora. Todas las demás soluciones que tiene que escribir una línea una y otra vez todos los días. Esta es realmente la solución de un solo comando. Ver documentación oficial de ubuntu!

Al editar los .confarchivos de este paquete /etc, puede establecer la frecuencia deupdate, install, clean, autoremove ...

O simplemente y correo electrónico incluyendo una notificación de que hay una actualización disponible con la lista de nombres de paquetes

Se genera un pequeño archivo de registro agradable con cada cambio, e imagino que un pequeño script podría escribirse como una extensión GUI para aparecer también en las notificaciones del escritorio (fuera del tema jaja)

no un codificador
fuente