Distribución de SUSE Linux Micro mediante imágenes de disco en bruto en máquinas virtuales
- DESCRIPCIÓN
SUSE Linux Micro proporciona imágenes en bruto, también conocidas como imágenes preconstruidas, que se pueden distribuir directamente en su máquina virtual.
- INTENCIÓN
La distribución virtualizada ahorra recursos de hardware.
- ESFUERZO
Se tardan aproximadamente 20 minutos en leer el artículo.
- OBJETIVO
SUSE Linux Micro se distribuye correctamente en una máquina virtual.
- REQUISITOS
Un servidor host de máquina virtual con un
libvirt
y un entorno de virtualización KVM instalado y en ejecución.Un mínimo de 32 GB de espacio en disco para la distribución de la imagen.
Opcionalmente, un medio de configuración, por ejemplo, una memoria USB.
1 Acerca de las imágenes preconstruidas #
Las imágenes preconstruidas son representaciones listas para usar de un sistema operativo en ejecución. No se instalan de forma tradicional mediante un instalador, sino que se copian en el disco duro del host de destino. El tema incluye información básica acerca de estas imágenes preconstruidas.
Las imágenes preconstruidas están diseñadas para configurarse en el primer arranque mediante las herramientas incluidas en las imágenes. El cargador de arranque detecta el primer arranque como se describe en la Sección 1.1, “Detección del primer arranque”.
1.1 Detección del primer arranque #
La configuración de distribución solo se ejecuta en el primer arranque. Para distinguir entre el primer arranque y los siguientes, el archivo /etc/machine-id
se crea después de que finalice el primer arranque. Si el archivo no está presente en el sistema de archivos, el sistema entiende que se trata de un primer arranque y activa el proceso de configuración. Después de completar el primer arranque, se crea el archivo /etc/machine-id
.
/etc/machine-id
siempre se crea
Aunque la configuración no se realice correctamente debido a que falten archivos de configuración o que estos no sean correctos, el archivo /etc/machine-id
se crea.
1.1.1 Forzado de la reconfiguración del sistema en un arranque posterior #
Si necesita volver a configurar el sistema después del primer arranque, puede forzar la reconfiguración en el siguiente arranque. Tiene dos opciones.
Puede pasar los atributos
ignition.firstboot
ocombustion.firstboot
a la línea de comandos del kernel.Puede suprimir el archivo
/etc/machine-id
y reiniciar el sistema.
2 Preparación del dispositivo de configuración #
Por defecto, el inicio de sesión SSH de root
en SUSE Linux Micro solo se permite mediante la clave SSH. Se recomienda crear un usuario sin privilegios durante el proceso de distribución que pueda utilizar para acceder al sistema instalado. Puede crear una cuenta de usuario sin privilegios en el primer arranque mediante la herramientas Combustion o Ignition. La creación de un usuario sin privilegios durante la distribución del sistema también es útil para acceder a la interfaz Web de Cockpit.
Para preparar el dispositivo de configuración, haga lo siguiente:
Formatee el disco con cualquier sistema de archivos compatible con SUSE Linux Micro: Ext3, Ext4, etc.
>
sudo mkfs.ext4 /dev/sdYDefina la etiqueta del dispositivo como
ignition
(cuando se utiliza Ignition o Combustion) ocombustion
(cuando solo se utiliza Combustion). Si es necesario (por ejemplo, en el host de Windows), utilice letras mayúsculas para las etiquetas. Para etiquetar el dispositivo, ejecute:>
sudo e2label /dev/sdY ignitionPuede utilizar cualquier tipo de medio de almacenamiento de configuración que admita su sistema de virtualización o su hardware: una imagen ISO, una memoria USB, etc.
Monte el dispositivo:
>
sudo mount /dev/sdY /mntCree la estructura de directorios como se menciona en la Sección 2.1.1.1, “
config.ign
” o la Sección 2.2, “Configuración de la distribución de SUSE Linux Micro con Combustion”, según la herramienta de configuración utilizada:>
sudo mkdir /mnt/ignition/O bien:
>
sudo mkdir -p /mnt/combustion/Prepare todos los elementos de la configuración que utilizarán Ignition o Combustion.
2.1.1 ¿Cómo funciona Ignition? #
Cuando el sistema se arranca por primera vez, Ignition se carga como parte de initramfs
y busca un archivo de configuración en un directorio específico (en una memoria USB o en una URL). Todos los cambios se realizan antes de que el kernel cambie del sistema de archivos temporal al sistema de archivos raíz real (antes de que se emita el comando switch_root
).
Ignition utiliza un archivo de configuración en formato JSON denominado config.ign
. Puede escribir la configuración manualmente o utilizar la aplicación Web Fuel Ignition en https://ignite.opensuse.org para generarla.
Fuel Ignition no cubre aún el vocabulario completo de Ignition, y el archivo JSON resultante puede necesitar ajustes manuales adicionales.
2.1.1.1
config.ign
#
Si pretende configurar una máquina virtual QEMU/KVM, proporcione la vía a config.ign
como atributo del comando qemu
. Por ejemplo:
-fw_cfg name=opt/com.coreos/config,file=PATH_TO_config.ign
Para configurar una máquina virtual con Virtual Machine Manager (libvirt
), proporcione la vía al archivo config.ign
en su definición XML, por ejemplo:
<domain ... > <sysinfo type="fwcfg"> <entry name="opt/com.coreos/config" file="/location/to/config.ign"/> </sysinfo> </domain>
Como alternativa, al utilizar libvirt
, puede proporcionar la vía como una opción para el comando virt-install
:
--sysinfo type=fwcfg,entry0.name="opt/com.coreos/config",entry0.file="PATH_TO_config.ign>"
config.ign
contiene varios tipos de datos: objetos, cadenas, enteros, booleanos y listas de objetos. Para obtener la especificación completa, consulte Ignition
specification v3.3.0.
El atributo version
es obligatorio y, en el caso de SUSE Linux Micro, su valor debe definirse en 3.4.0
o en cualquier versión anterior. De lo contrario, Ignition fallará.
Para iniciar sesión en el sistema como root
, debe incluir al menos una contraseña de root
. Sin embargo, se recomienda establecer el acceso mediante claves SSH. Para configurar una contraseña, asegúrese de utilizar una que sea segura. Si utiliza una contraseña generada aleatoriamente, use al menos 10 caracteres. Si crea la contraseña manualmente, se recomienda utilizar incluso más de 10 caracteres y combinar letras mayúsculas y minúsculas y números.
2.1.2 Ejemplos de configuración de Ignition #
En esta sección se proporcionan ejemplos de la configuración de Ignition en el formato JSON integrado.
version
es obligatorio
Cada archivo config.ign
debe incluir la versión 3.4.0 o anterior, que se convierte a la especificación de Ignition correspondiente.
2.1.2.1 Partición por defecto #
Cada imagen tiene los siguientes subvolúmenes:
/home /root /opt /srv /usr/local /var
El directorio /etc
se monta como overlayFS, donde el directorio superior se monta en /var/lib/overlay/1/etc/
.
Puede reconocer los subvolúmenes montados por defecto mediante la opción x-initrd.mount
de /etc/fstab
. Otros subvolúmenes o particiones deben configurarse mediante Ignition o Combustion.
Si desea añadir un nuevo usuario o modificar cualquiera de los archivos de un subvolumen que no esté montado por defecto, primero debe declarar dicho subvolumen para que también se monte.
2.1.2.2 Configuración de storage #
El atributo storage
se utiliza para configurar particiones, RAID, definir sistemas de archivos, crear archivos, etc. Para definir particiones, utilice el atributo disks
. El atributo filesystems
se utiliza para dar formato a las particiones. El atributo files
se puede utilizar para crear archivos en el sistema de archivos. Cada uno de los atributos mencionados se describe en las siguientes secciones.
2.1.2.2.1 El atributo disks
#
El atributo disks
es una lista de dispositivos que permite definir particiones en estos dispositivos. El atributo disks
debe contener al menos un device
, los demás atributos son opcionales. El siguiente ejemplo utiliza un único dispositivo virtual y divide el disco en cuatro particiones:
{ "ignition": { "version": "3.0.0" }, "storage": { "disks": [ { "device": "/dev/vda", "partitions": [ { "label": "root", "number": 1, "typeGuid": "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709" }, { "label": "boot", "number": 2, "typeGuid": "BC13C2FF-59E6-4262-A352-B275FD6F7172" }, { "label": "swap", "number": 3, "typeGuid": "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F" }, { "label": "home", "number": 4, "typeGuid": "933AC7E1-2EB4-4F13-B844-0E14E2AEF915" } ], "wipeTable": true } ] } }
2.1.2.2.2 El atributo raid
#
El atributo raid
es una lista de matrices RAID. Los siguientes atributos de raid
son obligatorios:
- level
es un nivel de la matriz RAID concreta (lineal, raid0, raid1, raid2, raid3, raid4, raid5, raid6).
- devices
es una lista de dispositivos de la matriz a los que se hace referencia por sus vías absolutas.
- name
es un nombre que se utilizará para el dispositivo md.
Por ejemplo:
{ "ignition": { "version": "3.0.0" }, "storage": { "raid": [ { "devices": [ "/dev/sda", "/dev/sdb" ], "level": "raid1", "name": "system" } ] } }
2.1.2.2.3 El atributo filesystems
#
El atributo filesystems
no modifica las unidades de montaje. Si añade una partición nueva o elimina una existente, deberá ajustar manualmente las unidades de montaje.
filesystems
debe contener los siguientes atributos:
- device
es la vía absoluta al dispositivo, normalmente
/dev/sda
en el caso de un disco físico.- format
es el formato del sistema de archivos (Btrfs, Ext4, xfs, vfat o swap).
NotaEn el caso de SUSE Linux Micro, el sistema de archivos
root
debe tener el formato Btrfs.
El siguiente ejemplo muestra el uso del atributo filesystems
. El directorio /opt
se montará en la partición /dev/sda1
, que tiene el formato Btrfs. El dispositivo no se borrará.
Por ejemplo:
{ "ignition": { "version": "3.0.0" }, "storage": { "filesystems": [ { "device": "/dev/sda1", "format": "btrfs", "path": "/opt", "wipeFilesystem": false } ] } }
Habitualmente, el directorio personal de un usuario normal se encuentra en el directorio /home/USER_NAME
. Dado que /home
no se monta por defecto en initrd, el montaje debe definirse explícitamente para que el usuario se cree correctamente:
{ "ignition": { "version": "3.1.0" }, "passwd": { "users": [ { "name": "root", "passwordHash": "PASSWORD_HASH", "sshAuthorizedKeys": [ "ssh-rsa SSH_KEY_HASH" ] } ] }, "storage": { "filesystems": [ { "device": "/dev/sda3", "format": "btrfs", "mountOptions": [ "subvol=/@/home" ], "path": "/home", "wipeFilesystem": false } ] } }
2.1.2.2.4 El atributo files
#
Puede utilizar el atributo files
para crear cualquier archivo en el equipo. Tenga en cuenta que para crear archivos fuera del esquema de particionamiento por defecto, debe definir los directorios mediante el atributo filesystems
.
En el siguiente ejemplo, se crea un nombre de host con el atributo files
. El archivo /etc/hostname
se creará con el nombre de host sl-micro1:
Tenga en cuenta que JSON acepta modos de archivo en números decimales, por ejemplo, 420
.
JSON:
{ "ignition": { "version": "3.0.0" }, "storage": { "files": [ { "overwrite": true, "path": "/etc/hostname", "contents": { "source": "data:,sl-micro1" }, "mode": 420 } ] } }
2.1.2.2.5 El atributo directories
#
El atributo directories
es una lista de directorios que se crearán en el sistema de archivos. El atributo directories
debe contener al menos un atributo path
.
Por ejemplo:
{ "ignition": { "version": "3.0.0" }, "storage": { "directories": [ { "path": "/home/tux", "user": { "name": "tux" } } ] } }
2.1.2.3 Administración de usuarios #
El atributo passwd
se utiliza para añadir usuarios. Dado que algunos servicios, como Cockpit, requieren que se inicie sesión como un usuario que no sea root, defina aquí al menos un usuario sin privilegios. Como alternativa, puede crear un usuario de este tipo desde un sistema en ejecución como se describe en la Sección 5.3, “Adición de usuarios”.
Para iniciar sesión en el sistema, cree un usuario root
y uno normal y defina sus contraseñas. Debe usar hash con la contraseña; por ejemplo, mediante el comando openssl
:
openssl passwd -6
El comando crea un hash de la contraseña seleccionada. Utilice este hash como valor del atributo password_hash
.
Por ejemplo:
{ "ignition": { "version": "3.0.0" }, "passwd": { "users": [ { "name": "root", "passwordHash": "PASSWORD_HASH", "sshAuthorizedKeys": [ "ssh-rsa SSH_KEY_HASH USER@HOST" ] } ] } }
El atributo users
debe contener al menos un atributo name
. ssh_authorized_keys
es una lista de claves SSH para el usuario.
2.1.2.4 Habilitación de servicios systemd
#
Puede habilitar los servicios systemd
especificándolos en el atributo systemd
.
Por ejemplo:
{ "ignition": { "version": "3.0.0" }, "systemd": { "units": [ { "enabled": true, "name": "sshd.service" } ] } }
2.2 Configuración de la distribución de SUSE Linux Micro con Combustion #
Combustion es un módulo dracut que permite configurar el sistema en el primer arranque. Puede utilizar Combustion, por ejemplo, para cambiar las particiones por defecto, definir contraseñas de usuario, crear archivos o instalar paquetes.
2.2.1 ¿Cómo funciona Combustion? #
Combustion se invoca después de pasar el argumento ignition.firstboot
a la línea de comandos del kernel. Combustion lee un archivo proporcionado denominado script
, ejecuta los comandos incluidos y realiza cambios en el sistema de archivos. Si script
incluye el indicador de red, Combustion intenta configurar la red. Después de montar /sysroot
, Combustion intenta activar todos los puntos de montaje en /etc/fstab
y luego llama a transactional-update
para aplicar otros cambios, por ejemplo, establecer la contraseña de root
o instalar paquetes.
Si pretende configurar una máquina virtual QEMU/KVM, proporcione la vía a script
como atributo del comando qemu
. Por ejemplo:
-fw_cfg name=opt/org.opensuse.combustion/script,file=PATH_TO_script
Para configurar una máquina virtual con Virtual Machine Manager (libvirt
), proporcione la vía al archivo script
en su definición XML, por ejemplo:
<domain ... > <sysinfo type="fwcfg"> <entry name="opt/org.opensuse.combustion/script" file="/location/of/script"/> </sysinfo> </domain>
Como alternativa, al utilizar libvirt
, puede proporcionar la vía como una opción para el comando virt-install
:
--sysinfo type=fwcfg,entry0.name="opt/org.opensuse.combustion/script",entry0.file="PATH_TO_script>"
Combustion se puede utilizar junto con Ignition. Si tiene la intención de hacerlo, etiquete el medio de configuración ignition
e incluya el directorio ignition
con config.ign
en la estructura de directorios como se muestra a continuación:
<root directory> └── combustion └── script └── other files └── ignition └── config.ign
En este escenario, Ignition se ejecuta antes que Combustion.
2.2.2 Ejemplos de configuración de Combustion #
2.2.2.1 El archivo de configuración script
#
El archivo de configuración script
es un conjunto de comandos que Combustion analiza y ejecuta en una shell transactional-update
. Este artículo proporciona ejemplos de tareas de configuración realizadas por Combustion.
Para crear el guion de Combustion, puede utilizar la aplicación Web de Fuel Ignition. Allí podrá seleccionar los parámetros adecuados y la aplicación generará un guion de Combustion que podrá descargar.
Como el archivo script
es interpretado por la shell, inicie siempre el archivo con la declaración del intérprete en su primera línea. Por ejemplo, en el caso de Bash:
#!/bin/bash
Para iniciar sesión en el sistema, incluya al menos la contraseña de root
. Sin embargo, se recomienda establecer la autenticación mediante claves SSH. Si necesita utilizar una contraseña de root
, asegúrese de configurar una contraseña segura. Para una contraseña generada aleatoriamente, use al menos 10 caracteres. Si crea la contraseña manualmente, se recomienda utilizar incluso más de 10 caracteres y combinar letras mayúsculas y minúsculas y números.
2.2.2.1.1 Partición por defecto #
Cada imagen tiene los siguientes subvolúmenes:
/home /root /opt /srv /usr/local /var
El directorio /etc
se monta como overlayFS, donde el directorio superior se monta en /var/lib/overlay/1/etc/
.
Puede reconocer los subvolúmenes montados por defecto mediante la opción x-initrd.mount
de /etc/fstab
. Otros subvolúmenes o particiones deben configurarse mediante Ignition o Combustion.
Si desea añadir un nuevo usuario o modificar cualquiera de los archivos de un subvolumen que no esté montado por defecto, primero debe declarar dicho subvolumen para que también se monte.
2.2.2.1.2 Configuración de la red #
Para configurar y utilizar la conexión de red durante el primer arranque, añada la siguiente instrucción a script
:
# combustion: network
El uso de esta instrucción pasa el argumento rd.neednet=1
a dracut. La configuración de red utiliza por defecto DHCP. Si se necesita una configuración de red diferente, proceda como se describe en la Sección 2.2.2.1.3, “Realización de modificaciones en initramfs”.
Si no utiliza la instrucción, el sistema sigue configurado sin conexión de red.
2.2.2.1.3 Realización de modificaciones en initramfs #
Puede que necesite realizar cambios en el entorno initramfs, por ejemplo, para escribir una configuración de red personalizada para NetworkManager en /etc/NetworkManager/system-connections/
. Para ello, utilice la instrucción prepare
.
Por ejemplo, para crear una conexión con una dirección IP estática y configurar DNS:
#!/bin/bash # combustion: network prepare set -euxo pipefail nm_config() { umask 077 # Required for NM config mkdir -p /etc/NetworkManager/system-connections/ cat >/etc/NetworkManager/system-connections/static.nmconnection <<-EOF [connection] id=static type=ethernet autoconnect=true [ipv4] method=manual dns=192.168.100.1 address1=192.168.100.42/24,192.168.100.1 EOF } if [ "${1-}" = "--prepare" ]; then nm_config # Configure NM in the initrd exit 0 fi # Redirect output to the console exec > >(exec tee -a /dev/tty0) 2>&1 nm_config # Configure NM in the system curl example.com # Close outputs and wait for tee to finish exec 1>&- 2>&-; wait; # Leave a marker echo "Configured with combustion" > /etc/issue.d/combustion
2.2.2.1.4 Espere a que se complete la tarea #
Algunos procesos se pueden ejecutar en segundo plano; por ejemplo, el proceso tee
que redirige la salida al terminal. Para asegurarse de que todos los procesos en ejecución se completen antes de que finalice la ejecución de script
, añada la siguiente línea:
exec 1>&- 2>&-; wait;
2.2.2.1.5 Particiones #
Las imágenes en bruto de SUSE Linux Micro se proporcionan con un esquema de particionamiento por defecto. Es posible que desee utilizar una partición diferente. El siguiente conjunto de fragmentos de código de ejemplo mueve /home
a una partición diferente.
El siguiente guion realiza cambios que no se incluyen en las instantáneas. Si el guion falla y la instantánea se descarta, ciertos cambios permanecen visibles y no se pueden revertir; por ejemplo, los cambios en el dispositivo /dev/vdb
.
El siguiente fragmento crea un esquema de particionamiento GPT con una sola partición en el dispositivo /dev/vdb
:
sfdisk /dev/vdb <<EOF sleep 1 label: gpt type=linux EOF partition=/dev/vdb1
Dado que el comando sfdisk
puede tardar más en completarse, posponga label
mediante el comando sleep
después de sfdisk
.
La partición tiene el formato Btrfs:
wipefs --all ${partition} mkfs.btrfs ${partition}
El siguiente fragmento de código traslada el posible contenido de /home
a la ubicación de la nueva carpeta /home
:
mount /home mount ${partition} /mnt rsync -aAXP /home/ /mnt/ umount /home /mnt
El fragmento de código siguiente elimina una entrada antigua en /etc/fstab
y crea una entrada nueva:
awk -i inplace '$2 != "/home"' /etc/fstab echo "$(blkid -o export ${partition} | grep ^UUID=) /home btrfs defaults 0 0" >>/etc/fstab
2.2.2.1.6 Creación de nuevos usuarios #
Dado que algunos servicios, como Cockpit, requieren que se inicie sesión como un usuario que no sea root, defina aquí al menos un usuario sin privilegios. Como alternativa, puede crear un usuario de este tipo desde un sistema en ejecución como se describe en la Sección 5.3, “Adición de usuarios”.
Para añadir una nueva cuenta de usuario, cree primero una cadena hash que represente la contraseña del usuario. Utilice el comando openssl passwd -6
.
Después de obtener el hash de contraseña, añada las siguientes líneas a script
:
mount /home useradd -m EXAMPLE_USER echo 'EXAMPLE_USER:PASSWORD_HASH' | chpasswd -e
2.2.2.1.7 Definición de una contraseña de root
#
Antes de definir la contraseña de root
, genere un hash de la contraseña; por ejemplo, utilizando openssl passwd
-6
. Para definir la contraseña, añada la línea siguiente a script
:
echo 'root:PASSWORD_HASH' | chpasswd -e
2.2.2.1.8 Adición de claves SSH #
El siguiente fragmento crea un directorio para almacenar la clave SSH de root
y luego copia la clave SSH pública ubicada en el dispositivo de configuración en el archivo authorized_keys
.
mkdir -pm700 /root/.ssh/ cat id_rsa_new.pub >> /root/.ssh/authorized_keys
El servicio SSH debe estar habilitado en caso de que necesite iniciar la sesión de forma remota a través de SSH. Para obtener información detallada, consulte la Sección 2.2.2.1.9, “Habilitación de servicios”.
2.2.2.1.9 Habilitación de servicios #
Para habilitar los servicios del sistema, por ejemplo, el servicio SSH, añada la siguiente línea a script
:
systemctl enable sshd.service
2.2.2.1.10 Instalación de paquetes #
Dado que algunos paquetes pueden requerir una suscripción adicional, es posible que deba registrar el sistema de antemano. También puede ser necesaria una conexión de red disponible para instalar paquetes adicionales.
Durante la configuración de primer arranque, puede instalar paquetes adicionales en el sistema. Por ejemplo, puede instalar el editor vim
añadiendo:
zypper --non-interactive install vim-small
Tenga en cuenta que no podrá utilizar zypper
después de que se complete la configuración y arranque en el sistema configurado. Para realizar cambios más adelante, debe utilizar el comando transactional-update
para crear una instantánea modificada.
3 Preparación de la máquina virtual #
En esta sección se describe cómo preparar una máquina virtual nueva y los pasos que se deben seguir para distribuir SUSE Linux Micro en esa máquina.
Descargue la imagen de disco de SUSE Linux Micro en el servidor host de la máquina virtual en el que desee ejecutar SUSE Linux Micro virtualizado.
Inicie Virtual Machine Manager y seleccione
› .Seleccione
. Confirme con .Especifique la vía a la imagen de disco de SUSE Linux Micro que ha descargado anteriormente y el tipo de sistema operativo Linux que está distribuyendo, por ejemplo,
Generic Linux 2020
. Confirme con .Especifique la cantidad de memoria y el número de procesadores que desea asignar a la máquina virtual de SUSE Linux Micro y confirme con la opción .
Especifique el nombre de la máquina virtual y la red que se utilizará.
Si está distribuyendo una imagen de SUSE Linux Micro cifrada, realice estos pasos adicionales:
Habilite
y confirme con .Haga clic en
en el menú de la izquierda y cambie el método de arranque de BIOS a UEFI para un arranque seguro. Confirme con .Figura 1: Definición del firmware UEFI para la imagen cifrada de SUSE Linux Micro #Añada un dispositivo de módulo de plataforma segura (TPM). Haga clic en
, seleccione en el menú de la izquierda y seleccione el tipo (Emulado).Figura 2: Adición de un dispositivo TPM emulado #Confirme con SUSE Linux Micro haciendo clic en en el menú principal.
e inicie la distribución de
4 Configuración con JeOS Firstboot #
Al arrancar SUSE Linux Micro por primera vez sin proporcionar ningún dispositivo de configuración, JeOS Firstboot permite realizar una configuración mínima del sistema. Si necesita más control sobre el proceso de distribución, utilice un dispositivo de configuración con la configuración de Ignition o de Combustion. Encontrará más información en la Sección 2.1, “Configuración de la distribución de SUSE Linux Micro con Ignition” y la Sección 2.2, “Configuración de la distribución de SUSE Linux Micro con Combustion”.
Para configurar el sistema con JeOS Firstboot, haga lo siguiente:
Intro.
muestra una pantalla de bienvenida. Confirme conEn las siguientes pantallas, seleccione el teclado, confirme el acuerdo de licencia y seleccione la zona horaria.
En la ventana de diálogo
(Introduzca la contraseña de root), introduzca una contraseña delroot
y confírmela.Figura 3: Introducción de la contraseña del usuario root #Para las distribuciones cifradas, JeOS Firstboot hace lo siguiente:
Pide una nueva contraseña codificada que sustituya a la contraseña codificada por defecto.
Genera una clave LUKS nueva y vuelve a cifrar la partición.
Añade una ranura de clave secundaria al encabezado LUKS y la sella con el dispositivo TPM.
Si va a distribuir una imagen cifrada, siga estos pasos:
Seleccione el método de protección deseado y confirme con
(Aceptar).Introduzca una contraseña de recuperación para el cifrado LUKS y vuelva a escribirla. Se inicia el recifrado del sistema de archivos raíz.
Figura 4: Selección del método de cifrado #(Opcional) Para inscribir claves SSH para el acceso, pulse Yes (Sí). Si ha pulsado YES (Sí), proceda como se describe a continuación:
Use SSH para conectarse a la dirección IP mostrada.
Si ha recibido una clave pública correctamente, confírmela en la siguiente pantalla.
Aparece un mensaje para importar una clave SSH. Seleccione la opción según sus preferencias.
(Opcional) Si lo desea, puede crear un usuario sin privilegios en el formulario
User Creation
. Escriba dos veces el nombre de usuario, el nombre completo y la contraseña. Confirme haciendo clic en OK (Aceptar).(Opcional) Para configurar la autenticación multifactor para acceder a Cockpit, abra una aplicación TOTP y escanee el código QR. Introduzca el valor de OTP proporcionado por la aplicación. Para continuar, haga clic en OK (Aceptar).
Después de una distribución correcta, registre el sistema como se describe en la Sección 5.4, “Registro de SUSE Linux Micro desde la interfaz de línea de comandos”.
5 Pasos posteriores a la distribución #
5.1 Expansión de imágenes de disco cifradas #
Las imágenes de disco en bruto cifradas de SUSE Linux Micro no se expanden a la capacidad máxima del disco automáticamente. Este procedimiento describe los pasos para expandirlas al tamaño deseado.
Utilice el comando
qemu-img
para aumentar la imagen de disco al tamaño deseado.Utilice el comando
parted
para cambiar el tamaño de la partición donde reside el dispositivo LUKS (por ejemplo, la partición número 3) al tamaño deseado.Ejecute el comando
cryptsetup resize luks
. Cuando se le solicite, introduzca la contraseña codificada para cambiar el tamaño del dispositivo cifrado.Ejecute el comando
transactional-update shell
para abrir una shell de lectura y escritura en la instantánea del disco actual. A continuación, cambie el tamaño del sistema de archivos Btrfs al tamaño deseado, por ejemplo:#
btrfs fi resize max /Salga de la shell con
exit
y rearranque el sistema conreboot
.
5.2 Recifrado del sistema cifrado #
El sistema no está protegido; por lo tanto, no almacene datos confidenciales hasta que se complete el cifrado del disco.
JeOS Firstboot solicita una nueva contraseña codificada durante la fase de distribución. Después de introducirla, el sistema se vuelve a cifrar automáticamente, por lo que no es necesario realizar ninguna otra acción.
Las imágenes cifradas de SUSE Linux Micro se entregan con una contraseña codificada de LUKS por defecto. Para proteger el sistema, asegúrese de cambiarlo después de distribuirlo. Para ello, proceda como se describe a continuación. Realice los pasos en la misma sesión de shell.
Importe las funciones necesarias a su shell:
#
source /usr/share/fde/luksIdentifique el dispositivo LUKS subyacente y defina otras variables utilizadas:
#
luks_name=$(expr "`df --output=source / | grep /dev/`" : ".*/\(.*\)")Y:
#
luks_dev=$(luks_get_underlying_device "$luks_name")Cree un archivo de clave para almacenar la contraseña codificada por defecto 1234 y un archivo de clave con la nueva contraseña codificada.
Cambie la contraseña de recuperación:
#
cryptsetup luksChangeKey --key-file PATH_TO_DEFAULT --pbkdf pbkdf2 "${luks_dev}" PATH_TO_NEWPATH_TO_DEFAULT es una vía al archivo de claves con la contraseña codificada por defecto. PATH_TO_NEW es una vía al archivo de claves con la nueva contraseña codificada.
Vuelva a cifrar el dispositivo LUKS:
#
cryptsetup reencrypt --key-file PATH_TO_NEW ${luks_dev}Cree una clave aleatoria nueva y séllela con TPM:
>
sudo
fdectl regenerate-key --passfile PATH_TO_NEWElimine los dos archivos clave que creó en el Paso 3.
Actualice el archivo
grub.cfg
ejecutando:>
sudo
transactional-update grub.cfgRearranque el sistema.
5.3 Adición de usuarios #
Dado que SUSE Linux Micro requiere que un usuario sin privilegios pueda entrar a través de SSH o acceder a Cockpit por defecto, se recomienda crear una cuenta de ese tipo.
Este paso es opcional si ha definido un usuario sin privilegios durante la distribución del sistema. Si no es así, puede proceder como se describe a continuación:
Ejecute el comando
useradd
de la siguiente manera:#
useradd -m USER_NAME
Defina una contraseña para esa cuenta:
#
passwd USER_NAMESi es necesario, añada el usuario al grupo
wheel
:#
usermod -aG wheel USER_NAME
5.4 Registro de SUSE Linux Micro desde la interfaz de línea de comandos #
Después de una distribución correcta, debe registrar el sistema para obtener asistencia técnica y recibir actualizaciones. Es posible registrar el sistema desde la línea de comandos mediante el comando transactional-update
register
.
Para registrar SUSE Linux Micro en el Centro de servicios al cliente de SUSE, haga lo siguiente:
Ejecute
transactional-update register
de la siguiente manera:#
transactional-update register -r REGISTRATION_CODE -e EMAIL_ADDRESSPara registrarse con un servidor de registro local, proporcione también la URL del servidor:
#
transactional-update register -r REGISTRATION_CODE -e EMAIL_ADDRESS \ --url "https://suse_register.example.com/"Sustituya REGISTRATION_CODE por el código de registro que recibió con su copia de SUSE Linux Micro. Sustituya EMAIL_ADDRESS con la dirección de correo electrónico asociada a la cuenta de SUSE que usted o su organización utilicen para gestionar las suscripciones.
Rearranque el sistema para cambiar a la última instantánea.
SUSE Linux Micro ya está registrado.
Para obtener más información al respecto, consulte la documentación en línea con SUSEConnect --help
.
6 Información legal #
Copyright © 2006 –2025 SUSE LLC y colaboradores. Reservados todos los derechos.
Está permitido copiar, distribuir y modificar este documento según los términos de la licencia de documentación gratuita GNU, versión 1.2 o (según su criterio) versión 1.3. Esta información de copyright y licencia deberán permanecer inalterados. En la sección titulada “GNU Free Documentation License” (Licencia de documentación gratuita GNU) se incluye una copia de la versión 1.2 de la licencia.
Para obtener información sobre las marcas comerciales de SUSE, consulte https://www.suse.com/company/legal/. Todas las marcas comerciales de otros fabricantes son propiedad de sus respectivas empresas. Los símbolos de marcas comerciales (®, ™, etc.) indican marcas comerciales de SUSE y sus filiales. Los asteriscos (*) indican marcas comerciales de otros fabricantes.
Toda la información recogida en esta publicación se ha compilado prestando toda la atención posible al más mínimo detalle. Sin embargo, esto no garantiza una precisión total. Ni SUSE LLC, ni sus filiales, ni los autores o traductores serán responsables de los posibles errores o las consecuencias que de ellos pudieran derivarse.