The Manual
Ubemandede installationer
Omarchy ISO kan installere sig selv, uden at nogen sidder ved tastaturet. Hvis installationsprogrammet finder et andet drev mærket cidata med konfigurationsfilerne, kopierer det dem derfra, springer...
Omarchy ISO kan installere sig selv, uden at nogen sidder ved tastaturet. Hvis installationsprogrammet finder et andet drev mærket cidata med konfigurationsfilerne, kopierer det dem derfra, springer opsætningsguiden helt over og genstarter af sig selv i det færdige system. Der kræves hverken en specialbygget ISO eller et ekstra punkt i startmenuen — hvis der ikke er tilsluttet et sådant drev, ændres intet, og du får den normale guide.
Det gør Omarchy velegnet som grundafbildning til udviklingsmiljøer, der kan kasseres efter brug: Opret en VM i Proxmox eller med Packer, start den, lad den passe sig selv, og log ind via SSH. cidata er cloud-init-mærkaten NoCloud, så alle almindelige virtualiseringsværktøjer ved allerede, hvordan et sådant drev tilsluttes.
Konfigurationsfilerne #
Filerne er præcis dem, som installationsprogrammets egen guide skriver, så den nemmeste måde at få et udgangspunkt på er at gennemføre én interaktiv installation, f.eks. i en VM, og kopiere det, den skrev, fra /root:
| Fil | Påkrævet | Formål |
|---|---|---|
user_configuration.json |
Ja | Disk, værtsnavn, tidszone og tastatur |
user_credentials.json |
Ja | Brugernavn og adgangskodehash |
user_full_name.txt |
Nej | Fuldt navn i Git |
user_email_address.txt |
Nej | E-mailadresse i Git |
user_encrypt_installation.txt |
Nej | true, når konfigurationen indeholder en disk_encryption-blok |
authorized_keys |
Nej | Offentlige SSH-nøgler, én pr. linje |
tailscale_authkey |
Nej | Tailscale-godkendelsesnøgle til at slutte maskinen til dit tailnet ved første opstart |
Opret adgangskodehashen til user_credentials.json med openssl passwd -6 "yourpassword".
Du kan også indsætte en tom fil med navnet defer-provisioning i stedet for user_credentials.json. Det kører den samme installation til klargøring for en anden ejer, som du kan starte interaktivt: Maskinen installeres uden personlige oplysninger, og den, der starter den første gang, vælger sit tastatur og opretter sin bruger. Det er tilstanden til miljøer, der bruges til systemafbildning, hvor drevet slet ikke bør indeholde nogens loginoplysninger.
SSH-adgang #
Når authorized_keys er til stede, placerer installationen nøglerne i brugerens ~/.ssh/authorized_keys, aktiverer sshd og åbner firewallen for tjenesten. (En standardinstallation af Omarchy leveres med openssh, hvor tjenesten er deaktiveret og porten lukket, så en ubemandet maskine ellers ikke ville kunne kontaktes.) Installationen tilføjer kun dine nøgler — den lemper ikke nogen af SSH-dæmonens øvrige godkendelsesindstillinger.
Når tailscale_authkey er til stede, slutter maskinen sig i stedet til dit tailnet ved første opstart: Tailscale installeres fra de pakker, der følger med ISO'en, firewallen tillader tailnet-grænsefladen, og et baggrundsjob udfører tilslutningen, så snart maskinen faktisk har netværksforbindelse, og prøver igen, indtil det lykkes. Brug en genbrugelig, forhåndsgodkendt nøgle, så én drevafbildning kan bruges til mange maskiner.
Oprettelse af cidata-drevet #
Ethvert filsystem med den rette mærkat kan bruges. En lille ISO er den nemmeste løsning:
mkdir cidata
cp user_configuration.json user_credentials.json authorized_keys cidata/
genisoimage -output cidata.iso -volid cidata -joliet -rock cidata/
Tilslut den derefter til VM'en sammen med Omarchy ISO. Her er et komplet eksempel til Proxmox:
qm create 101 --name my-omarchy \
--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/omarchy.iso,media=cdrom \
--ide3 local:iso/cidata.iso,media=cdrom \
--boot order='scsi0;ide2'
qm start 101
Startrækkefølgen angiver med vilje disken først: Den tomme disk kan ikke startes fra, så ved første opstart fortsættes der til ISO'en, og derefter starter det installerede system altid fra disken.
To forbehold #
Krypterede ubemandede installationer er ikke helt ubemandede — nogen skal stadig indtaste LUKS-adgangsfrasen ved første opstart. Desuden indeholder disk_encryption-blokken i user_configuration.json adgangsfrasen i klartekst, så behandl et cidata-drev, der er oprettet ud fra en krypteret installation, som den hemmelighed, det er.