Linux
Με τον όρο Linux αναφερόμαστε σε μια οικογένεια λειτουργικών συστημάτων που έχουν ως βάση τον πυρήνα του Linux.
Περιεχόμενα
Λειτουργικό σύστημα[επεξεργασία]
Λειτουργικό σύστημα (operating system) είναι το λογισμικό (software) που αναλαμβάνει και επιτελεί τις στοιχειώδεις λειτουργίες ενός υπολογιστή. Αυτό περιλαμβάνει το πώς αλληλεπιδρούν τα διάφορα στοιχεία υλικού (hardware) του υπολογιστή πχ η μνήμη με τον επεξεργαστή, πώς κατανέμονται οι πόροι (resources) και άλλες διαδικασίες χαμηλού επιπέδου. Το λειτουργικό σύστημα μπορεί να νοηθεί ως η πλατφόρμα πάνω στην οποία πατάνε και εκτελούνται άλλες εφαρμογές λογισμικού, όπως πχ μια εφαρμογή αναπαραγωγής μουσικής. Δημοφιλή λειτουργικά συστήματα είναι τα Windows, το Debian GNU/Linux, το OS/X, το Ubuntu Linux και άλλα .
Ο πυρήνας του Linux[επεξεργασία]
Ακριβολογώντας, Linux είναι ο πυρήνας λειτουργικού συστήματος που δημιούργησε ο Linus Torvalds το 1991. Ο Torvalds εμπνεόμενος από ένα άλλο λειτουργικό σύστημα, το MINIX, και ακολουθώντας τις βασικές αρχές λειτουργίας του UNIX έχτισε από το μηδέν έναν πυρήνα λειτουργικού συστήματος, το ονόμασε Linux και δημοσίευσε τον κώδικα στο Internet. Από εκεί και μετά δημιουργείται μια ολοένα και μεγαλύτερη κοινότητα προγραμματιστών, που συνεισφέρει κώδικα και χρησιμοποιεί το Linux.
Ο πυρήνας του Linux δεν αποτελούσε βεβαία ένα πλήρες και χρηστικό λειτουργικό σύστημα. Για καλή μας τύχη, λίγα χρόνια πριν την δημιουργία του πυρήνα του Linux από τον Torvalds, σε ένα άλλο σημείο του πλανήτη ο Richard Stallman είχε ξεκινήσει το GNU project, με στόχο τη δημιουργία ενός ελεύθερου λειτουργικού συστήματος. Το GNU είχε φτιάξει διάφορα "περιφερειακά" κομμάτια του λειτουργικού συστήματος όπως βιβλιοθήκες, μεταγλωττιστές, επεξεργαστές κειμένου, κέλυφος, παραθυρικό περιβάλλον αλλά του έλειπε ο πυρήνας. Έτσι η δημιουργία του Torvalds, ο πυρήνας του Linux, ήρθε και έδεσε με το GNU, δίνοντας στην ανθρωπότητα ένα πρώιμο λειτουργικό σύστημα ανοικτού και ελεύθερου κώδικα, το GNU/Linux.
Καταχρηστικά έχει επικρατήσει να αναφερόμαστε σε ολόκληρο το λειτουργικό σύστημα και όχι μόνο στο πυρήνα, με τον όρο Linux.
Φιλοσοφία του Linux[επεξεργασία]
Η φιλοσοφία του GNU/Linux, επηρρεασμένη σε μεγάλο βαθμό από τις ιδέες του Richard Stallman, λέει ότι ο κώδικας του λογισμικού πρέπει να είναι ελεύθερος. Λέμε ότι ένα λογισμικό είναι ελεύθερο όταν δημοσιοποιείται μαζί με τον κωδικά του και επιπλέον δίνει την ελευθερία να μελετήσεις, να τροποποιήσεις και να αναδιανέμεις τον κώδικα αυτό.
Ο κώδικας ενός προγράμματος, είναι ένα "κείμενο" γραμμένο σε μια γλώσσα προγραμματισμού που περιγράφει ακριβώς τον τρόπο με τον οποίο λειτουργεί το πρόγραμμα αυτό. Περιγράφει τον τρόπο που υλοποιεί αλγορίθμους, τον τρόπο που αλληλεπιδρά με το λειτουργικό σύστημα, με συσκευές, με άλλες εφαρμογές.
Η φιλοσοφία του ανοικτού κώδικα στο λογισμικό, οδήγησε σε ένα ανοικτό μοντέλο ανάπτυξης/συγγραφής κώδικα για λογισμικό. Αντί για το συγκεντρωτικό μοντέλο που επικρατούσε μέχρι τότε, όπου ένα πρόγραμμα γράφονταν από μια εταιρεία που κρατούσε κρυφό τον κώδικα για εμπορική εκμετάλλευση, το λογισμικό ανοικτού κώδικα όντας δημόσιο έδινε τη δυνατότητα σε μια παγκόσμια κοινότητα προγραμματιστών να διαβάσουν και να τροποποιήσουν τον κώδικα αυτό.
Αν και το μοντέλο του ανοικτού κώδικα αντιμετώπισε την καχυποψία μεγάλης μερίδας του κόσμου, λόγω της μη βιωσιμότητάς του από οικονομικής άποψης, τελικά αποδείχτηκε όχι απλά βιώσιμο αλλά και πολύ επιτυχημένο. Το GNU/Linux αγκαλιάστηκε από μια ενθουσιώδη κοινότητα και στην πορεία και από μεγάλες εταιρείες, με αποτέλεσμα την εξάπλωσή του και τη ευρύτατη χρήση του μέχρι σήμερα. Επιπλέον το GNU/Linux είναι ένα ποιοτικό λειτουργικό σύστημα, διαθέσιμο για πάρα πολλά είδη συσκευών (από υπολογιστές, κινητά τηλέφωνα μέχρι μικροελεγκτές).
Αποδείχτηκε στη πράξη ότι το ανοικτό μοντέλο ανάπτυξης του κώδικα είχε θετική επίδραση και στην ασφάλεια του λειτουργικού συστήματος. Ένα λογισμικό κλειστού κώδικα γράφεται και επιθεωρείται από περιορισμένο αριθμό προγραμματιστών, όσους υπαλλήλους κι αν διαθέτει μια εταιρεία. Σε αντιπαραβολή, ένα λογισμικό ανοικτού κώδικα είναι σε θέση να το διαβάσουν πολύ περισσότεροι άνθρωποι ούτως ώστε, από άποψη ασφάλειας, οι αδυναμίες να ανακαλύπτονται και να διορθώνονται ταχύτερα.
Διανομές Linux[επεξεργασία]
Ο ανοικτός κώδικας στο Linux δίνει τη δυνατότητα μεγάλης παραμετροποίησης του κώδικα και του τελικού αποτελέσματος. Προγραμματιστές, ομάδες προγραμματιστών, εταιρείες, χρησιμοποιήσαν, παραμετροποίησαν και συνδύασαν διάφορα κομμάτια του GNU/Linux, φτιάχνοντας πολλές παραλλαγές λειτουργικού συστήματος. Οι παραλλαγές αυτές είχαν μεγαλύτερες ή μικρότερες διαφορές, είτε στο γραφικό περιβάλλον, είτε στα προεπιλεγμένα προγράμματα, αλλά όλα χρησιμοποιούσαν ως βάση τον πυρήνα του Linux. Οι διάφορες εκδόσεις/παραλλαγές του Linux λειτουργικού συστήματος ονομάζονται διανομές.
Οι διανομές του Linux δεν είναι μόνο θέμα προτίμησης. Υπάρχουν διανομές που προσανατολίζονται για συγκεκριμένη χρήση, για παράδειγμα εκπαιδευτικές διανομές, επιστημονικές διανομές, διανομές για υπολογιστές με λίγους πόρους, διανομές για server και άλλα.
Πακέτα λογισμικού και αποθετήρια[επεξεργασία]
Κάθε διανομή έχει ένα σύνολο από διαθέσιμες εφαρμογές λογισμικού, για παράδειγμα browsers, προγράμματα αναπαραγωγής πολύμεσων, γραφικά περιβάλλοντα, σουίτες γραφείου και άλλα. Οι εφαρμογές μιας διανομής είναι δημόσια διαθέσιμες στα λεγόμενα repositories(αποθετήρια) και οργανώνονται σε πακέτα λογισμικού(packages). Όταν ο χρήστης μιας διανομής, χρειάζεται κάποια εφαρμογή κάνει την αναζήτηση στα αποθετήρια της διανομής τους, κατεβάζει και εγκαθιστά τα πακέτα που χρειάζεται - με τη βοήθεια ειδικού προγράμματος για εγκαταστάσεις λογισμικού.
Εδώ συνίσταται μια σημαντική -και από άποψη ασφαλείας- διαφοροποίηση των Linux διανομών σε σχέση με τα Windows. Σε περιβάλλον Windows ο χρήστης έχει συνηθίσει να αναζητά εφαρμογές σε σελίδες στο Διαδίκτυο, να τις κατεβάζει συνήθως με ανασφαλή τρόπο στο σύστημά του και να τις εγκαθιστά. Στις περισσότερες των περιπτώσεων ο χρήστης Windows πρέπει να επισκεφτεί διαφορετική σελίδα για κάθε εφαρμογή ενώ το λειτουργικό σύστημα δεν ασχολείται ιδιαίτερα με την διαφάλιση ποιότητας και αξιοπιστίας της κάθε εφαρμογής.
Αντίθετα, σε περιβάλλον Linux ο χρήστης μιας διανομής έχει ενσωματωμένο έναν διαχειριστή πακέτων(και με γραφικό περιβάλλον), όπου μπορεί να αναζητήσει και να εγκαταστήσει πακέτα λογισμικού. Τα πακέτα αυτά, δεν προέρχονται από διάφορες τυχαίες ιστοσελίδες, αλλά προέρχονται από τα repositories της διανομής. Επιπλέον τα πακέτα αυτά, είναι κατασκευασμένα και ψηφιακά υπογεγραμμένα από τους προγραμματιστές της διανομής. Με τον τρόπο αυτό, ο χρήστης διασφαλίζει την εγκυρότητα της εφαρμογής που κατεβάζει(δεν κατεβάζει κάτι τυφλά).
Μερικές δημοφιλείς διανομές Linux[επεξεργασία]
Debian GNU/Linux: Το Debian δεν είναι παρακλάδι κάποιας άλλης διανομής, αλλά μία πολύ σημαντική και ανεξάρτητη διανομή πάνω στην οποία βασίζονται πάνω από 120 άλλες διανομές σήμερα. Οργανωμένο από μια ομάδα εθελοντών, το Debian Project διατηρεί στα αποθετήριά του πάνω από 20.000 ελεύθερα πακέτα (deb). To Debian είναι η πρώτη διανομή που εφάρμοσε και υποστήριξε την ιδεολογία του ελεύθερου και ανοιχτού λογισμικού και αυτό έχει ως αποτέλεσμα της πρώτη επιλογή στους πιό έμπειρους και απαιτητικούς χρήστες του Linux. Αναπτύσσεται από μία τεράστια κοινότητα χρηστών και developers οι οποίοι εργάζονται μαζί για να δημιουργήσουν το καλύτερο δυνατό λειτουργικό σύστημα από ελεύθερο λογισμικό.
Ubuntu Linux: Ίσως η πιο δημοφιλής διανομή στους αρχάριους κυρίως χρήστες για desktop και φορητό υπολογιστή. Ένα από τα βασικά στοιχεία της φιλοσοφίας της είναι η φιλικότητα προς τον χρήστη και το γραφικό περιβάλλον. Βασίζεται στο Debian και κυκλοφορορεί τις νέες του εκδόσεις κάθε έξι μήνες δίνοντας και μια έκδοση LTS ανα διετία (έκδοση μακράς διάρκειας υποστήριξης, η οποία συμπεριλαμβάνει ενημερώσεις ασφαλείας για 3-5 χρόνια). Χρησιμοποιεί πακέτα deb.
Arch Linux: Μινιμαλιστική διανομή βασισμένη στον Pacman και απευθύνεται σε προχωρημένους και μεσαίους χρήστες του Linux. Διατηρείται από μια κοινότητα εθελοντών και χρησιμοποιεί πακέτα της μορφής .tar.gz και .tar.xz. Λειτουργεί με εξαιρετική δομή διαχείρισης λογισμικού και εύκολη παραμετροποίηση της διανομής και διαχείρισης δυαδικών πακέτων (binaries).
OpenSUSE Linux: Πρόκειται για την μετονομαζόμενη SuSe Linux, μιάς οικογένειας διανομών και είναι το δωρεάν λογισμικό που αναπτύσσεται από την κοινότητά του SUSE, σε αντίθεση με τις εμπορικές διανομές SUSE Linux Enterprise Desktop που κατευθύνονται από τη Novell. Οι βελτιώσεις μέσα από ένα εργαλείο δοκιμών έχουν προσδώσει σταθερότητα και νέες δυνατότητες που προσφέρουν αυξημένες επιδόσεις για ταχύτητα στα δίκτυα και στις συσκευές που έχουν να κάνουν με χαμηλά επίπεδα ενέργειας και μπαταρίες. Έγινε ιδιαίτερα δημοφιλής λόγω της φιλικότητας της προς τον χρήστη και των πολλών πακέτων που διαθέτει. Κατά την εγκατάστασή του το λειτουργικό διαθέτει την επιλογή για KDE plasma, Gnome ή άλλη επιφάνεια εργασίας.
Redhat Linux: Ένας από τους σημαντικότερους παρόχους λειτουργικού συστήματος Linux. Δημιουργήθηκε από τον Marc Ewing ως μία εμπορική διανομή, χτισμένη πάνω στο ελεύθερο λογισμικό, καθώς σχεδιάστηκε με γνώμονα τον εταιρικό κόσμο. Σήμερα κατέχει ένα μεγάλο ποσοστό της αγοράς και διατίθεται μόνο σε εμπορική έκδοση.
Fedora: Διανομή που προήλθε και υποστηρίζεται από το Redhat Linux και διατίθεται ελεύθερα προς χρήση. Λειτουργεί ως δοκιμαστικό πεδίο για τις σταθερές εκδόσεις του Redhat αλλά αποτελεί και η ίδια μια πολύ σταθερή και στιβαρή διανομή. Νέες εκδόσεις με συνεχώς ανανεωμένα χαρακτηριστικά για όλες τις αρχιτεκτονικές και ειδικές εκδόσεις της διανομής για ειδικούς σκοπούς (spins).
CentOS: Το CentOS είναι μία καθαρά εταιρική λύση, κλώνος του Red Hat Enterprise Linux στηριγμένο στον πηγαίο του κώδικα, από τον οποίο έχουν αφαιρεθεί όσα τμήματα το κάνουν εμπορικό. Έρχεται με σταθερό πυρήνα Linux και τακτικές ενημερώσεις ασφαλείας, αναβαθμιστικά πακέτα με μειονέκτημα το ότι δεν περιλαμβάνουν μεγάλες αλλαγές σε δυνατότητες, παρόλο που έχουν υποστήριξη για νέο υλικό. Θεωρείται ότι παρέχει 100% συμβατότητα με το Redhat και λειτουργεί κυρίως σαν μια διανομή για εξυπηρετητές.
Knoppix: Live διανομή που βασίζεται στο Debian και δεν χρειάζεται εγκατάσταση αλλά συνιστάται η χρήση του σαν live CD. Πολύ χρήσιμη σε περιπτώσεις επιδιόρθωσης και ανάκτησης δεδομένων όταν το κυρίως λειτουργικό σύστημα του υπολογιστή δεν μπορεί να ξεκινήσει. Χρησιμοποιεί πακέτα deb. Μία εξελληνισμένη έκδοσή του αποτελεί το Knoppel που γρήγορα απέκτησε μια ενεργή και δραστήρια κοινότητα και πλέον στηρίζεται καθαρά στο Debian.
Damn Small Linux: Ακόμα μια διανομή βασισμένη στο Knoppix Linux που καταλαμβάνει μόνο 50MB χώρου και περιλαμβάνει πλήρες σετ εφαρμογών. Σε σχέση με το μέγεθός της έχει την δυνατότητα να διατηρεί την καλύτερη ισορροπία μεταξύ λειτουργικότητας, μέγεθους και ταχύτητας. Επίσης λόγω της ταχύτητας της μπορεί να χρησιμοποιηθεί άνετα σε παλιούς υπολογιστές καθώς συμπεριφέρεται άριστα σε μηχανήματα πολύ χαμηλών προδιαγραφών. Χρησιμοποιεί πακέτα deb.
Slackware Linux: Η αγαπημένη διανομή αυτών που ξεκίνησαν με το Linux στις αρχές της δεκαετίας του '90. Είναι η διανομή που έκανε το Linux αγαπητό στους διαχειριστές συστημάτων. Επίσης είναι η αρχαιότερη διανομή που υποστηρίζεται ακόμη αν και περιέχει σχεδόν τα λιγότερα πακέτα.
Gentoo Linux: Διανομή που μπορεί να παραμετροποιηθεί στο έπακρο αφού όλα τα προγράμματα, αλλά και το ίδιο το λειτουργικό, μπορούν να "χτίζονται" κατά την εγκατάσταση τους. Η μεταγλώττιση του πηγαίου κώδικα έχει ως αποτέλεσμα το πρόγραμμα να είναι ταχύτερο, αποδοτικότερο και χαμηλών απαιτήσεων σε μνήμη και πόρους του συστήματος. Γι' αυτό το λόγο αποτελεί μία από τις ταχύτερες διανομές.
Mageia: Εξελληνισμένη διανομή φορκ της Mandriva, δημιουργήθηκε και αναπτύσσεται από την κοινότητα. Σαν γραφικό περιβάλλον χρησιμοποιεί το KDE και φοράει την τελευταία έκδοση του πυρήνα Linux. Έχει όλα τα πλεονεκτήματα των παλαιότερων διανομών Mandrake / Mandriva και στα πλεονεκτήματά της έρχονται τα εξαιρετικά γραφικά εργαλεία διαχείρισης του συστήματος καθώς υποστηρίζει KDE4, GNOME3, XFCE, LXDE, E17, Fluxbox, OpenBox και IceWM. Έχει κυκλοφορήσει δύο σταθερές εκδόσεις, και υπάρχει η Ελληνική Κοινότητα με πλήρες φόρουμ που υποστηρίζει την διανομή.