¿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?


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:


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

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.


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


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)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.