¿Puedo hacer una actualización de versión silenciosa o desatendida?

28

¿Cómo puedo actualizar a una nueva versión de Ubuntu sin tener que reaccionar a las solicitudes?

Estoy en 12.04 ahora y me gustaría instalar 12.10. Cuando comienzo la actualización, normalmente descarga cosas, luego hace una pregunta, se instala un poco, hace una pregunta, etc. Lo dejo de la noche a la mañana y algunas veces descubro que casi no se actualizaba el progreso. Me gustaría simplemente patear el proceso, irme y terminarlo después de un par de horas. Estoy de acuerdo con que actualice automáticamente los archivos de configuración en / etc y así sucesivamente. Entonces, ¿cómo iniciar una actualización desatendida?

    
pregunta jdm 02.02.2013 - 21:30

5 respuestas

34

El siguiente comando se actualiza a la nueva versión estable sin avisos:

do-release-upgrade -f DistUpgradeViewNonInteractive

El siguiente comando se actualiza a la versión de desarrollo actual sin avisos:

do-release-upgrade -d -f DistUpgradeViewNonInteractive

No lo he probado, pero parece que solo realiza la acción predeterminada cuando surge una pregunta. También agota los scripts si se cuelgan demasiado tiempo.

Posiblemente tengas que usar dpkg-reconfigure después si no estás satisfecho con la configuración de ciertos paquetes, pero la mayoría de las veces deberías estar bien.

Fuente: enlace . En el enlace también hay otras formas de hacerlo.

    
respondido por el jdm 03.02.2013 - 12:42
7

Solo para ampliar las respuestas anteriores, aquí se muestra cómo hacer lo mismo de forma remota que la respuesta aceptada, utilizando una actualización sin contraseña en ssh que actualizará su cuadro a la última versión. Se copia de mi propia entrada de blog .

Todos estos pasos suponen que su repositorio de paquetes está funcionando. Es decir, si ejecuta la actualización apt-get, no se le presentan muchos 404 debido a que tiene una versión obsoleta. Primero debe corregirlo, por lo que vea esta respuesta para eso.

0. Actualice todos los paquetes existentes

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

1. Configurar la ejecución sin contraseña

Agregue su auto a la lista de usuarios que pueden ejecutar do-release-upgrade usando sudo sin ingresar una contraseña al ejecutar

sudo visudo -f /etc/sudoers.d/do-release-upgrade.

y agregando la siguiente línea, sustituyendo my-username por el tuyo, por supuesto:

my-username ALL=NOPASSWD: /usr/bin/do-release-upgrade

2. Comience actualizaciones incrementales

Cierre la sesión y ejecute el siguiente comando desde su computadora. Hará una actualización sin pedirle entrada (aceptando todas las respuestas predeterminadas), esperará a que la computadora se reinicie y luego intentará actualizar nuevamente. Se ejecuta hasta que se actualice a la última versión.

while true; do 
    ssh my-user@my-server sudo do-release-upgrade -f DistUpgradeViewNonInteractive;
    sleep 120; 
done

3. Repare los archivos de configuración a su estado anterior

Después, tendrá que mover los archivos de configuración respaldados a su ubicación anterior, ya que el proceso de actualización ha puesto las configuraciones predeterminadas en su lugar.

¿No está satisfecho con las respuestas predeterminadas?

Este chico tiene una forma de anticiparse prepare respuestas para cada solicitud, pero la desventaja es que debe saber cuántas indicaciones hay ...

    
respondido por el oligofren 06.06.2013 - 19:36
3

Puedes hacerlo a través del terminal, usando sudo apt-get -y upgrade . Esto responderá "sí" a todas las solicitudes. Sin embargo, no se ejecutará automáticamente, así que debes ejecutarlo. debería funcionar. AFAIK no hay forma de usar el administrador de actualizaciones GUI para realizar actualizaciones sin supervisión al software ( ¡esto NO es lo mismo que una actualización de lanzamiento! )

Si intenta actualizar a una versión diferente de Ubuntu (también conocida como versión mejorada , y generalmente la próxima versión en la línea de lanzamientos relativa a su versión de Ubuntu), debe activar que manualmente . sudo do-release-upgrade puede funcionar. Sin embargo, no hay forma de evitar indicaciones pasadas. Esta es la razón por la que inicia actualizaciones cuando va a estar cerca de tales solicitudes; habrá indicaciones.

    
respondido por el Thomas Ward 02.02.2013 - 22:57
2

Para confirmar lo que dice Thomas Ward en su respuesta y contradecir la respuesta aceptada, do-release-upgrade -d -f DistUpgradeViewNonInteractive NO FUNCIONA.

De hecho, al primer aviso, rompió mi partición de prueba de 16.04 a 18.04 y tuve que recolocarla. Aquí es donde el script se congela:

Setting up mount (2.31.1-0.4ubuntu3) ...
Setting up systemd (237-3ubuntu10) ...
Installing new version of config file /etc/pam.d/systemd-user ...
Installing new version of config file /etc/systemd/journald.conf ...

Configuration file '/etc/systemd/logind.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** logind.conf (Y/I/N/O/D/Z) [default=N] ? y

Y
CRASHED... NOTHING HAPPENS NOW... WILL KILL AND RESTART WITHOUT -f OPTION...

Debido a los inhibidores de entrada, ni el reinicio ni el apagado funcionarán después de matar el script. Debe hacer un apagado en frío (mantenga pulsado el botón de encendido ~ 10 segundos).

Gracias a Dios, esta fue una actualización de clonación de 16.04 y no en la partición real de 16.04.

Para hacer la vida aún más interesante, se agregó una nueva partición de 898 MB a mi NVMe SSD y mis particiones normales se cambiaron:

$ lsdrv
NAME        FSTYPE  LABEL                  MOUNTPOINT          SIZE MODEL

nvme0n1                                                        477G Samsung SSD 960 PRO 512G
├─nvme0n1p5 ntfs                                               858M 
├─nvme0n1p3                                                     16M 
├─nvme0n1p1 ntfs                                               450M 
├─nvme0n1p8 ntfs    Shared_WSL+Linux       /mnt/e                9G 
├─nvme0n1p6 ext4    Ubuntu18.04                               23.7G 
├─nvme0n1p4 ntfs    NVMe_Win10             /mnt/c            390.4G 
├─nvme0n1p2 vfat                           /boot/efi            99M 
├─nvme0n1p9 swap    Linux Swap             [SWAP]              7.9G 
└─nvme0n1p7 ext4    NVMe_Ubuntu_16.0       /                  44.6G 
  • nvme0n1p5 solía estar donde residía mi partición Ubuntu 16.04 pero ahora está en nvme0n1p7
  • nvme0n1p8 solía estar donde residía mi partición de prueba 18.04 pero ahora está en nvme0n1p8

NOTA: también actualicé Windows 10 de Build 1709 a Build 1803 esta tarde, así que es posible que haya creado la nueva partición de 898 MB nvme0n1p5 en formato ntfs .

    
respondido por el WinEunuuchs2Unix 14.05.2018 - 00:19
-2

Intenta agregar la opción -y a apt-get , pero sepa que responderá y todas las consultas.

    
respondido por el blogger 02.02.2013 - 22:24

Lea otras preguntas en las etiquetas