Migrar desde Milky Way v0.2 a v0.3

Dado que Hyperbola migró desde la Jerarquía del sistema de archivos de systemd utilizada por Arch al Estándar de Jerarquía de Sistema de Archivos (FHS en inglés), es necesario que siga este artículo de migración con cuidado y en la secuencia adecuada al migrar desde Milky Way v0.2.

¿Qué es el estándar de jerarquía del sistema de archivos (FHS)?

El Filesystem Hierarchy Standard (FHS) define los directorios principales y sus contenidos en GNU/Linux y otros sistemas operativos de computadora similares a Unix como HyperbolaBSD. Ver nuestro articulo para mas detalles.

Advertencia

Por favor lea la advertencia completa
Se recomienda hacer una copia de seguridad completa de todos los datos antes de intentar esta migración. Los usuarios también pueden preferir instalar Milky Way v0.3 desde cero en lugar de intentar la migración para garantizar una actualización exitosa y menos invasiva.
Se requiere usar una imagen viva para realizar esta migración.
En la mayor medida permitida por las leyes aplicables, el Hyperbola Project excluye y niega la responsabilidad por cualquier pérdida y gasto de cualquier naturaleza y de cualquier forma que surja, incluyendo, entre otros, cualquier directa, indirecta, general, especial, punitiva, incidental o consecuente daños y perjuicios; perdida de uso; pérdida de datos; pérdida causada por un virus; pérdida de ingresos o ganancias; pérdida o daño a la propiedad; reclamaciones de terceros u otras pérdidas de cualquier tipo o carácter

Migración

Ejecute la imagen viva y monte su partición root en /mnt. Reemplace /dev/sdX con su partición root actual.

# mount /dev/sdXY /mnt
Si está utilizando un sistema de archivos cifrados, primero deberá desbloquearlo y luego montarlo.
# cryptsetup luksOpen /dev/sdXY hdd
# mount /dev/mapper/hdd /mnt

Si está utilizando LVM, deberá montar el volumen como partición root.

# mount /dev/mapper/matrix-rootvol /mnt

Si tiene problemas para localizar su partición root, intente usar:

# lsblk

Este comando imprimirá una lista de unidades, particiones y grupos de volúmenes.

Eliminar paquetes personalizados y huérfanos

# pacman --root /mnt -R $(pacman --root /mnt -Qqm)
Si los paquetes [multilib] están instalados, necesitará ejecutar adicionalmente
# pacman --root /mnt -Rdd $(pacman --root /mnt -Qqm)

Actualizar base de datos

Si está utilizando [multilib], también debe habilitarlo en la imagen viva:
# nano -w /etc/pacman.conf
-------------------------------------------------------------------------
[multilib]
Include = /etc/pacman.d/mirrorlist

Actualice la base de datos del paquete del entorno de imagen viva:

# pacman -Syy

Actualice la base de datos de paquetes del entorno /mnt.

# pacman --root /mnt -Syy

Exporte las carpetas binarias faltantes a la variable PATH

# export PATH="$PATH:/bin:/sbin:/usr/sbin"
Nota: Exportar la ruta solo es necesario para imágenes de CD en vivo más antiguas (por ejemplo, Milky Way ⇐0.2.9)

Arreglar la base de datos de los paquetes

# pacman --root /mnt -D --asdeps $(pacman --root /mnt -Qqe)
# pacman --root /mnt -D --asexplicit $(pacman --root /mnt -Qqtd)

Actualiza filesystem

Filesystem ha cambiado significativamente desde v0.2.9 y requiere una actualización manual.

Es normal tener advertencias de permisos y errores de ejecución más allá de este punto, ya que los cambios de FHS han aumentado la seguridad de nuestros permisos de carpeta desde la versión v0.2.9
# pacman --root /mnt --cachedir /mnt/var/cache/pacman/pkg -S filesystem

Actualiza todos los paquetes

# pacman --root /mnt --cachedir /mnt/var/cache/pacman/pkg -Suu

Reinstale todos los paquetes instalados no explícitamente

# pacman --root /mnt --cachedir /mnt/var/cache/pacman/pkg -S --asdeps $(pacman --root /mnt -Qqd)

Reinstale todos los paquetes instalados explícitamente

# pacman --root /mnt --cachedir /mnt/var/cache/pacman/pkg -S $(pacman --root /mnt -Qqe)

Chroot en el sistema instalado

# arch-chroot /mnt

Reinstale todos los paquetes nuevamente

# pacman -S --asdeps $(pacman -Qqd)
# pacman -S $(pacman -Qqe)

Regenerar la imagen del kernel

# mkinitcpio -p linux-libre-lts

Reinstale el cargador de arranque (Bootloader)

Dependiendo de su gestor de arranque instalado, necesitará reinstalarlo para obtener los últimos cambios de v0.3.

No es necesario reinstalar el gestor de arranque para los sistemas LibreBoot ya que GRUB reside en el BIOS y no en la unidad de almacenamiento interna.

GRUB

Nota: Esto solo es necesario para el sistema instalado con GRUB en la unidad interna; consulte el manual de GRUB para obtener más detalles.
# grub-install /dev/sdX
# grub-mkconfig -o /boot/grub/grub.cfg

UEFI

Esto solo es necesario para el sistema instalado con UEFI, consulte el manual de UEFI para obtener más detalles
# mkdir /boot/efi
# mount /dev/sdXY /boot/efi
# cp -vi initramfs-linux-libre-lts* vmlinuz-linux-libre-lts /boot/efi/efi/hyperbola/

Completa la migración

Salir de chroot

# exit
También puede presionar Ctrl+D para salir de un chroot

Desmontar y reiniciar

# umount -l /mnt

Reiniciar el sistema

# reboot

¡Entonces ingresa a la nueva Milky Way v0.3!

Después de la migración

Esta versión de Milky Way contiene 3 cambios notables:

  • La adopción de LibreSSL como proveedor predeterminado de los protocolos Secure Sockets Layer (SSL) y Transport Layer Security (TLS)
  • La adopción de Xenocara como proveedor predeterminado del servidor de visualización para el sistema X Window
  • Todas las aplicaciones UXP ahora tienen su propio directorio de perfil.

LibreSSL

LibreSSL es una versión de TLS/crypto stack bifurcada de OpenSSL en 2014, con el objetivo de modernizar la base de código, mejorar la seguridad y aplicar procesos de desarrollo de mejores prácticas.

Se bifurcó de OpenSSL en abril de 2014 como respuesta de los desarrolladores de OpenBSD a la vulnerabilidad de seguridad Heartbleed en OpenSSL, con el objetivo de refactorizar el código de OpenSSL para proporcionar una implementación más segura.

Si tiene paquetes vinculados de OpenSSL locales o personalizados, deben ser reconstruidos para LibreSSL. Es probable que haya paquetes rotos.

Incluye paquetes con dependencias directas en:

  • openssl
  • openssl-1.0
  • lib32-openssl
  • lib32-openssl-1.0

También paquetes con enlace a:

  • libssl.so.1.1
  • libssl.so.1.0
  • libcrypto.so.1.1
  • libcrypto.so.1.0

Xenocara

Xenocara proporciona un marco para albergar modificaciones de OpenBSD y automatizar la construcción de los componentes modulares X.Org, incluidos paquetes de terceros y algunos programas mantenidos por los desarrolladores de OpenBSD.

Incluye un servidor X.Org X personalizado que utiliza un usuario _x11 dedicado de forma predeterminada para eliminar privilegios y realizar la separación de privilegios de acuerdo con la política de privilegios mínimos de OpenBSD. Además, Xenocara incluye varios otros proyectos, como cwm, un administrador de ventanas de apilamiento para el sistema X Window.

Si tiene paquetes vinculados X.Org locales o personalizados, deben ser reconstruidos para Xenocara. Es probable que haya paquetes rotos.

Incluye paquetes con dependencias directas en:

  • xorg-*

También paquetes con enlace a:

  • libX*.so*
Si aún no tenía instalado xorg-server durante la migración, puede probar el nuevo Xenocara instalándolo.
# pacman -S xenocara-server
La functión realizar separación de privilegios se deshabilitó en Hyperbola GNU/Linux-libre porque requiere llamadas a sistemas específicos de OpenBSD como pledge y unveil, sin embargo, se implementará para HyperbolaBSD, un sistema operativo que está siendo desarrollado por el Hyperbola Project.

Aplicaciones UXP

A partir de v0.3, Iceweasel-UXP, Icedove-UXP e Iceape-UXP ahora residen en ~/.hyperbola en lugar de ~/.mozilla, que se mantuvo por razones de compatibilidad durante la era de Firefox 52.

Para poder utilizar sus perfiles de aplicación UXP existentes, deben renombrarse para que se ajusten a la nueva sintaxis.
Para Iceweasel-UXP:
$ mkdir -p ~/.hyperbola/iceweasel-uxp
$ cp -a ~/.mozilla/firefox/* ~/.hyperbola/iceweasel-uxp

Para Icedove-UXP:

$ mkdir -p ~/.hyperbola/icedove-uxp
$ cp -a ~/.mozilla/thunderbird/* ~/.hyperbola/icedove-uxp

Para Iceape-UXP:

$ mkdir -p ~/.hyperbola/iceape-uxp
$ cp -a ~/.mozilla/seamonkey/* ~/.hyperbola/iceape-uxp

Cuando esté seguro de que todas las aplicaciones se han migrado correctamente, puede eliminar la antigua carpeta ~/.mozilla y sus subdirectorios.