Από Ubuntu σε Bluefin

Ένα πείραμα σε Immutable νερά

Η αλλαγή διανομής δεν είναι “διαζύγιο”, είναι εξερεύνηση.

Ας βάλουμε τα πράγματα στη θέση τους: Το Ubuntu είναι η διανομή που ξεκίνησα το ταξίδι μου στο Linux. Ακόμα τρέχει τους servers μου. Είναι, κατά κοινή παραδοχή, το λειτουργικό που έκανε το Linux προσιτό σε όλους. Δεν άλλαξα διανομή επειδή “δεν δούλευε”. Άλλαξα γιατί με έτρωγε η περιέργεια να δω πώς είναι η ζωή στην απέναντι όχθη: στον κόσμο των Immutable (Αμετάβλητων) συστημάτων.

Το Project Bluefin, για μένα, δεν ήρθε να αντικαταστήσει το Ubuntu, αλλά να μου δείξει έναν διαφορετικό τρόπο να διαχειρίζομαι το Desktop μου: πιο κοντά στη λογική του Android ή του ChromeOS, παρά στο κλασσικό Linux που “χτίζεις” μόνος σου.

📜 Ιδού λοιπόν το χρονικό αυτής της μετάβασης.

🦕 Τι είναι το Bluefin;

Το Project Bluefin είναι ένα λειτουργικό σύστημα που αναπτύσσεται από την κοινότητα (Universal Blue) και χτίζεται πάνω στα θεμέλια του Fedora Silverblue.

🔒 Στην ουσία, πρόκειται για μια προσπάθεια να συνδυαστεί η απλότητα ενός Chromebook με την πραγματική δύναμη του Linux. Είναι ένα Immutable (Αμετάβλητο) OS, που σημαίνει ότι τα βασικά αρχεία του συστήματος είναι “read-only” (μόνο για ανάγνωση). Αυτό προσφέρει τεράστια ασφάλεια και σταθερότητα, καθώς οι ενημερώσεις εφαρμόζονται ως “atomic image swaps” (αλλαγή ολόκληρης της εικόνας του συστήματος) και όχι πακέτο-πακέτο.

📦 Το σύστημα είναι “Container-Native”. Αξιοποιεί τεχνολογίες όπως τα Flatpaks και το Distrobox για τις εφαρμογές, κρατώντας τις απομονωμένες από τον πυρήνα του συστήματος. Είναι ουσιαστικά μια “curated” (επιμελημένη) εμπειρία Fedora που απαιτεί ελάχιστη συντήρηση (“low-maintenance”) και λειτουργεί με τη λογική του Cloud-Native.

Σε αντίθεση με το κλασσικό (mutable) Fedora όπου όλα αλλάζουν, ή το επίσημο αλλά minimal Fedora Silverblue, το Bluefin έρχεται “γυαλισμένο”. Προσφέρει ένα έτοιμο GNOME desktop, προ-ρυθμισμένα εργαλεία για developers που στοχεύουν στο να δουλεύουν όλα “out of the box”, μειώνοντας δραματικά την πιθανότητα να σπάσει το σύστημα.

🏢 Γιατί επέλεξα την έκδοση GDX (LTS)

🧘‍♂️ Η έκδοση GDX είναι βασισμένη (προς το παρόν) στο CentOS Stream 10 (Enterprise Linux) και όχι στο κλασικό Fedora Workstation. Επέλεξα αυτόν τον δρόμο γιατί έψαχνα την απόλυτη ισορροπία: από τη μία την αλεξίσφαιρη σταθερότητα μιας Enterprise βάσης και από την άλλη την ευκολία ενός συστήματος που έρχεται με προεγκατεστημένους τους NVIDIA drivers (580.xx) και είναι έτοιμο για AI και Docker containers “out of the box” . Στην ουσία, ήθελα ένα “βαρετά” σταθερό σύστημα για να χτίσω πάνω του το workflow μου, χωρίς το άγχος των συχνών αλλαγών.

🏁 Φάση 1: Η Μετάβαση

Η εγκατάσταση στο δικό μου Desktop ήταν εύκολη και γρήγορη.

Drivers χωρίς κόπο: Το μεγάλο πλεονέκτημα του Bluefin GDX είναι ότι έρχεται με προεγκατεστημένους τους Nvidia drivers (580.xx). Δεν χρειάστηκε να τρέξω ούτε μια εντολή μετά την εγκατάσταση .

Στρατηγική Partitioning: Τίποτα. Εγκατέστησα το Bluefin σε καθαρό, ξεχωριστό, δίσκο (Samsung 990 Pro 1TB). Μετά έκανα partitioning για κοινόχρηστο NTFS.

📊 Εδώ το σύστημά μου με fastfetch:

fastfetch

🪟 Φάση 2: Windows 11… αλλά “αόρατα”

Χρειαζόμουν πρόσβαση σε συγκεκριμένα Windows εργαλεία για τη δουλειά (πχ Windows App για σύνδεση σε Azure VM), αλλά η ιδέα του Dual Boot (Reboot -> Δουλειά -> Reboot) μου φαίνεται πλέον κουραστική. Η λύση ήταν το GNOME Boxes (προεγκατεστημένο), αλλά με ένα twist για να δουλεύει σωστά η δικτύωση.

Τα VMs συνήθως απομονώνονται πίσω από NAT και δεν “βλέπουν” το τοπικό δίκτυο. Η λύση που εφάρμοσα ήταν το Tailscale:

  • Tailscale στο Bluefin (Host) (προεγκατεστημένο)
  • Εγκατάσταση Tailscale στα Windows 11 (Guest) .

Πλέον, τα δύο συστήματα μιλάνε μεταξύ τους μέσω της Tailscale IP (100.x.x.x) σαν να είναι στο ίδιο LAN.

Ρύθμισα Windows να τρέχουν “Headless” (στο παρασκήνιο) και συνδέομαι με Remmina (RDP). Γιατί; Καλό το GNOME Boxes αλλά μου φάνηκε λίγο laggy. Το αποτέλεσμα; Έχω Windows σε ένα workspace, χωρίς lag, και το Linux παραμένει καθαρό από “ξένα” σώματα. Απλή αλλαγή με Ctrl+Alt+βελάκι.

⚠️ Το Incident με το DNS

Κάποια στιγμή έκλεισε το ρεύμα, δηλ. σαν να κάνεις Force Shutdown με το κουμπί, ενώ το Tailscale VPN ήταν ενεργό. Το αποτέλεσμα; Το Tailscale δεν πρόλαβε να καθαρίσει τις ρυθμίσεις του και άφησε το /etc/resolv.conf να δείχνει σε μια “νεκρή” IP. Το σύστημα δεν είχε DNS.

Στο Ubuntu, ίσως απλά διέγραφα το αρχείο και έκανα restart το service. Στο Bluefin, όπου το σύστημα πρέπει να αντιμετωπίζεται με σεβασμό στο immutable μοντέλο, ακολούθησα άλλη οδό:

  • Δεν έσβησα τίποτα (No rm policy) .
  • Επανέφερα τον συμβολικό σύνδεσμο (ln -s) ώστε το OS να ξαναμιλήσει με τον systemd-resolved.
  • Έκανα restart τον NetworkManager και όλα επανήλθαν.

Ήταν μια υπενθύμιση ότι “Immutable” δεν σημαίνει “άθραυστο” και ότι η επισκευή πρέπει να γίνει με τους κανόνες του συστήματος.

🤖 Workflow: Από τα Scripts στο Just

Είχα συνηθίσει να έχω διάφορα bash scripts δεξιά και αριστερά. Το Bluefin με έσπρωξε να οργανωθώ χρησιμοποιώντας το just , έναν task runner που είναι “native” στη φιλοσοφία της διανομής.

Αντί να θυμάμαι εντολές, έφτιαξα ένα Justfile. Παράδειγμα workflow για hugo blog:

just new "titlos-arthrou": Φτιάχνει το φάκελο και το αρχείο.

just preview: Σηκώνει τον local server για να βλέπω τι γράφω.

just deploy: Στέλνει τις αλλαγές στο GitHub.

Όλα αυτά τρέχουν μέσα από το VS Code (Flatpak επίσης προεγκατεστημένο), το οποίο ρύθμισα με τα απαραίτητα extensions (Front Matter, Hugo Language) για να κάνω τη “ζωή” μου λίγο πιο εύκολη.

🧠 Φάση 4: Στήσιμο Local LLMs (έπεται)

…….

…….

🏁 Επίλογος

Αξίζει η μετάβαση; Αν θέλεις να μάθεις πώς λειτουργεί το Linux “του μέλλοντος” (Container-based, Atomic updates), τότε ναι, το Bluefin είναι ένα εξαιρετικό σχολείο. Δεν είναι καλύτερο από το Ubuntu, είναι διαφορετικό. Σου δίνει την αίσθηση μιας καλοκουρδισμένης συσκευής που είναι έτοιμη για δουλειά (και AI πειραματισμούς), αφήνοντας τη “μουντζούρα” της διαχείρισης πακέτων στο παρελθόν.

🔗 Χρήσιμοι σύνδεσμοι:

  1. https://docs.projectbluefin.io/introduction
  2. https://github.com/ublue-os/bluefin/discussions

 Share!