Gözetimsiz Kurulumlar¶
OmarOS ISO'su, klavyenin başında kimse yokken kendisini kurabilir. Kurulum programı, yapılandırma dosyalarını taşıyan cidata etiketli ikinci bir sürücü bulursa, onları kopyalar, kurulum sihirbazını tamamen atlar ve bitmiş sisteme kendi başına yeniden başlatır. Özel bir ISO yapısı yok, ekstra bir önyükleme menüsü girişi yok — böyle bir sürücü takılı olmadığında hiçbir şey değişmez ve normal sihirbazı alırsınız.
Bu, OmarOS'yi tek kullanımlık geliştirme ortamları için harika bir temel görüntü yapar: Proxmox'ta veya Packer ile bir VM oluşturun, önyükleme yapın, uzaklaşın, SSH ile bağlanın. cidata cloud-init NoCloud etiketidir, bu yüzden yaygın sanallaştırma araçlarının tamamı böyle bir sürücüyü nasıl takacağını zaten bilir.
Yapılandırma dosyaları¶
Dosyalar tam olarak kurulum programının kendi sihirbazının yazdığı şeylerdir; bu yüzden bir başlangıç seti elde etmenin en kolay yolu, bir etkileşimli kurulum (örneğin bir VM'de) çalıştırmak ve /root içine yazdıklarını kopyalamaktır:
| Dosya | Gerekli | Amaç |
|---|---|---|
user_configuration.json |
Evet | Disk, ana bilgisayar adı, saat dilimi, klavye |
user_credentials.json |
Evet | Kullanıcı adı ve parola özeti |
user_full_name.txt |
Hayır | Git tam adı |
user_email_address.txt |
Hayır | Git e-postası |
user_encrypt_installation.txt |
Hayır | Yapılandırma bir disk_encryption bloğu taşıdığında true |
authorized_keys |
Hayır | SSH genel anahtarları, satır başına bir tane |
tailscale_authkey |
Hayır | İlk önyüklemede tailnet'inize katılmak için Tailscale yetkilendirme anahtarı |
user_credentials.json için parola özetini openssl passwd -6 "yourpassword" ile oluşturun.
user_credentials.json yerine defer-provisioning adlı boş bir dosya da bırakabilirsiniz. Bu, etkileşimli olarak tetikleyebileceğiniz başka bir sahip için hazırla kurulumunun aynısını çalıştırır: makine kişisel ayrıntılar olmadan kurulur ve onu ilk önyükleyen kişi klavyesini seçer ve kullanıcısını oluşturur. Bu, sürücünün hiç kimsenin kimlik bilgilerini taşımaması gereken imajlama düzenekleri için bir moddur.
SSH erişimi¶
authorized_keys mevcut olduğunda, kurulum anahtarları kullanıcının ~/.ssh/authorized_keys dosyası olarak ayarlar, sshd hizmetini etkinleştirir ve güvenlik duvarını onun için açar. (Stok bir OmarOS kurulumu, hizmet devre dışı ve bağlantı noktası kapalı olarak openssh ile birlikte gelir, bu yüzden gözetimsiz bir makineye başka türlü ulaşılamaz.) Kurulum yalnızca anahtarlarınızı ekler — SSH arka plan hizmetinin diğer kimlik doğrulama ayarlarından hiçbirini gevşetmez.
tailscale_authkey mevcut olduğunda, makine bunun yerine ilk önyüklemede tailnet'inize katılır: Tailscale ISO'nun paketlenmiş paketlerinden kurulur, güvenlik duvarı tailnet arayüzüne izin verir ve bir arka plan işi, makine gerçekten ağa kavuşur kavuşmaz katılımı çalıştırır ve başarana kadar yeniden dener. Bir sürücü görüntüsünün birçok makineye hizmet edebilmesi için yeniden kullanılabilir, önceden yetkilendirilmiş bir anahtar kullanın.
cidata sürücüsünü oluşturma¶
Doğru etikete sahip herhangi bir dosya sistemi çalışır. Küçük bir ISO kolay yoldur:
mkdir cidata
cp user_configuration.json user_credentials.json authorized_keys cidata/
genisoimage -output cidata.iso -volid cidata -joliet -rock cidata/
Ardından onu OmarOS ISO'sunun yanı sıra VM'ye takın. İşte eksiksiz bir Proxmox örneği:
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
Önyükleme sırası diski bilerek önce listeler: boş disk ilk önyüklemede ISO'ya düşer ve kurulu sistem bundan sonra hep diskten önyükleme yapar.
İki uyarı¶
Şifreli gözetimsiz kurulumlar tam olarak gözetimsiz değildir — ilk önyüklemede birinin hâlâ LUKS parolasını yazması gerekir. Ve user_configuration.json içindeki disk_encryption bloğu o parolayı düz metin olarak taşır, bu yüzden şifreli bir kurulumdan oluşturulmuş bir cidata sürücüsüne, olduğu şey olan bir sır gibi davranın.