Μετάβαση στο περιεχόμενο

Εγκαταστάσεις χωρίς επιτήρηση

Το ISO OmarOS μπορεί να εγκατασταθεί μόνο του χωρίς κανέναν στο πληκτρολόγιο. Αν ο εγκαταστάτης βρει μια δεύτερη μονάδα με ετικέτα cidata που φέρει τα αρχεία διαμόρφωσής της, τα αντιγράφει, παραλείπει τον οδηγό ρύθμισης εντελώς, και επανεκκινεί στο τελειωμένο σύστημα μόνος του. Χωρίς ειδική κατασκευή ISO, χωρίς επιπλέον καταχώριση μενού εκκίνησης — χωρίς τέτοια μονάδα συνδεδεμένη, τίποτα δεν αλλάζει και παίρνεις τον κανονικό οδηγό.

Αυτό κάνει το OmarOS εξαιρετικό ως εικόνα βάσης για αναλώσιμα περιβάλλοντα ανάπτυξης: δημιούργησε μια VM στο Proxmox ή με Packer, εκκίνησέ την, φύγε, συνδέσου με SSH. Το cidata είναι η ετικέτα NoCloud του cloud-init, οπότε όλα τα κοινά εργαλεία εικονικοποίησης ξέρουν ήδη πώς να συνδέσουν μια τέτοια μονάδα.

Τα αρχεία διαμόρφωσης

Τα αρχεία είναι ακριβώς αυτά που γράφει ο ίδιος ο οδηγός του εγκαταστάτη, οπότε ο ευκολότερος τρόπος να πάρεις ένα αρχικό σύνολο είναι να τρέξεις μια διαδραστική εγκατάσταση (σε VM, ας πούμε) και να αντιγράψεις αυτά που έγραψε στο /root:

Αρχείο Απαιτείται Σκοπός
user_configuration.json Ναι Δίσκος, όνομα κεντρικού υπολογιστή, ζώνη ώρας, πληκτρολόγιο
user_credentials.json Ναι Όνομα χρήστη και κατακερματισμός κωδικού
user_full_name.txt Όχι Πλήρες όνομα Git
user_email_address.txt Όχι Email 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 δίπλα στο ISO OmarOS. Ορίστε ένα πλήρες παράδειγμα 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 χτισμένη από κρυπτογραφημένη εγκατάσταση ως το μυστικό που είναι.