Διανύουμε την εποχή των μεγάλων αλλαγών στο Linux;

Όσοι/ες παρακολουθούν τις εξελίξεις, σίγουρα θα έχουν εντοπίσει ότι οι αλλαγές στο Linux είναι μαζικές και περισσότερες από ποτέ. «Τις πταίει» γι’ αυτό;

Η εποχή, οι εταιρίες, οι χρήστες, το hardware ; ότι και να είναι, είτε ένα, είτε ένας συνδυασμός των παραπάνω, επηρεάζει και χρήστες και διαχειριστές συστημάτων. Πάμε να δούμε μερικές από τις σημαντικότερες αλλαγές στο Linux, από αυτές που έχουν ήδη γίνει και θα φτάσουμε μέχρι και σε εκείνες που ανακοινώθηκαν πρόσφατα (μερικές μέρες πριν) και που θα γίνουν στο μέλλον.

Linux & Unix

Για όσους δεν το γνωρίζουν, το Linux βασίστηκε (και βασίζεται) στο Unix. Είναι αυτό που λέμε ένα Unix-like λειτουργικό σύστημα, αν και όταν αναφερόμαστε στον όρο Linux κακώς το θεωρούμε ένα λειτουργικό σύστημα, μιας και το Linux είναι τεχνικά μόνον ο πυρήνας. Ο σωστός όρος σε αυτή την περίπτωση είναι GNU/Linux, ωστόσο είτε για συντομία, είτε γιατί το market share έτσι γουστάρει (βλ. Apple, Microsoft) έχουμε συνηθίσει να αναφερόμαστε στο Linux και να εννοούμε το GNU/Linux.
Βασισμένο λοιπόν στο Unix, ακολούθησε (και συνεχίζει σε ορισμένες περιπτώσεις να ακολουθεί) την φιλοσοφία του Unix η οποία δεν είναι άλλη από την απλότητα. Simple. Η φιλοσοφία του Unix είναι λιτή. Κράτα το απλό σου λέει. Απλό – καθαρό, έτσι ώστε οι άλλοι προγραμματιστές να μπορούν να χτίσουν πάνω σε αυτό. Να μπορούν να επεκτείνουν τον κώδικα, να τον διορθώσουν, να τον αναδιανέμουν εύκολα και γρήγορα.
Αυτή η φιλοσοφία βέβαια σε πολλές περιπτώσεις και σε ότι αφορά το Linux φυσικά, έχει πάει περίπατο. Με τους downstream και τους upstream να παλεύουν να φτάσουν ο ένας τον άλλο. Με τις διανομές να ενσωματώνουν νέο κώδικα ή να patchaρουν τον υπάρχοντα (για τα δικά τους συμφέροντα, την δική του βόλεψη…κλπ).

Πρώτα θα αναφέρω (επιγραμματικά) τις αλλαγές που λίγο πολύ όλοι γνωρίζουμε πως έχουν γίνει (ή θα γίνουν στο άμεσο μέλλον) και μετά θα περάσω στο «ζουμί».

  1. Σημαντική αλλαγή στα γραφικά περιβάλλοντα. Από Gnome2 σε Gnome3(Gnome-shell), Unity και πρόσφατα KDE Frameworks 5. Στόχευση σε touch οθόνες, tablets, mobiles.
  2. Mir & Wayland οι οποίοι έρχονται…
  3. Καθώς και το BTRFS σύστημα αρχείων το οποίο είναι σχεδόν έτοιμο. Μάλιστα κάποιες διανομές, όπως το openSUSE, το χρησιμοποιούν ως το προεπιλεγμένο σύστημα αρχείων στην εγκατάσταση.

Init Scripts. BSD, SysV, Upstart και…systemd!

Αυτά αφορούν περισσότερο τους διαχειριστές συστημάτων (sysadmins), αλλά ίσως και κάποιους power users που ασχολούνται περισσότερο εις βάθος(να το πούμε έτσι) με το σύστημά τους. Τα init scripts όπου ο όρος init προέρχεται από το initialization, αναφέρεται σε μια σειρά από scripts τα οποία ξεκινούν με την εκκίνηση του συστήματος και καθορίζουν διάφορες διεργασίες (processes). Οι διαφορές μεταξύ των SysV και BSD, απ’ όσο ξέρω εγώ τουλάχιστον, ήταν τα λεγόμενα runlevels, όπου στα πρώτα υπήρχαν, αλλά όχι στα δεύτερα. Ήταν εκείνα τα scripts που λειτουργούσαν σωστά και καλά. Κατά την γνώμη πολλών, ότι λειτουργεί σωστά δεν το πειράζουμε. Κατά τη γνώμη άλλων, η μετάβαση σε κάτι νεότερο, ίσως καλύτερο, είναι σχεδόν απαραίτητη. Έτσι αργότερα ήρθε και το upstart που παρουσίασε η Canonical, όπου στην ουσία η διαφορά που έχει με τα προγενέστερα είναι η παράλληλη εκκίνηση κάποιων υπηρεσιών, ίσως και άλλα πράγματα, εδώ δεν εξετάζουμε αυτό όμως, αλλά την πορεία και εξέλιξη των startup scripts. Για πάμε να δούμε άλλη μια αλλαγή η οποία έχει άμεση σχέση με τα init scripts.

systemd – Ο φαταούλας

Μια φορά και έναν καιρό, ήταν ο Lennart. Και είπε ο Lennart, «γενηθήτω systemd, και εγένετο systemd», βέβαια το σωστότερο εδώ είναι να πούμε, ο Lennart και η ομάδα του.
O Lennart Poettering λοιπόν είναι ο προγραμματιστής που παρουσίασε αυτή την μεγάλη αλλαγή. Ο System Daemon (systemd) είναι μια υπηρεσία (μπορούμε να πούμε) συμβατή με τα SysV init scripts, αλλά ήρθε για να μείνει. Ήρθε όχι μόνο για να μείνει, αλλά να κατακλύσει το Linux οικοσύστημα. Όλες οι μεγάλες διανομές έχουν αντικαταστήσει τα init scripts με τον systemd. Arch Linux, Fedora, openSUSE, Debian, Ubuntu. Τα Debian και Ubuntu όχι ακόμη στις σταθερές εκδόσεις, αλλά έχει ήδη ανακοινωθεί η μετάβαση σε systemd.
Η κίνηση αυτή βρήκε πολλούς υποστηρικτές, αλλά και πολλούς αντιπάλους. Δίχασε αρκετά την Linux κοινότητα, μιλάμε όμως για sysadmins, engineers..κλπ. Όχι για απλούς χρήστες. Ο απλός χρήστης δεν καταλαβαίνει καν την διαφορά. Ίσως αντιλαμβάνεται μια διαφορά στον χρόνο εκκίνησης (γρηγορότερος ο systemd), αλλά όχι κάτι άλλο.
Υπάρχουν φυσικά και μεγάλες διανομές οι οποίες αρνούνται να μεταβούν σε αυτό το νέο διαχειριστή υπηρεσιών και εκκίνησης, όπως το Slackware και το Gentoo.
Ο systemd δεν ήρθε μόνο για να μείνει όμως(όπως προαναφέραμε), αλλά για να «καταπιεί» όσες περισσότερες υπηρεσίες μπορεί. Και όταν λέμε «καταπιεί», εννοούμε να ενσωματώσει και να διαχειρίζεται σχεδόν τα πάντα. Αυτόματα ή μη.

Πολλαπλή εγκατάσταση εφαρμογών και λειτουργικών.

Και εδώ ερχόμαστε στα τελευταία γεγονότα. Γεγονότα που ίσως να μην γνωρίζετε, να μην έχετε διαβάσει, καθώς είναι αρκετά «φρέσκα». Ο αχόρταστος systemd θέλει κι άλλο «φαΐ». Θέλει πλέον να διαχειρίζεται και την εγκατάσταση λειτουργικών συστημάτων, καθώς και εφαρμογών. Σε ένα αρκετά μακρύ ποστ, ο Lennart εξηγεί τις προθέσεις του ιδίου και της ομάδας του. Θα παρακαλέσω να το διαβάσετε όποτε έχετε χρόνο. Αυτά που γράφει ο συγκεκριμένος άνθρωπος είναι πάρα πολύ πιθανό να γίνουν, και να επηρεάσουν αρκετές διανομές και όχι μόνον μια. Ναι μεν είναι ένας εργαζόμενος της Red Hat, αλλά μέσω του systemd επηρεάζει σχεδόν όλο το οικοσύστημα Linux.

Εν συντομία λοιπόν θα αναφέρω τι θέλει να καταφέρει με την νέα αλλαγή που παρουσιάζει, για λεπτομέρειες επαναλαμβάνω διαβάστε το ποστ στο παραπάνω link.

  1. Θα μπορείτε να εγκαταστήσετε εφαρμογές, ανεξάρτητα από το λειτουργικό σύστημα που έχετε. Δεν μας ενδιαφέρει πλέον αν τρέχετε Arch Linux ή Fedora…κλπ.
  2. Θα μπορείτε να εγκαταστήσετε ακόμη και ολόκληρα λειτουργικά συστήματα, παράλληλα, χωρίς να ανησυχείτε για τον δίσκο σας, τον bootloader…κλπ
  3. Η όλη ιδέα θα πάρει σάρκα και οστά μέσω του συστήματος αρχείων BTRFS. Βέβαια δεν θα αφήσει παραπονεμένους και όσους θέλουν να συνεχίσουν να χρησιμοποιούν ext4(θα υπάρχει λύση και γι’ αυτό).
  4. Αυτόματες αναβαθμίσεις συστημάτων και εφαρμογών, χωρίς την παρέμβαση administrator.
  5. Φυσικά, μέσω του BTRFS, θα υπάρχει η επιλογή εκκίνησης από όποια εικόνα συστήματος θέλουμε. Αυτό, σε περίπτωση που με κάποια αναβάθμιση σπάσει το σύστημα, θα μπορούμε να κάνουμε εκκίνηση από μια άλλη εικόνα(snapshot) του συστήματος, χωρίς να μας «πονέσει» καθόλου. Βασικά αυτό ενδέχεται να γίνεται και αυτόματα.
  6. Εγκατάσταση νέου λειτουργικού συστήματος σε 4-5 μόλις βήματα.
  7. Οι κατασκευαστές λογισμικού δεν θα είναι ανάγκη να συντηρούν ένα κάρο πακέτα, για ένα κάρο διαφορετικές διανομές.
  8. Θα υπάρχει συγχρονισμός με τους upstream, έτσι δεν θα μένουν οι διανομές πίσω, λόγω ασυμφωνίας…χρόνου.
  9. Δεν θα καταργήσει τα πακέτα ή τους package managers (dpkg,rpm).

Καταλαβαίνετε πως τα παραπάνω δεν μπορούν παρά να χαρακτηριστούν, επαναστατικά ίσως; Δηλαδή, είναι μια εκ των σημαντικότερων αλλαγών που θα λύσει ένα χρόνιο πρόβλημα στο Linux. Το maintaining ένα εκατομμύριο διαφορετικών πακέτων. Οι κατασκευαστές λογισμικού, μέσω αυτού του νέου συστήματος, θα μπορούν να κατασκευάζουν το λογισμικό τους έτσι ώστε να είναι συμβατό με όλες τις διανομές (οι οποίες θα χρησιμοποιούν βέβαια τη νέα υπηρεσία) και θα μπορούν να το κάνουν ταυτόχρονα. Χτίσιμο για x86-64, arm, Fedora, Arch, Ubuntu..κλπ. Η δε συντήρηση των πακέτων θα γίνεται από τους ίδιους (upstream), χωρίς την ανάγκη έξτρα ανθρώπινου δυναμικού.

Κάτι άλλο σημαντικό που θα φέρει το νέο σύστημα, είναι η υπογραφή πακέτων και διανομών. Encrypted signing verification (ή κάτι τέτοιο). Γνωστό το συγκεκριμένο μέτρο ασφαλείας από την Microsoft, τα Windows 8 και το EFI.

Συμπέρασμα

Οι αλλαγές είναι μεγάλες και έρχονται βροχή. Σίγουρα ζούμε την εποχή όπου το Linux αλλάζει όψη και μορφή και οι αλλαγές μπορούν άνετα να χαρακτηριστούν ριζικές. Άλλοι συμφωνούν προς μια νέα κατεύθυνση, άλλοι θέλουν το παλιό καλό Linux (για πάρτη τους; έτσι τους εξυπηρετούσε; φοβούνται τις αλλαγές; ή εν τέλει έχουν δίκιο;), ωστόσο το ποτάμι δεν γυρνά πίσω εύκολα. Ότι γράφει δεν ξεγράφει που λένε και όταν έχεις και την υποστήριξη των βασικών, δημοφιλέστερων και δυνατότερων διανομών γι’ αυτές τις αλλαγές, όλοι οι υπόλοιποι (users, sysadmins, engineers) μπορούν απλά να…ακολουθήσουν (ή να μεταβούν σε Gentoo, Slackware ή BSD).

4 thoughts on “Διανύουμε την εποχή των μεγάλων αλλαγών στο Linux;

  1. Με καθυστέρηση, τώρα διάβασα το άρθρο.
    Μπράβο, πολύ καλή δουλειά !

    Πιστεύω πως δεν μπορεί να μείνει το GNU/Linux στάσιμο ή να εξελίσσεται με κατά βασική έννοια συντηρητικά.
    Παρά, όπως καλά ανέφερες αρχικά, μόνο το Slackware μετά Gentoo & BSD «βαδίζουν» συντηρητικά και θα μπορούσαμε να το χαρακτηρίσουμε ως εσωτερική ρήξη. (χαχαχαχα)
    Έμαθα το systemd. «Απλό, σύντομο», λιγότερες παρεμβάσεις. Με λίγα λόγια ο «εχθρός» του Slackware που θέλει init scripts + usr γιατί αυτή είναι η φιλοσοφία του GNU/Linux.
    Πολλαπλή εγκατάσταση εφαρμογών και λειτουργικών. Όντως, ένας developer που κοιτάζει λίγο μπροστά δεν μπορεί να φτάσει εκεί με init scripts και αυτό για πρακτικούς λόγους, ταχύτητα, ποιότητα. Γι’ αυτό είναι καλύτερο εργαλείο.
    Δεν ξέρω τι θα είναι αυτό – αυτά που θα κρατήσουν «πίσω» το systemd για τη δουλειά που έχει να αναλάβει στο μέλλον και γενικότερα το GNU/Linux κατά τον Leenart και την παρέα του αλλά ξέρω πως αν μου «λύσει περισσότερο τα χέρια» χωρίς να με εμποδίζουν να παραμετροποιώ…

    Το systemd είναι ΕΛ/ΛΑΚ και ώριμο σαν να έχουν περάσει 10 χρόνια.

  2. Θα ήθελα να κάνω μια ερώτηση. Οι downstream και τους upstream ποιοι είναι; ^_^

    Η δική σας άποψη πάνω στο θέμα των αλλαγών; ( που έχετε κάποια εμπειρία μέχρι τώρα πάνω στο Linux ) ;

    Εμένα προσωπικά με μουδιάζουν ^_^ από την μια έχω μάθει πλέον και χειρίζομαι τα init και τα θεωρώ ποιο ξεκάθαρα, από την άλλη μιλάνε για καλύτερη ταχύτητα (θετικό), αλλά όλα σε ένα που με ανησυχεί για το αν τελικά θα το καταφέρνει και αν ναι, τόσο καλά και ξεκάθαρα όπως μέχρι τώρα;

    1. Αν υποθέσουμε ότι δημιουργείς ένα project, μια εφαρμογή ή ένα γραφικό περιβάλλον, εσύ ο tassos10, μετά εγώ πάρω αυτό το project(αφού εννοείτε θα είναι open source) και το αλλάξω ή το χρησιμοποιήσω στο δικό μου project που π.χ. είναι μια διανομή, τότε εσύ είσαι ο upstream και εγώ ο downstream. Όταν εγώ κάνω αλλαγές στο project σου τις οποίες εσύ για τον Α,Β λόγο δεν μπορείς να χρησιμοποιήσεις/ενσωματώσεις, τότε δεν συμβαδίζουμε και αυτό είναι κακό και για τους δυο μας.

      Κάθε αλλαγή είναι καλοδεχούμενη αρκεί να σέβεται τους χρήστες, την ελευθερία χρήσης και παραμετροποίησης, καθώς και τους διαχειριστές συστημάτων και όχι μόνον τους developers. Προσωπικά μου αρέσει να διαβάζω και να μαθαίνω νέα πράγματα. Δεν μου αρέσει όμως να πρέπει να μάθω 10 διαφορετικά πράγματα που εξυπηρετούν τον ίδιο σκοπό, απλά επειδή το αποφάσισαν κάποιοι developers(εταιρίες ή μη).

      Και το systemd το ίδιο ξεκάθαρο είναι και αν το μάθεις θα σου φανεί ίσως και πιο απλό από τα SysV init.

      Αυτό το όλα σε ένα(αν εννοείς την νέα ιδέα του Leenart) δεν είναι ακόμη σίγουρο. Είναι κάτι που αναπτύσσεται τώρα, βρίσκεται σε πολύ πρώιμο στάδιο ακόμη και θα δείξει στην πορεία πως θα υλοποιηθεί και ΑΝ.

      1. Μάλιστα σε ευχαριστώ πάρα πολύ φίλε και μπράβο σου για την όλη πολύ ωραία και σημαντική σου δουλειά εδώ. ;)

        Για να δούμε τι θα καταφέρει ο Leenart και η παρέα του και αν όντως αξίζει θα μας το δείξει η ιστορία.
        Ίσος αξίζουν κάποια βήματα αβεβαιότητας και αλλαγής ( έτσι θα έρθει και το κάτι νέο και καλύτερο ) για να πάμε μπροστά και πιστεύω αν αποδειχτούν τελικά λάθος, να μπορέσουμε να το παραδεχτούμε και να γυρίσουμε πίσω.

Συμβάλετε κι εσείς με ένα σχόλιο

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s