1.2 Επισκόπηση Linux
1.2 Επισκόπηση Linux
1.2.1 Εισαγωγή
Στις παρακάτω γραμμές γίνεται μια συνοπτική περιγραφή του Linux, ενός λειτουργικού συστήματος ανοικτού κώδικα που έχει ανατρέψει τα δεδομένα της πληροφορικής. Από την αρχική του εμφάνιση μέχρι και σήμερα, το Linux έχει εξελιχθεί σε μια πολυμορφική οικογένεια διανομών, καθιστώντας το μία ισχυρή και ευέλικτη λύση για μια πληθώρα εφαρμογών.
1.2.2 Ταυτότητα του Linux
Το Linux είναι ένα ελεύθερο και ανοιχτού κώδικα λειτουργικό σύστημα με παγκόσμια δημοτικότητα. Δημιουργήθηκε το 1991 από τον Linus Torvalds, όταν τότε ως φοιτητής Πληροφορικής στο Πανεπιστήμιο του Ελσίνκι της Φινλανδίας, δημιούργησε τον πυρήνα (kernel) του λειτουργικού συστήματος. Η πρωτοποριακή απόφαση να διατεθεί ο κώδικας υπό την άδεια GNU General Public License (GPL) έθεσε τα θεμέλια για το open-source κίνημα, δημιουργώντας ένα μοναδικό οικοσύστημα αμοιβαίας συνεργασίας και βελτίωσης. Έκτοτε έχει εξελιχθεί σε μια ισχυρή πλατφόρμα που χρησιμοποιείται σε υπολογιστές, διακομιστές, κινητές συσκευές και πολλά άλλα. Σε σύγκριση με άλλα λειτουργικά συστήματα, όπως τα Windows και το macOS, το Linux προσφέρει μεγαλύτερη ευελιξία και προσαρμοστικότητα, καθώς και μια ενεργή κοινότητα υποστήριξης.
1.2.3 Διανομές (Distributions)
Η ανοικτή φύση του Linux οδήγησε στη δημιουργία πολλών διανομών, γνωστών ως distros, καθεμία με τα δικά της χαρακτηριστικά και προσανατολισμό. Οι διανομές αποτελούν βασική έννοια του Linux, παρέχοντας διαφορετικές εκδόσεις του λειτουργικού συστήματος, συχνά με διαφορετικά λογισμικά και εργαλεία. Δημοφιλείς διανομές περιλαμβάνουν το Ubuntu, το Fedora, το Debian και το Arch Linux, καθεμία με ιδιαίτερα χαρακτηριστικά και προσαρμογές. Η επιλογή της κατάλληλης διανομής εξαρτάται από τις ανάγκες και τις προτιμήσεις του χρήστη.
1.2.4 Γραφικό περιβάλλον
Η ελευθερία που προσφέρει το Linux εξάπτει τη δημιουργικότητα και την καινοτομία στην ανάπτυξη Desktop Environments (DE).
Κάθε ένα από αυτά προσφέρει μία μοναδική εμπειρία χρήστη, καθιστώντας το Linux μία ευέλικτη λύση για μια πληθώρα αναγκών.
- Ορισμός: Τί είναι όμως τα Desktop Environments που προσδίδουν ιδιαίτερα χαρακτηριστικά και δυναμική στις διανομές Linux;
Ο όρος Desktop Environments (Περιβάλλοντα Επιφάνειας Εργασίας), Γραφικό περιβάλλον εν Ελληνιστί, είναι σύνολα λογισμικού που παρέχουν μια γραφική διεπαφή χρήστη (GUI) για την αλληλεπίδραση με το λειτουργικό σύστημα. Αυτά τα περιβάλλοντα περιλαμβάνουν όλα τα απαραίτητα στοιχεία και την οπτική εικόνα που χρειάζεται ο χρήστης για να αλληλεπιδράσει με τον υπολογιστή του. - Βασικά Στοιχεία των Desktop Environments
- Γραφικά Στοιχεία
Περιλαμβάνουν τα παράθυρα, το μενού, τα κουμπιά, τα εικονίδια και άλλες γραφικές αναπαραστάσεις που διευκολύνουν την πλοήγηση και τη χρήση του υπολογιστή. - Διαχείριση Παραθύρων
Παρέχουν τη δυνατότητα να ανοίγουν, να κλείνουν, να ελαχιστοποιούν και να μεγιστοποιούν τα παράθυρα των εφαρμογών. - Εργαλεία και Εφαρμογές
Συχνά περιλαμβάνουν προεγκατεστημένες εφαρμογές, όπως διαχειριστές αρχείων, τερματικά, προγράμματα περιήγησης και εργαλεία ρυθμίσεων. - Προσαρμογή
Πολλά περιβάλλοντα επιφάνειας εργασίας επιτρέπουν στους χρήστες να προσαρμόζουν την εμφάνιση και τη λειτουργικότητα, όπως τα θέματα, τα εικονίδια και τις ρυθμίσεις του πάνελ.
- Γραφικά Στοιχεία
- Δημοφιλή Desktop Environments
- GNOME
Ένα σύγχρονο και διαισθητικό περιβάλλον, γνωστό για την ευκολία χρήσης και την ομαλή λειτουργία. Προσφέρει ένα συνοπτικό και εστιασμένο σε λειτουργίες GUI, ιδανικό για αρχάριους και όσους θέλουν ένα άψογο οπτικό τοπίο. - KDE Plasma
Προσφέρει υψηλή προσαρμοστικότητα και ένα πλούσιο σύνολο εργαλείων για τους προχωρημένους χρήστες. Χαρακτηρίζεται από μία πιο επεκτατική και flexible προσέγγιση, που επιτρέπει να αξιοποιηθούν όλες οι δυνατότητες του Linux μέσα στο πλαίσιο του desktop environment. - XFCE
Ένα ελαφρύ και γρήγορο περιβάλλον, ιδανικό για συσκευές με περιορισμένους πόρους ή όσους θέλουν μία ταχύτερη και απλούστερη εμπειρία. Εξαιρετική λύση για παλαιότερα συστήματα ή όσους αγαπούν μία πιο minimal εμπειρία χρήστη. - MATE
Ένα πιο παραδοσιακό περιβάλλον με γνώμονα την ευκολία χρήσης, κατάλληλο για όσους είναι εξοικειωμένοι με παλαιότερες εκδόσεις Linux. Προσφέρει μια οικεία εμπειρία για όσους επικεντρώνονται στην απλότητα και την αξιοπιστία. - Cinnamon
Χτισμένο πάνω στη βάση του GNOME Shell, το Cinnamon προσφέρει μία πιο παραδοσιακή εμπειρία desktop με panel και menu που θυμίζουν το παλαιότερο GNOME. Είναι ιδανικό για όσους θέλουν μια πιο οικεία εμπειρία χωρίς να χρειάζεται να μετακινηθούν σε ένα πλήρως νέο GUI. - LXQt
Ένα ελαφρύ και γρήγορο περιβάλλον desktop, ιδανικό για συσκευές με περιορισμένους πόρους ή όσους θέλουν ένα εύχρηστο και απλό GUI. Παρόμοιο με το XFCE, αλλά με μια πιο σύγχρονη εμφάνιση και πιο minimal σχεδιασμό.
- GNOME
Tips
Πολλές διανομές Linux επιτρέπουν την εγκατάσταση περισσότερων από ενός desktop environments, δίνοντας στους χρήστες την ευελιξία να επιλέξουν το περιβάλλον που ταιριάζει στις προτιμήσεις τους, ακόμα και μετά την αρχική εγκατάσταση της διανομής
Η επιλογή του κατάλληλου desktop environment είναι θέμα προσωπικής προτίμησης και ανάγκης.
1.2.5 Σύστημα Αρχείων
Το σύστημα αρχείων είναι μια θεμελιώδης πτυχή του Linux, καθώς καθορίζει τον τρόπο με τον οποίο οργανώνονται και αποθηκεύονται τα δεδομένα. Το ext4 (fourth extended filesystem) είναι ένα από τα πιο δημοφιλή και ευρέως χρησιμοποιούμενα συστήματα αρχείων στο Linux. Όλα τα αρχεία και οι φάκελοι οργανώνονται σε μια ιεραρχική δομή, γνωστή ως Filesystem Hierarchy Standard (FHS) ή δέντρο αρχείων, με τη ρίζα (/) στην κορυφή. Αυτή η δομή επιτρέπει στους χρήστες να πλοηγούνται εύκολα στα δεδομένα τους.

/ (Root Directory):
- Ο ριζικός κατάλογος είναι η κορυφή της ιεραρχίας του συστήματος αρχείων. Όλοι οι άλλοι κατάλογοι και αρχεία βρίσκονται κάτω από αυτόν.
/bin:
- Περιέχει βασικά εκτελέσιμα αρχεία (εντολές) που απαιτούνται για τη λειτουργία του συστήματος, όπως οι εντολές
ls,cp,mv, κ.λπ. Αυτές οι εντολές είναι διαθέσιμες σε όλους τους χρήστες.
- Περιέχει βασικά εκτελέσιμα αρχεία (εντολές) που απαιτούνται για τη λειτουργία του συστήματος, όπως οι εντολές
/boot:
- Περιέχει τα αρχεία που απαιτούνται για την εκκίνηση του συστήματος, όπως ο πυρήνας (kernel) και οι ρυθμίσεις εκκίνησης.
/dev:
- Περιέχει ειδικά αρχεία συσκευών (device files) που αντιπροσωπεύουν τις συσκευές του συστήματος, όπως σκληρούς δίσκους, USB, κ.λπ.
/etc:
- Περιέχει αρχεία ρυθμίσεων (configuration files) για το σύστημα και τις εφαρμογές. Αυτά τα αρχεία είναι συνήθως κείμενα και περιέχουν ρυθμίσεις για διάφορες υπηρεσίες.
/home:
- Περιέχει τους προσωπικούς καταλόγους των χρηστών. Κάθε χρήστης έχει τον δικό του υποκατάλογο εδώ, π.χ.
/home/username.
- Περιέχει τους προσωπικούς καταλόγους των χρηστών. Κάθε χρήστης έχει τον δικό του υποκατάλογο εδώ, π.χ.
/lib:
- Περιέχει τις βιβλιοθήκες (libraries) που απαιτούνται από τα εκτελέσιμα αρχεία στο
/binκαι/sbin.
- Περιέχει τις βιβλιοθήκες (libraries) που απαιτούνται από τα εκτελέσιμα αρχεία στο
/media:
- Χρησιμοποιείται για την τοποθέτηση (mounting) εξωτερικών συσκευών αποθήκευσης, όπως USB drives και CD/DVD.
/mnt:
- Χρησιμοποιείται για προσωρινή τοποθέτηση (mounting) συσκευών αποθήκευσης από τον διαχειριστή του συστήματος.
/opt:
- Χρησιμοποιείται για την εγκατάσταση προαιρετικών εφαρμογών και πακέτων λογισμικού που δεν περιλαμβάνονται στο βασικό σύστημα.
/proc:
- Ένας εικονικός κατάλογος που περιέχει πληροφορίες σχετικά με τη λειτουργία του συστήματος και τις διεργασίες. Τα αρχεία εδώ δεν είναι πραγματικά αρχεία στο δίσκο, αλλά παρέχουν πληροφορίες σε πραγματικό χρόνο.
/root:
- Ο προσωπικός κατάλογος του χρήστη root (superuser). Είναι διαφορετικός από το
/home/root.
- Ο προσωπικός κατάλογος του χρήστη root (superuser). Είναι διαφορετικός από το
/run:
- Περιέχει δεδομένα που σχετίζονται με την τρέχουσα εκτέλεση του συστήματος, όπως PID files και sockets.
/srv:
- Χρησιμοποιείται για δεδομένα που παρέχονται από υπηρεσίες που εκτελούνται στο σύστημα, όπως ιστοσελίδες ή FTP.
/sys:
- Ένας εικονικός κατάλογος που παρέχει πληροφορίες σχετικά με το σύστημα και τις συσκευές του, παρόμοιος με το
/proc.
- Ένας εικονικός κατάλογος που παρέχει πληροφορίες σχετικά με το σύστημα και τις συσκευές του, παρόμοιος με το
/tmp:
- Χρησιμοποιείται για προσωρινά αρχεία που μπορεί να διαγραφούν κατά την επανεκκίνηση του συστήματος.
/usr:
- Περιέχει δεδομένα που είναι κοινά για όλους τους χρήστες, όπως εφαρμογές, βιβλιοθήκες και έγγραφα. Υποκατάλογοι περιλαμβάνουν:
- /usr/bin: Εκτελέσιμα αρχεία για εφαρμογές.
- /usr/lib: Βιβλιοθήκες για εφαρμογές.
- /usr/share: Κοινά δεδομένα, όπως έγγραφα και εικόνες.
/var:
- Περιέχει μεταβλητά δεδομένα, όπως αρχεία καταγραφής (logs), βάσεις δεδομένων και αρχεία που συχνά αλλάζουν μέγεθος.
1.2.6 Εγκατάσταση
Η εγκατάσταση του Linux είναι μια διαδικασία που μπορεί να γίνει εύκολα, ακολουθώντας μερικά βήματα. Οι χρήστες μπορούν να δοκιμάσουν μια διανομή μέσω ενός Live USB ή CD πριν από την εγκατάσταση, ώστε να δουν αν τους ταιριάζει. Επίσης, είναι δυνατή η εγκατάσταση του Linux σε διπλή εκκίνηση (dual boot) με Windows, επιτρέποντας στους χρήστες να επιλέγουν ποιο λειτουργικό σύστημα θα χρησιμοποιήσουν κατά την εκκίνηση του υπολογιστή.
1.2.7 Βασικές εντολές του τερματικού (Terminal)
Το τερματικό είναι ένα ισχυρό εργαλείο στο Linux που επιτρέπει στους χρήστες να αλληλεπιδρούν με το σύστημα μέσω εντολών. Ορισμένες βασικές εντολές περιλαμβάνουν το ls για την εμφάνιση περιεχομένων φακέλων, το cd για την πλοήγηση στους φακέλους, και το cp, mv, rm, και mkdir για τη διαχείριση αρχείων και φακέλων. Η εντολή man μπορεί να χρησιμοποιηθεί για να αποκτήσουν βοήθεια σχετικά με άλλες εντολές. Περισσότερα στο άρθρο Basic sysadmin commands
1.2.8 Διαχείριση πακέτων
Η διαχείριση πακέτων είναι μια σημαντική πτυχή του Linux, καθώς επιτρέπει στους χρήστες να εγκαθιστούν και να απεγκαθιστούν λογισμικό εύκολα. Κάθε διανομή έχει το δικό της σύστημα διαχείρισης πακέτων, όπως το apt για το Debian/Ubuntu και το dnf για το Fedora. Οι χρήστες μπορούν επίσης να ενημερώνουν το σύστημα τους με απλές εντολές.
1.2.9 Ασφάλεια και δικαιώματα
Η ασφάλεια είναι κρίσιμη στο Linux, και οι χρήστες πρέπει να κατανοήσουν τα δικαιώματα χρηστών και ομάδων. Η χρήση του sudo επιτρέπει στους χρήστες να εκτελούν εντολές με δικαιώματα διαχειριστή, ενώ η κατανόηση του χρήστη root είναι επίσης σημαντική. Οι βασικές πρακτικές ασφαλείας περιλαμβάνουν την τακτική ενημέρωση του συστήματος και την προσεκτική διαχείριση των δικαιωμάτων. Μια αναλυτικότερη προσέγγιση αναφορικά με τα δικαιώματα στο Linux περιγράφεται παρακάτω στο κεφάλαιο Linux Permissions.
1.2.10 Κοινότητα και υποστήριξη
Η κοινότητα του Linux είναι μια από τις πιο δυναμικές και υποστηρικτικές, αποτελώντας κρίσιμο πόρο για κάθε χρήστη, ιδιαίτερα σε τεχνικά εγχειρήματα. Υπάρχουν πολλές πηγές για βοήθεια, όπως φόρουμ, IRC και ιστοσελίδες όπως το Reddit.
Η παρακάτω παράθεση πηγών και συνδέσμων υποστήριξης έχει ενσωματωθεί στη διεπαφή χρήστη (UI) χρησιμοποιώντας την προσαρμοσμένη κλάση print-hidden-div. Ακολουθούν τρεις από τις πιο γνωστές πηγές βοήθειας για την κοινότητα του Linux σε κάθε κατηγορία, μαζί με τα αντίστοιχα links:
1.2.10.1 Φόρουμ
- Γενικά για Linux:
- Επίσημο φόρουμ: LinuxQuestions.org - Ubuntu:
- Επίσημο φόρουμ: Ubuntu Forums
- Κοινότητα: Ask Ubuntu - Arch Linux:
- Επίσημο φόρουμ: Arch Linux Forums
- Κοινότητα: Arch Wiki
1.2.10.2 IRC
Για την είσοδό σας στο Chat ακολουθήστε το σύνδεσμο https://web.libera.chat/ στο πεδίο Ψευδώνυμο πληκτρολογήστε ένα ψευδώνυμο της επιλογής σας ή αφήστε την προεπιλογή και στο πεδίο Κανάλι ένα από τα #ubuntu,
#archlinux, #linux, για να εισέλθετε αυτόματα χωρίς κωδικό, στο κανάλι της επιλογής σας. Το IRC (Internet Relay Chat) είναι ένα παλαιότερο, αλλά ακόμα ενεργό, σύστημα ανταλλαγής μηνυμάτων σε πραγματικό χρόνο, ιδανικό για άμεση επικοινωνία και υποστήριξη από την κοινότητα.