Actualizando a versiones nuevas

El comando rpm-ostree rebase concede alternar entre múltiples ramas. El comando ostree remote permite ver y modificar las opciones del repositorio.

Enumeración de Repositorios Remotos

El comando ostree remote tiene varias opciones:

$ ostree remote --help
Modo de empleo:
  ostree remote [OPCIÓN…] COMANDO

Los comandos remotos que pueden relación con acceso de Internet

Comandos "remote" embebidos:
  add               Agrega repositorio remoto
  delete            Elimina un repositorio remoto
  show-url          Muestra la URL de un repositorio remoto
  list                     Enumera nombres de repositorio remoto
  gpg-import        Importa claves GPG
  add-cookie        Agrega un cookie al remoto
  delete-cookie     Retira un cookie desde el remoto
  list-cookies      Muestra cookieas de repositorio remoto
  refs              Enumera referencias remotas
  summary           Muestra sumario del remoto

Opciones de ayuda:
  -h, --help             Muestra opciones de ayuda

Opciones de aplicación:
  -v, --verbose              Muestra información depurativa durante el proceso de comando
  --version                      Muestra información de la versión y termina

Listado remoto de nombres de repositorio:

$ ostree remote list
fedora-iot

Muestra la URL remota:

$ ostree remote show-url fedora-iot
https://ostree.fedoraproject.org/iot

Enumera las ramas de referencia remota:

$ ostree remote refs fedora-iot
fedora-iot:fedora/stable/aarch64/iot
fedora-iot:fedora/stable/x86_64/iot
fedora-iot:fedora/devel/aarch64/iot
fedora-iot:fedora/devel/x86_64/iot
fedora-iot:fedora/rawhide/aarch64/iot
fedora-iot:fedora/rawhide/x86_64/iot

Agregar y Retirar Repositorios Remotos

Los archivos de configuración del árbol del sistema operativo remoto están localizadas en el directorio /etc/ostree/remotes.d.

$ cat /etc/ostree/remotes.d/fedora-iot.conf
[remote "fedora-iot"]
url=https://ostree.fedoraproject.org/iot
gpg-verify=true
gpgkeypath=/etc/pki/rpm-gpg/
contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist

La primera línea especifica el nombre del control remoto que se mostrará con ostree remote list. Las líneas adicionales tienen el formato 'CLAVE=VALOR'.

Para agregar un repositorio remoto, utilice el comando ostree remote add:

$ ostree remote add --help
Modo de empleo:
  ostree remote add [OPCIÓN…] NOMBRE [metalink=|mirrorlist=]URL [RAMA...]

Agregar un repositorio remoto

Opciones de ayuda:
  -h, --help                                             Muestra opciones de ayuda

Opciones de aplicación:
  --set=KEY=VALOR                   Establece la opción KEY=VALOR para configuración remoto
  --no-gpg-verify                   Inhabilita la verificación de GPG
  --if-not-exists                   No hace nada si existe el proveedor remoto
  --gpg-import=ARCHIVO                 Importa clave GPG desde ARCHIVO
  --contenturl=URL                  Utiliza la URL cuando obtiene el contenido
  --collection-id=ID-COLECCIÓN     ID globalmente único para este repositorio como una colección de refs para redistribuir a otros repositorios
  --repo=RUTA                       Ruta para repositorio OSTree (por defecto a /sysroot/ostree/repo)
  --sysroot=RUTA                    Utiliza raíz del sistema en RUTA (sustituye --repo)
  -v, --verbose                     Declara información de depuración durante comando de proceso
  --version                         Declara información de versión y sale

La opción --set puede ser utilizada múltiples veces para configurar cualquier pareja KEY=VALOR. Algunas de las claves más comunes o requeridas tienen sus propias opciones. Por ejemplo, los siguientes dos comandos resultan en archivos de configuración idénticos. Difieren solo en como la url del contenido están especificados:

$ sudo ostree remote add --set=contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist --set=gpgkeypath=/etc/pki/rpm-gpg/ fedora-iot 'https://ostree.fedoraproject.org/iot'
$ sudo ostree remote add --contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist --set=gpgkeypath=/etc/pki/rpm-gpg/ fedora-iot 'https://ostree.fedoraproject.org/iot'

Para eliminar un repositorio remoto utilice:

$ sudo ostree remote delete fedora-iot

Mover entre Árboles de Construcción

Actualmente hay tres ramas, la estable, desarrollo, y rawhide (cuero crudo). Cada rama corresponde a la versión de Fedora que es la última estable (stable), cuero crudo y si actualmente Fedora tiene una versión ramificada que esté yendo a estabilización en preparación para lanzamiento (desarrollo).

Necesita especificar la arquitectura como parte de la opción de rama. En el momento las opciones son aarch64 y x86_64.

Para pasar a estable:

$ sudo rpm-ostree rebase -b fedora/stable/<ARCH>/iot

Para pasar a devel (desarrollo):

$ sudo rpm-ostree rebase -b fedora/devel/<ARCH>/iot

Para pasar de rebase a rawhide:

$ sudo rpm-ostree rebase -b fedora/rawhide/<ARCH>/iot

Una vez preparado, reinicie el sistema para utilizar la imagen nueva:

$ sudo systemctl reboot

Actualizar a cualquier nueva versión

Las versiones recientes importarán automáticamente las claves de versión en el directorio especificado si están presentes en una rebase.

Modo de empleo:
 ostree remote gpg-import [OPCIONES...] NOMBRE [ID-CLAVE...]

Proporcione la ruta referenciada para la versión nueva en el comando rebase:

$ sudo rpm-ostree rebase VERSIÓN

El proceso es muy similar a una actualización del sistema. El SO nuevo es descargado e instalado en segundo plano. Una vez que esté preparado, reinicie el sistema para utilizar la imagen nueva:

$ sudo systemctl reboot

Tan solo como la actualización del sistema, rebases puede ser revertida. El desarrollo anterior está aún disponible, y puede iniciar en ella si hay cualquier problema con el SO nuevo.

Hay disponible más información en la documentación en desarrollo en libostree y rpm-ostree.