Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο 1, 2 κα ι 3
Εκπαιδευτικές Τεχνικές Εισήγηση/ Εμπλουτισμ ένη με Ερωτήσεις- Απαντήσεις Καταιγισμό Ερωτήσεων/ Συζήτηση/ Σύνθεση απόψεων
Περιεχόμενα Χρήστες και Δικαιώματα ΕγκατάστασηVM Linux
Κέλυφος Φάκελοι και Αρχεία Χρήστες- Δικαιώματα Αποθηκευτικά Μέσα Βοηθητικές Εντολές Shell Scripting Εγκατάσταση Linux Εκκίνηση- Αρχικοποίηση
Βασικές Έννοιες για το Κέλυφος του LINUX Βασικές Έννοιες Γραμμή Εντολών Γραμμής εντολών bash (Bourne) tcsh (εμπλουτισμένο κέλυφος C) csh (κέλυφος C), κ.λπ. Το σύνολο των αρχείων και των καταλόγων αποτελούν το σύστημα αρχείων (file system) Προτρεπτικό «σήμα» (προσοχή στη συνέχεια θα χρειαστεί να ελέγχετε σε ποιο σύστημα είστε συνδεδεμένοι) [prompt]$
Ερώτηση Τι είναι το κέλυφος; Βασικές Έννοιες Γραμμή Εντολών Ποιούς τύπους κελυφών γνωρίζετε; Ποια κελύφη χρησιμοποιούμε συνήθως;
Γραμμή Εντολών Βασικές Έννοιες Γραμμή Εντολών <εντολή> <επιλογές> <ορίσματα> <επιλογές> Μεμονωμένα γράμματα Προηγείται μια παύλα - Συνδυασμός ή διαχωρισμός (π.χ. -al = -a -l) <ορίσματα>, συχνά ονόματα αρχείων Κενά μεταξύ εντολών, επιλογών και ορισμάτων
Κέλυφος Φάκελοι και Αρχεία Χρήστες- Δικαιώματα Αποθηκευτικά Μέσα Βοηθητικές Εντολές Shell Scripting Εγκατάσταση Linux Εκκίνηση- Αρχικοποίηση
Βασικές έννοιες Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης Φάκελοι (folder ή directory) Γονικός φάκελος (parent folder) / «ριζικός» φάκελος (root folder) Το σύνολο των αρχείων και των καταλόγων αποτελούν το σύστημα αρχείων (file system) / bin etc home tmp usr stus2001 stud2002 bin etc username username
Ιδιαιτερότητες του LINUX Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης Σε αντίθεση με τα Windows, οι καταλήξεις των ονομάτων των αρχείων και των φακέλων δεν παίζουν κανένα ρόλο Έτσι υπάρχουν ονόματα φακέλων που να περιέχουν τελεία (.), όπως /etc/init.d/ Το Linux είναι case sensitive δηλαδή τα πεζά/κεφαλαία γράμματα έχουν διαφορά και σημασία Είναι το /etc/init.d ίδιο με το /etc/init.d;
Αποδεκτά ονόματα και μεγέθη ονομάτων Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης Αποδεκτοί χαρακτήρες ονομάτων φακέλων και αρχείων Λατινικοί χαρακτήρες Ελληνικοί χαρακτήρες Σημεία στίξης Αριθμοί, κ.λπ. εκτός από τον χαρακτήρα "/" (γιατί;;;) Μέγεθος ονομάτων αρχείων και καταλόγων μέχρι 255 χαρακτήρες
Προτιμότεροι χαρακτήρες a-z, A-Z Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης 0-9 ".", "_", ",", "-", "+".
Διαδρομές (Paths) Απόλυτες Σχετικές / bin etc home tmp usr Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης stud2001 stud2001 bin etc username X /usr/bin/ /home/stud/username
Εμφάνισης περιεχομένου Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης ls- εμφανίζει τα ονόματα των αρχείων και των φακέλων Γενική σύνταξη ls <επιλογές> <διαδρομή_ή_όνομα_αρχείου>. (τελεία).. (δυο τελείες) ~ ls ls.. (ποια περιεχόμενα επιστρέφει) ls /usr ls home/ (σε ποιο φάκελο βρίσκεστε και τι υποδηλώνει η κάθετος στο τέλος του ορίσματος) ls tmp ls -al /usr/bin
Μετακίνηση σε Φακέλους Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης cd (change directory)- αλλαγή φακέλου εργασίας Η γενική σύνταξη: cd <επιλογές> <διαδρομή> path- μπορεί να είναι σχετικό ή απόλυτο cd /usr cd / cd.. cd../etc
Εμφάνιση Τρέχοντος Φακέλου pwd (print working directory)- εμφάνιση τρέχοντος φακέλου εργασίας Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης
Δημιουργία-Μετακίνηση-Διαγραφή Φακέλων και Αρχείων Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης mkdir (make directory)- δημιουργία φακέλου Χρήση σχετικών ή απόλυτων διαδρομών rmdir <διαδρομή> mv (move)- μετακίνηση φακέλου (ή αρχείου) mv <πηγή> <προορισμός> rm (remove)- διαγραφή φακέλου (ή αρχείου) -r, διαγράφει φακέλους με περιεχόμενο Για αρχεία μπορεί να χρησιμοποιηθεί το όνομα αρχείου, οι χαρακτήρες μπαλαντέρ (παραλείπεται το r) rm r <διαδρομή>
Αντιγραφή Φακέλων και Αρχείων- Εμφάνιση του Δένδρου των Φακέλων cp (copy)- αντιγραφή περιεχομένου Χρήση σχετικών ή απόλυτων διαδρομών Για αρχεία μπορεί να χρησιμοποιηθεί το όνομα αρχείου, οι χαρακτήρες μπαλαντέρ cp <πηγή> <προορισμός> Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης pstree- εμφάνιση του δένδρου των φακέλου στο σύστημα pstree
Διαχείριση Αρχείων Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης less- εμφανίζει το περιεχόμενο ενός αρχείου στην οθόνη (χωρίς δυνατότητα διαχείρισής του) less <όνομα_αρχείου> more- εμφανίζει (επίσης) περιεχόμενα ενός αρχείου ανά σελίδες more <όνομα_αρχείου> cat- συνενώνει αρχεία παρουσιάζοντας το αποτέλεσμα cat <όνομα_αρχείου_1> <όνομα_αρχείου_2> <όνομα_αρχείου_n>
Διαχείριση Αρχείων Βασικές Έννοιες Ιδιαιτερότητες Linux Σημειογραφία Διαδρομές Εντολές Διαχείρισης diff- εμφανίζει τις διαφορές μεταξύ δύο αρχείων diff <όνομα_αρχείου_1> <όνομα_αρχείου_2> head- εμφανίζει τις πρώτες 10 γραμμές ενός αρχείου head f <όνομα_αρχείου> tail- εμφανίζει τις τελευταίες 10 γραμμές ενός αρχείου Χρήσεις!!! tail f <όνομα_αρχείου>
Κέλυφος Φάκελοι και Αρχεία Χρήστες- Δικαιώματα Αποθηκευτικά Μέσα Βοηθητικές Εντολές Shell Scripting Εγκατάσταση Linux Εκκίνηση- Αρχικοποίηση
Κατηγορίες Χρηστών Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη Κάθε αρχείο ή φάκελος ανήκει σε ένα χρήστη-ιδιοκτήτη (owner). Ο ιδιοκτήτης ανήκει σε μια ομάδα χρηστών (group) Και υπάρχουν όλοι οι άλλοι χρήστες (others)
Τύποι Δικαιωμάτων Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη Διακρίνονται σε: Ανάγνωσης- Read, συντομογραφία r Εγγραφής- Write, συντομογραφία w Εκτέλεσης- Execute, συντομογραφία x Κάθε κατηγορία χρηστών χαρακτηρίζεται και από τις τρεις κατηγορίες δικαιωμάτων Κάθε αρχείο ή φάκελος έχει ένα σύνολο αδειών πρόσβασης (permissions) που καθορίζουν ποια δικαιώματα έχει και ποιος
Αποτέλεσμα της Χρήσης Δικαιωμάτων Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη Δικαίωμα Για αρχείο Για φάκελο r (read) w (write) Ανάγνωση- Εκτύπωση Τροποποίηση- Διαγραφή Τα περιεχόμενα μπορούν να εμφανισθούν, χωρίς να γίνεται αναζήτηση Προσθήκη- Αφαίρεση αρχεία εντός του φακέλου x (execute) Εκτέλεση για εκτελέσιμα αρχεία Δυνατότητα αναζήτησης περιεχομένου, ενώ μπορεί να γίνει τρέχον φάκελος εργασίας
Εμφάνιση Δικαιωμάτων Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη Εμφάνιση πληροφοριών με την: owner group OwnerGroupOthers ls l -r-xr-xr-x 3 username students 12678 Jan 2 2008 myprogram.c drwxr-xr-x 5 username students 32515 Jan 8 2008 /public_html/ lrwxr-xr-x 5 username students 32515 Jan 8 2008 /public_html/ Object type (file, directory, symbolic link)
Εύρεση Δικαιώματα Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη Αύξουσα Αρίθμηση r w x 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1
Αλλαγή Δικαιωμάτων Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη chmod- αλλάζει τα δικαιώματα αρχείου ή φακέλου Γενική σύνταξη chmod <δικαιώματα> <αρχείο ή φάκελος> Τα <δικαιώματα> μπορούν να δηλωθούν με δύο τρόπους: <ugoa><+-=><rwx>, όπου <ugoa> είναι ένα από τα u=user(owner), g=group, o=other, a=all <+-=> είναι ένα από τα + προσθήκη, - αφαίρεση, = τοποθέτηση chmod xyz <όνομα_αρχείου>, όπου x, y, z είναι ακέραιος αριθμός που καθορίζει τα δικαιώματα ανά κατηγορία χρηστών
Άσκηση στα Δικαιώματα Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη Τι γίνεται με την εκτέλεση των εντολών: chmod 735 <όνομα_αρχείου> chmod g+wr <όνομα_αρχείου> chmod o+rx <όνομα_αρχείου> chmod u+x <όνομα_αρχείου> chmod o-r <όνομα_φακέλου> chmod go-rwx <όνομα_αρχείου> chmod g-wx <όνομα_αρχείου>
Προσθήκη Ομάδας Χρηστών groupadd- δημιουργεί μια νέα ομάδα χρηστών Γενική σύνταξη (απλοποιημένη μορφή) groupadd <όνομα_ομάδας_χρηστών> Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη
Αλλαγή Ιδιοκτήτη και Ομάδας Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη chown- αλλαγή ιδιοκτήτη και ομάδα για αρχείο ή φάκελο Γενική σύνταξη chown <ιδιοκτήτης>:<ομάδα> <όνομα_πόρου> Παράδειγμα Στο αρχείο που ακολουθεί: -r-xr-xr-x 3 muser stud2001 12678 Jan 2 2008 myprogram.c Ορίστε ως ιδιοκτήτη τον usern από την ομάδα stud2011 chown usern:stud2011 myprogra.c
Δημιουργία Νέου Χρήστη Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη useradd, προσθέτει νέο χρήστη useradd -m -G <ομάδα_χρηστών> -s /bin/bash <username> m, δημιουργεί το home directory G, χρειάζεται για να οριστεί η ομάδα χρηστών s, ακολουθεί το κέλυφος στο οποίο έχει δικαίωμα εισαγωγής (login) ο χρήστης
Ορισμός και Αλλαγή Κωδικού Πρόσβασης Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη passwd- ορίζει ή αλλάζει τον κωδικό πρόσβασης (password) του χρήστη Κάθε απλός χρήστης θα πρέπει να πληκτρολογήσει μια φορά τον παλιό κωδικό και δύο φορές τον καινούριο passwd Ο root πληκτρολογεί μόνο τον καινούριο δύο φορές passwd <όνομα_χρήστη>
Εναλλαγή Χρηστών Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη su- είναι συνήθως o πιο απλός και βολικός τρόπος για να αλλάξει το ιδιοκτησιακό καθεστώς της εισόδου μιας συνόδου του διαχειριστή ή οποιουδήποτε άλλου χρήστη su - <όνομα χρήστη>
Έλεγχος Συνδεδεμένων Χρηστών και Ταυτότητας Χρήστη who, εμφανίζει τους συνδεδεμένους χρήστες στο σύστημα whoami, εμφανίζει ποιος χρήστης είναι αυτός που την εκτελεί Κατηγορίες Χρηστών Δικαιώματα Προσθήκη Χρήστη Λειτουργίες Χρήστη
Κέλυφος Φάκελοι και Αρχεία Χρήστες- Δικαιώματα Αποθηκευτικά Μέσα Βοηθητικές Εντολές Shell Scripting Εγκατάσταση Linux Εκκίνηση- Αρχικοποίηση
Σκληροί Δίσκοι LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Στο κατώτερο επίπεδο υπάρχουν οι σκληροί δίσκοι (φυσικό μέσο αποθήκευσης) Για ευκολία υποθέτουμε ότι στο σύστημα υπάρχουν τέσσερις δίσκοι SATA, με device files τα /dev/sda, /dev/sdb, /dev/sdc και /dev/sdd. Σκληροί Δίσκοι /dev/sda /dev/sdb /dev/sdc /dev/sdd
Διαμερίσματα (partitions) LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Ένα επίπεδο πιο πάνω βρίσκονται τα partitions Για απλότητας κάθε δίσκος έχει ένα partition με μέγεθος ακριβώς ίσο προς τη χωρητικότητά του Device files των partitions: /dev/sda1, /dev/sdb1, /dev/sdc1 και /dev/sdd1. Διαμερίσματα (Partitions) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Σκληροί Δίσκοι /dev/sda /dev/sdb /dev/sdc /dev/sdd
Physical Volumes (PVs) Το LVM κάθε partition θεωρείται ως ένας φυσικός τόμος ή αλλιώς Physical Volume (PV) LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Physical Volumes (PVs) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Διαμερίσματα (Partitions) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Σκληροί Δίσκοι /dev/sda /dev/sdb /dev/sdc /dev/sdd
Volume Groups (VGs) Ένα ή περισσότερα PVs συγκροτούν μια ομάδα τόμων ή αλλιώς Volume Group (VG) Μπορούν να υπάρχουν περισσότερα VG Κάθε VG έχει ένα όνομα (π.χ. datavg) Volume Group (VG) datavg LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Physical Volumes (PVs) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Διαμερίσματα (Partitions) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Σκληροί Δίσκοι /dev/sda /dev/sdb /dev/sdc /dev/sdd
Logical Volumes (LGs) Logical Volumes (LGs) Volume Group (VG) /dev/datavg/videolv /dev/datavg/audiolv /dev/datavg/picslv /dev/datavg/backuplv datavg LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Physical Volumes (PVs) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Διαμερίσματα (Partitions) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Σκληροί Δίσκοι /dev/sda /dev/sdb /dev/sdc /dev/sdd
Mountpoints & Filesystems Κάθε LV διαμορφώνεται (φορμάρεται) σε κάποιο filesystem της επιλογής του διαχειριστή (π.χ., Ext3, Ext4, JFS κ.λπ.) και προσαρτάται κάτω από ένα mountpoint Mountpoints & Filesystems Logical Volumes (LGs) /mnt/video (Ext4FS) /mnt/audio (Ext4FS) /mnt/pics (Ext4FS) /mnt/backup (Ext4FS) /dev/datavg/videolv /dev/datavg/audiolv /dev/datavg/picslv /dev/datavg/backuplv Volume Group (VG) datavg LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Physical Volumes (PVs) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Διαμερίσματα (Partitions) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Σκληροί Δίσκοι /dev/sda /dev/sdb /dev/sdc /dev/sdd
Ελεύθερος Χώρος- Δυναμική Μεταβολή Αφήνοντας ελεύθερο χώρο, υπάρχει μελλοντικά η ευχέρεια να μεγαλώσει- δυναμικά- ένα ή περισσότερα από τα LVs Mountpoints & Filesystems Logical Volumes (LGs) /mnt/video (Ext4FS) /mnt/audio (Ext4FS) /mnt/pics (Ext4FS) /mnt/backup (Ext4FS) /dev/datavg/videolv /dev/datavg/audiolv /dev/datavg/picslv /dev/datavg/backuplv Ελεύθερος Χώρος Volume Group (VG) datavg LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Physical Volumes (PVs) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Διαμερίσματα (Partitions) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Σκληροί Δίσκοι /dev/sda /dev/sdb /dev/sdc /dev/sdd
Ευελιξία Logical Volume Manager (LVM) LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Προϋπόθεση για την επιτυχή αντικατάσταση ενός PV μ ένα μεγαλύτερο είναι τα περιεχόμενά του να χωράνε σε άλλα PV Δυνατότητα αντικατάστασης ενός μικρού PV (ουσιαστικά ενός μικρού δίσκου) με μεγαλύτερο PV (μεγαλύτερο δίσκο) Μεγαλύτερο VG Συνεπώς αφού μεγάλωσε ένα ή περισσότερα από τα LV Διατίθεται περισσότερος αποθηκευτικός χώρος στους χρήστες
Ευελιξία αλλά Αν-ασφάλεια LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Εάν ένα Volume Group με k πλήθος Physical Volumes (φυσικούς δίσκους), τότε η πιθανότητα να χαθούν τα δεδομένα από αστοχία υλικού είναι k φορές μεγαλύτερη από την πιθανότητα να σε έναν μόνο δίσκο Ευτυχώς, το LVM υποστηρίζει την προσθήκη PVs τα οποία στην πραγματικότητα είναι συστοιχίες RAID 1
RAID 1 Mountpoints & Filesystems Logical Volumes (LGs) Volume Group (VG) /mnt/video (Ext4FS) /mnt/audio (Ext4FS) /mnt/pics (Ext4FS) datavg /mnt/backup (Ext4FS) /dev/datavg/videolv /dev/datavg/audiolv /dev/datavg/picslv /dev/datavg/backuplv Ελεύθερος Χώρος LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Physical Volumes (PVs) /dev/md0 /dev/md1 RAID 1 Arrays /dev/md0 /dev/md1 Διαμερίσματα (Partitions) /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Σκληροί Δίσκοι /dev/sda /dev/sdb /dev/sdc /dev/sdd
Ονοματοθεσία Συσκευών στο LINUX LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Όνομα fd<x> hd<y> hd<y><x> sd<y> sd<y><x> sr<x> ttys<x> Περιγραφή, όπου <x> ακέραιος αριθμός με έναρξη από το 0, που υποδεικνύει τον αύξοντα αριθμό συσκευής δισκέτας, π.χ. fd0 η πρώτη συσκευή δισκέτας, fd1 η δεύτερη, κ.ο.κ., όπου <y> πεζός λατινικός χαρακτήρας με έναρξη από το a, υποδεικνύει αύξοντα αριθμό σκληρού δίσκου IDE/CD-ROM, π.χ. hda σκληρός δίσκος στην πρώτη θύρα IDE (πρωτεύων), κ.λπ., υποδεικνύει τμήμα του σκληρό δίσκο IDE, π.χ. hda1 το πρώτο τμήμα στον πρώτο σκληρό δίσκο IDE, hdd3 το τρίτο τμήμα στον τέταρτο σκληρό δίσκο IDE, πρόκειται για την ίδια σημειογραφία αλλά για σκληρούς δίσκους SCSI SCSI CD-ROM Σειριακή θύρα
Ονοματοθεσία Συσκευών στο LINUX LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Τα ειδικά αρχεία μπορεί να βρίσκονται στον κατάλογο /dev Τα αρχεία αυτά λέγονται αρχεία συσκευών και δεν συμπεριφέρονται όπως τα συνηθισμένα αρχεία Τα αρχεία αυτά είναι διεπαφές για τον πραγματικό οδηγό (μέρος του πυρήνα του Linux) που με την σειρά του έχει την πρόσβαση στο αντίστοιχο υλικό
Ερωτήσεις στην Ονοματοθεσία Συσκευών LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Ποια συσκευή απεικονίζουν οι ακόλουθες σημειογραφίες: 1. hdc 2. hdd15 3. sdc 4. sda10 5. sr1 6. ttys1;
Θέση των Δεδομένων στο Δίσκο LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων Block Track/ Cylinder Α ρ χ ε ί ο Sector
Δέσμευση Χώρου για Αποθήκευση 512KB 512KB Αποθήκευση Αρχείου π.χ. Μέγεθος 2638KB LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων σε Sectors π.χ. Μέγεθος 512KB
Δέσμευση Χώρου για Αποθήκευση 010101 0101010101 0101010101 0101010101 N blocks στο δίσκο size=512 LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων
Κατανομή Δεδομένων στο Δίσκο Superblock Type: ext3 Size: 15 Filetable: @2 Filetable File1: @ 3 File2: @ 7 File3: @10 File4: @11 File1 Blocks: 4 Time: 5/10/2011 Owner: user_x Data: 01010101 1010010101010 1010010101010 10100101... Data: 01010101 0101001010101 0101001010101 010100101... LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων 010100101... File2 Blocks: 8,9,15 Time: 1/10/2011 Owner: user_y Data: 01010101 0101001010101 0101001010101 010100101... 010100101... File3 Blocks: 5 Time: 1/10/2011 Owner: user_z File4 Blocks: 12 Time: 1/10/2011 Owner: user_w Data: 01010101 0101001010101 0101001010101 010100101... 010100101... 010100101... 010100101...
Διαγραφή Δεδομένων από το Δίσκο Superblock Type: ext3 Size: 15 Filetable: @2 Filetable File1: @ 3 File3: @10 File4: @11 File1 Blocks: 4 Time: 5/10/2011 Owner: user_x Data: 01010101 1010010101010 1010010101010 10100101... Data: 01010101 0101001010101 0101001010101 010100101... LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων 010100101... File2 Blocks: 8,9,15 Time: 1/10/2011 Owner: user_y Data: 01010101 0101001010101 0101001010101 010100101... 010100101... File3 Blocks: 5 Time: 1/10/2011 Owner: user_z File4 Blocks: 12 Time: 1/10/2011 Owner: user_w Data: 01010101 0101001010101 0101001010101 010100101... 010100101... 010100101... 010100101...
Προσθήκη Δεδομένων στο Δίσκο Superblock Type: ext3 Size: 15 Filetable: @2 Filetable File1: @ 3 File3: @10 File4: @11 File5: @6 File1 Blocks: 4 Time: 5/10/2011 Owner: user_x Data: 01010101 1010010101010 1010010101010 10100101... Data: 01010101 0101001010101 0101001010101 010100101... LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων File5 Blocks: 7 Time: 1/10/2011 Owner: user_y Data: 01010101 0101001010101 0101001010101 010100101... Data: 01010101 0101001010101 0101001010101 010100101... 010100101... File3 Blocks: 5 Time: 1/10/2011 Owner: user_z File4 Blocks: 12 Time: 1/10/2011 Owner: user_w Data: 01010101 0101001010101 0101001010101 010100101... 010100101... 010100101... 010100101...
Ανάγνωση Αρχείων. / a.out f i l e (, ό π ο υ τ ο f i l e - / d e v / d i s k ) code.c:open(file); LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων l i bc:open(file); s a t a - d r v - > e x t 4 - > k e r n e l r e t u r n ( f i l e ) ; s y s _ o p e n ( f i l e ) ; k e r n e l - > e x t 4 - > s a t a - d r v Σκληρός Δίσκος
Ιδεατή Μνήμη Swap LVM Ονοματοθεσία Μέσων Λειτουργίες Δίσκων
Κέλυφος Φάκελοι και Αρχεία Χρήστες- Δικαιώματα Αποθηκευτικά Μέσα Βοηθητικές Εντολές Shell Scripting Εγκατάσταση Linux Εκκίνηση- Αρχικοποίηση
Διεργασίες Systemd Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία Δαίμονας διαχείρισης του συστήματος Έχει σχεδιαστεί για τον πυρήνα του Linux API Είναι η πρώτη διαδικασία που εκτελείται στο χώρο του χρήστη κατά τη διάρκεια της διαδικασίας εκκίνησης του Linux Ως εκ τούτου, είναι η μητρική διαδικασία όλων των διαδικασιών (Το γράμμα d στο όνομα κάνει τη διάκριση των διεργασιών/δαιμόνων πιο εύκολη)
Διεργασίες Upstart Δαίμονας διαχείρισης των διεργασιών Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία Αποτελεί μια αντικατάσταση βάσει γεγονότων για τον παραδοσιακό δαίμονα init Λειτουργεί ασύγχρονα και χειρίζεται την έναρξη των διεργασιών και των υπηρεσιών κατά την εκκίνηση και τη διακοπή τους κατά τη διάρκεια του τερματισμού λειτουργίας Εποπτεύει επίσης τα καθήκοντα και τις υπηρεσίες, όταν το σύστημα βρίσκεται σε λειτουργία
Διαχείριση Διεργασιών Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία ps- εμφανίζει μια αναφορά για τις τρέχουσες ενεργές διεργασίες που εκτελούνται, π.χ. ps -ef, εμφανίζει όλες τις διεργασίες (e) σε μορφή πλήρους λίστας (f) UID PID PPID C STIME TTY TIME CMD root 6298 5919 0 Apr08? 00:00:00 sshd: prtpppa [priv] named 8328 1 2 Apr01? 06:04:01 /usr/sbin/named -u named postfix 15145 6003 0 07:37? 00:00:00 pickup -l -t fifo -u root 17668 2 0 09:01? 00:00:00 [flush-253:2] root 21726 5919 0 Apr07? 00:00:00 sshd: logdnd [priv] root 29139 5919 0 Apr03? 00:00:00 sshd: ppgoto [priv] pgrep ή pkill- ελέγχει τις διεργασίες ή στέλνουν ένα «σήμα», βασισμένες στο όνομα ή άλλα χαρακτηριστικά
Διαχείριση Διεργασιών kill- τερματίζει μια διεργασία σύμφωνα με το PID Γενική βασική σύνταξη kill <PID> Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία pstree- εμφανίζει ένα δένδρο των διεργασιών
Βοήθεια και Αναζήτηση Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία man <εντολή>- οδηγίες σύνταξης των εντολών locate, συχνά ο απλούστερος και ταχύτερος τρόπος για να βρεθεί η τοποθεσία των αρχείων και των φακέλων Γενική βασική σύνταξη locate <επιλογές> <ονομασία> Χωρίς επιλογές εμφανίζει κάθε απόλυτη διαδρομή για την οποία ο χρήστης έχει δικαιώματα πρόσβασης που περιέχει οποιοδήποτε από τα ονόματα των αρχείων ή/και καταλόγων που καθορίζονται στην <ονομασία>
Βοήθεια και Αναζήτηση Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία find, εντοπίζει αρχεία τα οποία αναζητεί οποιοδήποτε σύνολο καταλόγων καθορίζετε και ταιριάζουν με τα κριτήρια που παρέχονται Μπορεί να αναζητήσει αρχεία με βάση το όνομα, τον ιδιοκτήτη, την ομάδα, τον τύπο, τα δικαιώματα, την ημερομηνία, και άλλα κριτήρια. Είναι επαναληπτική και αναζητεί όλους τους υποκαταλόγους. Γενική σύνταξη find <τοποθεσία αναζήτησης> <κριτήρια> <τι να πράξει> exit, έξοδος από το σύστημα
Φίλτρα grep, είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών για την αναζήτηση συνόλων δεδομένων απλού κειμένου για τις γραμμές που ταιριάζουν μια κανονική έκφραση Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία
Αποθηκευτικών Μέσων df, αναφέρει το χώρο στο δίσκο που χρησιμοποιείται από τα συστήματα αρχείων (η επιλογή h εμφανίζει σε πιο ευανάγνωστη μορφή το αποτέλεσμα) Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία Filesystem 1K-blocks Used Available Use% Mounted on /dev/loop0 18761008 15246876 2554440 86% / none 4 0 4 0% /sys/fs/cgroup udev 493812 4 493808 1% /dev tmpfs 100672 1364 99308 2% /run none 5120 0 5120 0% /run/lock none 503352 1764 501588 1% /run/shm none 102400 20 102380 1% /run/user /dev/sda3 174766076 164417964 10348112 95% /host
Αποθηκευτικών Μέσων Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία du, εκτιμά το χώρο που καταλαμβάνει ένα αρχείο κάτω από ένα συγκεκριμένο κατάλογο ή τα αρχεία σε ένα σύστημα αρχείων 1340./.mozilla/firefox/m5a43eqr.default 1348./.mozilla/firefox 1352./.mozilla 4./.Trash 37332./.spamassassin 4./.eggcups 4./.gnome2_private 16./.metacity/sessions 20./.metacity 12./public_html
Προσάρτηση Συστημάτων Αρχείων Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία mount, προσαρτά (εγκαθιστά) συστήματα αρχείων (ή συσκευών) Γενική βασική σύνταξη: mount Device MountPoint Device, ένα υπάρχον όνομα συσκευής (βλ. ονοματοθεσία αποθηκευτικών μέσων) MountPoint, ένας υπάρχον κατάλογος στον οποίο προσαρτάται το σύστημα αρχείων umount, αποπροσαρτά ένα σύστημα αρχείων (ή συσκευών) umount MountPoint
Pipes >, ανακατευθύνει την έξοδο μιας εντολής σε ένα αρχείο (αν υπάρχει το αρχείο, θα διαγραφεί και θα αντικατασταθεί χωρίς προειδοποίηση) ps -ax >processes.txt Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία >>, προσθέτει την έξοδο σε υπάρχον αρχείο umount MountPoint, μεταφέρει την έξοδο από την εκτέλεση μιας εντολής σε μιαν άλλη για περαιτέρω επεξεργασία από τη νέα εντολή ps -ax grep Finder
Επεξεργασία Κειμένου- vi Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία vi <file name>- Ανοίγει ή/και δημιουργεί ένα αρχείο :q- Έξοδος χωρίς αποθήκευση :wq- Έξοδος με αποθήκευση :q!- Έξοδος χωρίς προτροπή για αποθήκευση a- Προσθέτει κείμενο μετά την τρέχουσα θέση του cursor i- Εισάγει κείμενο πριν την τρέχουσα θέση του cursor o- Ανοίγει και προσθέτει μια καινούργια γραμμή κάτω από την τρέχουσα γραμμή (άσχετα από τη θέση του cursor στην τρέχουσα γραμμή)
Ειδικά Αρχεία Χρηστών Διεργασιών Βοήθειας και Αναζήτησης Φίλτρα Αποθηκευτικών Μέσων Προσάρτησης Pipes Επεξεργασία Κειμένου Ειδικά Αρχεία password file (/etc/passwd) 1. Username 2. Password 3. User ID (UID) 4. Group ID (GID) 5. User ID Info 6. Home directory 7. Command/shell (/bin/bash) shadow (/etc/shadow) smithj:ep6mckrolchf.:10063:0:99999:7:::
Κέλυφος Φάκελοι και Αρχεία Χρήστες- Δικαιώματα Αποθηκευτικά Μέσα Βοηθητικές Εντολές Shell Scripting Εγκατάσταση Linux Εκκίνηση- Αρχικοποίηση
Εισαγωγή Ένα shell script είναι μια λίστα εντολών που τρέχουν ακολουθιακά Ξεκινάει με Παράδειγμα vim script1.sh #!/bin/bash Εισαγωγή Μεταβλητές Χρήστη Συνθήκες Παράδειγμα #!/bin/bash echo "hello, $USER. I wish to list some files of yours" echo "listing files in the current directory, $PWD" ls # list files To κάνουμε εκτελέσιμο και το εκτελούμε chmod u+x script1.sh./script1.sh USER και PWD είναι ειδικές μεταβλητές που παρέχει το σύστημα (με env εμφανίζονται όλες)
Μεταβλητές Χρήστη Μια μεταβλητή χρήστη ορίζεται ως X="hello" (προσοχή, χωρίς spaces) Χρησιμοποιείται (καλείται) ως $Χ Εισαγωγή Μεταβλητές Χρήστη Συνθήκες Παράδειγμα Παράδειγμα.bash_profile vim.bash_profile hname=`hostname` echo "Welcome on $hname. echo -e "Kernel Details: " `uname -smr` echo -e "`bash --version`" echo -ne "Uptime: "; uptime echo -ne "Server time : "; date Με backticks, μπορεί να τοποθετηθεί το αποτέλεσμα μιας εντολής σε μεταβλητή
Συνθήκες IF statements if [ condition ] then fi action Εισαγωγή Μεταβλητές Χρήστη Συνθήκες Παράδειγμα Loops #!/bin/bash for i in 1 2 3 4 5 do done echo "Welcome $i times"
Παράδειγμα Κέλυφος Εισαγωγή Μεταβλητές Χρήστη Συνθήκες Παράδειγμα Τι κάνει το παρακάτω script; #!/bin/bash FILES="$@ for f in $FILES do # if.bak backup file exists, read next file if [ -f ${f}.bak ] then echo "Skiping $f file... continue # read next file and skip cp command fi # no backup file exists, just use cp command to copy file /bin/cp $f $f.bak done
Κέλυφος Φάκελοι και Αρχεία Χρήστες- Δικαιώματα Αποθηκευτικά Μέσα Βοηθητικές Εντολές Shell Scripting Εγκατάσταση Linux Εκκίνηση- Αρχικοποίηση
Κέλυφος Φάκελοι και Αρχεία Χρήστες- Δικαιώματα Αποθηκευτικά Μέσα Βοηθητικές Εντολές Shell Scripting Εγκατάσταση Linux Εκκίνηση- Αρχικοποίηση
Εκκίνηση- Αρχικοποίηση Δυνατότητα παρέμβασης στα προγράμματα και τις ρυθμίσεις, ελέγχοντας την εκκίνηση και τον τερματισμό Ο Bootloader αναλαμβάνει τη διαχείριση της εκκίνησης του συστήματος Η CPU κοιτάζει στο τέλος της μνήμης συστήματος για το BIOS (παρέχει διεπαφή χαμηλού επιπέδου για τις περιφερειακές συσκευές και ελέγχει το πρώτο βήμα της εκκίνησης από το λειτουργικό) και το εκτελεί
Εκκίνηση- Αρχικοποίηση Η σειρά αναζήτησης οδηγών καθορίζεται στο BIOS και μπορεί να τροποποιηθεί από τον χρήστη πριν την εκκίνηση Αφού εγκατασταθεί το λειτουργικό στο σκληρό δίσκο, το BIOS αναζητά τη Κύρια Εγγραφή Εκκίνησης (Master Boot Record- MBR) που ξεκινά στο πρώτο τομέα του πρώτου δίσκου, φορτώνει τα περιεχόμενά της στη μνήμη, και περνά τον έλεγχο σε αυτή. Η MBR περιέχει εντολές για τον τρόπο φόρτωσης του φορτωτή εκκίνησης GRUB
Εκκίνηση- Αρχικοποίηση Στη συνέχεια η MBR φορτώνει τον φορτωτή εκκίνησης που συνεχίζει τη διαδικασία (συνήθως ο φορτωτής εκκίνησης είναι εγκατεστημένος και αυτός στην MBR) Το GRUB είτε εμφανίζει κάποιο μενού με επιλογές ή- μετά από μικρή αναμονή- συνεχίζει τη διαδικασία εκκίνησης Με βάση είτε τις επιλογές του μενού ή τις προκαθορισμένες επιλογές το λειτουργικό σύστημα ξεκινά, είτε γραφικά είτε από τη γραμμή εντολών, με βάση το αρχείο διαμόρφωσης