PDA

View Full Version : TUMBLEWEED Actualizaciones Opensuse Tumbleweed



Vernius
17-Sep-2022, 11:09
Hola. Me he dado cuenta que al actualizar, en ocasiones Opensuse descarga automaticamente dichos paquetes y los instala al apagar-reiniciar el equipo, pero en la mayoria de veces, no actualiza hasta que no ejecutas zypper dup y no tiene en cache los updates. Esta diferencia es por tipo de programas a actualizar?

Saludos

mikrios
03-Oct-2022, 01:33
Hola:

Eso lo hace después, cuando ejecutas zypper dup (cambio de versión) , el recupera la lista de metadatos y reconstruye la cache.

Después de eso procede a actualizar.

Casi al final o en el final , ejecuta un script (letras de azul claro) , (en el cual ejecuta muchas veces el comando dracut) , y dependiendo de lo que haya actualizado, realiza una cosa u otra; ejemplo reconstruir initrd y initramfs, y muchas cosas mas , ( en ese periodo de tiempo, si tarda mucho y parece que se cuelga, no se debe dar un reset, hay que esperar que acabe con el proceso ) por ejemplo el kernel o otros archivos, con paciencia se espera que termine, ya que puede que este creando un nuevo cargador de arranque (grub2) y si se interrumpe lo puedes perder .

En el reinicio se ejecutan otras cosas, como borrar o mover archivos etc, y sobre todo si se cambio el kernel, ejecuta un purge kernel, o sea borra el antiguo, para que quede el nuevo.

Ademas de hacer un log y una instantánea si usas btrfs.

La ejecución del script, es una de las partes mas delicadas, hay que procurar tarde lo que tarde, a que el proceso finalice .

Saludos cordiales .

victorhck
03-Oct-2022, 06:52
zypper dup es el comando adecuado para actualizar Tumbleweed.

mikrios
03-Oct-2022, 08:50
zypper dup es el comando adecuado para actualizar Tumbleweed.

Hola:

Por lógica , es un cambio de versión ( o es que zypper dup de tw es distinto de Leap? ) .

Cuando se ejecuta , al final de todo dice que se pasa de la versión de tal fecha a la nueva fecha .

Aunque ese cambio de versión está asociada a una iso, ademas las comprobaciones que salen de openQA, pasan por kernel, software, etc ( realmente cambia todo y es casi distinta a la anterior) .

Así mismo se comporto Leap, cuando paso por lo de Respin (idem una instalación nueva en TW, vale la última iso) .

Saludos cordiales .

krovikan
03-Oct-2022, 10:14
( o es que zypper dup de tw es distinto de Leap? )

El comando hace lo mismo en ambos, Leap y TW, pero... sólo se usa para actualizar en TW (porque siempre es cambio de versión de TW). En Leap sólo se usa el dup cuando es cambio de versión de Leap y si no, se usa up.


Saludos

mikrios
03-Oct-2022, 14:58
Hola:

Lo comento, por la forma de cambiar el matiz o la forma de llamar lo de otra manera.

Ese comando , hace eso, en los manuales lo afirma, la wiki también, porque no llamar las cosas por su nombre.

Dup, se puede aplicar no solo a un cambio de versión, suele haber casos a parte donde se puede aplicar en vez del up.

Una vez realizado una instalación, por ejemplo Leap, y no se han añadido repositorios, se puede usar dup, pero una vez añadido un repositorio, ya hay que usar up.

Posible que haya algún otro, un compañero del foro, hizo un buen trabajo con zypper en la wiki de openSUSE, claro, y con explicaciones y ejemplos .

Saludos cordiales .

victorhck
04-Oct-2022, 09:14
Por si sirve de ayuda:

https://victorhckinthefreeworld.com/2017/07/13/cual-es-el-mejor-comando-para-actualizar-opensuse-tumbleweed-segunda-parte/

mikrios
04-Oct-2022, 15:21
Hola:

Correcto.

Siempre me había hecho a la idea, que se tenía en cuenta el cambio de proveedor y la prioridad; es algo que no había mirado con detalle .

Gracias .

Saludos cordiales .

karlggest
06-Oct-2022, 09:37
Hola.

Zypper dup es el comando de actualización de la distribución, como sabéis. En lo que a lo mejor no os fijáis tanto es en el propio concepto de "actualizar distribución". En Tumbleweed no hay versiones, por lo que siempre estás actualizando la distribución. Por su parte, en Leap sí hay versiones, por lo que existe diferencia entre actualizar la versión y actualizar el sistema.

Por su parte, zypper up actualiza paquetes. Por ejemplo: zypper up kate

Si no le dices qué paquetes quieres actualizar, actualizará todo lo que haya pendiente de actualizar. Aquí entra en juego el nivel de prioridad que asignéis a cada repositorio.

El otro concepto es el de "vendor" (vendedor), que es quién es responsable del paquete de turno. Por ejemplo el paquete libavcodec57 tiene versión de openSUSE y de Packman:

zypper info libavcodec57* |grep Vendedor
Vendedor : http://packman.links2linux.de
Vendedor : http://packman.links2linux.de
Vendedor : SUSE LLC <https://www.suse.com/>

Así que un cambio de versión puede involucrar un cambio de ese vendedor. Hasta donde yo sé openSUSE y SUSE son el mismo vendedor (uno de los cambios de Leap 15.3 y 15.4 respecto a 15.2) y el buildservice sigue siendo uno diferente, aunque no estoy seguro. Pero packman, por ejemplo, es un vendedor diferente.

En cuanto a dup vs up, se supone que la diferencia es que up no puede dejar paquetes huérfanos ni instalar versiones menores de las disponibles, mientras que dup claramente sí. En mi sistema, ahora mismo, si hago zypper dup tengo

186 paquetes para actualizar, 2 novos.
Tamaño total de descarga: 518,2 MiB. Ya en caché: 0 B. Despois da operación, hanse usar 118,2 MiB adicionais.
mientras que si hago zypper dup ya tengo problemas de dependencias:

Problema: problema con el elemento gstreamer-plugins-libav-1.18.6-pm154.2.1.x86_64 instalado
Solución 1: instalar gstreamer-plugins-libav-1.20.3-lp154.70.36.x86_64 del proveedor obs://build.opensuse.org/multimedia
reemplazando gstreamer-plugins-libav-1.18.6-pm154.2.1.x86_64 del proveedor http://packman.links2linux.de
Solución 2: mantener el elemento gstreamer-plugins-libav-1.18.6-pm154.2.1.x86_64 obsoleto
Y diréis, ¿qué hace up con el paquete gstreamer-plugins-libnav entonces? Pues nada, por supuesto, lo muestra en la lista que "no se va a instalar".

Salud!!

mikrios
06-Oct-2022, 20:11
Hola:

Si no me equivoco, hay dependencias, porque hay proveedores que no son por defecto ( si son los mismos, se supone que tiene los mismos paquetes y misma versión) .

En Azul no se instala los que dan dependencias o están bloqueados :



The following 2 items are locked and will not be changed by any action:
Available:
texlive texlive-lm-fonts


The following 10 package updates will NOT be installed:
Mesa Mesa-dri Mesa-gallium Mesa-libEGL1 Mesa-libGL1 Mesa-libglapi0 Mesa-libva gdk-pixbuf-loader-libheif libgbm1 libvdpau_nouveau



En verde los que se instalan ; lo mismo para los que se actualizan .

Siempre que he actualizado , excepto (una vez que todo solo vlc), hay cambio de versión , aunque permite usar up, advierte que se usa dup :



The following product is going to be upgraded:
openSUSE Tumbleweed 20220926-0 -> 20221004-0
Product 'openSUSE Tumbleweed' requires to be updated by calling 'zypper dup'!


Los paquetes nuevos, de color verde, vienen acompañados de info violeta, en el caso del kernel, para indicar que es necesario reiniciar :


The following 5 NEW packages are going to be installed:
kernel-default-5.19.13-1.1 kernel-default-devel-5.19.13-1.1 kernel-devel-5.19.13-1.1 kernel-syms-5.19.13-1.1 libLLVM15

The following package requires a system reboot:
kernel-default-5.19.13-1.1



Los totales en verde :



337 packages to upgrade, 5 new.
Overall download size: 987.6 MiB. Already cached: 0 B. After the operation, additional 393.3 MiB will be used.

Note: System reboot required.

, informa de nuevo en azul que se requiere el reinicio .

Las actualizaciones corresponden a fechas o periodo de las mismas (del 26 del 09 del 2022, a la 04 de octubre de 2022, ¡vaya mi santo ! ) .

Esto es lo que he observado para TW.

Para Leap , por ejemplo la 15.5 :

Actualizaciones total 769 .
Condiciones ( de aquí hablo cuando la instalación es nueva y los proveedores son por defecto, es decir no se añaden , solo están los que vienen con los de la instalación).

Tanto dup como up total 769 (los mismos).
En azul : los que no se instalan o están bloqueados : ejemplo texlive (informa que está disponible, pero no se instala) .

En canelo o castaño, informa lo que se va a realizar : informa que se va a reinstalar la 15.5 .
Verde : paquetes a instalar, también en verde paquetes nuevos como el kernel.
Violeta : warning o info de que se requiere reinicio .
Los totales : En verde nº de actualizaciones 769 y 4 nuevos .
En azul : info de que se requiere reinicio. ademas para continuar es condicional responder (y/n/v/....? ver todas las opciones )
Ademas si fuese TW :se considera la cancelación si se usa up, e informa que TW requiere dup , pregunta para responder (y/n/v/....etc .

Resumiendo : La informmación que da zypper es bien clara, incluso el script al final (en ambos casos) , creo que si se requiere mas detalle que los logs, no se si ademas de realizar la función se pueda redirigir : ejemplo zypper dup > ~/Documentos/info.txt ; hare la prueba, si funciona se obtiene detalles del script final, de lo archivos, del initrd, etc...

Estos son ejemplos reales, no se si hay variaciones con otros equipos , no me he fijado en eso, solo en un pc, hacerlo en todos requiere tiempo.

Saludos cordiales

Edito : falla por que pide el responder yes en zypper dup > ~/Documentos/info.txt (en principio lo hace, pero no se si hay una opción de que conteste yes , sin la actuación del usuario .

mikrios
06-Oct-2022, 20:26
Hola:

Pulsando y parece que lo hace, he visto parte y va bien, los resultados, tendré que esperar al final, haber que sale, sobre todo el script .

Saludos cordiales

Edito: Sale un archivo txt, que se va incrementando de valor , el contenido por ahora es lo mismo que sale por consola .

Activar la recarga automática y ver el proceso de como lo hace, en caso de un error, ir a consola y darle la letra correspondiente para que continúe ; ejemplo la R para que lo reintente.

mikrios
06-Oct-2022, 20:44
Hola:

Si falla en el proceso, porque algún paquete está mal, pues poco se puede hacer :



Download (curl) error for 'https://download.opensuse.org/update/tumbleweed/x86_64/kernel-default-devel-5.19.13-1.1.x86_64.rpm':
Error code: Curl error 16
Error message:

r
Installation of kernel-firmware-qcom-20220930-1.1.noarch failed:
Error: Subprocess failed. Error: RPM failed: Command exited with status 1.






A partir de ahí falla, porque hay un error, si continuo, sigue, pero con el error añadido .

Pego la parte correspondiente al fichero de texto :



Abort, retry, ignore? [a/r/i] (a): (171/342) Installing: kernel-firmware-qcom-20220930-1.1.noarch [........
error: unpacking of archive failed on file /usr/lib/firmware/qcom/LENOVO/21BX;633f9ee5: cpio: File from package already exists as a directory in system
error: kernel-firmware-qcom-20220930-1.1.noarch: install failed
error: kernel-firmware-qcom-20220902-1.1.noarch: erase skipped
error]
Abort, retry, ignore? [a/r/i] (a): (171/342) Installing: kernel-firmware-qcom-20220930-1.1.noarch [........
error: unpacking of archive failed on file /usr/lib/firmware/qcom/LENOVO/21BX;633f9eea: cpio: File from package already exists as a directory in system
error: kernel-firmware-qcom-20220930-1.1.noarch: install failed
error: kernel-firmware-qcom-20220902-1.1.noarch: erase skipped
error]
Abort, retry, ignore? [a/r/i] (a): (171/342) Installing: kernel-firmware-qcom-20220930-1.1.noarch [........
error: unpacking of archive failed on file /usr/lib/firmware/qcom/LENOVO/21BX;633f9ef8: cpio: File from package already exists as a directory in system
error: kernel-firmware-qcom-20220930-1.1.noarch: install failed
error: kernel-firmware-qcom-20220902-1.1.noarch: erase skipped

Funcionar veo que lo hace, ahora puedo abortar, reintentar o ignorar , pero el fallo no se debe a esto, si no al paquete.
El error da un código curl 16 , se le da ignorar , para que el proceso siga, ya volveré actualizar esto cuando lo arreglen


Saludos cordiales

mikrios
06-Oct-2022, 21:04
Hola:

El sistema funciona, ahí tienen el log, donde falla, a mi equipo no creo que le afecte, pero a los lenovo, no lo se.
Y el resultado es desde el inicio, hasta ejecutar el script , dejo las últimas lineasm del fichero de texto (en consola aparece el promt de que ha terminado)
:




dracut: *** Including module: suse-initrd ***
dracut: *** Including modules done ***
dracut: *** Installing kernel module dependencies ***
dracut: *** Installing kernel module dependencies done ***
dracut: *** Resolving executable dependencies ***
dracut: *** Resolving executable dependencies done ***
dracut: *** Hardlinking files ***
dracut: Mode: real
dracut: Files: 1127
dracut: Linked: 1 files
dracut: Compared: 0 xattrs
dracut: Compared: 101 files
dracut: Saved: 690 B
dracut: Duration: 0.010262 seconds
dracut: *** Hardlinking files done ***
dracut: *** Generating early-microcode cpio image ***
dracut: *** Constructing GenuineIntel.bin ***
dracut: *** Store current command line parameters ***
dracut: Stored kernel commandline:
dracut: rd.driver.pre=btrfs
dracut: resume=UUID=1abac62c-373d-4208-a7fa-57025024c4bf
dracut: root=UUID=7c0c5fe6-91a9-4cb8-bf3e-adb5238f952f rootfstype=btrfs rootflags=rw,relatime,space_cache=v2,subvolid=265,subvol=/@/.snapshots/1/snapshot,subvol=@/.snapshots/1/snapshot
dracut: *** Stripping files ***
dracut: *** Stripping files done ***
dracut: *** Creating image file '/boot/initrd-5.19.8-1-default' ***
dracut: *** Creating initramfs image file '/boot/initrd-5.19.8-1-default' done ***
...........done]
There are running programs which still use files and libraries deleted or updated by recent upgrades. They should be restarted to benefit from the latest updates. Run 'zypper ps -s' to list these programs.

Since the last system boot core libraries or services have been updated.
Reboot is suggested to ensure that your system benefits from these updates.


Así es como acaba (es mucho mas largo, pero solo pongo el final. pero queda registrado, para los que quieran analizarlo lo; tener en cuenta que redirigir la salida de un comando, a veces es importante para registrar y analizar posterior el problema, espero que sirva de utilidad) .

Recuerdo que este proceso final del script, suele ser delicado, hay que dejarlo terminar .

Saludos