Иди на текст

Инсталације без надзора

OmarOS ISO може сам да се инсталира без икога за тастатуром. Ако инсталатер пронађе други диск означен као cidata који носи своје конфигурационе датотеке, копира их, у потпуности прескаче чаробњак за подешавање и сам се поново покреће у готов систем. Нема посебне изградње ISO-а, нема додатне ставке у менију за покретање — без прикљученог таквог диска, ништа се не мења и добијаш уобичајени чаробњак.

То OmarOS чини сјајним као основну слику за једнократна развојна окружења: направи VM у Proxmox-у или Packer-ом, покрени га, одмакни се, пријави се преко SSH-а. cidata је cloud-init NoCloud ознака, па сви уобичајени алати за виртуелизацију већ знају како да прикључе такав диск.

Конфигурационе датотеке

Датотеке су тачно оно што сопствени чаробњак инсталатера пише, па је најлакши начин да добијеш почетни скуп да покренеш једну интерактивну инсталацију (у VM-у, рецимо) и копираш шта је написао у /root:

Датотека Обавезно Сврха
user_configuration.json Да Диск, име домаћина, временска зона, тастатура
user_credentials.json Да Корисничко име и хеш лозинке
user_full_name.txt Не Пуно име за Git
user_email_address.txt Не Е-пошта за Git
user_encrypt_installation.txt Не true када конфигурација носи блок disk_encryption
authorized_keys Не SSH јавни кључеви, по један у реду
tailscale_authkey Не Tailscale кључ за потврду идентитета за придруживање твом tailnet-у при првом покретању

Хеш лозинке за user_credentials.json генеришеш командом openssl passwd -6 "yourpassword".

Можеш да убациш и празну датотеку по имену defer-provisioning уместо user_credentials.json. Тиме се покреће иста инсталација за припрему за другог власника коју можеш да покренеш интерактивно: машина се инсталира без личних података, а ко год је први покрене бира своју тастатуру и прави свог корисника. То је режим за опрему за прављење слика, где диск уопште не треба да носи ничије акредитиве.

SSH приступ

Када је authorized_keys присутан, инсталација поставља кључеве као корисников ~/.ssh/authorized_keys, омогућава sshd и отвара заштитни зид за њега. (Стандардна OmarOS инсталација испоручује openssh са онемогућеном услугом и затвореним портом, па би машина без надзора иначе била недостижна.) Инсталација само додаје твоје кључеве — не олабављује ниједно друго подешавање потврде идентитета SSH демона.

Када је tailscale_authkey присутан, машина се уместо тога придружује твом tailnet-у при првом покретању: Tailscale се инсталира из пакета у пакету ISO-а, заштитни зид дозвољава интерфејс tailnet-а, а позадински посао покреће придруживање чим машина заиста има мрежу, понављајући док не успе. Користи кључ за вишекратну употребу, унапред одобрен, тако да једна слика диска може да служи многим машинама.

Прављење cidata диска

Сваки систем датотека са исправном ознаком ради. Мали ISO је лак начин:

mkdir cidata
cp user_configuration.json user_credentials.json authorized_keys cidata/
genisoimage -output cidata.iso -volid cidata -joliet -rock cidata/

Затим га прикључи на VM поред OmarOS ISO-а. Ево потпуног 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

Редослед покретања намерно прво наводи диск: празан диск при првом покретању пролази до ISO-а, а инсталирани систем се заувек након тога покреће са диска.

Два упозорења

Шифроване инсталације без надзора нису у потпуности без надзора — неко и даље мора да укуца LUKS лозинку при првом покретању. А блок disk_encryption у user_configuration.json носи ту лозинку у обичном тексту, па cidata диск направљен из шифроване инсталације третирај као тајну каква јесте.