Instal·lacions desateses¶
La ISO d'OmarOS es pot instal·lar sola sense ningú al teclat. Si l'instal·lador troba una segona unitat etiquetada com a cidata que conté els seus fitxers de configuració, els copia, se salta completament l'assistent de configuració i reinicia cap al sistema acabat pel seu compte. No cal cap construcció especial de la ISO ni cap entrada extra al menú d'arrencada: sense una unitat com aquesta connectada, no canvia res i obtens l'assistent normal.
Això fa que OmarOS sigui perfecte com a imatge base per a entorns de desenvolupament d'un sol ús: crea una màquina virtual a Proxmox o amb Packer, arrenca-la, marxa, entra-hi per SSH. cidata és l'etiqueta NoCloud de cloud-init, de manera que totes les eines habituals de virtualització ja saben com connectar una unitat com aquesta.
Els fitxers de configuració¶
Els fitxers són exactament el que escriu l'assistent del mateix instal·lador, de manera que la manera més fàcil d'aconseguir un conjunt inicial és executar una instal·lació interactiva (en una màquina virtual, posem per cas) i copiar el que ha escrit a /root:
| Fitxer | Obligatori | Finalitat |
|---|---|---|
user_configuration.json |
Sí | Disc, nom d'amfitrió, zona horària, teclat |
user_credentials.json |
Sí | Nom d'usuari i hash de la contrasenya |
user_full_name.txt |
No | Nom complet de Git |
user_email_address.txt |
No | Correu electrònic de Git |
user_encrypt_installation.txt |
No | true quan la configuració conté un bloc disk_encryption |
authorized_keys |
No | Claus públiques SSH, una per línia |
tailscale_authkey |
No | Clau d'autenticació de Tailscale per unir-se a la teva tailnet a la primera arrencada |
Genera el hash de la contrasenya per a user_credentials.json amb openssl passwd -6 "yourpassword".
També pots deixar caure un fitxer buit anomenat defer-provisioning en comptes de user_credentials.json. Això executa la mateixa instal·lació de preparació per a un altre propietari que pots activar interactivament: la màquina s'instal·la sense cap dada personal, i qui l'arrenca primer tria el seu teclat i crea el seu usuari. Aquest és el mode per als equips de creació d'imatges, on la unitat no hauria de contenir en absolut les credencials de ningú.
Accés SSH¶
Quan authorized_keys hi és present, la instal·lació configura les claus com el ~/.ssh/authorized_keys de l'usuari, activa sshd i hi obre el tallafoc. (Una instal·lació d'OmarOS estàndard subministra openssh amb el servei desactivat i el port tancat, de manera que altrament una màquina desatesa seria inabastable.) La instal·lació només afegeix les teves claus: no afluixa cap de les altres opcions d'autenticació del dimoni SSH.
Quan tailscale_authkey hi és present, la màquina s'uneix en comptes d'això a la teva tailnet a la primera arrencada: Tailscale s'instal·la des dels paquets subministrats a la ISO, el tallafoc permet la interfície de la tailnet i un procés en segon pla executa la unió tan aviat com la màquina té xarxa de debò, reintentant-ho fins que ho aconsegueix. Fes servir una clau reutilitzable i preautoritzada perquè una imatge d'unitat pugui servir per a moltes màquines.
Construir la unitat cidata¶
Qualsevol sistema de fitxers amb l'etiqueta correcta funciona. Una ISO petita és la manera fàcil:
mkdir cidata
cp user_configuration.json user_credentials.json authorized_keys cidata/
genisoimage -output cidata.iso -volid cidata -joliet -rock cidata/
Després connecta-la a la màquina virtual juntament amb la ISO d'OmarOS. Aquí hi ha un exemple complet amb Proxmox:
qm create 101 --name my-omaros \
--bios ovmf --machine q35 --cpu host --cores 4 --memory 8192 \
--ostype l26 --scsihw virtio-scsi-single \
--efidisk0 local-lvm:0,efitype=4m,pre-enrolled-keys=0 \
--scsi0 local-lvm:40,discard=on,iothread=1 \
--net0 virtio,bridge=vmbr0 --vga virtio --serial0 socket \
--ide2 local:iso/omaros.iso,media=cdrom \
--ide3 local:iso/cidata.iso,media=cdrom \
--boot order='scsi0;ide2'
qm start 101
L'ordre d'arrencada posa el disc primer expressament: a la primera arrencada, el disc buit cau cap a la ISO, i el sistema instal·lat arrenca des del disc per sempre més.
Dues advertències¶
Les instal·lacions desateses xifrades no són completament desateses: a la primera arrencada encara cal que algú escrigui la frase de pas de LUKS. I el bloc disk_encryption de user_configuration.json conté aquesta frase de pas en text pla, de manera que tracta una unitat cidata construïda a partir d'una instal·lació xifrada com el secret que és.