195
Περιεχόμενα Κεφάλαιο 1 - Εισαγωγή.......................................................................................... 6 1.Εισαγωγή............................................................................................................................. 6 2.Το λειτουργικό σύστημα Linux.................................................................................................... 6 3.Διανομές Linux....................................................................................................................... 6 4.Η διανομή Debian.................................................................................................................... 6 5.Εκδόσεις του Debian................................................................................................................ 6 6.Σχετικά με το βιβλίο.................................................................................................................6 Κεφάλαιο 2 - Πριν την εγκατάσταση..........................................................................7 1.Αναγνωρίστε το σύστημά σας......................................................................................................7 2.Απαραίτητες πληροφορίες......................................................................................................... 7 3.Περιφερειακά και συμβατότητα.................................................................................................. 10 4.Ελάχιστες απαιτήσεις.............................................................................................................. 11 5.Υλικό και Linux, διαφορές με Windows ......................................................................................... 11 6.Το Linux σε άλλες αρχιτεκτονικές ............................................................................................... 13 Κεφάλαιο 3 - Οργάνωση της Εγκατάστασης ................................................................ 16 1.Απόκτηση των μέσων εγκατάστασης ............................................................................................ 16 2.Αρχεία προς εγκατάσταση........................................................................................................ 17 3.Υποστήριξη συσκευών στην εγκατάσταση......................................................................................17 4.Σημεία εύρεσης των αρχείων εγκατάστασης................................................................................... 18 5.Δημιουργία δισκετών εγκατάστασης............................................................................................ 19 Σε σύστημα Linux/UNIX..................................................................................................... 19 Στα Windows.................................................................................................................. 20 Κεφάλαιο 4 - Εκκίνηση της εγκατάστασης .................................................................. 21 1.Εκκίνηση από CD-ROM............................................................................................................. 21 2.Εκκίνηση από δισκέτες............................................................................................................ 22 3.Εκκίνηση από σκληρό δίσκο σε περιβάλλον DOS ..............................................................................22 4.Τα πρώτα στάδια της εγκατάστασης............................................................................................ 23 5.Κεντρικό Μενού Εγκατάστασης του Debian GNU/Linux...................................................................... 24 6.Ρύθμιση του πληκτρολογίου...................................................................................................... 24 Κεφάλαιο 5 - Προχωρώντας την εγκατάσταση ............................................................. 25 1.Κατάτμηση του δίσκου.............................................................................................................25 2.Το δέντρο αρχείων του Debian GNU/Linux.................................................................................... 25 3.Συνιστώμενη κατάτμηση δίσκου................................................................................................. 27 4.Προετοιμασία δίσκου.............................................................................................................. 27 5.Εγκαινίαση και ενεργοποίηση διαμερίσματος Swap...........................................................................27 6.Αρχικοποίηση διαμερισματος για το Linux..................................................................................... 28 7.Ενεργοποίηση προ-αρχικοποιημένου τμήματος ................................................................................28 8.Εγκατάσταση Πυρήνα και Οδηγών συσκευών................................................................................. 29 NFS............................................................................................................................. 29 Network........................................................................................................................30 9.Ρύθμιση συσκευών PCMCIA....................................................................................................... 30 10.Ρύθμιση οδηγών συσκευών..................................................................................................... 30 11.Ρύθμιση Δικτύου.................................................................................................................. 31 12.Εγκατάσταση Βασικού συστήματος............................................................................................ 32 13.Ετοιμάζοντας το σύστημα για εκκίνηση ....................................................................................... 33 Κεφάλαιο 6 - Μετά την εγκατάσταση........................................................................34 1.Πρώτη εκκίνηση.................................................................................................................... 34 2.Ρυθμίζοντας το σύστημα για πρώτη φορά..................................................................................... 34 3.Ρύθμιση Ζώνης Ώρας.............................................................................................................. 34 4.Ρύθμιση κωδικών MD5............................................................................................................. 34 5.Κωδικοί Shadow.................................................................................................................... 34 6.Κωδικός χρήστη Root.............................................................................................................. 35 7.Δημιουργία ενός απλού χρήστη.................................................................................................. 35 8.Ρύθμιση σύνδεσης μέσω PPP..................................................................................................... 35 9.Απενεργοποίηση PCMCIA.......................................................................................................... 37 Debian Guide 1

Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

ΠεριεχόμεναΚεφάλαιο 1 - Εισαγωγή..........................................................................................6

1.Εισαγωγή............................................................................................................................. 62.Το λειτουργικό σύστημα Linux.................................................................................................... 63.Διανομές Linux....................................................................................................................... 64.Η διανομή Debian....................................................................................................................65.Εκδόσεις του Debian................................................................................................................ 66.Σχετικά με το βιβλίο.................................................................................................................6

Κεφάλαιο 2 - Πριν την εγκατάσταση..........................................................................71.Αναγνωρίστε το σύστημά σας......................................................................................................72.Απαραίτητες πληροφορίες......................................................................................................... 73.Περιφερειακά και συμβατότητα..................................................................................................104.Ελάχιστες απαιτήσεις.............................................................................................................. 115.Υλικό και Linux, διαφορές με Windows.........................................................................................116.Το Linux σε άλλες αρχιτεκτονικές............................................................................................... 13

Κεφάλαιο 3 - Οργάνωση της Εγκατάστασης................................................................161.Απόκτηση των μέσων εγκατάστασης............................................................................................162.Αρχεία προς εγκατάσταση........................................................................................................ 173.Υποστήριξη συσκευών στην εγκατάσταση......................................................................................174.Σημεία εύρεσης των αρχείων εγκατάστασης...................................................................................185.Δημιουργία δισκετών εγκατάστασης............................................................................................ 19

Σε σύστημα Linux/UNIX..................................................................................................... 19Στα Windows.................................................................................................................. 20

Κεφάλαιο 4 - Εκκίνηση της εγκατάστασης..................................................................211.Εκκίνηση από CD-ROM.............................................................................................................212.Εκκίνηση από δισκέτες............................................................................................................ 223.Εκκίνηση από σκληρό δίσκο σε περιβάλλον DOS..............................................................................224.Τα πρώτα στάδια της εγκατάστασης............................................................................................235.Κεντρικό Μενού Εγκατάστασης του Debian GNU/Linux...................................................................... 246.Ρύθμιση του πληκτρολογίου......................................................................................................24

Κεφάλαιο 5 - Προχωρώντας την εγκατάσταση.............................................................251.Κατάτμηση του δίσκου.............................................................................................................252.Το δέντρο αρχείων του Debian GNU/Linux.................................................................................... 253.Συνιστώμενη κατάτμηση δίσκου................................................................................................. 274.Προετοιμασία δίσκου.............................................................................................................. 275.Εγκαινίαση και ενεργοποίηση διαμερίσματος Swap...........................................................................276.Αρχικοποίηση διαμερισματος για το Linux..................................................................................... 287.Ενεργοποίηση προ-αρχικοποιημένου τμήματος................................................................................288.Εγκατάσταση Πυρήνα και Οδηγών συσκευών................................................................................. 29

NFS............................................................................................................................. 29Network........................................................................................................................30

9.Ρύθμιση συσκευών PCMCIA....................................................................................................... 3010.Ρύθμιση οδηγών συσκευών..................................................................................................... 3011.Ρύθμιση Δικτύου.................................................................................................................. 3112.Εγκατάσταση Βασικού συστήματος............................................................................................ 3213.Ετοιμάζοντας το σύστημα για εκκίνηση....................................................................................... 33

Κεφάλαιο 6 - Μετά την εγκατάσταση........................................................................341.Πρώτη εκκίνηση.................................................................................................................... 342.Ρυθμίζοντας το σύστημα για πρώτη φορά..................................................................................... 343.Ρύθμιση Ζώνης Ώρας.............................................................................................................. 344.Ρύθμιση κωδικών MD5.............................................................................................................345.Κωδικοί Shadow.................................................................................................................... 346.Κωδικός χρήστη Root..............................................................................................................357.Δημιουργία ενός απλού χρήστη.................................................................................................. 358.Ρύθμιση σύνδεσης μέσω PPP..................................................................................................... 359.Απενεργοποίηση PCMCIA..........................................................................................................37

Debian Guide 1

Page 2: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

10.Ρύθμιση APT....................................................................................................................... 3711.Εγκατάσταση Πακέτων...........................................................................................................38

Απλή............................................................................................................................38Για προχωρημένους: dselect............................................................................................... 38Εναλλακτικές προτάσεις: kpackage, stormpkg.......................................................................... 38

12.Ρύθμιση του συστήματος παραθύρων X....................................................................................... 39Κεφάλαιο 7 - Εκκίνηση του συστήματος.....................................................................42

1.Σύνδεση στο σύστημα..............................................................................................................42Σύνδεση από γραφικό περιβάλλον Χ......................................................................................42Σύνδεση από κονσόλα.......................................................................................................43

2.Αποσύνδεση......................................................................................................................... 433.Τερματισμός του υπολογιστή.....................................................................................................44

Τερματισμός από γραφικό περιβάλλον Χ.................................................................................44Τερματισμός από κονσόλα..................................................................................................44Επανεκκίνηση από πληκτρολόγιο......................................................................................... 44

4.Μετάβαση από Χ σε κονσόλα.....................................................................................................455.Εκκίνηση του γραφικού περιβάλλοντος Χ...................................................................................... 456.Απενεργοποίηση του γραφικού περιβάλλοντος Χ ............................................................................ 45

Κεφάλαιο 8 - Η επιφάνεια εργασίας και το σύστημα παραθύρων Χ....................................471.Το σύστημα παραθύρων X........................................................................................................ 472.Διαχειριστές Παραθύρων..........................................................................................................473.Προσομοιωτές Τερματικού........................................................................................................484.Περιβάλλοντα Εργασίας...........................................................................................................48

KDE............................................................................................................................. 48GNOME......................................................................................................................... 48Επιλέγοντας επιφάνεια εργασίας, KDE/GNOME ή άλλο?............................................................... 49Αντιγραφή/επικόλληση κειμένου..........................................................................................49

Κεφάλαιο 9 - Η δύναμη του UNIX,το Κέλυφος .............................................................501.Γιατί Κέλυφος;...................................................................................................................... 502.Ποιά κελύφη υπάρχουν; ..........................................................................................................50

Το κέλυφος Bourne (sh).....................................................................................................51Το κέλυφος της γλώσσας C (csh)..........................................................................................51Το κέλυφος TENEX C (tcsh).................................................................................................51Το κέλυφος Korn (ksh)...................................................................................................... 51

3.Το κέλυφος Bourne Again (bash)................................................................................................ 514.Εκκίνηση.............................................................................................................................525.Προτροπές (prompts)..............................................................................................................526.Γραμμή Εντολών....................................................................................................................537.Δομή εντολών.......................................................................................................................538.Απόλυτες και Σχετικές Διαδρομές, Τρέχων Κατάλογος.......................................................................559.Αλλαγή τρέχοντος καταλόγου....................................................................................................5610.Περιεχόμενα καταλόγου......................................................................................................... 5611.Η Μεταβλητή PATH............................................................................................................... 5712.Κανονικές παραστάσεις (regular expressions)................................................................................5813.Ανακατεύθυνση Εισόδου/Εξόδου...............................................................................................5914.Σωληνώσεις........................................................................................................................6115.Εργασίες στο προσκήνιο, παρασκήνιο........................................................................................ 6216.Σύνδεση εντολών με τελεστές ..................................................................................................6317.Συντομεύσεις...................................................................................................................... 63

Ιστορικό του κελύφους......................................................................................................63Αυτόματη ολοκλήρωση με TAB.............................................................................................64Ψευδώνυμα (Aliases)........................................................................................................ 65Υποκατάσταση Εντολών.....................................................................................................65

18.Μεταβλητές Περιβάλλοντος..................................................................................................... 6619.Εργαλεία βοηθείας................................................................................................................67

Εντολή man................................................................................................................... 67Κείμενα πληροφοριών (info documents)................................................................................. 67Η εντολή whatis.............................................................................................................. 67

Debian Guide 2

Page 3: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 10 - Linux και αρχεία..............................................................................681.Τύποι αρχείων...................................................................................................................... 68

Κοινά αρχεία.................................................................................................................. 68Κατάλογοι..................................................................................................................... 68Ειδικά αρχεία................................................................................................................. 68Άλλοι τύποι....................................................................................................................69Σύνδεσμοι..................................................................................................................... 69Συμβολικοί σύνδεσμοι....................................................................................................... 70

2.Ονοματολογία στο Linux.......................................................................................................... 70Καταλήξεις αρχείων στο Linux............................................................................................. 71

3.Χρήστες και αρχεία................................................................................................................ 72Ιδιοκτήτης και ομάδες....................................................................................................... 72Άδειες προσπέλασης.........................................................................................................73

Άδειες προσπέλασης καταλόγου.................................................................................. 73Ειδικές άδειες προσπέλασης................................................................................................74

Bit Ταυτότητας Χρήστη............................................................................................. 74Bit Ταυτότητας Ομάδος.............................................................................................74Bit Παραμονής....................................................................................................... 74

Η εντολή chmod.............................................................................................................. 74Συμβολικός τρόπος εκτέλεσης chmod............................................................................74Απόλυτος τρόπος εκτέλεσης chmod.............................................................................. 76

Κεφάλαιο 11 - Συνηθισμένες λειτουργίες σε αρχεία και καταλόγους..................................781.Αντιγραφή αρχείων................................................................................................................ 782.Μετακίνηση Αρχείων............................................................................................................... 793.Δημιουργία καταλόγων............................................................................................................804.Διαγραφή αρχείων/καταλόγων.................................................................................................. 815.Αναγνώριση Αρχείων.............................................................................................................. 826.Αναζήτηση αρχείων................................................................................................................ 83

Η εντολή find................................................................................................................. 83Η εντολή locate...............................................................................................................85Η εντολή which............................................................................................................... 85

7.Αρχεία κειμένου.................................................................................................................... 86“less is more”.................................................................................................................86Εντολές cat και tac.......................................................................................................... 86Εντολές head και tail........................................................................................................ 88Καταμέτρηση αρχείου με τη wc............................................................................................ 89

8.Αναζήτηση κειμένου σε αρχείο...................................................................................................90Οι εντολές grep, fgrep, egrep, rgrep..................................................................................... 90

9.Ταξινόμηση αρχείων κειμένου....................................................................................................91Η εντολή sort................................................................................................................. 91

10.Σύγκριση αρχείων................................................................................................................ 92Η εντολή cmp................................................................................................................. 92Η εντολή comm...............................................................................................................93Η εντολή diff..................................................................................................................93

11.Συμπίεση αρχείων.................................................................................................................96Η εντολή GNU zip (gzip).................................................................................................... 96Η εντολή bzip2................................................................................................................98Άλλες εντολές συμπίεσης................................................................................................... 98

12.Αρχειοθέτηση αρχείων........................................................................................................... 9913.Ο επεξεργαστής κειμένου vim................................................................................................. 102

Κεφάλαιο 12 - Συστήματα αρχείων του Linux.............................................................1041.Γενικά...............................................................................................................................1042.Συστήματα αρχείων δίσκων..................................................................................................... 104

Το συστήμα αρχείων ext2................................................................................................. 105Journalling...................................................................................................................105Journalling και ext3........................................................................................................ 105Η εντολή mkfs και παραλλαγές...........................................................................................105Τα συστήματα αρχείων reiserfs, xfs, jfs................................................................................ 107

Debian Guide 3

Page 4: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

3.Άλλα συστήματα αρχείων........................................................................................................107Το σύστημα αρχείων ISO 9660............................................................................................ 107Τα σύστηματα αρχείων VFAT, MSDOS και NTFS........................................................................108

4.Δικτυακά συστήματα αρχείων.................................................................................................. 108Το σύστημα αρχείων NFS (επικοινωνία με UNIX)...................................................................... 108Το σύστημα αρχείων smbfs (επικοινωνία με Windows)...............................................................109

5.Ειδικά συστήματα αρχείων...................................................................................................... 109Το εικονικό σύστημα αρχείων devfs..................................................................................... 109Το εικονικό σύστημα αρχείων procfs.................................................................................... 110

6.Οι Εντολές mount & umount.................................................................................................... 111Η εντολή mount.............................................................................................................111Η εντολή umount........................................................................................................... 113Το αρχείο fstab............................................................................................................. 114Το αρχείο εναλλαγής μνήμης (swap).................................................................................... 114

7.Επιδιόρθωση συστημάτων αρχείων............................................................................................ 115Η εντολή fsck................................................................................................................116

Κεφάλαιο 13 - Εγκατάσταση λογισμικού στο Debian....................................................1181.Ιστορικό............................................................................................................................ 1182.Το σύστημα πακέτων λογισμικού του Debian................................................................................ 118

Εξαρτήσεις & Εκδόσεις.....................................................................................................1203.Το εργαλείο dpkg................................................................................................................. 120

Βασικές λειτουργίες........................................................................................................ 1214.Το σύστημα APT...................................................................................................................124

Το αρχείο sources.list......................................................................................................125Αναζήτηση με την apt-cache.............................................................................................. 125Εγκατάσταση με την apt-get..............................................................................................126Άλλες λειτουργίες...........................................................................................................127

5.Το εργαλείο dselect.............................................................................................................. 129Επιλογή “Access”........................................................................................................... 130Επιλογή “Update”.......................................................................................................... 130Επιλογή “Select”........................................................................................................... 130Επιλογή “Install”............................................................................................................131Επιλογή “Configure”....................................................................................................... 132Επιλογή “Remove”......................................................................................................... 132Επιλογή “Quit”..............................................................................................................132

6.Το εργαλείο kpackage............................................................................................................1327.Το εργαλείο stormpkg............................................................................................................1328.Μετά την εγκατάσταση...........................................................................................................132

Κεφάλαιο 14 - Διαχείριση συστήματος.....................................................................1341.Διαχείριση πόρων συστήματος..................................................................................................1342.Κεντρικοί επεξεργαστές..........................................................................................................134

Αρχιτεκτονική του επεξεργαστή..........................................................................................134Φόρτο του επεξεργαστή και χρόνος λειτουργίας...................................................................... 135

3.Μνήμη συστήματος................................................................................................................1364.Συστήματα αρχείων...............................................................................................................1375.Διαχείριση Δίσκων................................................................................................................ 1396.Δίκτυο...............................................................................................................................141

Διαχείριση ονομάτων και τομέων δικτύου.............................................................................. 144Ασφάλεια και παρακολούθηση δικτύου................................................................................. 146

7.Περιφερειακά PCI, ISA, USB, PCMCIA, IEEE1394............................................................................. 1498.Διαχείριση διεργασιών........................................................................................................... 153

Περί διεργασιών............................................................................................................ 153Είδη διεργασιών............................................................................................................ 154Η εντολή ps.................................................................................................................. 154Το σύστημα αρχείων /proc και οι διεργασίες.......................................................................... 156Η εντολή top.................................................................................................................157Τερματισμός εργασίας..................................................................................................... 157Σήματα (Signals)............................................................................................................ 158

Debian Guide 4

Page 5: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Πόροι που ανήκουν σε διεργασίες....................................................................................... 159Κωδικοί τερματισμού διεργασιών........................................................................................ 160Λογιστική διεργασιών (process accounting)............................................................................160

9.Διαχείριση χρηστών.............................................................................................................. 162Πρόσθεση, διαγραφή και μεταβολή χρηστών.......................................................................... 163Λογιστική χρηστών (user accounting)................................................................................... 166

10.Ώρα συστήματος.................................................................................................................168Μεταφορά στο ρολόι του υπολογιστή................................................................................... 168

11.Διαχείριση εκτυπωτών..........................................................................................................169Το σύστημα CUPS........................................................................................................... 169Άλλα συστήματα διαχείρισης εκτυπωτών...............................................................................170

12.Βασικές υπηρεσίες...............................................................................................................170Η υπηρεσία FTP (File Transfer Protocol)................................................................................170Επικοινωνία με Windows μέσω Samba...................................................................................171Επικοινωνία μέσω SSH ή TELNET.........................................................................................171

Παράρτημα I – Ρύθμισεις του BIOS..........................................................................173Παράρτημα II - Προβλήματα κατά την εγκατάσταση....................................................174Παράρτημα III – Το πρόγραμμα cfdisk......................................................................175Παράρτημα IV – Το πρόγραμμα LILO.......................................................................176Παράρτημα V - Εκκίνηση σε κατάσταση single user.....................................................177Παράρτημα VI – Ρύθμιση του πυρήνα.......................................................................178Παράρτημα VII - Ρύθμιση ελληνικών στο Debian.........................................................179Παράρτημα VIII - Αναφορά προβλημάτων στο Debian.................................................. 180

Debian Guide 5

Page 6: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 1 - Εισαγωγή

1.Εισαγωγή

2.Το λειτουργικό σύστημα Linux

3.Διανομές Linux

4.Η διανομή Debian

5.Εκδόσεις του Debian

6.Σχετικά με το βιβλίο

Debian Guide 6

Page 7: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 2 - Πριν την εγκατάσταση

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

Είναι πολύ συνηθισμένο να παρουσιαστούν προβλήματα και τις περισσότερες φορές οφείλονταισε μη επαρκείς γνώσεις του συστήματός μας. Ακόμη και οι πιο έμπειροι χρήστες βρίσκουνδυσκολίες λόγω λανθασμένης διάγνωσης. Με λίγη προσοχή μπορούμε να αποφύγουμε ταπροβλήματα αυτά, και να έχουμε έτσι μια άψογη εγκατάσταση.

Αν και έχουν γίνει πολύ σημαντικές προσπάθειες στην βελτίωση της εγκατάστασης, για όλα ταλειτουργικά συστήματα, υπάρχουν ακόμη προβλήματα. Το Linux δεν είναι εξαίρεση και ηεγκατάστασή του είναι σαφώς πιο εύκολη και πιο βελτιωμένη σε σύγκριση με μερικά χρόνιαπριν.

Η σημασία που δίνει η κάθε διανομή στην εγκατάσταση είναι διαφορετική. Για παράδειγμα, οιεμπορικές διανομές, όπως η RedHat, SuSe, Mandrake, έχουν επενδύσει πολύ χρόνο και χρήμαγια να κάνουν την διαδικασία της εγκατάστασης όσον το δυνατόν πιο φιλική και εύκολη, ειδικάγια τους αρχάριους χρήστες. Και πρέπει να σημειωθεί ότι σε πολλές περιπτώσεις η εγκατάστασηαυτών των διανομών έχει γίνει πιο εύκολη και γρήγορη ακόμη και από αυτήν των Windows.

Η ίδια σημασία στην ευκολία έχει δοθεί και στην εγκατάσταση του Debian, αλλά η ένταση με τηνοποία έχει γίνει αυτό είναι διαφορετική, καθώς η φιλοσοφία της διανομής επικεντρώνεται σεδιαφορετικούς στόχους. Έχει δοθεί περισσότερη έμφαση στην δομή της εγκατάστασης και στηνπαραμετροποίηση αυτής παρά στην εμφάνιση.

1.Αναγνωρίστε το σύστημά σας

Υπάρχουν ορισμένα βασικά χαρακτηριστικά που πρέπει να τηρούνται από κάθε σύστημα στοοποίο πρόκειται να εγκαταστήσουμε Linux και φυσικά οι ίδιες απαιτήσεις ισχύουν και στοDebian.

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

Για να ικανοποιούνται αυτές οι απαιτήσεις, λοιπόν, πρέπει να έχετε κάποιες πληροφορίες για τοσύστημα και για τον σκοπό της εγκατάστασης, δηλαδή αν πρόκειται το σύστημα ναχρησιμοποιηθεί ως server, ή ως απλός σταθμός εργασίας, για γραφικά, προγραμματισμό ήαπλώς για να ασχοληθείτε με το Debian!

2.Απαραίτητες πληροφορίες

Οι πληροφορίες που χρειάζεται να συλλέξετε εξαρτώνται και από την αρχιτεκτονική τουυπολογιστή στον οποίο πρόκειται να εγκαταστήσετε το Debian. Στο παρόν κείμενο θα δώσουμεπερισσότερη έμφαση στην αρχιτεκτονική IA32, τα γνωστά μας PC. Τα αρχικά IA32 σημαίνουνIntel Architecture 32, και αναφέρονται στο ότι το σύστημα στηρίζεται σε επεξεργαστή τύπουIntel (ακόμη και οι επεξεργαστές AMD είναι συμβατοί με αυτήν την αρχιτεκτονική) πουλειτουργεί στα 32 bits. Εδώ πρέπει να σημειώσουμε ότι αυτή η αρχιτεκτονική είναι διαφορετική

Debian Guide 7

Page 8: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

από την νέα αρχιτεκτονική IA64 των επεξεργαστών Itanium και Itanium 2 της Intel (πουστηρίζονται σε 64 bit) καθώς και από την αρχιτεκτονική x86-64 των νέων επεξεργαστών Opteronτης AMD. Στην πλειοψηφία τους οι υπολογιστές που χρησιμοποιούνται σήμερα και βασίζονται σεεπεξεργαστές Pentium ή Athlon είναι IA32 και δεν υπάρχει πρόβλημα σύγχυσης.

Υπάρχουν και άλλες αρχιτεκτονικές πέρα από τις IA32, IA64 και x86-64 στις οποίες θααναφερθούμε σε επόμενη παράγραφο.

Οι πληροφορίες είναι λίγο διαφορετικές σε περίπτωση που πρόκειται να εγκαταστήσουμε σεdesktop ή server από την περίπτωση ενός φορητού υπολογιστή (notebook ή laptop) γιατί στουςφορητούς υπολογιστές το υλικό είναι συνήθως προκαθόρισμένο και δεν υπάρχει δυνατότηταεπέκτασης. Επίσης οι φορητοί υπολογιστές συνήθως συνοδεύονται και από μια θύρα σύνδεσηςπεριφερειακών συσκευών PCMCIA, η οποία χρήζει ιδιαίτερης μεταχείρισης.

Καλό θα ήταν πριν ξεκινήσετε την εγκατάσταση του Linux στον υπολογιστή σας, να κάνετε μιαλίστα με το υλικό του υπολογιστή σας και τα περιφερειακά που πρόκειται να συνδέσετε.

Debian Guide 8

Page 9: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Υλικό (hardware) Σχετικές πληροφορίεςΒασικά Τύπος επεξεργαστή (Intel/AMD/Cyrix/άλλο)

Συχνότητα επεξεργαστή

Ποσότητα επεξεργαστών (Single/Dual/άλλο)

Τύπος chipset (Intel/VIA/άλλο)

Μνήμη

Συσκευές προεγκατεστημένες στη motherboard (κάρτα γραφικών/ήχου/SCSI controller/κάρταδικτύου/firewire controller)

Σκληροί δίσκοι Ποσότητα

Σειρά σύνδεσης

Τύπος (IDE/SCSI)

Χωρητικότητα

Διαμέριση (partitions)

Αν φιλοξενούν άλλα λειτουργικά συστήματα και ποιά

Κάρτα γραφικών Κατασκευαστής/Μοντέλο

Τύπος chipset

Μνήμη

Πρωτόκολλο (AGP/PCI/ISA)

Αναλύσεις που υποστηρίζει

Οθόνη Κατασκευαστής/Μοντέλο

Τύπος (CRT/LCD)

Μέγεθος (14"/15"/17"/19"/21"/άλλο)

Αναλύσεις που υποστηρίζει

Οριζόντια συχνότητα σάρωσης

Κατακόρυφη συχνότητα σάρωσης

Κάρτα ήχου Κατασκευαστής/Μοντέλο

Τύπος (PCI/ISA/PCMCIA/USB)

Αν πρόκειται για ISA: IRQ, DMA, IO

Ποντίκι Κατασκευαστής

Τύπος (σειριακό/ PS/2 /USB)

Θύρα

Αριθμός πλήκτρων

Έχει scroll wheel;

Modem Κατασκευαστής/Μοντέλο

Εσωτερικό/Εξωτερικό

Τύπος σύνδεσης (PCI/ISA/σειριακό/USB)

Είναι Winmodem;

Είναι Netmod ISDN (σειριακό/USB);

Αν πρόκειται για ISA: IRQ, DMA, IO

Debian Guide 9

Page 10: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Υλικό (hardware) Σχετικές πληροφορίεςΚάρτα δικτύου Κατασκευαστής/Μοντέλο

Τύπος (BNC/Ethernet/Fast Ethernet/Gigabit)

Τύπος κάρτας (PCI/ISA/PCMCIA/USB)

Συμβατότητα με chipset (realtek, intel, tulip, κλπ)

Αν πρόκειται για ISA: IRQ, DMA, IO

Εκτυπωτής Κατασκευαστής/Μοντέλο

Τύπος σύνδεσης (σειριακά/παράλληλα/USB)

Άλλα περιφερειακά Κατασκευαστής/Μοντέλο

Πληροφορίες για όλα τα περιφερειακά και τα χαρακτηριστικά τους μπορείτε να βρείτε στις εξήςπηγές:

• Τα κουτιά και τις οδηγίες χρήσης καθενός από τα περιφερειακά. Αναζητήστε ενότητες μετίτλους “Technical Specifications” ή κάτι αντίστοιχο.

• Το BIOS του υπολογιστή σας. Ορισμένες κάρτες και συσκευές έχουν οι ίδιες κάποιο BIOS πουείναι εμφανές κατά την εκκίνηση του υπολογιστή.

• Αν χρησιμοποιείτε Windows, μπορείτε να βρείτε πληροφορίες είτε από την ρύθμιση τουΣυστήματος στον Πίνακα Ελέγχου (System στο Control Panel).

• Εναλλακτικά κάποιο πρόγραμμα όπως το SiSoft Sandra (πάλι χρησιμοποιώντας Windows).

• Για ρυθμίσεις δικτύου ρωτήστε ή τον διαχειριστή του δικτύου σας (αν είστε σε δίκτυο, π.χ. σεμια εταιρεία) ή την Εταιρεία Παροχής Υπηρεσιών Internet (Internet Service Provider - ISP).

3.Περιφερειακά και συμβατότητα

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

Το ποσοστό και το επίπεδο της συμβατότητας με τα περισσότερα περιφερειακά είναι, λοιπόν, σεπολύ καλό επίπεδο. Υπάρχουν, ωστόσο, και κάποιου είδους περιφερειακά, ή για την ακρίβειακατηγορίες περιφερειακών, τις οποίες καλό θα ήταν να αποφύγετε γιατί έχουν σχεδιαστεί καικατασκευαστεί με βασικό κριτήριο την χρήση τους σε συγκεκριμένο λειτουργικό σύστημα (π.χ.Windows). Αυτό συνήθως συμβαίνει για λόγους κόστους.

Αν και αρκετές φορές είναι δυνατή η χρήση τέτοιων περιφερειακών, η δυσκολία εύρεσης καιεγκατάστασης των απαραίτητων οδηγών (drivers), καθιστά την επιλογή τους κάθε άλλο παράιδανική.

Τέτοιου είδους περιφερειακά είναι τα WinModems, τα οποία βρίσκονται στους περισσότερους

Debian Guide 10

Page 11: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

φορητούς υπολογιστές. Καλό θα ήταν, αν σκέφτεστε να αγοράσετε φορητό υπολογιστή καισκοπεύετε να εγκαταστήσετε Linux σε αυτόν, να κοιτάξετε αν υποστηρίζεται το ενσωματωμένοmodem του από το Linux. Έτσι θα αποφύγετε την αγορά ενός δεύτερου εξωτερικού modem καιαρκετές ώρες απόγνωσης!

Περισσότερες πληροφορίες για τα WinModems και την υποστήριξή τους στο Linux μπορείτε ναβρείτε στην διεύθυνση

http://www.linmodems.org

Επίσης πολλοί εκτυπωτές είναι σχεδιασμένοι -και πάλι για λόγους κόστους- να λειτουργούνβέλτιστα μόνο σε περιβάλλον Windows (ή έστω και MacOS) χρησιμοποιώντας ειδικό λογισμικό.Ορισμένοι από αυτούς μπορούν να χρησιμοποιηθούν με εξίσου ή σχεδόν το ίδιο καλά και στοLinux. Η εξακρίβωση της λειτουργίας ή όχι κάποιου εκτυπωτή στο Linux ξεπερνάει τους σκοπούςτου παρόντος βιβλίου, για περισσότερες πληροφορίες μπορείτε να ανατρέξετε στην διεύθυνση

http://www.linuxprinting.org

Τέλος, για άλλου είδους περιφερειακά όπως scanners, ελεγκτές SCSI, συσκευές USB ακόμη καιάλλα πιο "εξωτικά" περιφερειακά όπως Bluetooth, touch screens, βιντεοκάμερες και άλλα,μπορείτε να βρείτε πληροφορίες και οδηγίες για την υποστήριξή τους στο Linux στην διεύθυνση

http://www.tldp.org/HOWTO/Hardware-HOWTO/index.html

4.Ελάχιστες απαιτήσεις

Αν και είναι δυνατόν να εγκαταστήσετε Debian σε σύστημα 386 με 8 MB RAM, με τα σημερινάδεδομένα και ανάγκες, μάλλον θα χρειαστείτε κάτι πιο δυνατό για να μπορέσετε ναεκμεταλλευτείτε μερικές από τις δυνατότητες που προσφέρει το λειτουργικό σύστημα.

Ένας πολύ απλός πίνακας με τις προτεινόμενες ελάχιστες απαιτήσεις είναι ο ακόλουθος:

Είδος εγκατάστασης Επεξεργαστής Μνήμη

ΣκληρόςΔίσκος

Σταθμός εργασίας χωρίς γραφικό περιβάλλον Χ Pentium 100 Mhz 16 MB 450 MB

Σταθμός εργασίας με γραφικό περιβάλλον Χ Pentium 200 Mhz 128 MB 2 GB

Σταθμός εργασίας με γραφικό περιβάλλον Χ καιKDE/GNOME

Pentium ΙΙ 400Mhz

256 MB 2 GB

Server Pentium ΙΙ 300Mhz

256 MB 4 GB

Αν και ο πίνακας είναι ενδεικτικός, εντούτοις μας δείχνει ότι το σύστημα παραθύρων X είναιαρκετά ελαφρύ, ώστε να τρέξει σε ένα αργό σύστημα με ένα ελαφρύ διαχειριστή παραθύρων(π.χ. Fvwm). Αντίθετα, στην περίπτωση που εγκαταστήσουμε ένα περιβάλλον εργασίας όπως τοKDE ή το GNOME, τα οποία έχουν υψηλότερες απαιτήσεις, θα χρειαστούμε ένα σαφώς καλύτεροσύστημα όπως και περισσότερη μνήμη. Τα ίδια ισχύουν στην περίπτωση server, ο οποίος θαφιλοξενήσει ίσως μια βάση δεδομένων ή ιστοσελίδες για το Internet.

Με τα σημερινά δεδομένα, βέβαια, ένα ελάχιστο σύστημα έχει επεξεργαστή Pentium IV στα 1,8GHz και 256 MB RAM και τουλάχιστον 20 GB σκληρό δίσκο. Οι επιδόσεις του ξεπερνούν κατά

Debian Guide 11

Page 12: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

πολύ τις ελάχιστες απαιτήσεις της εγκατάστασης του Debian, οπότε ίσως κάποιος να αναρωτηθείγια ποιό λόγο δίνεται αυτός ο πίνακας. Με μια ελάχιστη εγκατάσταση σε ένα παλιό ξεχασμένομηχάνημα, μπορεί κάποιος να στήσει σε Debian ένα mail server, ένα firewall ή ένα proxy serverκαι να γλυτώσει έτσι το κόστος της αγοράς καινούριου εξοπλισμού και μάλιστα με πολύικανοποιητικά αποτελέσματα.

5.Υλικό και Linux, διαφορές με Windows

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

Υπάρχουν όμως ορισμένα χαρακτηριστικά που αν όχι κοινά, τουλάχιστον η μετατροπή τους είναιεύκολη και πολλές φορές προφανής.

Οι πιο συνηθισμένες συσκευές με τις οποίες θα χρειαστεί να ασχοληθείτε, είναι οι συσκευέςαποθήκευσης, οι σειριακές και παράλληλες θύρες και οι συσκευές USB. Στις αποθηκευτικέςσυσκευές που μπορείτε να χρησιμοποιήσετε είναι οι μονάδες δισκέτας (floppy drives), οι σκληροίδίσκοι (hard disks), οι οδηγοί CD-ROM και DVD-ROM, οι εγγραφείς CD και DVD, και πιο σπάνια οιμονάδες οδηγοί κασέτας (tape drives).

Οι συσκευές USB αν και νεώτερες από τα υπόλοιπα είδη περιφερειακών, εντούτοις έχουν μιαμεγάλη ποικιλία στον τύπο και στον αριθμό των συσκεύων που μπορούν να συνδεθούν με αυτότο πρωτόκολλο. Οι συσκευές που μπορείτε να συνδέσετε σε μια θύρα USB, περιλαμβάνουν απόποντίκια και πληκτρολόγια, εκτυπωτές, σαρωτές (scanners), modems, αποθηκευτικές μονάδες(memory sticks, usb drives), κάμερες και φωτογραφικές μηχανές, χειριστήρια παιχνιδιών(joysticks) και πολλές άλλες.

Το Linux χρησιμοποιεί ένα ομοιόμορφο σύστημα ονοματολογίας των συσκευών, το οποίο είναιεύχρηστο και συνεπές. Κάθε συσκευή έχει ένα μοναδικό όνομα και μπορείτε να έχετε πρόσβασησ' αυτήν χρησιμοποιώντας αυτό το όνομα.

Το όνομα μιας συσκευής στο Linux έχει τη μορφή

<κωδικός τύπος συσκευής><αριθμός σειράς σύνδεσης><αριθμός λογικής μονάδας/partition>

ο πρώτος αριθμός γράφεται με το λατινικό αλφάβητο, ενώ ο δεύτερος με αραβικούς αριθμούς.Αν δεν υπάρχουν λογικές μονάδες

<κωδικός τύπου συσκευής><αριθμός σειράς σύνδεσης>

Για παράδειγμα, αν θέλουμε να μάθουμε πως ονομάζεται στο Linux ο δεύτερος σκληρός δίσκοIDE, ο κωδικός τύπος για τους σκληρούς δίσκους είναι hd (hard drive) και ο αριθμός σειράςσύνδεσης είναι 'b', οπότε το όνομα του σκληρού δίσκου είναι hdb. Στην περίπτωση που θέλουμενα αναφερθούμε σε άνα διαμέρισμα του δίσκου (partition), τότε προσθέτουμε τον αριθμό πουαντιστοιχεί στο διαμέρισμα αυτό, με την σειρά που βρίσκεται αυτό στον δίσκο. Για το τέταρτοδιαμέρισμα, λοιπόν, το όνομα του στο Linux θα είναι hdb4.

Debian Guide 12

Page 13: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Σε αντιστοιχία με τους δίσκους ide, παραθέτουμε πίνακα με την ονοματολογία ορισμένων από τιςπιο συνηθισμένες συσκευές.

Είδος συσκευής Όνομα ΠληροφορίεςΣκληρός δίσκος/CD-ROM/CD-RW IDE hd Τα CD-RW χρησιμοποιούν αυτό το όνομα μόνο για ανάγνωση

Σκληρός δίσκος SCSI sd Ο αριθμός σειράς σύνδεσης αναφέρεται στη σειρά του σκληρού δίσκου ως προς τοSCSI ID. Έτσι ο πρώτος σκληρός π.χ. Με SCSI ID 3, θα φαίνεται ως sda, ο δεύτεροςμε SCSI ID 6, θα φαίνεται ως sdb. Αν υπάρχει άλλη συσκευη διαφορετικού τύπουπ.χ CD-ROM αλλά με SCSI ID 5, αυτό δεν θα αλλάξει την ονοματολογία τωνσκληρών δίσκων. Τα διαμερίσματα γράφονται με αριθμούς.

SCSI CD-ROM/CD-RW scd Το πρώτο CD-ROM χρησιμοποιεί το όνομα scd0, το δεύτερο scd1, κλπ. Τα CD-RWχρησιμοποιούν αυτό το όνομα μόνο για ανάγνωση.

SCSI generic sg Ισχύουν τα ίδια με τα SCSI CD-ROM. Αυτός ο τύπος χρησιμοποιείται γιαεπικοινωνία με άλλες συσκευές SCSI και για την χρήση των οδηγών CD-RW γιαεγγραφή.

SCSI Tape st Ισχύουν τα ίδια με τα SCSI CD-ROM.

Οδηγός Δισκέτας fd Ο πρώτος οδηγός δισκέτας ονομάζεται fd0, ο δεύτερος fd1, κ.ο.κ.

Σειριακή Θύρα ttyS Η πρώτη σειριακή θύρα (COM1 στα Windows), ονομάζεται ttyS0, η δεύτερη ttyS1,κ.ο.κ.

Παράλληλη Θύρα lp Η πρώτη παράλληλη θύρα (LPT1 στα Windows), ονομάζεται lp0, η δεύτερη lp1,κ.ο.κ.

Σε αντιπαράθεση, τα Windows χρησιμοποιούν την εξής ονοματολογία:

• Πρώτος οδηγός Δισκέτας, Α:

• Δεύτερος οδηγός Δισκέτας, Β: (ακόμη και αν δεν υπάρχει το όνομα αυτό είναι δεσμευμενο)

• Πρώτο Διαμέρισμα, C: (πρέπει οπωσδήποτε να είναι το σύστημα εκκίνησης των Windows, ανκαι τα Windows 2000/XP είναι πιο ευέλικτα σ' αυτόν τον τομέα)

• Ακολουθούν τα πρωτεύοντα διαμερίσματα σε όλους τους δίσκους, αν υπάρχουν, ξεκινώνταςαπό το D:

• Ακολουθούν τα λογικά διαμερίσματα σε όλους τους δίσκους, αν υπάρχουν.

• Ακολουθούν οι μονάδες CD-ROM/CD-RW. Σε ένα τυπικό σύστημα Windows, που υπάρχει μόνοένα διαμέρισμα C:, το CD-ROM καταλαμβάνει το γράμμα D:

• Οι σειριακές θύρες ονομάζονται COM, ξεκινώντας από την COM1.

• Αντίστοιχα, οι παράλληλες θύρες ονομάζονται LPT, ξεκινώντας από την LPT1.

Το πρόβλημα με την ονοματολογία των Windows, εμφανίζεται με την πρόσθεση ή αφαίρεση μιαςσυσκευής. Για παράδειγμα, αν χωρίσουμε για κάποιο λόγο το πρώτο διαμέρισμα C: σε δύο,αλλάζει η ονομασία όλων των υπολοίπων συσκευών. Βέβαια, στα Windows 2000/XP τοπρόβλημα έχει ελαχιστοποιηθεί. Στο Linux, δεν υπάρχει αυτό το πρόβλημα, όπως θα δούμε καιστο κεφάλαιο με τα συστήματα αρχείων.

Debian Guide 13

Page 14: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

6.Το Linux σε άλλες αρχιτεκτονικές

To Linux εκτός από τα γνωστά μας PC, τρέχει και σε άλλες αρχιτεκτονικές. Στηνπραγματικότητα, μπορούμε να εγκαταστήσουμε Linux σε σχεδόν ό,τι υπολογιστή (και όχι μόνο)θέλουμε! Το Linux ως λειτουργικό σύστημα είναι σχεδιασμένο έτσι ώστε στον τελικό χρήστη ναμην έχει σημασία το σε ποια αρχιτεκτονική στηρίζεται την κάθε στιγμή. Οπωσδήποτε, υπάρχουνσημαντικές διαφορές σε κάθε αρχιτεκτονική, από το είδος του επεξεργαστή, τον δίαυλο τουσυστήματος, την προσπέλαση μνήμης, τα περιφερειακά, κλπ. Παρ' όλ' αυτά, έχουν γίνει μεγάλεςπροσπάθειες ώστε να μην είναι διαφορετική η χρήση του λειτουργικού, είτε αυτό τρέχει σε PC,σε Macintosh, σε SEGA Dreamcast (!) ή σε Mainframe της IBM.

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

Debian Guide 14

Page 15: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Αρχιτεκτονική Περιγραφή Links

Motorola 68k (m68k') Περιλαμβάνει υπολογιστές Macintosh (όχιPowerMac), Amiga, Atari ST, HP Apollo 9000/300,Sun3, VMEBus.

http://www.linux-m68k.org/

http://www.debian.org/ports/m68k/

Sun SPARC (sparc) Περιλαμβάνει τα παλιά SPARCstation και sun4u(UltraSPARC 64-bit).

http://www.debian.org/ports/sparc/

http://www.ultralinux.org/

http://ultra.penguin.cz/

Alpha (alpha) Υποστηρίζει όλους τους υπολογιστές βασισμένουςσε αρχιτεκτονική Alpha

http://www.debian.org/ports/alpha/

http://www.alphalinux.org/

Motorola/IBM PowerPC(powerpc)

Περιλαμβάνει PowerMac υπολογιστές(βασισμένους σε επεξεργαστές PowerPC 601, 603,604, G3, G4) καθώς και σταθμούς εργασίας ήservers της IBM βασισμένους σε POWERαρχιτεκτονική (CHRP/PREP). Υπάρχει επίσηςκάποια υποστήριξη για υπολογιστές Amigaαναβαθμισμένους με PowerPC επεξεργαστές.

http://penguinppc.org/

http://www.debian.org/ports/powerpc/

ARM (arm) Υποστηρίζει τα NetWinder συστήματα. http://www.netwinder.org/

http://www.debian.org/ports/arm/

MIPS CPUs

(mips and mipsel)

Υποστηρίζει με δύο διαφορετικά ports τασυστήματα SGI και τα DECstation, τα οποίαχρησιμοποιούν τον ίδιο επεξεργαστή αλλά σεδιαφορετικό mode (big-endian για τα SGI καιlittle-endian για τα DECstation).

http://www.debian.org/ports/mips/

http://decstation.unix-ag.org/

HP PA-RISC (hppa) Υποστηρίζει τα workstations και servers της HP,βασισμένα σε αρχιτεκτονική HP PA-RISC.

http://www.debian.org/ports/hppa/

http://parisc-linux.org/

IA-64 (ia64) Για τους 64-bit επεξεργαστές της Intel, Itaniumκαι Itanium 2.

http://www.debian.org/ports/ia64/

AMD-64 (x86-64) Για τον επερχόμενο 64-bit επεξεργαστή της AMD,Opteron.

S/390 (s390) Για την αρχιτεκτονική mainframe S/390 της IBM. http://www.debian.org/ports/s390/

http://www10.software.ibm.com/developerworks/opensource/linux390/index.shtml

SuperH (sh) Για τους επεξεργαστές SuperH της Hitachi πουχρησιμοποιούνται στο SEGA Dreamcast.

http://www.m17n.org/linux-sh/debian/

Σημειωτέον ότι το μόνο λειτουργικό που έχει γίνει port σε περισσότερες αρχιτεκτονικές από τοLinux είναι το NetBSD.

Περί Διαμερισμάτων

Πολλές φορές, είναι πιο εύκολο να μεταχειριστούμε τα δεδομένα όταν τα ομαδοποιούμε.Το ίδιο ισχύει με τα λειτουργικά συστήματα. Είναι πιο εύκολο και ασφαλές ναδιαχωρίσουμε τους χώρους στους οποίους αποθηκεύουν αρχεία, για τους εξής λόγους:

1. Είναι πιο εύκολη η ανάκτηση δεδομένων σε περίπτωση βλάβης. Χάνονται τα δεδομένα

Debian Guide 15

Page 16: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

μόνο στον αποθηκευτικό χώρο που έπαθε τη βλάβη.

2. Είναι πιο εύκολο να αλλάξουμε τη δομή του συστήματος. π.χ. αν χρειαζόμαστεπερισσότερο χώρο για τα προσωπικά μας αρχεία, δε χρειάζεται να ξαναστήσουμε τοσύστημα από την αρχή, αλλά προσθέτουμε περισσότερη χωρητικότητα στον χώρο πουχρησιμοποιούμε για τα προσωπικά μας αρχεία.

3. Μπορούμε να έχουμε περισσότερα από ένα λειτουργικά εγκατεστημμένα στο ίδιοσύστημα και να επιλέγουμε κατά βούληση όποιο μας βολεύει.

Αν αντιμετωπίζαμε τον σκληρό δίσκο ως μια ενιαία μονάδα αποθήκευσης, δεν θαμπορούσαμε να έχουμε αυτά τα οφέλη. Για τον σκοπό αυτό, υπάρχει η δυνατότητα, καιπλέον η χρήση της θεωρείται ως κάτι δεδομένο, να χωρίζεται ο σκληρός δίσκος σεδιαμερίσματα (partitions). Ο τρόπος με τον οποίο γίνεται αυτό είναι απλός: δεσμεύεταιένας χώρος στην αρχή του δίσκου, ο πίνακας διαμερισμάτων (partition table) που κρατάειπληροφορίες για το πως διαχωρίζεται ο σκληρός δίσκος. Σε αυτόν τον χώρο κρατείταιπληροφορία για μέχρι τέσσερα (4) πρωτεύοντα διαμερίσματα (primary partitions) τα οποίαμπορούν να καλύψουν όλη την επιφάνεια του σκληρού δίσκου. Στο Linux αυτάκαταλαμβάνουν τους πρώτους τέσσερις αριθμούς στην ονοματολογία των σκληρώνδίσκων. Δηλάδή, για τον δίσκο hdb, τα πρωτέυοντα διαμερίσματα ονομάζονται hdb1,hdb2, hdb3 και hdb4.

Δυστυχώς, την εποχή που εφαρμόστηκε για πρώτη φορά ο διαχωρισμός αυτός, 4διαμερίσματα ήταν αρκετά. Δεν ισχύει όμως το ίδιο και σήμερα, που μπορεί αν θέλουμε ναδιαχωρίσουμε ένα σκληρό των 200 GB σε πολλά διαμερίσματα για καλύτερη ομαδοποίησητων δεδομένων μας. Για το σκοπό αυτό επινοήθηκαν τα επεκταμμένα και λογικάδιαμερίσματα (extended και logical partitions) τα οποία επιτρέπουν να χωρίσουμε ένασκληρό δίσκο σε όσα διαμερίσματα θέλουμε. Και για τα επεκταμμένα διαμερίσματα ισχύειο περιορισμός των τεσσάρων διαμερισμάτων. Το πρόβλημα όμως λύνεται με τα λογικάδιαμερίσματα. Εντός των επεκταμμένων διαμερισμάτων, δημιουργούμε τα λογικάδιαμερίσματα, τα οποία και χρησιμοποιούμε. Η διαφορά τους με τα πρωτεύονταδιαμερίσματα είναι ότι η αρίθμησή τους αρχίζει από το 5, ανεξάρτητα αν έχουμε 4πρωτεύοντα διαμερίσμτα στο σκληρό μας δίσκο. Δηλαδή, αν έχουμε ένα πρωτεύον, έναεπεκταμμένο και 3 λογικά διαμερίσματα, αυτά θα ονομάζονται hdb1, hdb2, hdb5, hdb6 καιhdb7 αντίστοιχα. Το σημαντικό είναι ότι πλέον δεν υπάρχει όριο στον μέγιστο αριθμό τωνδιαμερισμάτων στον σκληρό δίσκο.

Μπορούμε να μάθουμε πληροφορίες για τον τρόπο διαχωρισμού του σκληρού μας δίσκου,ή και να δημιουργήσουμε και να διαγράψουμε διαμερίσματα από διάφορα προγράμματα.Μερικά από αυτά είναι τα εξής:

• fdisk στα Windows ή στο Linux

• Device Management console στα Windows NT/2000/XP

• cfdisk στο Linux

• parted στο Linux

• Partition Magic στα Windows ή από δισκέτα εκκίνησης

Debian Guide 16

Page 17: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 3 - Οργάνωση της Εγκατάστασης

Σε αυτό το σημείο θα πρέπει να έχετε ήδη συγκεντρώσει τις απαραίτητες πληροφορίες για τουλικό του υπολογιστή σας και να έχετε αποφασίσει, τουλάχιστον σε γενικές γραμμές, το είδοςτης εγκατάστασης που επιθυμείτε (έστω και αν πρόκειται απλώς να παίξετε με το Linux!).

1.Απόκτηση των μέσων εγκατάστασης

Πριν προχωρήσετε στην εγκατάσταση του Debian θα χρειαστείτε το ίδιο το Debian. Ηεγκατάσταση του Debian μπορεί να γίνει με πολλούς τρόπους. Αναφέρουμε τουςσημαντικότερους:

• Εξολοκλήρου από CD. Το Debian διανέμεται σε 7 CD (έχει ξεκινήσει μία προσπάθεια ναυπάρχει και η επιλογή ενός DVD αλλά δεν έχει ολοκληρωθεί ακόμη). Στην πραγματικότητα τα3-4 πρώτα CD είναι τα πιο σημαντικά. Για να εγκαταστήσετε από CD, θα πρέπει ουπολογιστής σας να υποστηρίζει εκκίνηση από το CD [βλ. Παράρτημα I].

• Εκκίνηση από δισκέτα και μετά για την κυρίως εγκατάσταση χρήση ενός από τα ακόλουθα:

CD

Αρχεία σε σκληρό δίσκο

Δίκτυο (HTTP/FTP/NFS)

Αν δεν έχετε τα CD και αποφασίσετε να εγκαταστήσετε το Debian με άλλο τρόπο, τότε θαχρειαστείτε τουλάχιστον τις αρχικές δισκέτες εγκατάστασης.

Είτε προτιμήσετε την εγκατάσταση από CD είτε με άλλο τρόπο (από σκληρό δίσκο/δίκτυο), σεκάθε περίπτωση θα χρειαστεί να έχετε στη διάθεσή σας το μέσο της εγκατάστασης.

Αν πρόκειται για CD, θα πρέπει να τα προμηθευτείτε είτε αγοράζοντας ή μεταφορτώνοντας τα(download) αντίστοιχα CD images από το Internet (αυτό δεν συνιστάται εκτός κι αν έχετε πολύγρήγορη σύνδεση με το internet). Μπορείτε να προμηθευτείτε τα CD από τους επισήμουςαντιπροσώπους Debian (η επίσημη λίστα βρίσκεται στην διεύθυνσηhttp://www.debian.org/CD/vendors) ή από οποιονδήποτε προτίθεται να σας τα αντιγράψει. Αναποφασίσετε να μεταφορτώσετε τα CD images και να τα γράψετε, τότε μπορείτε να βρείτεοδηγίες στην διεύθυνση http://www.debian.org/CD. Μπορείτε έτσι να παραλείψετε τηνανάγνωση των επομένων ενοτήτων και να μεταβείτε κατευθείαν στην ενότητα "Εγκατάσταση απόCD".

Στις άλλες περιπτώσεις θα χρειαστεί να μεταφορτώσετε τουλάχιστον τα βασικά αρχεία πουχρειάζονται για την εγκατάσταση. Η μεταφόρτωση συνιστάται να γίνει είτε με ένα πρόγραμμαFTP ή μέσω ενός browser. Στην πρώτη περίπτωση θα πρέπει το πρόγραμμα FTP να είναιρυθμισμένο να μεταφορτώνει τα αρχεία ως binary και όχι ως αρχεία κειμένου (ASCII). Στηνπερίπτωση του browser, θα πρέπει να έχει απενεργοποιηθεί σε αυτόν η αυτόματη αποσυμπίεσηαρχείων (χαρακτηριστικό που συναντάται συχνά ειδικά στους browsers του λειτουργικού MacOS,και ειδικά Netscape) καθώς κάτι τέτοιο θα καθιστούσε αδύνατη την εύρεσή τους από τοπρόγραμμα εγκατάστασης.

Debian Guide 17

Page 18: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Όταν μεταφορτώνετε τα αρχεία, είναι καλό να διατηρήσετε την δομή καταλόγου όπως είναιαυτή στο δικτυακό τόπο του Debian. Αυτό είναι καλό μεν από άποψη οργάνωσης, αλλά είναι καιαναγκαίο σε ορισμένους τρόπους εγκατάστασης, όπως, για παράδειγμα, στην εγκατάσταση απόσκληρό δίσκο.

Για την αρχιτεκτονική που μας ενδιαφέρει (i386) και για την έκδοση woody του Debian η δομήαυτή έχει ως εξής (ξεκινώντας από τον κατάλογο debian/dists/woody/main/disks-i386):

current/i386/images-1.44/

Αυτή τη δομή πρέπει να αντιγράψετε. Δεν χρειάζεστε όλα τα αρχεία που βρίσκονται εκεί, μόνοαυτά που αντιστοιχούν στις ανάγκες σας (περισσότερες πληροφορίες σε επόμενη παράγραφο).

2.Αρχεία προς εγκατάσταση

Τα αρχεία που θα χρειαστεί να μεταφορτώσετε υποπίπτουν σε τρεις κατηγορίες:

• Αρχεία εκκίνησης του προγράμματος εγκατάστασης (rescue.bin, linux.bin, root.bin)

• Αρχεία που απαιτούνται μετά την εκκίνηση του προγράμματος εγκατάστασης, τα οποία θαχρησιμοποιηθούν για την εγκατάσταση του πυρήνα του Linux και των οδηγών των συσκευών(rescue.bin, drivers.tgz).

• Αρχεία της βασικής εγκατάστασης του συστήματος (basedebs.tar, περίπου 27MB).

Αν έχετε μια λειτουργική σύνδεση δικτύου (δηλαδή το σύστημά σας είναι ήδη μέρος ενός δικτύουLAN με πρόσβαση στο Internet και έχετε τις απαραίτητες πληροφορίες για να συνδεθείτε σε αυτότο δίκτυο, μπορείτε να κάνετε την εγκατάσταση του Debian GNU/Linux μέσω δικτύου.

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

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

3.Υποστήριξη συσκευών στην εγκατάσταση

Αναλόγα με την υποστήριξη των συσκευών του συστήματός μας από το Linux μπορούμε ναεπιλέξουμε ανάμεσα στους εξής τύπους αρχείων εγκατάστασης:

απλός ('vanilla')

Ο κύριος τύπος αρχείων, περιλαμβάνει όλους σχεδόν τους οδηγούς που υποστηρίζονται από τοLinux, ως modules. Υποστηρίζονται σχεδόν όλες οι κάρτες δικτύου, ελεγκτές SCSI, κάρτες ήχου,

Debian Guide 18

Page 19: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

συσκευές Video4Linux, κλπ. Ο τύπος 'vanilla' περιλαμβάνεται σε μία δισκέτταεκκίνησης/διάσωσης (rescue disk), μια δισκέττα βασικού καταλόγου (root disk) και τέσσεριςδισκέτες οδηγών συσκευών.

συμπαγής ('compact')

Όπως και ο απλός τύπος αρχείων, αλλά για πολλές από τις σανιότερα χρησιμοποιούμενεςσυσκευές να έχουν αφαιρεθεί οι αντίστοιχοι οδηγοί. Επιπροσθέτως, έχει ενσωματωμένηυποστήριξη για μερικές από τις πιο δημοφιλείς κάρτες δικτύου (βασισμένες σε ελεγκτές NE2000,3com 3c905, Tulip, ViaRhine και Intel EtherExpress Pro100) και ορισμένους ελεγκτές RAID(DAC960, Compaq SMART2). Με αυτόν τον τρόπο θα μπορείτε να εγκαταστήσετε όλο το σύστημαμέσω δικτύου χρησιμοποιώντας μόνο τις δισκέτες εκκίνησης (rescue floppy) και την δισκέταβασικού καταλόγου root. Περιλαμβάνεται σε μία δισκέτα εκκίνησης, μία δισκέτα βασικούκαταλόγου και δύο δισκέτες οδηγών συσκευών.

'idepci'

Αυτός ο τύπος αρχείων εγκατάστασης υποστηρίζει μόνο συσκευές IDE και κάρτες PCI (και πολύπεριορισμένο αριθμό καρτών ISA). Απευθύνεται σε χρήστες που αντιμετωπίζουν πρόβλημα στηνεγκατάσταση εξαιτίας των οδηγών SCSI που βρίσκονται σε άλλους τύπους αρχείων μεαποτέλεσμα το σύστημα να σταματήσει να αποκρίνεται (system hang). Στον τύπο αυτόν είναιενσωματωμένος και ο οδηγός ide-floppy ώστε να είναι δυνατή η εγκατάσταση από συσκευέςLS120 ή ZIP.

'bf2.4'

Αυτός είναι ένας πειραματικός τύπος αρχείων εγκατάστασης που χρησιμοποιεί μια ειδική έκδοσητου πυρήνα του Linux που βρίσκεται στο πακέτο kernel-image-2.4. Περιλαμβάνει υποστήριξη γιανεότερες συσκευές που δεν βρίσκονται στους παλιότερους τύπους. Ανάμεσα στις νέες συσκευέςείναι: συσκευές USB, πληκτρολόγια/ποντίκια USB, σύγχρονους ελεγκτές IDE, κάποιες νέεςκάρτες δικτύου και τα συστήματα αρχείων Ext3 και Reiser. Συγκριτικά με τους άλλους τύπους,έχουν αφαιρεθεί ορισμένοι μη ζωτικής σημασίας οδηγοί συσκευών για να κρατηθεί ο αριθμόςτων δισκετών σε ένα λογικό αριθμό. Επειδή είναι ακόμη πειραματικός, πιθανόν να συναντήσετεπροβλήματα στην εγκατάσταση. Σε αυτήν την περίπτωση θα πρέπει να χρησιμοποιήσετε κάποιονάλλο τύπο. Περιλαμβάνεται σε μία δισκέτα εκκίνησης, μια δισκέτα βασικού καταλόγου καιτέσσερις δισκέτες οδηγών συσκευών.

Στην περίπτωση που έχετε οδηγό δισκέτας με σύνδεση USB (αρκετοί φορητοί υπολογιστέςχρησιμοποιούν τετοιους οδηγούς) τότε θα πρέπει να προμηθευτείτε άλλα αρχεία εγκατάστασηςαπό την διεύθυνση:

http://www-user.rhrk.uni-kl.de/~blochedu/usb-install/

Σημειώνουμε ότι οι δισκέτες αυτές διατίθενται σε τρείς τύπους, 1.2 ΜΒ, 1.44 ΜΒ, και 2.44 ΜΒ. Οιπερισσότεροι χρήστες θα χρειαστούν μόνο τις δισκέτες 1.44ΜΒ.

4.Σημεία εύρεσης των αρχείων εγκατάστασης

Μπορείτε να βρείτε τα αρχεία εγκατάστασης του Debian στους εξής δικτυακούς τόπους:

rescue.bin:

Debian Guide 19

Page 20: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

http://ftp.debian.org/debian/dists/woody/main/disks-i386/current/images1.44/rescue.bin

http://ftp.debian.org/debian/dists/woody/main/disks-i386/current/images1.44/compact/rescue.bin

http://ftp.debian.org/debian/dists/woody/main/disks-i386/current/images1.44/idepci/rescue.bin

http://ftp.debian.org/debian/dists/woody/main/disks-i386/current/images1.44/bf2.4/rescue.bin

root.bin:

http://ftp.debian.org/debian/dists/woody/main/disks-i386/current/images1.44/root.bin

http://ftp.debian.org/debian/dists/woody/main/disks-i386/current/images1.44/compact/root.bin

http://ftp.debian.org/debian/dists/woody/main/disks-i386/current/images1.44/idepci/root.bin

http://ftp.debian.org/debian/dists/woody/main/disks-i386/current/images1.44/bf2.4/root.bin

drivers:

Το αρχείο rescue.bin περιέχει τον πυρήνα του Linux συμπιεσμένο και χρησιμοποιείται κατά τηνεκκίνηση του προγράμματος εγκατάστασης, αλλά και κατά την εγκατάσταση του ίδιου τουπυρήνα στο σύστημα σας.

Το αρχείο linux.bin περιέχει τον ίδιο πυρήνα αλλά ασυμπίεστο και χρησιμοποιείται για τηνεγκατάσταση του συστήματος από σκληρό δίσκο σε DOS (βλ. επόμενη ενότητα).

Το αρχείο root.bin περιέχει ένα σύστημα αρχείων (filesystem) σε μικρογραφία με τα βασικάεργαλεία, το οποίο μεταφορτώνεται σε δίσκο μνήμης (RAM disk) μετά την εκκίνηση.

Το αρχείο των οδηγών συσκευών διατίθεται είτε τμηματικά με τη μορφή αντιγράφων δισκετών(drivers-1.bin, drivers-2.bin, κλπ) είτε ως ενιαίο αρχείο drivers.tgz. Το πρόγραμμα εγκατάστασηςθα χρειαστεί πρόσβαση στο αρχείο των οδηγών κατά τη διάρκεια της εγκατάστασης. Αν έχετεκάποιο διαμέρισμα στο σκληρό δίσκο (partition) που μπορεί να χρησιμοποιηθεί για τηνεγκατάσταση, ή κάποιον άλλο υπολογιστή που είναι συνδεδεμένος δικτυακά με το σύστημα στοοποίο θα γίνει η εγκατάσταση, είναι προτιμώτερη η μεταφόρτωση του ενιαίου αρχείουdrivers.tgz.

Όπως θα δούμε και σε επόμενη ενότητα, είναι δυνατή η χρήση ενός υπάρχοντος διαμερίσματοςτου σκληρού για αποθήκευση των αρχείων και μετέπειτα χρήση τους κατά την εγκατάσταση. Οτύπος του διαμερίσματος μπορεί να ποικίλει καθώς το Linux υποστηρίζει αρκετά είδησυστημάτων αρχείων. Προς το παρόν, το πρόγραμμα της εγκατάστασης μπορεί να προσπελάσειαρχεία από συστήματα αρχείων FAT, HFS, ext2fs, Minix, αλλά όχι NTFS, δηλαδή δεν μπορείτε νατοποθετήσετε τα αρχεία σε ένα τυπικό διαμέρισμα των Windows NT/2000/XP (εκτός φυσικά ανείναι σε FAT).

Πέρα από τα προανεφερθέντα αρχεία, θα χρειαστείτε και το εργαλείο loadlin, το οποίο μπορείτενα βρείτε στη διεύθυνση

http://ftp.debian.org/debian/dists/woody/main/disks-i386/current/dosutils/loadlin.exe

5.Δημιουργία δισκετών εγκατάστασης

Αφού μεταφορτώσετε τα απαραίτητα αρχεία θα πρέπει να τα γράψετε σε δισκέτες για ναπροχωρήσετε στην εγκατάσταση. Δεν αρκεί όμως μια απλή αντιγραφή. Τα αρχεία αυτά είναιακριβή αντίγραφα ολόκληρης της δομής μιας δισκέτας, μπλοκ προς μπλοκ (disk image files

Debian Guide 20

Page 21: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

όπως λέγονται). Η δημιουργία μιας δισκέτας χρησιμοποιώντας τα αρχεία αυτά γίνεται με τηναντιγραφή πίσω στη δισκέτα κάθε μπλοκ ξεχωριστά. Για το σκοπό αυτό χρησιμοποιούνται ειδικάπρογράμματα, ξεχωριστά σε κάθε λειτουργικό σύστημα. Τα προγράμματα αυτά κάνουν μιααντιγραφή raw δεδομένων στη δισκέτα.

Σε σύστημα Linux/UNIX

Αν έχετε μεταφορτώσει τα αρχεία εγκατάστασης σε άλλο λειτουργικό σύστημα Linux ή σε τύπουUNIX (π.χ. Solaris), μπορείτε πολύ εύκολα να αντιγράψετε τα αρχεία στις δισκέτεςχρησιμοποιώντας την εντολή

dd if=<image file> of=/dev/fd0 bs=1024 conv=sync; sync

όπου <image file> είναι ένα από τα αρχεία .bin που έχετε μεταφορτώσει, /dev/fd0 είναι το όνοματης συσκευής της μονάδας της δισκέτας στο Linux (στο Solaris είναι /dev/fd/0). Το πρόγραμμαμπορεί να επιστρέψει στο prompt πριν τελειώσει η αντιγραφή. Θα πρέπει να βεβαιωθείτε ότι ηαντιγραφή έχει ολοκληρωθεί πριν βγάλετε τη δισκέτα.

Στα Windows

Αν τα αρχεία εγκατάστασης τα έχετε μεταφορτώσει σε περιβάλλον DOS/Windows μπορείτε ναχρησιμοποιήσετε κάποια αντίστοιχα εργαλεία για να τα αντιγράψετε σε δισκέτες. Σε περιβάλλονDOS μπορείτε να χρησιμοποιήσετε τα εργαλεία FDVOL, WrtDsk και RaWrite3:

http://www.minix-vmd.org/pub/Minix-vmd/dosutil/

Τα εργαλεία αυτά τρέχουν στη γραμμή εντολών του DOS και δεν έχουν παραθυρικό χειρισμό.

Σε περιβάλλον Windows NT/2000/XP μπορείτε να χρησιμοποιήσετε την παραθυρική εφαρμογήNTRawrite. Μπορείτε να την βρείτε στη διεύθυνση:

http://sourceforge.net/projects/ntrawrite/

Debian Guide 21

Page 22: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 4 - Εκκίνηση της εγκατάστασης

Αν πραγματοποιείτε την εγκατάσταση χρησιμοποιώντας δισκέτες ή CD-ROM θα δείτε ως πρώτηένδειξη την προτροπή (prompt) boot:. Στο σημείο αυτό, μπορείτε να επέμβετε αν θέλετε ή ανυπάρχει πρόβλημα στον τρόπο που θα γίνει η εγκατάσταση. Γενικά, μπορείτε να μην δώσετετίποτε στην προτροπή αυτή και απλώς να πατήσετε <ENTER>.

Ανάμεσα στις περιπτώσεις που χρειάζεται να επέμβει κάποιος στην διαδικασία εκκίνησης είναι ηεγκατάσταση συστήματος εξ αποστάσεως μέσω καλωδίου σειριακής θύρας (null modem cable).Στην περίπτωση αυτή αρκεί να δοθεί η παράμετρος console=<device>, όπου <device> το όνοματης συσκευής που αντιστοιχεί στη σειριακή θύρα που θα χρησιμοποιηθεί, π.χ. ttyS0 για τηνCOM1.

1.Εκκίνηση από CD-ROM

Το Debian για αρχιτεκτονική i386 (IA32 όπως έχουμε προαναφέρει) διατίθεται σε 5 CD. Κάθε ένααπό αυτά τα CD μπορεί να χρησιμοποιηθεί για εκκίνηση της εγκατάστασης για διαφορετικόσκοπό όμως το καθένα. Ειδικά το πρώτο CD μπορεί να χρησιμοποιηθεί για να εκκινήσειοποιονδήποτε από τους τέσσερις τύπους αρχείων εγκατάστασης (vanilla, compact, idepci,bf2.4). Απλώς δώστε το όνομα του

επιθυμητού τύπου στην προτροπή boot:. Αυτή η μέθοδος επιλογής βασίζεται στο σύστημαisolinux, το οποίο μπορεί να μην το υποστηρίζει ο υπολογιστής σας. Φαίνεται ότι σε αυτήν τηνκατηγορία εμπίπτουν και πολλά από τα SCSI CD-ROM. Για το σκοπό αυτό έχει ενεργοποιηθεί καιη δυνατότητα εκκίνησης και στα υπόλοιπα CD, έτσι ώστε το καθένα να χρησιμοποιεί διαφορετικότύπο αρχείων εκκίνησης. Συγκεκριμένα:

• το CD 1 επιτρέπει την επιλογή οποιουδήποτε από τους τύπους εγκατάστασης (vanilla,compact, idepci, bf2.4) με προεπιλεγμένο το 'idepci'.

• το CD 2 χρησιμοποιεί τον τύπο 'vanilla'.

• το CD 3 τον τύπο 'compact'.

• το CD 4 τον τύπο 'idepci'.

• το CD 5 τον τύπο 'bf2.4'.

Έτσι, αν είστε κάτοχος SCSI CD-ROM και αντιμετωπίζετε πρόβλημα με το πρώτο CD και τοσύστημα δεν σας επιτρέπει να εκμεταλλευτείτε την δυνατότητα επιλογής στο πρώτο CD,μπορείτε να χρησιμοποιείτε ένα από τα CD 2, CD 3, ή CD 5. Το CD 4, δεν ενδείκνυται καθώς δενέχει οδηγούς για συσκευές SCSI.

Ειδικά σε παλιά συστήματα, δεν είναι δυνατή η εκκίνηση του υπολογιστή από CD-ROM. Σε αυτήντην περίπτωση μπορείτε να φορτώσετε DOS και να εκτελέσετε το αρχείο E:\install\boot.bat. Τογράμμα E: σε αυτήν την περίπτωση, θα πρέπει φυσικά να αντικατασταθεί από το αντίστοιχογράμμα που χρησιμοποιεί η συσκευή CD-ROM του συστήματός σας.

Αντίθετα, οι νεότεροι υπολογιστές, ειδικά οι φορητοί, πιθανόν να χρησιμοποιούν USB ή FireWire(IEEE 1394 ή iLINK) CD-ROM. Για να εκκινήσει το σύστημα από αυτά τα συστήματα θα πρέπει ναχρησιμοποιηθεί αναγκαστικά ο τύπος 'bf2.4', καθώς στους παλιότερους τύπους δεν υπάρχει

Debian Guide 22

Page 23: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

επαρκής υποστήριξη για αυτά τα πρωτόκολλα.

Ακόμη όμως και αν δεν είναι δυνατή η εκκίνηση από CD-ROM, μπορείτε να χρησιμοποιήσετε ταCDs του Debian για την εγκατάσταση του κυρίως συστήματος και των πακέτων.

Σε περίπτωση που δεν παρουσιαστούν προβλήματα, η εκκίνηση έχει γίνει κανονικά και τοπρόγραμμα εγκατάστασης έχει φορτώσει περιμένοντας πλέον τις εντολές σας! Μπορείτε νααγνοήσετε τις επόμενες ενότητες και να μεταβείτε απευθείας στην ενότητα 'Τα πρώτα στάδια τηςεκκίνησης''.

2.Εκκίνηση από δισκέτες

Αν για κάποιο λόγο δεν μπορείτε να εκκινήσετε την εγκατάσταση από CD-ROM, ή αν δεν έχετε ταCD-ROM και θέλετε να κάνετε εγκατάσταση μέσω δικτύου, τότε μπορείτε να χρησιμοποιήσετε τιςδισκέτες εγκατάστασης, επιλέγοντας τον κατάλληλο τύπο για τον υπολογιστή σας (vanilla,compact, idepci, bf2.4, τις δισκέτες για usb floppies).

Η διαδικασία της εκκίνησης είναι αρκετά απλή, απλώς τοποθετήστε την δισκέτα εκκίνησης(rescue) στον οδηγό δισκέτας και επανεκκινήστε τον υπολογιστή. Θα εμφανιστεί και πάλι μιαπροτροπή boot:.

Αν πρόκειται να κάνετε εγκατάσταση από οδηγό δισκέτας LS120 (έκδοση ATAPI), τότε θα πρέπεινα δώσετε στην προτροπή boot: την εντολή root=<όνομα συσκευής LS120>. Εφόσον πρόκειταιγια συσκευή IDE, το όνομα θα είναι της μορφής /dev/hdx, όπου x το γράμμα που αντιστοιχείστην σειρά σύνδεσης της συσκευής. Αν είναι δηλαδή η πρώτη συσκευή στο δεύτερο bus, τογράμμα που αντιστοιχεί στον οδηγό LS120 είναι το c, και η σωστή εντολή είναι "root=/dev/hdc".Σημειώνουμε ότι η εγκατάσταση από τέτοιου τύπου οδηγούς υποστηρίζεται μόνο από τα αρχεία'bf2.4'.

Στην προτροπή boot: πατώντας τα πλήκτρα F1-F10 (Function keys) θα εμφανιστούν κάποιεςσελίδες βοηθείας που σας δίνουν κάποιες χρήσιμες πληροφορίες για παραμετροποίηση τηςδιαδικασίας εκκίνησης.

Όταν θεωρήσετε ότι είστε έτοιμοι να προχωρήσετε πατήστε <ENTER>.

Θα δείτε τα μυνήματα "Loading..." ακολουθούμενο από "Uncompressing Linux...". Στην ουσία οφορτωτής εκκίνησης (boot loader), φορτώνει τον πυρήνα του Linux, ο οποίος είναισυμπιεσμένος στην δισκέτα για λόγους μείωσης όγκου δεδομένων και στη συνέχεια τον εκτελεί.

Αναλόγως τον τύπο αρχείων που έχετε επιλέξει πιθανόν να σας ζητηθεί να τοποθετήσετε και τηνδισκέτα root. Τοποθετήστε την αντίστοιχη δισκέτα και πατήστε <ENTER>. Σε αυτή περιέχονται τακυρίως αρχεία της εγκατάστασης.

3.Εκκίνηση από σκληρό δίσκο σε περιβάλλον DOS

Όπως έχει ειπωθεί, πέρα από την εγκατάσταση από CD-ROM και δισκέτες, μπορεί να γίνει καιαπό σκληρό δίσκο, χρησιμοποιώντας διαμέρισμα του δίσκου σε FAT32 (το σύστημα αρχείων τωνWindows 95/98). Μπορεί να γίνει και από διαμέρισμα σε σύστημα αρχείων ext2/NTFS αλλάπρόκειται για κάπως πιο προχωρημένο θέμα που ξεφεύγει τους σκοπούς αυτού του οδηγού.

Θα πρέπει αφού έχετε μεταφορτώσει τα αρχεία της εγκατάστασης με την απαραίτητη δομή

Debian Guide 23

Page 24: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

(όπως είπαμε στην ενότητα ΧΧΧ), να εκκινήσετε σε περιβάλλον DOS (συνήθως πατώντας F8 στηνεκκίνηση των Windows).

Σημείωση: ΔΕΝ υποστηρίζεται η εγκατάσταση από περιβάλλον Windows NT/2000/XP, καθώςαυτά δεν έχουν παρέχουν υποστήριξη για περιβάλλον DOS. Στην περίπτωση που δεν έχετε ή δενθέλετε να εγκαταστήσετε Windows 95/98, μπορείτε να χρησιμοποιήσετε το ελεύθερο λογισμικόFreeDOS http://www.freedos.org που προσφέρει ένα υποκατάστατο του MS-DOS.

Αφού έχετε εκκινήσει σε περιβάλλον DOS, αλλάξτε τρέχων κατάλογο σε αυτόν που έχετεμεταφορτώσει τα αρχεία εγκατάστασης, π.χ.

cd C:\current\compact

και εκτελέστε το αρχείο install.bat. Θα εκκινήσει τον πυρήνα του Linux και στη συνέχεια τοπρόγραμμα εγκατάστασης.

4.Τα πρώτα στάδια της εγκατάστασης

Αν δεν υπάρξουν προβλήματα κατά την εκκίνηση θα πρέπει να δείτε το κυρίως πρόγραμμα τηςεγκατάστασης, το dbootstrap. Αυτό είναι ένα αρκετά απλό στη χρήση πρόγραμμα, που θα σαςοδηγήσει σε όλα τα στάδια τα στάδια της εγκατάστασης με συνεχή και συνεπή τρόπο.

Το dbootstrap είναι υπεύθυνο για όλα τα στάδια της εγκατάστασης του Debian εκτός από τηνεπιλογή και εγκατάσταση των πακέτων. Στο dbootstrap, θα επιλέξετε οδηγούς συσκευών γιαπεριφερειακά που έχετε συνδεδεμένα στον υπολογιστή σας, θα ορίσετε τις αρχικές ρυθμίσειςδικτύου, θα διαμορφώσετε τον σκληρό σας δίσκο και τα αντίστοιχα διαμερίσματα.

Ο χειρισμός του είναι αρκετά απλός και μπορείτε να χρησιμοποιήσετε τα εξής πλήκτρα:

• τα πλήκτρα Tab και Shift-Tab για την μετακίνηση εμπρός και πίσω αντίστοιχα.

• τα βελάκια του δρομέα (cursor) στο πληκτρολόγιο για την αλλαγή της επιλόγής σε λίστεςεπιλογών.

• Το πλήκτρο space για τις επιλογές checkbox.

• Το πλήκτρο Enter για την ενεργοποίηση των επιλογών.

Για τους πιο προχωρημένους χρήστες δίνονται μερικές επιπλέον δυνατότητες. Με τη χρήση τωνπλήκτρων Αριστερό Alt-F1 έως και F4, μπορεί κάποιος χρήστης να χειριστεί το κυρίωςπρόγραμμα εγκατάστασης (dbootstrap, Left Alt-F1), να έχει πρόσβαση σε ένα κέλυφοςπεριορισμένων δυνατοτήτων (ash shell, Left Alt-F2), να δει τα μυνήματα του πυρήνα και τυχόνλάθη σε αναγνώριση συσκευών (dmesg, Left Alt-F3) και τέλος να δει τα μυνήματα τηςεγκατάστασης των βασικών πακέτων (Left Alt-F4).

Όσον αφορά το κέλυφος ash, δεν συνίσταται η χρήση του εκτός αν είστε έμπειρος χρήστηςLinux/UΝΙX και αντιμετωπίζετε κάποιο πρόβλημα στην εγκατάσταση ή υπάρχει κάποιασυγκεκριμένη διαδικασία που πρέπει να προηγηθεί στην εγκατάσταση και δεν την προσφέρει τοπρόγραμμα dbootstrap. Για τις υπόλοιπες περιπτώσεις θα πρέπει να ακολουθήσετε τα στάδιατου dboostrap.

Η πρώτη οθόνη που θα δείτε είναι η επιλογή της γλώσσας. Η ενσωμάτωση της ελληνικήςγλώσσας δεν έχει ολοκληρωθεί ακόμη, οπότε για λόγους ευκολίας θα προτιμήσουμε την αγγλική

Debian Guide 24

Page 25: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

γλώσσα στην εγκατάσταση.

Στην περίπτωση βέβαια που αντιμετωπίσετε προβλήματα κατά την εγκατάσταση και δε δείτε τηνοθόνη επιλογής γλώσσας, μπορείτε να ανατρέξετε στο Παράρτημα II.

[screenshot]

Θα ακολουθήσουν η οθόνη "Release Notes" στην οποία θα μπορείτε να μάθετε περισσότερεςπληροφορίες για την συγκεκριμένη έκδοση του προγράμματος εγκατάστασης του Debian και γιατους Debian Developers.

[screenshot]

5.Κεντρικό Μενού Εγκατάστασης του Debian GNU/Linux

"Debian GNU/Linux Installation Main Menu"

Αυτό είναι το κεντρικό μενού εγκατάστασης του Debian.

[screenshot]

Σε κάθε στάδιο πιθανόν να δείτε το μύνημα "The installation program is determining the currentstate of your system and the next installation step that should be performed". Αυτό συμβαίνειγιατί το πρόγραμμα εγκατάστασης κάθε φορά ελέγχει την κατάσταση του συστήματός σας καιπροσπαθεί να εκτιμήσει ποιο θα πρέπει να είναι το επόμενο βήμα της εγκατάστασης. Αυτό είναιπολύ χρήσιμο σε περίπτωση που κάποιο πρόβλημα συμβεί κατά την εγκατάσταση καιτερματιστεί πρόωρα (π.χ. ένα crash του υπολογιστή, μια πτώση τάσης, κλπ). Έτσι μπορείτε ναεπανεκκινήσετε την εγκατάσταση και να βρεθείτε στο ίδιο σημείο που είχατε σταματήσει τηνεγκατάσταση. Το μόνο που θα χρειαστεί να κάνετε είναι να ρυθμίσετε το πληκτρολόγιό σας ναενεργοποιήσετε πάλι το διαμέρισμα swap και τους δίσκους που είχατε διαμορφώσει πρίν.

Στο πάνω μέρος της οθόνης του προγράμματος εγκατάστασης, θα είναι εμφανείς τρεις επιλογές:"Next", "Alternate" και "?", με αντίστοιχες επεξηγήσεις για το κάθε βήμα. Συνήθως αρκεί ναεπιλέξετε την πρώτη, εκτός φυσικά αν οι ανάγκες σας είναι τέτοιες που πρέπει να επιλέξετε τηνεναλλακτική "Alternate".

6.Ρύθμιση του πληκτρολογίου

[screenshot]

Το πρώτο στάδιο που θα εμφανιστεί στη λίστα επιλογών, είναι η ρύθμιση του πληκτρολογίου.Για τα ελληνικά δεδομένα μπορείτε να επιλέξετε QWERTY/US.

Στο σημείο αυτό ξεκινάει και η κυρίως εγκατάσταση.

Debian Guide 25

Page 26: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 5 - Προχωρώντας την εγκατάσταση

1.Κατάτμηση του δίσκου

Η επόμενη επιλογή που εμφανίζεται είναι η "Partition a Hard Disk", δηλαδή η διαμέριση ενόςσκληρού δίσκου σε διαμερίσματα (partitions).

Το Linux ως λειτουργικό σύστημα -και κατ' επέκταση και το Debian- δεν έχει ιδιαίτερεςαπαιτήσεις όσον αφορά τον τρόπο της κατάτμησης του σκληρού δίσκου. Είναι δυνατή ηεγκατάστασή του σε ένα μόνο διαμέρισμα, το οποίο θα περίεχει όλα τα αρχεία του συστήματος,τις εφαρμογές και τα προσωπικά σας αρχεία. Συνήθως προτείνεται και η προσθήκη ενόςδεύτερου διαμερίσματος το οποίο θα χρησιμοποιηθεί ως εικονική μνήμη (virtual memory ή swapόπως πιο συχνά καλείται). Η χρήση του διαμερίσματος εναλλαγής δεδομένων δεν είναιαπαραίτητη, μάλιστα είναι δυνατή η χρήση ενός μόνο αρχείου για εναλλαγή δεδομένων, αλλά ηαπόδοση του συστήματος διαχείρισης μνήμης είναι σαφώς καλύτερη με αποκλειστικάδεσμευμένο διαμέρισμα για χρήση εναλλαγής.

Γενικά προτείνεται η χρήση πολλών διαμερισμάτων για τη χρήση του Linux.Ένας από τουςκύριους λόγους είναι το θέμα ασφάλειας. Σε περίπτωση που παρουσιαστεί κάποιο πρόβλημα στοδίσκο αυτό συνήθως εμφανίζεται μόνο σε ένα διαμέρισμα. Αν έχετε όλα τα αρχεία σας(συστήματος, εφαρμογές, προσωπικά) στο ίδιο διαμέρισμα, τότε είναι αυξημένη η πιθανότητα ναχάσετε τα προσωπικά σας αρχεία για κάποιο πρόβλημα που θα παρουσιαστεί σε αρχείο τουσυστήματος. Στην περίπτωση που βρίσκονται σε διαφορετικό διαμέρισμα, θα μπορούσατε νααντικαταστήσετε τα ελαττωματικά αρχεία συστήματος χωρίς να χρειαστεί να το πειράξετε. Τοελάχιστο που μπορείτε να κάνετε είναι να ορίσετε ένα ελάχιστο διαμέρισμα για το βασικόκατάλογο του συστήματος (root partition). Σε αυτό περιέχονται χρήσιμες εφαρμογές καιεργαλεία και αν τα άλλα διαμερίσματα παρουσιάσουν κάποιο πρόβλημα, μπορείτε να εκκινήσετεαπό το διαμέρισμα root και να το διορθώσετε, γλυτώνοντας έτσι τον κόπο τηςεπανεγκατάστασης.

Ένας δεύτερος λόγος είναι η κατανάλωση χώρου στο διαμέρισμα. Αυτό επηρεάζει κυρίωςεπαγγελματικές εγκαταστάσεις αλλά όχι μόνο. Είναι συνηθισμένο το φαινόμενο σε mail serversνα γεμίζει το διαμέρισμα /var, λόγω της πολλής αλληλογραφίας spam που βρίσκεται στονκατάλογο /var/mail.Γενικά είναι καλό να υπάρχει αρκετός ελεύθερος χώρος σε κάθε διαμέρισματου δίσκου για την καλή λειτουργία του συστήματος και να μην λειτουργεί στα όρια του.

Το μόνο μειονέκτημα στον διαχωρισμό σε πολλά διαμερίσματα είναι η λανθασμένη εκτίμηση στηναρχή, που μπορεί να οδηγήσει στην δέσμευση περισσότερου χώρου για κάποιο διαμέρισμα καιλιγότερο για κάποιο άλλο ίσως σημαντικότερο.

2.Το δέντρο αρχείων του Debian GNU/Linux

Το Debian ακολουθεί το FHS (Filesystem Hierarchy Standard http://www.pathname.com/fhs) τοοποίο ορίζει συγκεκριμένες θέσεις για καταλόγους και αρχεία συγκεκριμένου τύπου και βοηθάειστην καλύτερη οργάνωση των αρχείων στο σύστημα. Έχει υιοθετηθεί σε μεγάλο βαθμό απόσχεδόν όλες τις διανομές.

Debian Guide 26

Page 27: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Ο βασικός κατάλογος (root directory) απεικονίζεται με την πλάγιοκάθετο / (slash). Όλοι οιυπόλοιποι κατάλογοι βρίσκονται κάτω από τον βασικό κατάλογο.

Συγκεκριμένα, έχουμε για τους πιο σημαντικούς από αυτούς:

Debian Guide 27

Page 28: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Όνομακαταλόγου

Πληροφορίες

/bin Βασικές εντολές συστήματος

/boot Αρχεία εκκίνησης του συστήματος (πυρήνας, boot loader)

/dev Αρχεία επαφών συσκευών

/etc Αρχεία ρύθμισης και παραμετροποίησης συστήματος και εφαρμογών

/home Προσωπικά αρχεία κάθε χρήστη

/lib Βασικές βιβλιοθήκες συστήματος

/mnt Σημείο προσωρινής ενεργοποιήσης και πρόσβασης σε σύστημααρχείων

/proc Εικονικό σύστημα αρχείων που παρέχει πληροφορίες για το σύστημα

/root Προσωπικά αρχεία για τον διαχειριστή συστήματος (χρήστης root)

/sbin Βασικές εντολές διαχείρισης συστήματος

/tmp Προσωρινά αρχεία συστήματος

/usr Δευτερεύουσα ιεραρχεία

/var Διάφορα αρχεία μεταβλητής φύσης

/opt Επιπρόσθετα αρχεία, συνήθως χρησιμοποιούμενα από εφαρμογές

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

• το διαμέρισμα που θα περιέχει τον βασικό κατάλογο / θα πρέπει απαραίτητα να περιέχει τουςκαταλόγους /etc, /bin, /sbin, /lib, /root και /dev, διαφορετικά δεν θα είναι δυνατή ηεκκίνηση του συστήματος. Ένα τυπικό μέγεθος για το βασικό διαμέρισμα είναι 100 MB(MegaBytes).

• ο κατάλογος /usr περιέχει τις περισσότερες εφαρμογές και εργαλεία του Debian. Έχει μιαδομή παρόμοια με τον βασικό (δηλαδή περιέχει καταλόγους /bin, /sbin, /lib, κλπ) αλλά καιεπιπλέον καταλόγους όπως ο /usr/src που περιέχει τον πηγαίο κώδικα του πυρήνα του Linuxκαι τον κατάλογο X11R6 που περιέχει το σύστημα παραθύρων X (X Window System).Αναλόγως φυσικά με τα πακέτα που σκοπεύετε να εγκαταστήσετε θα πρέπει να καθορίσετεκαι το μέγεθος που σκοπεύετε να δώσετε στο διαμέρισμα που θα φιλοξενήσει τον κατάλογοαυτόν.

• το διαμέρισμα που θα κρατάτε τα προσωπικά σας αρχεία (κείμενα, προγράμματα, μουσική,εικόνες) θα βρίσκεται στον κατάλογο /home. Συνηθίζεται αυτός ο κατάλογος να βρίσκεται σεδικό του διαμέρισμα. Το μέγεθος αυτό θα πρέπει να καθοριστεί αναλόγως με τις δικές σαςανάγκες και να κυμαίνεται από μερικά MB έως πολλά GB. Αν έχετε περισσότερους από ένανχρήστες θα πρέπει να λάβετε υπόψιν και τις δικές τους ανάγκες για χώρο. Με τα σύγχροναδεδομένα, 2-4 GB είναι αρκετά για ένα χρήστη.

• ο κατάλογος /var περιέχει όπως είπαμε διάφορα αρχεία μεταβλητής φύσης, όπως emails,άρθρα από newsgroups, ιστοσελίδες, τα πακέτα που μεταφορτώνονται από το εργαλείο APT.

Debian Guide 28

Page 29: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Για τους περισσότερους χρήστες το καθοριστικό κριτήριο για το μέγεθος του διαμερίσματος /var θα είναι η χρήση του εργαλείου APT. Αν σκοπεύετε να κάνετε πλήρη εγκατάσταση σε έναβήμα θα χρειαστείτε τουλάχιστον 3 GB, ενώ με μέτρια χρήση του αρκούν 500 MB. Αν δενσκοπεύετε να χρησιμοποιήσετε το APT και ο χώρος είναι πολύτιμος (π.χ. σε μια embeddedεφαρμογή), τότε ίσως να σας αρκέσουν 50 MB.

• ο κατάλογος /tmp περιέχει τυχόν προσωρινά αρχεία που χρειάζονται τα προγράμματα. Ένατυπικό μέγεθος είναι 50-100 MB.

3.Συνιστώμενη κατάτμηση δίσκου

Με τα σημερινά δεδομένα, το ελάχιστο μέγεθος σκληρού δίσκου είναι περίπου 20 GB. Αυτό τομέγεθος είναι υπεραρκετό για την εγκατάσταση του Debian αλλά η καλή οργάνωση τουδιαχωρισμού του δίσκου σε διαμερίσματα θα αποβεί προς όφελος σας μακροπρόθεσμα.

Για καλύτερη κατανόηση παραθέτουμε την οργάνωση των διαμερισμάτων στο φορητόυπολογιστή του γράφοντος (15 GΒ συνολική χωρητικότητα).

Διαμέρισμα Μέγεθος

/ 256 MB

swap 512 MB

/usr 5120 ΜB

/var 3400 GB

/tmp 128 MB

/home 5192 ΜB

Σύνολο 14608 MB

Φυσικά μπορείτε να ακολουθήσετε και διαφορετικό σύστημα κατάτμησης. Τα βασικάδιαμερίσματα που θα πρέπει να σας απασχολήσουν για το μέγεθός τους είναι το /home και το /var, καθώς για αυτά γίνεται πιο συχνά λανθασμένη εκτίμηση στην αρχή.

4.Προετοιμασία δίσκου

Αφού αποφασίσετε τον τρόπο με τον οποίο θέλετε να διαχωρίσετε τον σκληρό σας δίσκο (ή τουςσκληρούς δίσκους), επιλέξτε το "Partition a Hard Disk" από την κυρίως οθόνη της εγκατάστασης.Θα εμφανιστεί το πρόγραμμα της διαχείρισης διαμερισμού σκληρού cfdisk. Οδηγίες για τηνχρήση του προγράμματος cfdisk θα βρείτε στο Παράρτημα III.

5.Εγκαινίαση και ενεργοποίηση διαμερίσματος Swap

"Initialize and Activate a Swap Partition"

Το επόμενο στάδιο είναι η εγκαινίαση και ενεργοποίηση του διαμερίσματος Swap, αν φυσικά

Debian Guide 29

Page 30: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

κάτι τέτοιο είναι επιθυμητό. Θα σας δωθούν τρείς επιλογές: α) εγκαινίαση του διαμερίσματοςswap και ενεργοποίηση, β) ενεργοποίηση προεγκαινιασμένου διαμερίσματος swap, γ) Χωρίςχρήση διαμερίσματος swap.

Τις περισσότερες φορές μπορείτε απλώς να επιλέξετε την πρώτη επιλογή, εκτός αν είστεσίγουροι ότι το διαμέρισμα είναι ήδη προεγκαινιασμένο, οπότε μπορείτε να επιλέξετε τηδεύτερη.

[screenshot]

Κατόπιν θα πρέπει να επιλέξετε το διαμέρισμα που θέλετε να εγκαινιάσετε και ενεργοποιήσετεαπό μια λίστα διαμερισμάτων που έχετε ορίσει ως swap στο προηγούμενο στάδιο. Απαντήστεκαταφατικά στην επόμενη ερώτηση που προειδοποιεί για καταστροφή των δεδομένων στοδιαμέρισμα.

Η χρήση του διαμερίσματος swap συνιστάται ακόμη και αν έχετε αρκετή μνήμη εγκατεστημένηστον υπολογιστή σας, αλλά το Linux μπορεί να λειτουργήσει και χωρίς swap.

6.Αρχικοποίηση διαμερισματος για το Linux

"Initialize a Linux Partition"

Μετά το διαμέρισμα εναλλαγής swap θα πρέπει να αρχικοποιήσετε και ενεργοποιήσετε ταδιαμερίσματα του δίσκου που θα χρησιμοποιήσετε.

Θα πρέπει αρχικά να επιλέξετε το διαμέρισμα που θα φιλοξενήσει τον βασικό κατάλογο / (rootdirectory). Αν πρόκειται για ήδη υπάρχον διαμέρισμα με παλιά δεδομένα, η αρχικοποίηση θαδιαγράψει όλα τα δεδομένα του.

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

Επίσης, θα ερωτηθείτε αν θέλετε να ελέγξετε την επιφάνεια του σκληρού δίσκου -για τηνακρίβεια την επιφάνεια του σκληρού δίσκου που αντιστοιχεί στο συγκεκριμένο διαμέρισμα- γιαελαττωματικούς τομείς (sectors). Σε περίπτωση που πρόκειται για καινούριο σκληρό δίσκο, δενείναι ανάγκη να επιλέξετε κάτι τέτοιο γιατί πρόκειται για χρονοβόρα διαδικασία. Φυσικά, δενείναι κακή συνήθεια να ελέγχει κάποιος την ποιότητα του σκληρού δίσκου στον οποίο πρόκειταινα εμπιστευθεί τα δεδομένα του. Πρόκειται για καθαρά προσωπικό θέμα.

[screenshot]

Τελειώνοντας την αρχικοποίηση του βασικού καταλόγου, πρ προχωρήσετε στο επόμενο στάδιο,θα πρέπει να αρχικοποιήσετε και ενεργοποιήσετε τα υπόλοιπα διαμερίσματα (που πιθανόν θααντιστοιχούν στους καταλόγους /home, /usr, /var, κλπ).

7.Ενεργοποίηση προ-αρχικοποιημένου τμήματος

"Mount a Previously-Initialized Partition"

Στην περίπτωση που είχε διακοπεί η διαδικασία της εγκατάστασης σε κάποιο σημείο και δεν

Debian Guide 30

Page 31: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

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

Αυτήν την επιλογή θα πρέπει να επιλέξετε και αν πρόκειται να ενεργοποιήσετε κάποιο δικτυακόσύστημα αρχείων μέσω NFS (Network File System), π.χ. για ένα υπολογιστή που ανήκει σεδίκτυο και έχει όλους τους καταλόγους των χρηστών σε ένα δικτυακό σύστημα αρχείων /home.Ή ακόμη και για ένα σύστημα χωρίς δίσκο που εκκινεί στο Linux μέσω δικτύου (disklessworkstation).

Η σύνταξη για σύστημα αρχείων NFS, είναι η ακόλουθη:

όνομα-server-ή-διεύθυνση-IP:/κατάλογος

Για παράδειγμα, έγκυρες διαδρομές είναι οι εξής:

mordor.arda:/home

192.168.1.10:/var

[screenshot]

(το mordor.arda είναι φανταστικό όνομα!)

8.Εγκατάσταση Πυρήνα και Οδηγών συσκευών

"Install Kernel and Driver Modules"

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

Στην περίπτωση που η εκκίνηση έγινε από επίσημο CD-ROM του Debian, το πρόγραμμαεγκατάστασης dbootstrap είναι ρυθμισμένο να κάνει την εγκατάσταση του πυρήνα και τωνοδηγών συσκευών αυτόματα από το CD, οπότε θα πρέπει να τοποθετήσετε το CD 1 στον οδηγόCD.

[screenshot]

Αν θέλετε να γίνει η εγκατάσταση από δισκέτες τότε θα σας ζητηθεί να τοποθετήσετε τηνδισκέτα εκκίνησης (rescue) ακολουθούμενη από τις δισκέτες οδηγών συσκευών (drivers).

Αν θέλετε να χρησιμοποιήσετε σκληρό δίσκο για την εγκατάσταση (δηλαδή αν έχετεμεταφορτώσει τα αρχεία σε κάποιο διαμέρισμα στο σκληρό δίσκο και θέλετε να το πρόγραμμαεγκατάστασης να χρησιμοποιήσει αυτό), τότε θα σας δωθούν δύο επιλογές: α) hard disk, αν τοδιαμέρισμα δεν είναι ακόμη ενεργοποιημένο (mounted) και β) mounted, αν το διαμέρισμα είναιενεργοποιημένο. Σε κάθε περίπτωση το πρόγραμμα εγκατάστασης θα αναζητήσει κάποια αρχείαστη θέση dists/woody/main/disks-i386/current. Αν δε μπορεί να τα βρει θα σας ζητήσει να τουδώσετε τον σωστό κατάλογο που βρίσκονται τα αρχεία ("Debian Archive Path"), όπου και ταέχετε μεταφορτώσει. Μπορείτε να δώσετε απευθείας τον κατάλογο ή να τον αναζητήσετε(επιλέγοντας <...>).

Υπάρχει περίπτωση να μην βρεί το σύστημα τα αρχεία που χρειάζεται για την εγκατάσταση. Τοπιο πιθανό είναι να έχετε κάνει κάποιο λάθος ή να παραλείψατε κάποια αρχεία στην αντιγραφή

Debian Guide 31

Page 32: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

του δέντρου δομής των αρχείων εγκατάστασης. Μπορείτε πατώντας Left Alt-F3 να δείτε ταμυνήματα λάθους του dbootstrap τα οποία θα σας βοηθήσουν στην εύρεση της αιτίας τουπροβλήματος.

Αν δεν υπάρχει πρόβλημα στην αναζήτηση των καταλλήλων αρχείων, το πρόγραμμα θα σαςπαρουσιάσει μια λίστα με τις διαθέσιμες υποεκδόσεις του Debian woody (αναλόγως με τα αρχείαπου έχετε μεταφορτώσει, πιθανόν να δείτε τις επιλογές "default", "testing", "unstable"). Επιλέξτεdefault.

[screenshot]

Μπορείτε αν θέλετε να εγκαταστήσετε τον πυρήνα και τους οδηγούς συσκευών εξολοκλήρου απότο δίκτυο. Για να γίνει αυτό, θα πρέπει ο πυρήνας που χρησιμοποιείται στην εγκατάσταση ναυποστηρίζει την κάρτα δικτύου σας (στο στάδιο αυτό δεν μπορεί να γίνει εγκατάσταση μέσωmodem). Αν συμβαίνει κάτι τέτοιο τότε θα πρέπει να προχωρήσετε πρώτα στο στάδιο τηςρύθμισης του δικτύου ("Configure the Network") σε επόμενη ενότητα. Επιλέξτε "Cancel", και απότο κεντρικό μενού "Configure the Network". Κατόπιν, επιστρέψτε στην ίδια ενότητα ("InstallKernel and Driver Modules") και επιλέξτε HTTP ή NFS ως πηγή εγκατάστασης.

NFS

Με αυτόν τον τρόπο η εγκατάσταση γίνεται όπως με ένα σκληρό δίσκο, απλώς θα πρέπει πρώτανα ενεργοποιήσετε το δικτυακό σύστημα αρχείων. Δώστε τη σωστή διεύθυνση NFS(παραδείγματα θα βρείτε στην προηγούμενη παράγραφο) και τα σύστημα αρχείων θαενεργοποιηθεί υπό τον κατάλογο /instmnt.

Network

Επιλέξτε το σωστό URL ενός δικτυακού τόπου που φιλοξενεί το Αρχείο του Debian (Debianmirror). Τα προκαθορισμένα θα πρέπει να λειτουργήσουν χωρίς κάποιο πρόβλημα. Αν βρίσκεστεσε κάποιο εσωτερικό δίκτυο (π.χ. εταιρικό LAN) και χρησιμοποιήτε διαμεσολαβητή (proxyserver), δώστε την διεύθυνση URL του proxy.

9.Ρύθμιση συσκευών PCMCIA

"Configure PCMCIA Support"

Αν θέλετε να κάνετε εγκατάσταση μέσω δικτύου και είστε κάτοχος φορητού υπολογιστή, είναιπιθανόν να χρειαστεί σε αυτό το στάδιο να ρυθμίσετε κάποια συσκευή που συνδέεται στη θύραPCMCIA. Αυτό ισχύει κυρίως για κάρτες δικτύου PCMCIA και σε φορητά που δεν έχουνενσωματτωμένες κάρτες δικτύου.

Θα ερωτηθείτε ποιον ελεγκτή PCMCIA χρησιμοποιεί ο υπολογιστής σας, στην πραγματικότητα ανείναι τύπου i82365 ή tcic. Αν δεν ξέρετε τί τύπο ελεγκτή PCMCIA χρησιμοποιεί ο υπολογιστής σαςμπορείτε να το μάθετε από τις τεχνικές πληροφορίες που δίνονται στα βιβλία και οδηγούςχρήσης του υπολογιστή σας. Τα δύο επόμενα πεδία μπορείτε να τα αφήσετε κενά, καθώςπαρέχονται για παραμετροποίηση του ελεγκτή σε μη συνηθισμένες διατάξεις περιφερειακών. Ανχρειαστείτε περισσότερες οδηγίες και πληροφορίες για την λειτουργία του PCMCIA στο Linux,μπορείτε να ανατρέξετε στη διεύθυνση:

http://www.tldp.org/HOWTO/PCMCIA-ΗOWTO.html

Debian Guide 32

Page 33: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

[screenshot]

Αν φυσικά δεν σκοπεύετε να χρησιμοποιήσετε τη θύρα PCMCIA για εγκατάσταση μέσω δικτύου ήδεν πρόκειται να εγκαταστήσετε το Debian μέσω δικτύου, μπορείτε να προσπεράσετε αυτήν τηνενότητα.

10.Ρύθμιση οδηγών συσκευών

"Configure Device Driver Modules"

Στο σημείο αυτό θα πρέπει να ενεργοποιήσετε και να ρυθμίσετε τους οδηγούς συσκευών που θαχρειαστείτε κατά την εγκατάσταση, όπως κάρτες δικτύου, ελεγκτές SCSI που δεναναγνωρίστηκαν από τον πυρήνα, ή PCI κάρτες ISDN.

Αρχικά θα ερωτηθείτε αν έχετε περιφερειακά τα οποία έρχονται με δικούς τους οδηγούς για τοLinux σε δισκέτα. Προσοχή: Οι δισκέτες ή τα CD που έρχονται με οδηγούς για Windows ή ακόμηκαι με οδηγούς για Linux αλλά σε συμπιεσμένη μορφή (π.χ. κάποιο αρχείο ZIP) δεν θαλειτουργήσουν. Θα χρειαστεί μια δισκέτα διαμορφωμένη σε σύστημα ext2 που να έχει τουςοδηγούς σε μονάδες (modules) σε μια δομή όπως /lib/modules/misc (όπου misc ο αντίστοιχοςτομέας που ανήκει ο οδηγός, π.χ. scsi, fs, sound, κλπ).

Οι περισσότεροι χρήστες δεν θα χρειαστούν τέτοιους οδηγούς.

Έπειτα, θα φορτωθεί το πρόγραμμα modconf το οποίο δείχνει μια λίστα με τους διαθέσιμουςοδηγούς συσκευών κατηγοριοποιημένους ανά ομάδες. Επιλέξτε τους οδηγούς για τις συσκευέςπου θα χρειαστείτε.

Σημείωση:

Πολλές φορές οι οδηγοί φέρουν το όνομα του chipset που χρησιμοποιούν και όχι της εταιρείαςτου ίδιου του προϊόντος, οπότε είναι αρκετά συχνό το φαινόμενο να βρείτε μια κάρτα δικτύουτης ίδιας εταιρείας να λειτουργεί με τον οδηγό rtl8139 και μια άλλη με τον οδηγό eepro100.Αυτό συμβαίνει γιατί στη μια περίπτωση η μια κάρτα δικτύου χρησιμοποιεί το chipset τηςRealTek 8139 και η άλλη το chipset της Intel i8255x (EtherExpress Pro 100). Θα πρέπει να βρείτεποιο chipset χρησιμοποιεί η κάρτα σας. Αυτό μπορείτε να το βρείτε με την εντολή lspci.Πατώντας Left Alt-F2 έχετε πρόσβαση στο κέλυφος ash, όπου και μπορείτε δίνοντας lspci, ναβρείτε τις συσκευές που υπάρχουν στον υπολογιστή σας. Παράδειγμα:

$ lspci00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 03)00:08.0 FireWire (IEEE 1394): Sony Corporation CXD3222 i.LINK Controller (rev 02)00:09.0 Multimedia audio controller: Yamaha Corporation YMF-744B [DS-1S Audio Controller] (rev 02)00:0a.0 Communication controller: Conexant HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) (rev 01)00:0b.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)00:0c.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 80)01:00.0 VGA compatible controller: ATI Technologies Inc Rage Mobility P/M AGP 2x (rev 64)

Το output αυτό μας δείχνει τις κυριότερες συσκευές που είναι συνδεδεμένες στον δίαυλο PCI, ISAκαι AGP του υπολογιστή μας. Συγκεκριμένα, βλέπουμε ότι το κυρίως chipset είναι το 440BX τηςIntel, που χειρίζεται τους διαύλους PCI, AGP, ISA και USB. Και ο ελεγκτής IDE ανήκει σε αυτό το

Debian Guide 33

Page 34: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

chipset. Έχει ελεγκτή ACPΙ επίσης της Intel, ενώ ο ελεγκτής PCMCIA (Cardbus bridge) είναι τηςRicoh. Υπάρχει κάρτα δικτύου της Intel με chipset i8255x και κάρτα ήχου της Yamaha (συμβατόμε οδηγό YMFPCI). Υπάρχει ενσωματωμένο modem της Conexant τύπου HSF, και ελεγκτήςFirewire (IEEE 1394) της SONY. Η κάρτα γραφικών είναι της ATI (οδηγός ati για τα X Windows,σε επόμενη ενότητα).

----

Προτείνεται να ρυθμίσετε μόνο τις συσκευές που θα σας χρειαστούν κατά την εγκατάσταση. Στηνρύθμισή τους πιθανόν να χρειαστεί να δώσετε κάποιες παραμέτρους, αν και αυτό χρειάζεταιμόνο σε παλίες κάρτες ISA ή σε περιφερειακά που έχουν ειδικό τρόπο ρύθμισης. Τιςπερισσότερες φορές μπορείτε να αφήσετε κενά τα πεδία παραμετροποίησης.

Μπορείτε και κατόπιν της εγκατάστασης να ρυθμίσετε τους οδηγούς συσκευών του συστήματοςτρέχοντας το πρόγραμμα modconf.

11.Ρύθμιση Δικτύου

Αν το σύστημα δεν έχει ανιχνεύσει κάρτα δικτύου, δεν θα είναι εμφανής η επιλογή "Configurethe Network". Αντίθετα, θα σας ζητηθεί να δώσετε ένα όνομα για τον υπολογιστή σας, ήhostname όπως λέγεται. Το hostname είναι απαραίτητο είτε είστε σε δίκτυο είτε έχετε δυναμικήσύνδεση (π.χ. PPP μέσω τηλεφώνου).

Αν το σύστημα έχει ανιχνεύσει κάρτα δικτύου (ή αν εσείς φορτώσατε επιτυχώς κάποιον οδηγόκάρτας δικτύου) τότε το σύστημα θα σας ζητήσει κάποια επιπλέον στοιχεία. Αν έχετεπερισσότερες από μια κάρτες δικτύου -κάτι που συνηθίζεται σε συστήματα που λειτουργούν ωςδρομολογητές (routers)- τότε η διαδικασία ρύθμισης θα πρέπει να επαναληφθεί για κάθε μίαξεχωριστά.

Επίσης αν έχετε επιλέξει ενεργοποίηση συσκευών PCMCIA σε προηγούμενο στάδιο, θαερωτηθείτε αν η κάρτα δικτύου είναι τέτοιου τύπου. Αυτό θα επηρεάσει τον τρόπο που θαρυθμίζεται κάθε φορά το δίκτυο στον υπολογιστή σας.

Κατόπιν το σύστημα θα σας ρωτήσει αν η ρύθμιση του δικτύου θα γίνει μέσω DHCP ή BOOTPπρωτοκόλλου. Αν βρίσκεστε σε δίκτυο εταιρείας, πιθανόν να χρησιμοποιείτε κάποιο τέτοιοσύστημα αυτόματης διευθυνσιοδότησης. Με αυτόν τρόπο όλες οι ρυθμίσεις του δικτύουλαμβάνονται αυτόματα από κάποιον διακομιστή του δικτύου και δεν χρειάζεται να κάνετε κάτιάλλο.

[screenshot]

Στην περίπτωση που δεν έχετε τη δυνατότητα να ρυθμίσετε αυτόματα το δίκτυο μέσωDHCP/BOOTP ή αν αποτύχει για κάποιο λόγο η αυτόματη ρύθμιση, θα πρέπει να περάσετε τιςαπαραίτητες ρυθμίσεις χειροκίνητα. Τις ρυθμίσεις αυτές θα πρέπει να σας τις έχει παρέχει οδιαχειριστής δικτύου σας. Οι ρυθμίσεις αυτές περιλαμβάνουν τα εξής στοιχεία:

• Όνομα υπολογιστή στο δίκτυο (hostname)

• Τομέα δικτύου (domain)

• Διεύθυνση IP

• Μάσκα IP (netmask)

Debian Guide 34

Page 35: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

• Πύλη ή δρομολογητής του δικτύου (gateway/ router)

• Διακομιστές ονομάτων (Domain Name Servers)

Αφού δώσετε στο πρόγραμμα τις απαραίτητες πληροφορίες για το δίκτυο θα σας δώσει μιαπερίληψη της συνολικής ρύθμισης δικτύου (για όλες τις κάρτες δικτύου) και θα σας ρωτήσειποια είναι η πρωτεύουσα σύνδεση. Για τους περισσότερους χρήστες θα υπάρχει μια μόνοσύνδεση δικτύου που αντιστοιχεί στην κάρτα δικτύου eth0.

Περαιτέρω αλλαγές μπορείτε να κάνετε στο δίκτυο σας και μετά την εγκατάσταση είτεεπεξεργάζοντας το αρχείο /etc/network/interfaces είτε μέσω του πακέτου etherconf - πουμπορείτε να εγκαταστήσετε ανά πάσα στιγμή με την εντολή

apt-get install etherconf

12.Εγκατάσταση Βασικού συστήματος

"Install the Base System"

Το επόμενο βήμα είναι η εγκατάσταση του βασικού συστήματος. Το βασικό σύστημα αποτελείταιαπό μια ελάχιστη ομάδα πακέτων που παρέχουν ένα λειτουργικό σύστημα Debian με τα βασικάεργαλεία. Το μέγεθός του (τελικό ασυμπίεστο) είναι περίπου 70 MB.

Όπως και προηγουμένως, αν η εγκατάσταση γίνεται από CD, τότε το σύστημα θα προχωρήσειχωρίς παρέμβαση από το χρήστη. Αν όχι, θα ερωτηθείτε για το μέσον από το οποίο θαμεταφορτωθούν ή αντιγραφούν τα αρχεία του βασικού συστήματος. Αν χρησιμοποιείτε τοσκληρό δίσκο τότε απλώς δηλώστε στο πρόγραμμα τη θέση του καταλόγου όπου βρίσκεται τοαρχείο basedebs.tar.

Αν μεταφορτώνετε τα αρχεία από το δίκτυο, πρέπει να έχετε υπόψιν σας ότι πρόκειται γιαχρονοβόρα διαδικασία και δεν είναι άμεσα εμφανής η πρόοδος της μεταφόρτωσης. Αν φαίνεταιότι έχει κολλήσει η μεταφορά των αρχείων, μπορείτε να δείτε στην κονσόλα 2 (Left Alt-2) με τηνεντολή df -h, την αλλαγή του μεγέθους του δίσκου για να βεβαιωθείτε ότι όντως γίνεταιμεταφόρτωση.

Στην περίπτωση που η μεταφόρτωση αργεί υπερβολικά ή δεν υπάρχει αλλαγή στα δεδομένα τουσκληρού δίσκου (με την εντολή df -h) τότε πιθανώς να υπάρχει πρόβλημα στο δίκτυο και στιςρυθμίσεις του. Αν το πρόβλημα εμφανιστεί αμέσως με την μεταφόρτωση του αρχείου Releaseτότε ήταν αδύνατη η εύρεση του δικτυακού τόπου που έχει τα αρχεία εγκατάστασης και θαπρέπει να ελέγξετε την ορθότητα των ρυθμίσεων δικτύου καθώς και το αν όντως λειτουργείσωστά η σύνδεση δικτύου που έχετε.

13.Ετοιμάζοντας το σύστημα για εκκίνηση

"Making the system bootable"

Μετά την βασική εγκατάσταση το σύστημα πρέπει να ρυθμιστεί ώστε να εκκινήσει στο Debian.

Η διαδικασία της ρύθμισης αυτής προϋποθέτει την μετατροπή της πρωτεύοντος πεδίουεκκίνησης (Master Boot Record/MBR) του πρώτου σκληρού δίσκου. Επειδή ένα λάθος στην

Debian Guide 35

Page 36: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

αλλαγή του MBR μπορεί να φέρει το σύστημά σας σε κατάσταση που να μη μπορεί να εκκινήσειείτε σε Windows είτε σε Linux, συνιστάται να κατασκευάσετε πρώτα μια δισκέτα εκκίνησης(“Create a Custom Boot Floppy”) με την οποία μπορείτε να εκκινήσετε κατευθείαν στο Debian.Αν όλα έχουν γίνει σωστά, το σύστημα θα φορτώσει κανονικά και μπορείτε να κάνετε τιςαλλαγές στο MBR μέσα από το ίδιο το Linux, όπου και θα έχετε πολύ καλύτερο έλεγχο στηνδιαδικασία. Οι αλλαγές αυτές μπορούν να γίνουν με το πρόγραμμα LILO (LInux LOader), τουοποίου δίνεται μια σύντομη ανάλυση στο Παράρτημα IV.

(Περισσότερες πληροφορίες για το LILO μπορείτε να βρείτε στον κατάλογο /usr/share/doc/liloκαι στην διεύθυνση http://www.tldp.org/HOWTO/mini/LILO.html. )

Αν βέβαια έχετε εξοικείωση με το πρόγραμμα εγκατάστασης του Debian, μπορείτε ναπραγματοποιήσετε την αλλαγή στο MBR ώστε να κάνετε το Debian εκκινήσιμο. Μάλιστα, τοπρόγραμμα αναλαμβάνει αν θέλετε και τη δημιουργία ενός μενού επιλογής λειτουργικούσυστήματος, το οποίο θα εμφανίζεται κατά την εκκίνηση του υπολογιστή. Έτσι, μπορείτε ναφορτώνετε κατά βούληση Linux, Windows 98, Windows XP ή όποιο άλλο λειτουργικό σύστημαέχετε εγκατεστημένο στον υπολογιστή σας.

Debian Guide 36

Page 37: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 6 - Μετά την εγκατάσταση

1.Πρώτη εκκίνηση

Αν το σύστημα εκκινήσει κανονικά, συγχαρητήρια! Έχετε εγκαταστήσει επιτυχώς το Debian!Τώρα μένει η ρύθμισή του σε δεύτερο επίπεδο.

Αν υπάρχει πρόβλημα στην εκκίνηση, χρησιμοποιήστε την δισκέτα εκκίνησης (αυτήν πουφτιάξατε στο προηγούμενο κεφάλαιο). Αν και πάλι υπάρχει πρόβλημα, μπορείτε ναχρησιμοποιήσετε την δισκέτα εκκίνησης της εγκατάστασης (rescue) η οποία λειτουργεί και ωςδισκέτα διάσωσης του συστήματος. Στην προτροπή boot: θα πρέπει να δηλώσετε τη θέση τουβασικού διαμερίσματος με την παράμετρο root=<βασικό διαμέρισμα>. Αν, για παράδειγμα, τοβασικό διαμέρισμα το έχετε δηλώσει ως hda5, τότε η παράμετρος θα πρέπει να έχει τη μορφήroot=/dev/hda5.

2.Ρυθμίζοντας το σύστημα για πρώτη φορά

Την πρώτη φορά που φορτώνει το Debian, εκτελεί ένα πρόγραμμα ρύθμισης των βασικώνπαραμέτρων του. Το πρόγραμμα αυτό λέγεται base-config και μπορείτε να το καλέσετε ωςχρήστης root όποτε θέλετε να αλλάξετε κάποια από αυτές τις παραμέτρους. Συνήθως δεχρειάζεται, παρά μόνο αν έχετε κάνει ριζική αλλαγή στα χαρακτηριστικά του συστήματός σας.

3.Ρύθμιση Ζώνης Ώρας

Στο στάδιο αυτό σας ζητείται να αποφασίσετε για ρυθμίσεις που ελέγχουν τον τρόπο που θαδιατηρείται αλλά και θα απεικονίζεται η ώρα και η ημερομηνία στο σύστημά σας. Καταρχάς, θαπρέπει να επιλέξετε ανάμεσα σε τρόπο διατήρησης της ώρας στο ρολόι του υπολογιστή σας,τοπικό ή GMT. Το GMT είναι τα αρχικά των λέξεων Greenwich Meridian Time και αποτελούν τοσημείο αναφοράς για τον ορισμό της ζώνης ώρας ανά τον κόσμο. Στην Ελλάδα η τοπική ώραορίζεται ως GMT +2 (TODO), δηλαδή με την προσθήκη δύο ωρών στην ώρα που δείχνει έναρολόι στην θέση Greenwich στο Λονδίνο της Αγγλίας. Αν σκοπεύετε να κάνετε ταξίδιαμεταφέροντας τον υπολογιστή σας (αν είναι φορητός, για παράδειγμα), τότε είναι αρκετάβολικό να ρυθμίσετε το ρολόι του σε κατάσταση GMT. Βέβαια, πολλοί ρυθμίζουν το ρολόι σεθέση GMT ακόμη και αν δεν έχουν μετακινήσει τον υπολογιστή τους για χρόνια, είναι απλώςθέμα προτίμησης.

Έπειτα, ρυθμίζετε την ζώνη ώρας στον υπολογιστή. Για την Ελλάδα η ρύθμιση είναι παντού ηίδια, Europe/Athens (ακόμη και αν δε διαμένετε στην Αθήνα, ο ορισμός της ζώνης γίνεται μεαυτόν τον τρόπο).

4.Ρύθμιση κωδικών MD5

Στο επόμενο βήμα θα ερωτηθείτε αν θέλετε MD5 passwords, δηλαδή αν οι κωδικοί ασφαλείας τουυπολογιστή σας θα κρατούνται σε μορφή MD5 (ή διαφορετικά σε μορφή “crypt”). Το σύστημαMD5 είναι πολύ πιο ασφαλές από το σύστημα crypt και αν ενδιαφέρεστε για την ασφάλεια στονυπολογιστή σας η επιλογή αυτή συνιστάται. Το πρόβλημα είναι ότι δεν είναι συμβατό με τηνχρήση του NIS (Network Information Services).

Debian Guide 37

Page 38: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

5.Κωδικοί Shadow

Στη συνέχεια θα ερωτηθείτε αν θέλετε να χρησιμοποιήσετε την δυνατότητα “σκίασης” τωνκωδικών. Σε κανονικές συνθήκες οι κωδικοί κρατούνται στο αρχείο /etc/passwd το οποίο είναιαναγνώσιμο (αλλά όχι εγγράψιμο) από όλους τους χρήστες του συστήματος. Οπωσδήποτε, οικωδικοί δεν είναι αναγνωρίσιμοι, αλλά υπάρχουν ειδικά προγράμματα που προσπαθούν να“σπάσουν” αυτούς τους κωδικούς με αποτέλεσμα την παραβίαση της ασφάλειας τουσυστήματος. Θα μπορούσε, για παράδειγμα, κάποιος κακόβουλος χρήστης να αντιγράψει τοαρχείο σε άλλο υπολογιστή και να πραγματοποιήσει μια επίθεση “brute force” στους κωδικούςαυτούς, προσπαθώντας να βρεί έστω και έναν κωδικό.

Για το σκοπό αυτό, οι κωδικοί μεταφέρονται σε ένα άλλο αρχείο, το /etc/shadow, το οποίο είναιεγγράψιμο μόνο από το χρήστη root και αναγνώσιμο από την ομάδα shadow. Με αυτόν τοντρόπο οι κωδικοί “σκιάζονται”, όπως λέγεται. Η χρήση αυτής της λειτουργίας συνιστάται.

Μπορείτε να αλλάξετε την ρύθμιση της σκίασης των κωδικών με το πρόγραμμα shadowconfig,οποιαδήποτε στιγμή θελήσετε. Για περισσότερες πληροφορίες για την σκίαση των κωδικών,μπορείτε να ανατρέξετε στο αρχείο /usr/share/doc/passwd/README.debian.gz.

6.Κωδικός χρήστη Root

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

Επίσης θα πρέπει να αποφύγετε να βάλετε κάτι υπερβολικά απλό για τον κωδικό του χρήστηroot, καθώς τότε θα ήταν εύκολη η πρόβλεψή του. Ένας κωδικός που θεωρείται ασφαλήςπεριέχει από 6 ως 8 χαρακτήρες και θα περιλαμβάνει μικρά και κεφαλαία γράμματα, αριθμούςαλλά και σημεία στίξης.

7.Δημιουργία ενός απλού χρήστη

Όπως αναφέρθηκε, για τον χρήστη root δεν ισχύει κανένας περιορισμός σε θέματα ασφαλείαςκαι πρόσβασης. Δεν θα πρέπει να τον χρησιμοποιείτε για απλές λειτουργίες που δεν είναισχετικές με διαχείριση συστήματος, καθώς είναι πολύ εύκολο να γίνουν λάθη και ζημιές πουδύσκολα διορθώνονται (π.χ. το κλασσικό rm -rf στον βασικό κατάλογο).

Έτσι συνιστάται η δημιουργία ενός απλού χρήστη με τον οποίο θα μπορείτε να κάνετε όλες τιςάλλες λειτουργίες (προγραμματισμός, ανάγνωση email, browsing στο Internet, κλπ). Το όνοματου λογαριασμού (μπορείτε να το δείτε με την ονομασία login name, username, account name)μπορεί να είναι όποιο θέλετε, αλλά συνηθίζεται να αποτελείται από τα αρχικά του ονόματος.

8.Ρύθμιση σύνδεσης μέσω PPP

Στο σημείο αυτό θα ερωτηθείτε αν θέλετε να συνεχίσετε την εγκατάσταση χρησιμοποιώνταςσύνδεση μέσω τηλεφώνου με PPP. Αν η εγκατάσταση γίνεται ήδη μέσω CD-ROM ή μέσω δικτύου,δεν υπάρχει λόγος να απαντήσετε καταφατικά.

Debian Guide 38

Page 39: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Αν επιλέξετε την εγκατάσταση μέσω PPP, θα πρέπει πρώτα να ρυθμιστεί η σύνδεση. Για τοσκοπό αυτό θα τρέξει το πρόγραμμα pppconfig. Αυτό είναι ένας διαχειριστής συνδέσεων PPP,και είναι αρκετά απλό και εύκολο στη χρήση του. Αρχικά, επιλέξτε “Create” για ναδημιοουργήσετε μια νέα σύνδεση.

[screenshot]

Το πρόγραμμα καταρχάς θα σας ζητήσει το όνομα της σύνδεσης. Για την συγκεκριμένη σύνδεσηπου θα χρησιμοποιηθεί για την εγκατάσταση θα πρέπει να δώσετε το προεπιλεγμένο όνομα“provider”. Κατόπιν θα πρέπει να δηλώσετε τους διακομιστές ονομάτων (αν πρόκειται για StaticDNS) ή να αφήσετε το πρόγραμμα να πάρει τους διακομιστές ονομάτων δυναμικά απο τονπαροχέα (Dynamic DNS) ή να απενεργοποιήσετε τελείως την ρύθμιση του DNS (για παράδειγμα,αν είστε ταυτόχρονα σε δίκτυο με δικό του διαχειριστή ονομάτων).

Το επόμενο βήμα είναι η επιλογή του τρόπου πιστοποίησης ταυτότητας (authentication),ανάμεσα σε PAP, CHAP ή διαλογική πιστοποίηση (chat). Στην πρώτη και δεύτερη περίπτωσηαπλώς δίνετε το όνομα του λογαριασμού σας και τον κωδικό πρόσβασης και τα υπόλοιπα τααναλαμβάνει το πρωτόκολλο. Στην περίπτωση της διαλογικής πιστοποίησης, θα πρέπει ναδώσετε στο πρόγραμμα οδηγίες για τον αναμενόμενο διάλογο μεταξύ του υπολογιστή σας καιτου παροχέα. Τις περισσότερες φορές ο παροχέας θα δίνει ο ίδιος οδηγίες για την διαλογικήπιστοποίηση. Αν δεν υπάρχουν τέτοιες οδηγίες μπορείτε να δοκιμάσετε με τον προεπιλεγμένοδιάλογο, που παρέχει το pppconfig.

Βέβαια, ο τρόπος αυτός είναι αρκετά ξεπερασμένος και πλέον οι περισσότεροι ISP χρησιμοποιούνPAP ή CHAP λόγω απλότητας.

Στη συνέχεια δίνετε την ταχύτητα σύνδεσης μεταξύ υπολογιστή και modem (όχι μεταξύυπολογιστή και ISP). Για την πλειονότητα των χρηστών που χρησιμοποιούν εσωτερικά ήεξωτερικά modems η προεπιλεγμένη ταχύτητα των 115200 bps (bits per second) είναιικανοποιητικό.

Ακολουθεί η επιλογή τονικής ή παλμικής κλήσης (tone/pulse dialing). Στη χώρα μας, ισχύει εδώκαι χρόνια η τονική κλήση οπότε μπορείτε να την επιλέξετε χωρίς αμφιβολία. Κατόπιν δίνετε τοναριθμό κλήσης του παροχέα σας. Αν χρησιμοποιείτε τηλεφωνικό κέντρο, θυμηθείτε να δώσετε τοπρόθεμα (συνήθως 0 ή 9) ακολουθούμενο από ένα κόμμα “,”. Έτσι αν ο αριθμός κλήσης τουπαροχέα σας είναι 89625ΧΧΧΧΧ, θα πρέπει να δώσετε 0,8962ΧΧΧΧΧ.

Το pppconfig θα σας ρωτήσει αν θέλετε να ανιχνεύσει την θύρα στην οποία είναι συνδεδεμένο τοmodem σας. Αν δεν είστε βέβαιοι για το όνομα της συσκευής της θύρας (π.χ. /dev/ttyS0, κλπ),μπορείτε να δοκιμάσετε την αυτόματη ανίχνευση, αλλιώς μπορείτε να την παραλείψετε. Βέβαιαυπάρχει περίπτωση το pppconfig να μην ανιχνεύσει το modem σας ενώ ξέρετε ότι λειτουργείκανονικά (αυτό ίσως να το δείτε σε φορητούς υπολογιστές με ενσωματωμένα modems, τύπουwinmodem). Σε αυτήν την περίπτωση θα πρέπει να γνωρίζετε το όνομα της συσκευής τουmodem (π.χ. για modems τύπου Conexant HSF, το όνομα της συσκευής είναι /dev/ttySHSF0) καινα την δώσετε χειροκίνητα.

Στο σημείο αυτό το πρόγραμμα θα σας παρουσιάσει τις ρυθμίσεις της σύνδεσης και σχετικέςεπιλογές. Η ρύθμιση του λογαριασμού έχει τελειώσει και θα πρέπει τώρα να την αποθηκεύσετε.Επιλέξτε “Finished” και στη συνέχεια “Exit” από το πρόγραμμα pppconfig.

[screenshot]

Μπορείτε να καλέσετε την σύνδεση με την εντολή pon και να την διακόψετε με την εντολή poff.

Debian Guide 39

Page 40: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Η εντολή plog σας δίνει πληροφορίες για την πρόοδο της σύνδεσης και θα σας χρειαστεί για ναβεβαιωθείτε ότι η σύνδεση γίνεται χωρίς πρόβλημα.

Για περισσότερες πληροφορίες για το PPP στο Debian μπορείτε να ανατρέξετε στο /usr/share/doc/ppp/README.debian.gz.

Σημείωση: Για χρήστες netmod ISDN του OTE

Οι συνδρομητές του OTE που έχουν σύνδεση ISDN κατά πάσα πιθανότητα θα χρησιμοποιούν τησυσκευή NetMod του ΟΤΕ. Αυτή μπορέι να χρησιμοποιηθεί ως modem χωρίς πρόβλημα.Υπάρχουν δύο εκδόσεις NetMod, μια παλαιότερη που παρέχει μια σειριακή θύρα για σύνδεση μετον υπολογιστή και μια νεότερη που έχει επιπλέον και μια θύρα USB. Για την έκδοση με τηνσειριακή θύρα, αρκεί να δηλώσετε στο pppconfig την θύρα που έχετε συνδέσει το NetMod στονυπολογιστή σας (π.χ. /dev/ttyS0 αν πρόκειται για την COM1).

Για αυτούς που έχουν τη νεώτερη έκδοση και θέλουν να χρησιμοποιήσουν την θύρα USB, θαπρέπει να ενεργοποιήσουν τον αντίστοιχο οδηγό του Linux. Εκτελέστε το πρόγραμμα modconfκαι επιλέξτε drivers/usb, και από τη λίστα των συσκευών επιλέξτε τον οδηγό ACM. Αν δείτε τομύνημα “Installation succeeded” τότε ο οδηγός ενεργοποιήθηκε επιτυχώς. Το όνομα τηςσυσκευής στο Linux είναι /dev/ttyACM0 ή /dev/usb/acm/0 άν χρησιμοποιείτε devfs.

Σημείωση: No Dialtone. Αν δείτε το μύνημα No Dialtone, αυτό σημαίνει ότι το modem σας δενανιχνεύει γνωστό τόνο τηλεφωνικού κέντρου και θα χρειαστεί μια μικρή ρύθμιση ακόμη. Στοκεντρικό μενού της σύνδεσης επιλέξτε “Advanced” και στο πεδίο “Modeminit” δώστε ATX3.

9.Απενεργοποίηση PCMCIA

Αν ο υπολογιστής σας δεν έχει θύρα PCMCIA, γεγονός που ισχύει για σχεδόν όλους τους μήφορητούς υπολογιστές, μπορείτε σε αυτό το σημείο να απενεργοποιήσετε την υποστήριξη για ταπεριφερειακά PCMCIA. Με αυτόν τον τρόπο θα είναι πιο εύκολο να αντικαταστήσετε τον πυρήνατου Linux, καθώς η υποστήριξη PCMCIA απαιτεί υψηλή συσχέτιση των εκδόσεων του πυρήνα καιτων οδηγών PCMCIA.

10.Ρύθμιση APT

Για τους περισσότερους χρήστες, ο κύριος τρόπος μεταφόρτωσης και εγκατάστασης τωνπακέτων του Debian θα είναι το σύστημα APT. Το APT αναλαμβάνει μέσω του εργαλείου apt-getνα μεταφορτώσει οποιοδήποτε πακέτο του ζητήσετε. Θα πρέπει όμως να ρυθμιστεί κατάλληλαώστε να γνωρίζει τις πηγές από όπου μπορεί να μεταφορτώσει τα πακέτα λογισμικού. Για αυτήντην ρύθμιση υπάρχει το εργαλείο apt-setup, ή μπορείτε να επεξεργαστείτε απευθείας τοαρχείο /etc/apt/sources.list.

Αν η εγκατάσταση έγινε από επίσημα CD-ROM του Debian, τότε το APT θα ρυθμιστεί αυτομάτωςώστε να χρησιμοποιήσει τα CD-ROM αυτά ως πηγές πακέτων λογισμικού. Επειδή πρόκειται γιαπερισσότερα από ένα CD-ROM θα πρέπει να απαντήσετε καταφατικά στην ερώτηση αν θέλετε ναρυθμίσετε το apt για άλλο CD-ROM και να τοποθετήσετε διαδοχικά όλα τα CD-ROM στον οδηγό.

Αν δεν χρησιμοποιήσατε CD-ROM για την εγκατάσταση, τότε θα σας παρουσιαστεί μια λίσταεπιλογής τρόπου πρόσβασης στα πακέτα λογισμικού του Debian: FTP, HTTP, CD-ROM ή τοπικόσύστημα αρχείων (local file system). Στη λίστα αυτή μπορείτε να μεταβείτε και αν επιλέξετε να

Debian Guide 40

Page 41: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

προσθέσετε μια ακόμη πηγή λογισμικού για το APT (στην ερώτηση “Add another source”).

Εδώ πρέπει να σημειωθεί ότι είναι δυνατόν να έχετε πολλές πηγές λογισμικού για το APT. ΤοAPT απλώς θα επιλέξει την νεώτερη έκδοση που θα βρεί. Μια πιθανή χρήση αυτού τουχαρακτηριστικού είναι με ταυτόχρονη χρήση μιας πηγής CD-ROM και μιας πηγής HTTP. Ότανζητήσετε από το APT να εγκαταστήσει ένα πακέτο, το APT θα αναζητήσει το πακέτο και στις δύοπηγές, σημειώνοντας την έκδοση που υπάρχει στην καθεμία. Αν οι εκδόσεις είναι ίδιες, θαχρησιμοποιήσει έκδοση που υπάρχει στο CD-ROM, ενώ αν η πηγή HTTP έχει νεώτερη έκδοση, τοAPT θα μεταφορτώσει τη δεύτερη. Αυτή η μέθοδος συνιστάται για συχνή ενημέρωση ασφαλείαςενός συστήματος που έχει εγκατασταθεί από CD-ROM.

Η διαφορά μεταξύ FTP και HTTP είναι μικρή, απλώς το πρωτόκολλο HTTP είναι σχετικά πιογρήγορο στη δημιουργία συνδέσεων.

Στο επόμενο βήμα το πρόγραμμα apt-setup θα σας ρωτήσει αν επιθυμείτε να συμπεριληφθεί καιμη ελέυθερο λογισμικό στις πηγές. Με αυτό εννοεί το non-free λογισμικό που προσφέρεται απότο Debian αλλά η άδεια χρήσης του δεν ικανοποιεί τον ορισμό του Ελεύθερου Λογισμικού τουDebian (Debian Free Software Guidelines, http://www.debian.org/social_contract#guidelines).Μπορείτε να απαντήσετε καταφατικά, αλλά είναι δική σας ευθύνη η ικανοποίηση της άδειαςχρήσης του λογισμικού αυτού.

[screenshot]

Στη συνέχεια επιλέγετε την χώρα και το apt-setup σας προτείνει μια ή περισσότερες πηγές απόόπου μπορείτε να μεταφορτώσετε τα πακέτα λογισμικού του Debian και θα έχετε τη δυνατότητανα ορίσετε κάποιον διαμεσολαβητή (proxy server), στην περίπτωση που βρίσκεστε σε κάποιοεσωτερικό δίκτυο (π.χ. σε μια εταιρεία).

Τέλος, θα γίνει ένας έλεγχος για την εγκυρότητα της πηγής (και των ρυθμίσεων που δώσατε γιααυτήν).

11.Εγκατάσταση Πακέτων

Η εγκατάσταση των πακέτων είναι η διαδικασία που ακολουθεί. Η επιλογή των πακέτων μπορείνα γίνει με δύο τρόπους, έναν απλό που σκοπό έχει την επιλογή συγκεκριμένων κατηγοριώνπακέτων που περιλαμβάνουν μια ομάδα πακέτων που ανήκουν σε μια συγκεκριμένηθεματολογία, και έναν πιο πολύπλοκο που περιλαμβάνει την επιλογή μεμονωμένων πακέτωναπό μια λίστα 8300 πακέτων.

Για πρώτη εγκατάσταση προτείνεται η χρήση του απλού τρόπου. Μπορείτε ανά πάσα στιγμή νακαλέσετε κάποιο από τα διαθέσιμα προγράμματα εγκατάστασης λογισμικού για να επιλέξετεκάποιο συγκεκριμένο πακέτο.

Απλή

Η απλή εγκατάσταση καλεί το πρόγραμμα tasksel το οποίο παρουσιάζει μια λίστα κατηγοριώνπακέτων. Εσείς απλώς αρκεί να επιλέξετε τις κατηγορίες που σας ενδιαφέρουν. Κάθε κατηγορίααπευθύνεται σε μια συγκεκριμένη εργασία (task), όπως για παράδειγμα προγραμματισμό στηγλώσσα C (“Development in C”) ή διακομιστής αρχείων (“File server”).

[screenshot]

Για κάθε κατηγορία μπορείτε να δείτε σχετικές πληροφορίες με την επιλογή “Task Info”.

Debian Guide 41

Page 42: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

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

[screenshot]

Όταν έχετε επιλέξει τις επιθυμητές κατηγορίες πακέτων, επιλέξτε “Finish”, οπότε και θαξεκινήσει η μεταφόρτωση και στη συνέχεια η εγκατάσταση. Ακόμη και στην περίπτωση που δενεπιλέξετε καμία κατηγορία, το σύστημα θα αρχίσει την μεταφόρτωση και εγκατάσταση όσωνπακέτων είναι απαραίτητα για τη λειτουργία του συστήματος σε αυτό το σημείο. Για τηνσυγκεκριμένη έκδοση (woody) η μεταφόρτωση των πακέτων θα έχει συνολικό μέγεθος περίπου37MB.

Για προχωρημένους: dselect

Το dselect είναι ένα αρκετά περίπλοκο αλλά δυνατό πρόγραμμα που μπορεί να χρησιμοποιηθείγια την εγκατάσταση μεμονωμένων πακέτων στο Debian. Αναλυτικές οδηγίες για το πρόγραμμακαι τη χρήση του θα βρείτε στο κεφ. 13. όπου και περιγράφεται αναλυτικά η διαδικασίαεγκατάστασης πακέτων λογισμικού στο Debian.

Εναλλακτικές προτάσεις: kpackage, stormpkg

Σε πολλούς το πρόγραμμα dselect φαίνεται δύσχρηστο και οπισθοδρομικό. Για το σκοπό αυτό τοDebian παρέχει δύο ακόμη προγράμματα που μπορούν να χρησιμοποιηθούν αντί για το dselect.Το πρώτο, το KPackage είναι σχεδιασμένο σε περιβάλλον KDE και προσφέρει μια φιλική προς τοχρήστη εναλλακτική πρόταση προγράμματος εγκατάστασης πακέτων λογισμικού. Το ίδιο τοπρόγραμμα είναι σχεδιασμένο να λειτουργεί σε όλες τις διανομές, ανεξαρτήτως της μορφής τωνπακέτων (deb, rpm, bsd, slackware tgz).

Το δεύτερο πρόγραμμα StormPkg είναι ειδικά σχεδιασμένο για το Debian και προήλθε από τηδιανομή Storm που βασίστηκε στο Debian.

Περισσότερες πληροφορίες και για τα δύο προγράμματα και οδηγίες χρήσης μπορείτε να βρείτεεπίσης στο κεφ. 13.

[screenshot]

[screenshot]

12.Ρύθμιση του συστήματος παραθύρων X

[screenshot]

Ένα από τα σημαντικότερα πακέτα λογισμικού για οποιοδήποτε λειτουργικό σύστημα τύπουUNIX είναι το σύστημα παραθύρων X (X Window System). Η εγκατάσταση και ρύθμιση αυτού τουσυστήματος δεν είναι και ό,τι απλούστερο και έχουν γραφτεί ολόκληρα βιβλία για την σωστήρύθμισή του. Κάτι τέτοιο φυσικά ξεφεύγει από τους σκοπούς αυτού του οδηγού. Αντίθετα, στηνπαρούσα ενότητα θα δείξουμε μια βήμα προς βήμα εγκατάσταση των πακέτων που προσφέρει τοDebian για το σύστημα παραθύρων X. Το Debian έχει έναν από τους φιλικότερους αλλά και πιοευέλικτους τρόπους εγκατάστασης των Χ και το πιο πιθανόν είναι ότι δεν θα αντιμετωπίσετε

Debian Guide 42

Page 43: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

πρόβλημα στην εγκατάστασή τους.

Το πρώτο βήμα αφορά την επιλογή του οδηγού της κάρτας γραφικών. Στο σημείο αυτό θαχρειαστείτε τις πληροφορίες για την κάρτα γραφικών που συγκεντρώσατε στο κεφ. 2.

[screenshot]

Επιλέγετε τον οδηγό της κάρτας γραφικών και δηλώνετε το όνομά του.

[screenshot]

Το επόμενο βήμα είναι απαραίτητο σε όσους έχουν περισσότερες από μία κάρτες γραφικών στονίδιο υπολογιστή. Το σύστημα εγκατάστασης των Χ στο Debian, μπορεί να ρυθμίσει μόνο μιακάρτα γραφικών. Για τις υπόλοιπες θα πρέπει να το κάνετε χειροκίνητα. Στο παρόν πεδίο θαπρέπει να δηλώσετε τον αριθμό της συσκευής της κάρτας γραφικών στον δίαυλο PCI/AGP. Τοναριθμό αυτό μπορείτε να τον δείτε με την εντολή lspci. Η εντολή δίνει τον αριθμό σεδεκαεξαδική μορφή, ενώ το πρόγραμμα εγκατάστασης απαιτεί δεκαδική μορφή.

Στη συνέχεια μπορείτε να δηλώσετε το ποσό μνήμης της κάρτας γραφικών. Στην πλειοψηφίατων περιπτώσεων μπορείτε να αφήσετε το πεδίο κενό, καθώς τα X αναγνωρίζουν αυτόματατέτοιου είδους πληροφορίες.

[screenshot]

Η επόμενη επιλογή σας δίνει την επιλογή να χρησιμοποιήσετε την διασύνδεση των X με τοσύστημα πλαισίου μνήμης του πυρήνα (kernel framebuffer). Εγγυημένη πρόταση για αυτήν τηνεπιλογή δεν υπάρχει καθώς εξαρτάται από το μοντέλο κάρτας γραφικών, από την έκδοση τουπυρήνα και από ποια χαρακτηριστικά του πυρήνα είναι ενεργοποιημένα.

[screenshot]

Οι επόμενες πέντε ερωτήσεις είναι σχετικές με την ρύθμιση του πληκτρολογίου. Για ταπληκτρολόγια που χρησιμοποιούνται στην Ελλάδα, συνήθως ορίζονται οι επιλογές 'xfree86','pc104' και 'el' αντίστοιχα για τις πρώτες τρεις ερωτήσεις. Στην τέταρτη και πέμπτη ερώτησημπορείτε να δώσετε κενό.

Το ποντίκι είναι το επόμενο στοιχείο που πρέπει να ορίσετε για να λειτουργήσουν σωστά τα X.Καταρχάς, θα πρέπει να επιλέξετε την θύρα και τον τύπο του ποντικιού. Για τα περισσότεραποντίκια PS/2 μπορείτε να επιλέξετε /dev/psaux ή /dev/misc/psaux αν χρησιμοποιείτε devfs. Ταπερισσότερα ποντίκια είναι PS/2 με ορισμένες μικρές παραλλαγές (π.χ. τα Microsoft Intellimouseχρησιμοποιούν την παραλλαγή ImPS/2) και θα πρέπει να βρείτε ποια παραλλαγή χρησιμοποιείτο δικό σας ποντίκι. Τα X έχουν υποστήριξη για τρία πλήκτρα που τα παλαιότερα ποντίκια δενέχουν, όπως επίσης και τα touchpads των φορητών. Έτσι για να μπορείτε να εκμεταλλευτείτετην λειτουργικότητα ενός ποντικιού με τρία πλήκτρα σε ένα ποντίκι με δύο πλήκτρα ή σε έναtouchpad φορητού, θα πρέπει να ενεργοποιήσετε την εξομοίωση των τριών πλήκτρων “Emulate3 button mouse”.

[screenshot]

[screenshot]

Στην επόμενη οθόνη μπορείτε να ενεργοποιήσετε την υποστήριξη για τροχό κύλισης (scrollwheel) που βρίσκεται στα πιο καινούρια ποντίκια.

Στα επόμενα βήματα καθορίζετε τον τύπο, μέγεθος και χαρακτηριστικά της οθόνης τουυπολογιστή σας. Αφού δώσετε ένα όνομα για την οθόνη, επιλέγετε αν πρόκειται για οθόνη

Debian Guide 43

Page 44: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

καθοδικής λυχνίας (CRT) ή οθόνη κρυστάλλων TFT/LCD. Οι περισσότερες οθόνες είναικαθοδικής λυχνίας αν και έχουν αρχίσει να γίνονται δημοφιλείς και οι οθόνες TFT πλέον.

Στη συνέχεια επιλέγετε το επίπεδο παραμετροποιήσης που θέλετε. Για τους περισσότερουςχρήστες συνιστάται η επιλογή Simple ή Medium (αν και για τις οθόνες TFT η επιλογή simple είναιαπενεργοποιημένη).

Αν για παράδειγμα επιλέξετε Medium, θα σας παρουσιαστεί η μέγιστη ανάλυση και συχνότηταπου μπορεί να απεικονίσει η οθόνη σας και στη συνέχεια θα σας ζητηθεί μια λίστα επιλογής μετις επιθυμητές αναλύσεις που θέλετε να χρησιμοποιούνται από τα X. Η οθόνη σας οπωσδήποτευποστηρίζει πολλές αναλύσεις αλλά μπορεί για τις ανάγκες σας να αρκούν μια ή δύοδιαφορετικές αναλύσεις.

[screenshot]

Κατόπιν, θα χρειαστεί να ορίσετε το χρωματικό βάθος. Μπορείτε να επιλέξετε το υψηλότεροδυνατό (24 ή 32 bits), εκτός ίσως αν πρόκειται για παλαιότερη κάρτα γραφικών με περιορισμένημνήμη που δεν μπορεί να υποστηρίξει τέτοιο χρωματικό βάθος. Σε αυτήν την περίπτωσημπορείτε να επιλέξετε 15 ή 16 bits.

[screenshot]

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

[screenshot]

Για να αποθηκεύσετε τις αλλαγές στο αρχείο παραμετροποίησης των X απαντήστε καταφατικάστις επόμενες δύο ερωτήσεις.

Μένει πλέον να δοκιμάσετε αν το σύστημα παραθύρων X έχει εγκατασταθεί και ρυθμιστεί σωστά.Ως χρήστης root μπορείτε να δώσετε την εντολή startx. Αν όλα έχουν ρυθμιστεί σωστά, τα Χ θαφορτώσουν κανονικά. Το περιβάλλον που θα αντικρύσετε εξαρτάται από τα πακέτα λογισμικούπου έχετε εγκαταστήσει στον υπολογιστή σας.

[screenshot]

Αν υπάρχει πρόβλημα και δεν φορτώνουν τα X, μπορείτε να δείτε πληροφορίες για το ποιοακριβώς ήταν το πρόβλημα στο αρχείο /var/log/XFree86.log.

Επίσης μπορείτε να βρείτε περισσότερες πληροφορίες για το σύστημα παραθύρων X στο Debianστους καταλόγους /usr/share/doc/xserver-xfree86 και /usr/share/doc/xfree86-common.

Debian Guide 44

Page 45: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 7 - Εκκίνηση του συστήματος

1.Σύνδεση στο σύστημα

Κάθε φορά που εκκινείτε τον υπολογιστή σας, αναλόγως με τις ρυθμίσεις που έχετε δώσει θασας δώσει την δυνατότητα να επιλέξετε ανάμεσα στο Debian GNU/Linux και στα άλλαλειτουργικά συστήματα που έχετε δηλώσει ως εναλλακτικά κατά την διάρκεια της εγκατάστασης(ή ακόμη και σε μετέπειτα στάδιο). Για την ρύθμιση αυτή όπως είπαμε είναι υπεύθυνο τοπρόγραμμα LILO (βλ. Παράρτημα IV).

Η επιλογή μπορεί να είναι πέρα από διαφορετικά λειτουργικά και διαφορετικός τρόποςεκκίνησης του ίδιου του λειτουργικού, π.χ. χρησιμοποιώντας ένα διαφορετικό πυρήνα ήενεργοποιώντας την εκκίνηση σε κατάσταση ανάγκης (single user mode) όπου συνδέεστε ωςχρήστης root (βλ. Παράρτημα V).

Αφού εκκινήσει το Debian, και φυσικά αν η εγκατάσταση έχει γίνει χωρίς πρόβλημα, το σύστημαθα φτάσει σε μια οθόνη σύνδεσης (login). Στο σημείο αυτό, το σύστημα θα περιμένει κάποιοόνομα χρήστη (login name ή username ή account name) και ένα κωδικό (password). Η οθόνησύνδεσης μπορεί να είναι είτε γραφική μέσω του συστήματος παραθύρων X ή κειμένου μόνο(κονσόλα). Οποιαδήποτε και αν είναι είναι απαραίτητο να δώσετε όνομα χρήστη και κωδικόπρόσβασης για να συνδεθείτε. Αντίθετα με άλλα λειτουργικά συστήματα, δε μπορείτε ναπροσπεράσετε την διαδικασία σύνδεσης στο σύστημα.

Σύνδεση από γραφικό περιβάλλον Χ

Για τη σύνδεση από γραφικό περιβάλλον χρησιμοποιούνται συγκεκριμένα προγράμματα, πουέχουν τον έλεγχο του συστήματος παραθύρων Χ και δίνουν πρόσβαση μόνο σε εγκεκριμένουςχρήστες. Τα προγράμματα αυτά λέγονται διαχειριστές οθόνης (Display Managers). Η χρήση τουςενδείκνυται καθώς προσφέρουν αυξημένη ασφάλεια στις περιόδους εργασίας στο σύστημα(system sessions), δυνατότητα για απομακρυσμένη λειτουργία (μέσω του πρωτοκόλλου XDMCP)αλλά και φυσικά και ένα πιο φιλικό τρόπο σύνδεσης στο σύστημα.

Οι δυνατότητες που σας παρέχονται εξαρτώνται κάθε φορά από το πρόγραμμα διαχείρισηςοθόνης αν και τα βασικά χαρακτηριστικά που αναφέραμε παρέχονται από όλους. Από τουςυπάρχοντες διαχειριστές οθόνης, τρεις είναι οι πιο διαδεδομένοι, ο αρχικός X Display Manager(xdm), o K Desktop Manager (kdm) και ο GNOME Display Manager (gdm). Οι δύο τελευταίοι είναιτμήματα των περιβαλλόντων εργασίας KDE και GNOME αντίστοιχα. Μπορείτε να δείτε δείγματατων διαχειριστών οθόνης στις εικόνες (reference).

[screenshot]

[screenshot]

[screenshot]

Και οι τρεις παρέχονται ως πακέτα στο Debian και μπορείτε να εγκαταστήσετε οποιονδήποτε(μπορείτε να έχετε μόνο έναν ενεργό διαχειριστή οθόνης στο σύστημά σας) με την εντολή:

$ apt-get install <display manager>

όπου <display manager> μπορεί να είναι ένα από τα ονόματα xdm, gdm, kdm.

Debian Guide 45

Page 46: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Αφού δώσετε το όνομα χρήστη και τον κωδικό πρόσβασης στην προτροπή σύνδεσης (loginprompt) θα συνδεθείτε στο σύστημα και θα έχετε τον έλεγχο του περιβάλλοντος εργασίας(desktop environment). Εδώ πρέπει να σημειωθεί ότι ο κάθε χρήστης έχει ένα τελείωςπροσωπικό περιβάλλον εργασίας και μπορεί να το παραμετροποιήσει κατά βούληση, από το νααλλάξει τον διαχειριστή παραθύρων, τα εικονίδια, τις γραμματοσειρές, κλπ. Αυτό συμβαίνειγιατί κάθε χρήστης έχει δικό του χώρο στο σύστημα αρχείων, τον κατάλογο home (homedirectory) όπως λέγεται. Αυτός ο κατάλογος βρίσκεται συνήθως στο /home με το όνομα τουχρήστη. Για παράδειγμα, για τον χρήστη feanor, ο κατάλογος home θα είναι /home/feanor.

Στον προσωπικό κατάλογο του κάθε χρήστη κρατούνται τα προσωπικά του αρχεία αλλάκαι τα αρχεία ρυθμίσεων και προτιμήσεων όλων των προγραμμάτων που χρησιμοποιεί οχρήστης. Όπως και κάθε λειτουργικό τύπου UNIX, έτσι και το Linux είναι ένα πολυχρηστικόσύστημα, που σημαίνει υποστήριξη πολλών χρηστών συνδεδεμένων στο ίδιο σύστημα καιταυτόχρονα. Το γεγονός αυτό σημαίνει απαραίτητα και παραμετροποίηση τωνπρογραμμάτων στις ανάγκες του κάθε χρήστη. Έχει καθοριστεί, λοιπόν, τα αρχείαπαραμετροποίησης και ρύθμισης του κάθε προγράμματος να βρίσκονται στον κατάλογοhome του κάθε χρήστη, ως κρυμμένα αρχεία, το όνομα των οποίων δηλαδή αρχίζει μετελεία “.”. Έτσι για παράδειγμα όλα τα αρχεία παραμετροποίησης του KDΕ για τον χρήστηfeanor βρίσκονται στον κατάλογο /home/feanor/.kde.

Σύνδεση από κονσόλα

Σε συστήματα που δεν είναι απαραίτητη η ύπαρξη ή χρήση γραφικού περιβάλλοντος, επιλέγεταινα μην εγκατασταθεί το σύστημα παραθύρων X, για λόγους μείωσης κατανάλωσης πόρων τουσυστήματος. Σε ένα τέτοιο σύστημα δεν είναι φυσικά δυνατή η σύνδεση μέσω γραφικούπεριβάλλοντος καθώς δεν υπάρχει κάποιος διαχειριστής οθόνης. Το κύριο περιβάλλονλειτουργίας του συστήματος είναι η κονσόλα. Στα περισσότερα συστήματα, παρέχονταιπερισσότερες από μια κονσόλες εργασίας, στις οποίες μεταφέρεστε με τη χρήση τωνπρογραμματιζόμενων πλήκτρων F1-F8 σε συνδυασμό με το αριστερό πλήκτρο Alt. Αυτέςονομάζονται εικονικές κονσόλες (virtual consoles) και λειτουργούν αυτόνομα. Σε κάθε μία απόαυτές μπορείτε να τρέχετε οποιοδήποτε πρόγραμμα θέλετε και να μεταφέρεστε από τη μία στηνάλλη κατά βούληση. Σε κάθε μία πρέπει να συνδεθείτε ξεχωριστά δίνοντας το όνομα χρήστη καιτον κωδικό πρόσβασης.

[screenshot]

2.Αποσύνδεση

Η διαδικασία της αποσύνδεσης ονομάζεται logout. Αν είστε σε γραφικό περιβάλλον θα πρέπει ναεπιλέξετε την αντίστοιχη επιλογή στα μενού που σας προσφέρει ο διαχειριστής παραθύρων ήκάποιο κουμπί σε λωρίδα εργασίας. Αν είστε σε κονσόλα, αρκεί να δώσετε την εντολή logout ήexit ή ακόμη και το συνδυασμό πλήκτρων CTRL-D.

Θα μεταφερθείτε ξανά στην οθόνη σύνδεσης του διαχειριστή οθόνης ή της κονσόλας αναλόγωςαν έχετε γραφικό περιβάλλον και διαχειριστή οθόνης ή όχι.

Μετά την αποσύνδεση έχετε τις εξής δυνατότητες, αναλόγως και τις δυνατότητες του

Debian Guide 46

Page 47: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

αντίστοιχου διαχειριστή οθόνης που χρησιμοποιείτε:

• να ξανασυνδεθείτε στο σύστημα

• να αφήσετε κάποιον άλλον χρήστη να συνδεθεί με διαφορετικό όνομα χρήστη

• να κάνετε επανεκκίνηση ή τερματισμό του υπολογιστή. Οι συγκεκριμένες δυνατότητεςδίνονται μόνο από τους διαχειριστές οθόνης kdm και gdm που ανήκουν στα περιβάλλοντα KDEκαι GNOME αντίστοιχα. Ο διαχειριστής xdm δεν προσφέρει τέτοιες λειτουργίες.

3.Τερματισμός του υπολογιστή

Ο τερματισμός ενός υπολογιστή που τρέχει Linux ή οποιοδήποτε λειτουργικό σύστημα τύπουUNIX γίνεται με συγκεκριμενο τρόπο. Καθώς τα λειτουργικά αυτά είναι σχεδιασμένα ναλειτουργούν συνεχώς, πολλές φορές για μήνες ή και χρόνια, και να φιλοξενούν πολλούςχρήστες, από μερικούς χρήστες για έναν υπολογιστή στο σπίτι μέχρι και χιλιάδες χρήστες γιασυστήματα πανεπιστημίων, θα πρέπει ο τερματισμός να γίνεται αφού ειδοποιηθούν όλοι οιχρήστες, κλείσουν όλα τα αρχεία που έχουν ανοιχτά και τα προγράμματα που τρέχουν και αφούσταματήσουν οι υπηρεσίες που τρέχει το σύστημα, απενεργοποιηθούν οι συσκευές και τασυστήματα αρχείων του συστήματος. Πρόκειται για μια αρκετά σύνθετη διαδικασία, αν και τιςπερισσότερες φορές όλα γίνονται αυτόματα και δεν θα χρειαστεί παρά μόνο να δώσετε τηνεντολή για τερματισμό.

Δε μπορείτε απλώς να κλείσετε τον υπολογιστή σας γιατί όλα θα χαθούν όλες οι πληροφορίεςπου βρίσκονται εκείνη τη στιγμή στη μνήμη του υπολογιστή και πολλά αρχεία που είναι ανοιχτάκινδυνεύουν να καταστραφούν. Το ίδιο το σύστημα αρχείων θα υποστεί βλάβη και στηνκαλύτερη περίπτωση την επόμενη φορά που θα εκκινήσετε τον υπολογιστή σας θα περιμένετεαρκετή ώρα για την διόρθωση πιθανών λαθών (η διαδικασία λέγεται filesystem check και τοαντίστοιχο πρόγραμμα fsck). Δεν συνιστάται το σβήσιμο του υπολογιστή αν δεν έχει γίνεισωστός τερματισμός, εκτός ίσως από περιπτώσεις που δεν έχετε άλλη επιλογή, π.χ. έχει“παγώσει” ο υπολογιστής και δεν ανταποκρίνεται σε οποιαδήποτε εντολή του δίνετε.

Τερματισμός από γραφικό περιβάλλον Χ

Στην περίπτωση που χρησιμοποιείτε kdm, θα πρέπει να επιλέξετε “Menu->Halt” ή “Menu->Reboot” αναλόγως αν θέλετε τερματισμό (σβήσιμο) ή απλώς επανεκκίνηση του υπολογιστή. Γιατον gdm ισχύουν αντίστοιχα οι επιλογές System->Halt ή System->Reboot από το μενού.

[screenshot]

[screenshot]

Τερματισμός από κονσόλα

Αν βρίσκεστε σε κονσόλα και θέλετε να τερματίσετε ή να επανεκκινήσετε τον υπολογιστή σας,θα πρέπει να χρησιμοποιήσετε κάποιες συγκεκριμένες εντολές που αναλαμβάνουν τοντερματισμό ή την επανεκκίνηση αντίστοιχα. Θα πρέπει απαραιτήτως να είστε συνδεδεμένος ωςχρήστης root καθώς μόνο αυτός έχει το προνόμιο να εκτελεί αυτές τις εντολές.

• για επανεκκίνηση μπορείτε απλώς να δώσετε την εντολή reboot

• για άμεσο τερματισμό μπορείτε να δώσετε την εντολή halt

Debian Guide 47

Page 48: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

• υπάρχει και η δυνατότητα για καθυστερημένο ή προκαθορισμένο τερματισμό. Μπορείτε ναχρησιμοποιήσετε την εντολή shutdown halt +MINUTES όπου MINUTES ο αριθμός των λεπτώνπου το σύστημα θα περιμένει για καθυστερημένο τερματισμό, ενώ ή εντολή shutdown haltHH:MM ορίζει ότι το σύστημα θα τερματίσει την καθορισμένη ώρα HH:MM (σε 24ωρη βάση).

Επανεκκίνηση από πληκτρολόγιο

Σε ορισμένες περιπτώσεις είναι ανάγκη για άμεσο τερματισμό του συστήματος και δεν υπάρχειχρόνος για τις κανονικές διαδικασίες. Σε αυτήν την περίπτωση, μπορείτε να κάνετε άμεσηεπανεκκίνηση του υπολογιστή πατώντας τον συνδυασμό πλήκτρων CTRL-ALT-DEL. Με αυτόν τοντρόπο το σύστημα προσπαθεί να επανεκκινήσει όσον το δυνατόν πιο γρήγορα αλλά και ομάλα,πραγματοποιώντας αποσύνδεση από τα X, τερματίζοντας τις διεργασίες, χωρίς να δώσει χρόνογια την αποθήκευση αλλαγών στα προγράμματα, και τέλος απενεργοποιώντας τις συσκευές καιτα συστήματα αρχείων. Είναι ο πιο γρήγορος τρόπος να επανεκκινήσει ο υπολογιστής ομαλά,αλλά δεν συνιστάται η χρήση του εκτός ίσως από μεγάλη ανάγκη ή αν τρέχουν λίγες διεργασίεςκαι δεν υπάρχει κίνδυνος απώλειας δεδομένων.

4.Μετάβαση από Χ σε κονσόλα

Αν για κάποιον λόγο θέλετε να μεταβείτε από τα X σε μια εικονική κονσόλα, π.χ. για να κάνετεκάποια εργασία ως χρήστης root, που δεν απαιτεί γραφικό περιβάλλον, μπορείτε ναχρησιμοποιήσετε τον συνδυασμό πλήκτρων αριστερό Alt -F1 ως F6. Έτσι θα μεταβείτε σε μια απότις διαθέσιμες εικονικές κονσόλες (virtual consoles) και συνδεθείτε δίνοντας το ζητούμενο όνομαχρήστη και τον αντίστοιχο κωδικό πρόσβασης.

Μπορείτε να επιστρέψετε στα X με τον συνδυασμό αριστερό Alt – F7.

5.Εκκίνηση του γραφικού περιβάλλοντος Χ

Αν εγκαταστήσετε κάποιον από τους διαχειριστές οθόνης (xdm, gdm ή kdm) τότε το σύστημα μετην εκκίνηση θα εισέρχεται σε γραφικό περιβάλλον. Μπορεί όμως για κάποιο λόγο να έχετεαπενεργοποιήσει τον διαχειριστή οθόνης ή να μην τον έχετε εγκαταστήσει ή ακόμη να υπάρχεικάποιο πρόβλημα και να χρειαστεί να το διορθώσετε. Για αυτό το σκοπό μπορείτε ναμεταφερθείτε προσωρινά σε εικονική κονσόλα με το συνδυασμό Αριστερό Alt- F1 (ως F6). Εκείμπορείτε να εκκινήσετε χειροκίνητα τον διαχειριστή οθόνης ή απευθείας το σύστημα παραθύρωνX (αν φυσικά είναι εγκατεστημένα στον υπολογιστή σας). Η εκκίνηση του διαχειριστή οθόνηςμπορεί να γίνει, αφού έχετε συνδεθεί ως χρήστης root, με τον εξής απλό τρόπο:

# /etc/init.d/kdm start

ενώ, αν ήδη ήταν σε λειτουργία και θέλετε να τον επανεκκινήσετε για κάποιο λόγο, μπορείτε ναχρησιμοποιήσετε την εντολή:

# /etc/init.d/kdm restart

Φυσικά, εδώ θεωρήσαμε ότι ο διαχειριστής οθόνης είναι ο kdm. Για οποιονδήποτε άλλοδιαχειριστή οθόνης θα πρέπει να αντικαταστήσετε με το σωστό όνομα (gdm, xdm).

Τα X μπορούν να εκκινήσουν χωρίς διαχειριστή οθόνης απευθείας στο περιβάλλον εργασίας μετην εντολή:

Debian Guide 48

Page 49: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

# startx

και κάτι τέτοιο μπορεί να λειτουργήσει για κάθε χρήστη ο οποίος έχει πρόσβαση στην κονσόλα.

6.Απενεργοποίηση του γραφικού περιβάλλοντος Χ

Με παρόμοιο τρόπο μπορείτε να απενεργοποιήσετε τον διαχειριστή οθόνης, αφού μεταφερθείτεπρώτα σε μια εικονική κονσόλα και συνδεθείτε ως χρήστης root:

# /etc/init.d/kdm stop

Υπάρχει και ένας γρήγορος αλλά αρκετά βίαιος τρόπος να πραγματοποιήσετε απότομοτερματισμό των X και επανεκκίνηση του διαχειριστή οθόνης, χρησιμοποιώντας το συνδυασμόπλήκτρων CTRL-ALT-Backspace. Δεν συνιστάται όμως γιατί τερματίζει απότομα όλα ταπρογράμματα που χρησιμοποιουν γραφικό περιβάλλον ή έχουν εκκινήσει μέσα σε αυτό.Χρησιμοποιήστε το μόνο αν έχετε πρόβλημα με τα X ή δεν αποκρίνεται το σύστημα.

Debian Guide 49

Page 50: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 8 - Η επιφάνεια εργασίας και το σύστημαπαραθύρων Χ

1.Το σύστημα παραθύρων X

Το σύστημα παραθύρων X, το γνωστό X Window System, ή πιο συχνά αναφερόμενο απλώς ως X,είναι το de facto περιβάλλον εργασίας που χρησιμοποιείται σε σχεδόν κάθε σύστημα UNIX.Αναπτύχθηκε αρχικά στο MIT και στη συνέχεια δημιουργήθηκε το X Consortium από το OpenGroup το οποίο είναι υπεύθυνο για την ανάπτυξή του. Το αυθεντικό σύστημα παραθύρων X τουMIT/Open Group πέρασε από πολλές εκδόσεις οι οποίες αποτέλεσαν τη βάση για άλλεςπροσπάθειες δημιουργίας συμβατών συστημάτων παραθύρων X, εμπορικών και μή. Η τελευταίαέκδοση είναι η X11R6.4 και αποτελεί το νεώτερο στανταρντ.

Το Debian και οι περισσότερες διανομές Linux καθώς και άλλα λειτουργικά UNIX (FreeBSD,NetBSD, OpenBSD) δεν χρησιμοποιούν το αυθεντικό σύστημα παραθύρων X, αλλά μια ΑνοιχτούΛογισμικού (Open Source) εναλλακτική προσπάθεια που βασίστηκε στα αυθεντικά Χ, το XFree86.Αυτό παρέχει μια πιο σύγχρονη αρχιτεκτονική από τα αυθεντικά X και επιπλέον λειτουργίες πουτο καθιστούν ανώτερο, πιο γρήγορο και πιο επεκτάσιμο.

Το σύστημα παραθύρων X είναι ένα γραφικό περιβάλλον εργασίας που επιτρέπει στο χρήστη ναχρησιμοποιήσει πιο φιλικούς τρόπους επικοινωνίας με τον υπολογιστή, όπως το ποντίκι ενώδίνει την δυνατότητα απεικόνισης πολύπλοκων γραφικών. Τα γραφικά περιβάλλοντα είναιπλέον διαδεδομένα στους υπολογιστές και κάθε σύγχρονο λειτουργικό σύστημα προσφέρει έναγραφικό τρόπο επικοινωνίας με τον χρήστη. Στην πραγματικότητα, μόνο τα συστήματα πουλειτουργούν ως servers δεν χρειάζονται κάποιο γραφικό περιβάλλον.

Ο τρόπος που λειτουργούν τα X είναι παρόμοιος με αυτόν που λειτουργούν και σχεδόν όλα τασύγχρονα λειτουργικά συστήματα. Υπάρχουν αυτόνομες μονάδες που καλούνται παράθυρα καιφιλοξενούν τις εφαρμογές ενώ μπορείτε να χρησιμοποιήσετε το ποντίκι και το πληκτρολόγιο.

Στο Debian τα X διατίθενται με το πακέτο x-window-system.

2.Διαχειριστές Παραθύρων

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

Η επιλογή ενός διαχειριστή παραθύρων θα πρέπει να γίνει με βάση τις ανάγκες του κάθεχρήστη. Δεν υπάρχει λόγος να εγκαταστήσετε ένα πλήρες περιβάλλον εργασίας με τον πιοδυνατό διαχειριστή παραθύρων σε ένα σύστημα που θα χρησιμοποιηθεί ως server, καθώς

Debian Guide 50

Page 51: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

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

Στα screenshots μπορείτε να δείτε μερικούς από τους πιο γνωστούς διαχειριστές παραθύρων.

[screenshot]

[screenshot]

[screenshot]

Το Debian προσφέρει μια μεγάλη ποικιλία διαχειριστών παραθύρων. Μπορείτε να δείτε έναμικρό δείγμα χρησιμοποιώντας την εντολή

$ apt-cache search window manager

3.Προσομοιωτές Τερματικού

Υπάρχει ένα είδος προγραμμάτων που χρησιμοποιείται ίσως περισσότερο από οποιοδήποτε άλλοστα X. Είναι ένα αναπόσπαστο τμήμα οποιουδήποτε γραφικού περιβάλλοντος εργασίας και δενοείται η εγκατάσταση των X χωρίς ένα τέτοιο πρόγραμμα. Πρόκειται για τους προσομοιωτέςτερματικών (terminal emulators) ή απλώς X terminals. Πρακτικά, ένας προσομοιωτήςτερματικού δημιουργεί ένα εικονικό τερματικό το οποίο συνδέει με ένα παράθυρο και το οποίοθέτει υπό τον έλεγχο ενός κελύφους (shell), έτσι ο χρήστης μπορεί να εκτελέσει εντολέςκελύφους ή κατευθείαν εφαρμογές γραφικού περιβάλλοντος μέσα από ένα τερματικό, ακριβώςσα να ήταν συνδεδεμένος στην κονσόλα του συστήματος. Μπορείτε να εκκινήσετε όσουςπροσομοιωτές τερματικού θέλετε, ο μόνος περιορισμός είναι η μνήμη του συστήματος.

Στα screenshots φαίνονται μερικοί από τους πιο δημοφιλείς προσομοιωτές τερματικού, τοkonsole του KDE, το gnome-terminal του GNOME και το κλασσικό xterm.

[screenshot]

[screenshot]

[screenshot]

4.Περιβάλλοντα Εργασίας

Αν και υπάρχει μεγάλη ποικιλία διαχειριστών παραθύρων για τα X στο Linux, μέχρι πρότινοςαυτό δεν ήταν και τόσο θετικό, γιατί η ποικιλία αυτή υπήρχε σε βάρος μιας ζητούμενηςομοιομορφίας και κάποιας τυποποίησης του γραφικού περιβάλλοντος. Δεν υπήρχε δηλαδήκάποιος προκαθορισμένος τρόπος να επιτευχθεί η κάθε εργασία και ο κάθε διαχειριστήςπαραθύρων υλοποιούσε το δικό του σύστημα διαχείρισης. Δημιουργήθηκε σύγχυση στουςχρήστες καθώς δεν ήξεραν -ειδικά οι νεώτεροι- ποιον διαχειριστή παραθύρων να επιλέξουν.

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

Τα δύο αυτά κινήματα είναι το KDE και το GNOME. Το καθένα έχει μια διαφορετική φιλοσοφίαως προς την ιδανική φύση του περιβάλλοντος εργασίας αλλά αυτό δεν είναι εμπόδιο στηνανάπτυξή τους. Το αντίθετο μάλιστα, αφού αυτή η άμιλα ωθεί τους προγραμματιστές του

Debian Guide 51

Page 52: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

καθενός περιβάλλοντος να το εμπλουτίσουν και να το αναπτύξουν περισσότερο.

KDE

[TODO]

GNOME

[TODO]

Επιλέγοντας επιφάνεια εργασίας, KDE/GNOME ή άλλο?

[TODO]

Αντιγραφή/επικόλληση κειμένου

Μια πολύ χρήσιμη λειτουργία που προσφέρουν τα X είναι η αντιγραφή και επικόλληση κειμένουχρησιμοποιώντας το αριστερό και μεσαίο πλήκτρο του ποντικιού, αν φυσικά πρόκειται γιαποντίκι με τρία πλήκτρα ή τροχό κύλισης (scroll wheel). Για κατόχους ποντικιού με δύο πλήκτραθα πρέπει να ενεργοποιήσετε την εξομοίωση ποντικιού με τρία πλήκτρα (σελ. ΧΧΧ).

Με το αριστερό πλήκτρο επιλέγετε το κείμενο που θέλετε να αντιγράψετε (εικ. 1) και με τομεσαίο πλήκτρο (ή πατώντας ταυτόχρονα αριστερό και δεξί πλήκτρο αν έχετε ποντίκι με δύοπλήκτρα) επικολλάτε το κείμενο στο παράθυρο που θέλετε (εικ. 2).

[screenshot]

[screenshot]

Debian Guide 52

Page 53: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 9 - Η δύναμη του UNIX,το Κέλυφος

Το Κέλυφος (shell), ή μεταφραστής εντολών (command interpreter) όπως αλλιώς ονομάζεται,είναι ένα από τα χαρακτηριστικά που κάνουν το UNIX (το Linux είναι ένα λειτουργικό σύστηματύπου UNIX) να ξεχωρίζουν. Προσφέρει απεριόριστες δυνατότητες στον χρήστη που ξέρει να τοχειρίζεται και δεν είναι λίγα τα παραδείγματα ολόκληρων εφαρμογών που στηρίζονται σεσενάρια κελύφους (shell scripts). Για την ακρίβεια τα σενάρια κελύφους είναι ένας από τουςπροτεινόμενους τρόπους παραμετροποίησης μιας εφαρμογής καθώς είναι μεταφέρσιμα(portable) σε σχεδόν όλες τις πλατφόρμες UNIX , έχουν πολύ μικρό μέγεθος και είναι πολύβολικά στην κατανάλωση μνήμης και επεξεργαστικής ισχύος. Ακόμη είναι πολύ γρήγορο καιεύκολο να κατασκευάσει ένα μικρό σενάριο κελύφους που θα πραγματοποιεί μια συγκεκριμένηλειτουργία, για την οποία πιθανόν να χρειαζόταν πολλαπλάσιος χρόνος να γραφτεί σε κάποιαπαραδοσιακή γλώσσα προγραμματισμού (π.χ. C/C++), και η μεταφερσιμότητά της (portability)θα ήταν κάτι αμφισβητίσιμο.

Τί ακριβώς όμως είναι το κέλυφος; Από την πλευρά του πυρήνα, το κέλυφος είναι ένα απλόπρόγραμμα που ερμηνεύει και εκτελεί τις εντολές που του ορίζετε, διαδοχικά. Ανάμεσα σε άλλα,το κέλυφος είναι υπεύθυνο για την εκτέλεση των σεναρίων κελύφους, για την ανάπτυξη τωνχαρακτήρων μοτίβων (patterns) σε ονόματα αρχείων, την σύνδεση των αρχείων και εντολών μεσωληνώσεις (pipes) και την υπό συνθήκες εκτέλεση εντολών (conditional execution). Τασενάρια κελύφους δεν είναι τίποτε άλλο από προγράμματα γραμμένα σε ειδική σύνταξη αλλάόμοια με εκείνη που εισάγετε στη γραμμή εντολών, τα οποία το κέλυφος μπορέι να εκτελέσει.

1.Γιατί Κέλυφος;

Όπως αναφέραμε, το κέλυφος παρέχει μια άμεση πρόσβαση σε αμέτρητα προγράμματα του UNIXκαι για πολλούς είναι αυτό που έχει καταστήσει το UNIX τόσο δημοφιλές. Πολλοί θααναρωτηθούν γιατί να ασχοληθούν με μια τεχνολογία 20 ετών και να χάσουν χρόνο μαθαίνοντας“περίεργες” μονοσύλλαβες εντολές τη στιγμή που τα λειτουργικά συστήματα προσφέρουν τόσοφιλικούς τρόπους διασύνδεσης με το χρήστη (interfaces) και όμορφα γραφικά περιβάλλοντα. Ηαπάντηση δεν είναι τόσο απλή αλλά εξαρτάται κάθε φορά από τον σκοπό για τον οποίοχρησιμοποιεί ο κάθε χρήστης τον υπολογιστή. Για παράδειγμα, σε ένα επαγγελματικόπεριβάλλον αυτό που έχει πραγματική σημασία δεν είναι τόσο τα όμορφα γραφικά αλλά ησταθερότητα, η ασφάλεια και η απόδοση. Η έλλειψη της όμορφης παρουσίασης είναι μάλλονπροτέρημα παρά μειονέκτημα. Από την άλλη, για ένα χρήστη που θέλει να εμβαθύνει στοσύστημά του και όχι να το αντιμετωπίζει ως ένα μαύρο κουτί, το κέλυφος είναι μια άμεση πύληστα ενδότερα του συστήματος.

Οπωσδήποτε, αυτό δε σημαίνει ότι τα λειτουργικά UNIX (και κατά συνέπεια και το Linux) θαπρέπει να στερηθούν των εξελίξεων στις νέες τεχνολογίες και να συνεχίσουν να είναι το ίδιοφιλικά προς το χρήστη όπως πρίν από 20 χρόνια – δηλαδή καθόλου! Αντίθετα, έχουν γίνει πολύσημαντικές προσπάθειες ώστε να μπορέσει ο παλαιός τρόπος διασύνδεσης με το χρήστη, τοκέλυφος, να μπορέσει να συνυπάρξει με όμορφα και φιλικά γραφικά περιβάλλοντα. Μερικά απότα αποτελέσματα αυτών των προσπαθειών είναι τα περιβάλλοντα KDE και GNOME. Αμφότεραπαρέχουν πολλές από τις ευκολίες που συναντούμε σε εμπορικά λειτουργικά συστήματα πουεστιάζουν την προσοχή τους στο όμορφο περιβάλλον (Windows XP, MacOS X).

Debian Guide 53

Page 54: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

2.Ποιά κελύφη υπάρχουν;

Όπως πολλοί θα γνωρίζουν δεν υπάρχει μόνο ένα κέλυφος του UNIX. Για την ακρίβεια το πλήθοςτων διαθέσιμων κελύφων ανταγωνίζεται το πλήθος των διαφορετικών UNIX συστημάτων! Θααναφέρουμε μόνο τα σημαντικότερα και αυτά που έχουν επηρεάσει σε μεγάλο βαθμό την εξέλιξητου UNIX. Στον παρόντα οδηγό θα ασχοληθούμε εκτενώς μόνο με το bash, καθώς είναι πλέον τοεδραιωμένο κέλυφος σε σχεδόν όλες τις διανομές του Linux – φυσικά και στο Debian.

Το κέλυφος Bourne (sh)

Το κέλυφος Bourne, ή Bourne shell, πήρε το όνομά του από τον δημιουργό του Steve Bourne,που το έγραψε για την Έβδομη Δημιοσίευση του UNIX το 1979 στα Εργαστήρια της Bell. Είναι τοπρώτο σημαντικό κέλυφος που χρησιμοποιήθηκε και λόγω ορισμένων επιπλέον δυνατοτήτωνπου παρέχει στη δημιουργία των σεναρίων κελύφους, έχει εδραιωθεί πλέον ως το στάνταρντκέλυφος για σενάρια κελύφους. Το αρχικό κέλυφος Bourne ήταν αρκετά δύσχρηστο σεδιαλογική επικοινωνία καθώς δεν πρόσφερε διόρθωση και εκτέλεση προηγούμενων εντολών καιυποστήριξη ψευδωνύμων εντολών (aliases).

Δεν παρέχεται στο Debian ως πακέτο, καθώς έχει αντικατασταθεί από το Bourne Again Shell(bash).

Το κέλυφος της γλώσσας C (csh)

Το csh, παρά το όνομά του δεν έχει ιδιαίτερη σχέση με τη γλώσσα C στην σύνταξη των εντολών,αν και προσφέρει πρόσθετους τελεστές όμοιους με της γλώσσας C. Αναπτύχθηκε στα πλαίσιατου BSD UNIX από το Πανεπιστήμιο του Berkeley λίγο μετά το Bourne shell, για να προσφέρειένα πιο φιλικό στην διαλογική επικοινωνία κέλυφος. Την εποχή εκείνη ήταν αρκετά δημοφιλέςλόγω του ιστορικού εντολών, της δυνατότητας διόρθωσης και εκτέλεσης προηγούμενωνεντολών, έλεγχο εργασιών και υποστήριξη ψευδωνύμων.

Στο Debian υπάρχει ως πακέτο csh.

Το κέλυφος TENEX C (tcsh)

Το κέλυφος tcsh, είναι μια ενισχυμένη έκδοση του κελύφους csh του BSD UNIX 4.4, με επιπλέονχαρακτηριστικά όπως δυνατότητα αυτόματης σύνταξης εντολής (command completion) καιαρχείων (filename completion) και χρονολόγηση της κάθε εντολής με σφραγίδες (timestamps).

Διατίθεται στο Debian ως πακέτο tcsh.

Το κέλυφος Korn (ksh)

Το κέλυφος Korn αναπτύχθηκε στα εργαστήρια της AT&T το 1982 από τον David Korn καιπεριλαμβάνει πολλά από τα χαρακτηριστικά των κελύφων Bourne και C αλλά και πολλάπρόσθετα δικά του. Περιλαμβάνεται στην Τέταρτη Έκδοση του System V UNIX της AT&T αλλά καιάλλων συστημάτων.

Διατίθεται στο Debian μια ελεύθερη έκδοση του ksh, ως πακέτο pdksh.

Debian Guide 54

Page 55: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

3.Το κέλυφος Bourne Again (bash)

Το κέλυφος bash ή πιο ολοκληρωμένα GNU Bourne Again Shell, είναι η απάντηση του FreeSoftware Foundation στην προσπάθεια κατασκευής του τέλειου κελύφους και μπορούμε ναπούμε ότι είναι αρκετά κοντά! Αναπτύχθηκε το 1989 από μια πληθώρα προγραμματιστών πουεργάστηκαν με το μοντέλο του Ανοιχτού Κώδικα (Open Source). Σήμερα, η δεύτερη έκδοση τουΚελύφους Bourne Again χρησιμοποείτει σε σχεδόν όλες τις διανομές Linux και τα ελεύθεραλειτουργικά UNIX (NetBSD, OpenBSD, Debian GNU/Hurd) και φυσικά στο Debian GNU/Linux.

Στο εξής, κάθε αναφορά στο κέλυφος εννοεί το κέλυφος Bourne Again.

4.Εκκίνηση

Η εκκίνηση του κελύφους γίνεται καταρχάς με την εισαγωγή στο σύστημα (login). Το ποιοακριβώς κέλυφος θα χρησιμοποιήσετε ορίζεται στο αρχείο /etc/passwd, και μπορείτε να τοαλλάξετε με την εντολή

$ usermod –s <διαδρομή κελύφους> <όνομα χρήστη>

Για παράδειγμα, αν θέλαμε να αλλάξουμε το κέλυφος στον χρήστη feanor στο TENEX csh θαμπορούσαμε να δώσουμε:

$ usermod –s /usr/bin/tcsh feanor

Εκκίνηση ενός κελύφους γίνεται επίσης με την εκτέλεση ενός σεναρίου κελύφους. Αυτό μπορείνα γίνει είτε με απευθείας χρήση της εντολής

$ sh ./script.sh

είτε δίνοντας ως πρώτη γραμμή του σεναρίου την εντολή:

#!/bin/sh

ο συνδυασμός των χαρακτήρων #! λέγεται και shebang, και απλώς δηλώνει ότι το παρόνσενάριο θα εκτελεστεί μέσω του προγράμματος κελύφους /bin/sh. Ο ίδιος τρόποςχρησιμοποιείται και για άλλου είδους μεταφραστές εντολών, όπως τις γλώσσεςπρογραμματισμού perl, python, κλπ.

Με αυτόν τον τρόπο μπορεί να εκτελεστεί ένα σενάριο κελύφους ως εκτελέσιμο πρόγραμμα(αρκεί να έχει φυσικά τις απαραίτητες άδειες εκτέλεσης ενεργοποιημένες (executable flag):

$ ./script.sh

5.Προτροπές (prompts)

Με την εκκίνηση του κελύφους, θα παρουσιαστεί μια προτροπή (prompt) για εισαγωγή εντολής.Η προτροπή συνήθως περιέχει το όνομα του χρήστη ακολουθούμενο από το όνομα τουυπολογιστή (hostname) και τον τρέχων κατάλογο. Για τον χρήστη root, απλώς δίνει το όνοματου υπολογιστή με τον τρέχων κατάλογο. Για παράδειγμα, ο χρήστης feanor στο σύστημαsilmaril που βρίσκεται στον κατάλογο /usr/src θα είχε την εξής προκαθορισμένη (default)

Debian Guide 55

Page 56: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

προτροπή:

feanor@silmaril:/usr/src$

ενώ ο χρήστης root στο ίδιο σύστημα:

silmaril:/usr/src#

Αυτές οι προτροπές είναι οι προκαθορισμένες, αλλά οπωσδήποτε μπορούν να αλλάξουν και ναπροσαρμοστούν στις δικές σας ανάγκες. Για περισσότερες πληροφορίες μπορείτε να ανατρέξετεστις οδηγίες χρήσης του bash, με την εντολή

man bash

και να αναζητήσετε τις μεταβλητές περιβάλλοντος (environment variables) και συγκεκριμένα τηνPS1.

6.Γραμμή Εντολών

Στην γραμμή εντολών το κέλυφος αναμένει τις εντολές σας. Αυτές μπορεί να είναι ενδογενείςεντολές του ίδιου του κελύφους bash, εντολές του συστήματος ή ακόμη και εκτελέσιμαπρογράμματα. Ο τρόπος εκτέλεσης είναι ο ίδιος για όλες.

Ως ενδογενείς εντολές του κελύφους εννοούμε εντολές που δεν έχουν φυσική υπόσταση ωςαρχεία στο σκληρό δίσκο. Είναι απλώς εντολές ελέγχου και ρύθμισης του ίδιου του κελύφους.Μερικά παραδείγματα τέτοιων εντολών με τις οποίες θα ασχοληθούμε στον οδηγό αυτό είναι:

• aliasΔημιουργεί ψευδώνυμα εντολών

• cd/pwdΟρίζει/Επιστρέφει τον τρέχοντα κατάλογο.

• echoΤυπώνει το κείμενο που δίνεται ως παράμετρος.

• evalΥπολογίζει την τιμή μιας αριθμητικής ή λογικής παράστασης.

• exportΚαθιστά γνωστή στο περιβάλλον μεταβλητών του κελύφους την δοθείσα μεταβλητή και τηντιμή της.

• exitΈξοδος από το κέλυφος.

• historyΕπιστρέφει το ιστορικό των τελευταίων εντολών του κελύφους.

• JobsΕπιστρέφει τις εργασίες που τρέχουν στο παρασκήνιο.

• killΤερματίζει ή στέλνει σήμα (signal) στην δοθείσα διεργασία.

Debian Guide 56

Page 57: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

• ulimitΟρίζει τα όρια κατανάλωσης πόρων από μια διεργασία.

Το κέλυφος bash προσφέρει περισσότερες ενδογενείς εντολές αλλά η καταγραφή και επεξήγησήτους ξεφεύγει από τα όρια του οδηγού αυτού.

7.Δομή εντολών

Οι περισσότερες εντολές (ενδογενείς ή μη) προσφέρουν κάποιον τρόπο παραμετροποίησης ώστετο αποτέλεσμα της εκτέλεσής τους να προσαρμόζεται κάθε φορά στις ανάγκες του χρήστη. Έναςτρόπος παραμετροποίησης είναι με αρχείο ρυθμίσεων – που τις περισσότερες φορές βρίσκεταιστον κατάλογο /etc. Ένας άλλος, πιο άμεσος τρόπος παραμετροποίησης, είναι στην γραμμήεντολών κατά την εισαγωγή της εντολής. Ας πάρουμε για παράδειγμα την εντολή παρουσίασηςτων περιεχομένων καταλόγου, ls (list).

Η εντολή ls από μόνη της επιστρέφει τα περιεχόμενα ενός καταλόγου.

feanor@silmaril:/$ lsbin cdrom etc home lib mnt proc sbin usr vmlinuzboot dev floppy initrd lost+found opt root tmp var

Αν στην εντολή ls δώσετε την επιλογή -l, το αποτέλεσμα θα είναι αρκετά πιο λεπτομερές:

feanor@silmaril:/$ ls -lσύνολο 56drwxr-xr-x 2 root root 2048 2003-06-09 16:36 bindrwxr-xr-x 2 root root 1024 2003-05-23 09:29 bootdrwxr-xr-x 2 root root 1024 2002-12-23 11:13 cdromdrwxr-xr-x 1 root root 0 2002-12-23 02:00 devdrwxr-xr-x 111 root root 6144 2003-06-11 16:37 etcdrwxr-xr-x 2 root root 1024 2002-12-23 11:13 floppydrwxr-xr-x 9 root root 4096 2003-06-04 16:32 homedrwxr-xr-x 2 root root 1024 2001-12-19 19:08 initrddrwxr-xr-x 5 root root 4096 2003-06-09 16:36 libdrwx------ 3 root root 12288 2002-12-23 11:03 lost+founddrwxr-xr-x 4 root root 1024 2003-05-15 14:27 mntdrwxr-xr-x 2 root root 1024 2001-12-19 19:08 optdr-xr-xr-x 134 root root 0 2003-06-11 16:08 procdrwxr-xr-x 29 root root 2048 2003-06-10 15:28 rootdrwxr-xr-x 2 root root 4096 2003-06-09 16:36 sbindrwxrwxrwt 10 root root 300 2003-06-11 16:11 tmpdrwxr-xr-x 16 root root 4096 2003-06-06 11:58 usrdrwxr-xr-x 16 root root 4096 2003-05-19 14:28 varlrwxrwxrwx 1 root root 19 2002-12-23 11:14 vmlinuz -> boot/vmlinuz-2.4.20

Ενώ η με την προσθήκη της επιλογής -t, η ταξινόμηση γίνεται τώρα χρονικά:

feanor@silmaril:/$ ls -ltσύνολο 56drwxr-xr-x 111 root root 6144 2003-06-11 16:37 etcdrwxrwxrwt 10 root root 300 2003-06-11 16:11 tmpdr-xr-xr-x 134 root root 0 2003-06-11 16:08 procdrwxr-xr-x 29 root root 2048 2003-06-10 15:28 rootdrwxr-xr-x 5 root root 4096 2003-06-09 16:36 libdrwxr-xr-x 2 root root 2048 2003-06-09 16:36 bin

Debian Guide 57

Page 58: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

drwxr-xr-x 2 root root 4096 2003-06-09 16:36 sbindrwxr-xr-x 16 root root 4096 2003-06-06 11:58 usrdrwxr-xr-x 9 root root 4096 2003-06-04 16:32 homedrwxr-xr-x 2 root root 1024 2003-05-23 09:29 bootdrwxr-xr-x 16 root root 4096 2003-05-19 14:28 vardrwxr-xr-x 4 root root 1024 2003-05-15 14:27 mntlrwxrwxrwx 1 root root 19 2002-12-23 11:14 vmlinuz -> boot/vmlinuz-2.4.20drwxr-xr-x 2 root root 1024 2002-12-23 11:13 cdromdrwxr-xr-x 2 root root 1024 2002-12-23 11:13 floppydrwx------ 3 root root 12288 2002-12-23 11:03 lost+founddrwxr-xr-x 2 root root 1024 2001-12-19 19:08 initrddrwxr-xr-x 2 root root 1024 2001-12-19 19:08 optdrwxr-xr-x 1 root root 0 2002-12-23 02:00 dev

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

Η εισαγωγή επιλογών στην γραμμή εντολών γίνεται πάντοτε μετά την εντολή και μπορεί να έχειδύο διαφορετικούς μορφές, αναλόγως την εντολή: μία σύντομη μορφή (που αναγνωρίζεται μετην μονή παύλα “-”) και μια αναλυτική (με δύο παύλες “--”). Οι περισσότερες εντολές δέχονταικαι τις δύο μορφές αλλά δεν είναι βέβαιο ότι για κάθε αναλυτική μορφή θα υπάρχει και μιασύντομη. Για παράδειγμα, στην εντολή ls, η επιλογή -l δεν έχει αναλυτική μορφή, ενώ η -s έχει(--size).

Οι περισσότερες εντολές παρέχουν μια επιλογή βοηθείας, σχεδόν σίγουρα σε αναλυτική μορφή(--help) αλλά συχνά και σε σύντομη μορφή (-h). Με την επιλογή βοηθείας, εμφανίζονταιαναλυτικές οδηγίες όσον αφορά την σύνταξη της εντολής και των επιλογών της. Έτσι, για την lsισχύει:

$ ls --help

8.Απόλυτες και Σχετικές Διαδρομές, Τρέχων Κατάλογος

Όπως είδαμε και στο προηγούμενο παράδειγμα, η εντολή ls επέστρεψε τα περιεχόμενα τουβασικού καταλόγου /. Αυτό συνέβη γιατί ο τρέχων κατάλογος του κελύφους και συνεπώς καιτης εντολής ήταν ο κατάλογος /. Τί ακριβώς όμως σημαίνει τρέχων κατάλογος;

Κάθε αρχείο αναγνωρίζεται στο σύστημα από τη μοναδική του διαδρομή στο σύστημα αρχείων.Δηλαδή υπάρχει μόνο ένα αρχείο που βρίσκεται στον κατάλογο /etc και έχει όνομα passwd. Ηδιαδρομή του αρχείου αυτού είναι /etc/passwd. Το ίδιο ισχύει και για τους καταλόγους, οκατάλογος /var/log είναι μοναδικός στο σύστημα. Έτσι για να έχουμε πρόσβαση σε κάποιοαρχείο ή κατάλογο θα πρέπει να το προσπελάσουμε χρησιμοποιώντας την διαδρομή του. Ανπρόκειται για ένα αρχείο όπως το /etc/passwd αυτό είναι αρκετά εύκολο. Τί γίνεται όμως ανέχουμε να κάνουμε με αρχεία όπως /var/log/very/long/path/verylongfilename.log; Κάτι τέτοιογίνεται κουραστικό, ειδικά με μεγάλο αριθμό αρχείων. Αλλά υπάρχει και ένα άλλο πρόβλημα,καθώς τα προγράμματα πρέπει να είναι σχεδιασμένα έτσι ώστε να μπορούν να εκτελεστούνχωρίς να παίζει ρόλο σε ποιο κατάλογο τρέχουν, αφού μπορεί τα ίδια προγράμματα να τρέξουνσε άλλες αρχιτεκτονικές που χρησιμοποιούν διαφορετικό σχήμα καταλόγου.

Debian Guide 58

Page 59: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Για αυτό το σκοπό ορίστηκαν οι σχετικές διαδρομές σε σύγκριση με τις απόλυτες διαδρομές(relative και asbolute paths). Η διαφορά είναι ότι για τις σχετικές διαδρομές είναι απαραίτητοςκαι ο ορισμός ενός σημείου αναφοράς. Χωρίς το σημείο αναφοράς δεν είναι δυνατός οκαθορισμός της θέσης του αρχείου με μονοσήμαντο τρόπο. Στην ουσία, το σημείο αναφοράςείναι ένας κατάλογος του δέντρου καταλόγων (directory tree) του συστήματος στο οποίομετακινούμαστε κατά βούληση μέσα στο κέλυφος, έχοντας ως αρχή τον βασικό κατάλογο “/”.Αυτό το σημείο αναφοράς το ονομάζουμε Τρέχων Κατάλογο (Current Directory). Κάθε κέλυφοςέχει έναν τρέχοντα κατάλογο, τον οποίο μπορούμε να μάθουμε με την εντολή pwd.

feanor@silmaril:/home/feanor$ pwd/home/feanor

Απόλυτες διαδρομές είναι οι διαδρομές /var/log/syslog, ενώ σχετική είναι η διαδρομήlog/syslog, με τρέχων κατάλογο το /var. Οι σχετικές διαδρομές εξαρτώνται από τον τρέχοντακατάλογο του κελύφους.

Έτσι, κάθε πρόγραμμα ή εντολή που εκτελείται χρησιμοποιεί ως σημείο αναφοράς τον τρέχοντακατάλογο και έχει πρόσβαση στα αρχεία του καταλόγου αυτού χωρίς να χρησιμοποιεί το πλήρεςόνομά τους. Αυτό έχει το πλεονέκτημα ότι μεταφέροντας το πρόγραμμα αυτό σε κάποιο άλλοκατάλογο του ίδιου ή ακόμη και διαφορετικού συστήματος με διαφορετική δομή καταλόγων, θατρέξει χωρίς πρόβλημα.

Στο UNIX έχει οριστεί ένας ειδικός συμβολισμός για τον τρέχοντα κατάλογο, την τελεία “.”. Έτσικάθε αρχείο file του τρέχοντος καταλόγου μπορεί να προσπελαστεί με το όνομα ./file.

Με τον ίδιο τρόπο, έχει οριστεί να συμβολίζεται και ο γονικός κατάλογος (δηλαδή ο κατάλογοςπρίν από τον τρέχοντα στο δέντρο δομής καταλόγων, parent directory) με δύο τελείες “..”.

Για παράδειγμα, αν ο τρέχων κατάλογος είναι /var/log, το αρχείο syslog μπορεί ναπροσπελαστεί ως ./syslog, ενώ ο γονικός κατάλογος είναι /var.

Αντίστοιχα, αν ο τρέχων κατάλογος είναι πάλι /var/log, το αρχείο /var/mail/root μπορεί ναπροσπελαστεί ως ../mail/root.

9.Αλλαγή τρέχοντος καταλόγου

Μπορούμε να αλλάζουμε τον τρέχοντα κατάλογο κατά βούληση και να μεταφερόμαστε σεδιαφορετικούς καταλόγους του συστήματος αλλάζοντας το σημείο αναφοράς μας. Η εντολή μετην οποία δηλώνουμε στο κέλυφος την αλλαγή του τρέχοντος καταλόγου είναι η cd (ChangeDirectory).

feanor@silmaril:/home/feanor$ cd /var/logfeanor@silmaril:/var/log$ cd ..feanor@silmaril:/var/$

Με την εντολή cd και τους συμβολισμούς “.” και “..” μπορούμε πλέον να μετακινηθούμεοπουδήποτε θέλουμε στο σύστημα αρχείων του συστήματός μας.

Debian Guide 59

Page 60: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

10.Περιεχόμενα καταλόγου

Σε προηγούμενη παράγραφο είχαμε μια πρώτη επαφή με την εντολή ls. Η εντολή ls είναι μια απότις πιο χρήσιμες εντολές στο κέλυφος. Επιτρέπει την απλή ή σύνθετη παρουσίαση τωνπεριεχομένων ενός ή και περισσοτέρων καταλόγων. Η σύνταξή της γενικά είναι απλή:

ls [επιλογές] [όνομα καταλόγου] [όνομα καταλόγου] [όνομα καταλόγου]...

χωρίς επιλογές απλώς επιστρέφει τα περιεχόμενα του τρέχοντος καταλόγου. Αν δοθεί το όνομαενός ή και περισσοτέρων προσβάσιμων καταλόγων, τότε επιστρέφει τα περιεχόμενα αυτών τωνκαταλόγων, χρησιμοποιώντας κάθε φορά τις επιλογές -αν υπάρχουν- για την μορφοποίηση τηςλίστας των περιεχομένων. Εκτός από τις επιλογές -l και -t που αναφέραμε πιο πριν υπάρχουνκαι άλλες που μπορούν να μορφοποιήσουν τη λίστα με διάφορους τρόπους αναλόγως τιςανάγκες μας. Παραθέτουμε μερικές από τις πιο σημαντικές στον επόμενο πίνακα:

Επιλογή Λειτουργία

-a Τυπώνει όλα τα αρχεία ακόμη και τα κρυμμένα αρχεία (αυτά που τοόνομά τους αρχίζει με “.”.

--color--colour

Τυπώνει τη λίστα χρησιμοποιώντας διαφορετικά χρώματα για κάθετύπο αρχείων.

-l--format=long

Τυπώνει επιπλέον πληροφορίες για τα αρχεία.

-F--classify

Τυπώνει ειδικούς χαρακτήρες δίπλα στο όνομα του αρχείου,αναλόγως με τον τύπο του αρχείου.

• / Κατάλογος

• * Εκτελέσιμο πρόγραμμα

• @ Συμβολικός σύνδεσμος (symbolic link)

-L--dereference

Τυπώνει το ίδιο το αρχείο και όχι τον σύνδεσμό του.

-R Τυπώνει αναδρομικά και όλους τους περιεχόμενους καταλόγους.

-S--sort=size

Ταξινομεί τα αρχεία σύμφωνα με το μέγεθός τους.

-t--sort=time

Ταξινομεί τα αρχεία σύμφωνα με την ημερομηνία της τελευταίαςμεταβολής τους.

-X--sort=extension

Ταξινομεί τα αρχεία σύμφωνα με την κατάληξή τους (μερικά αρχείαδεν έχουν κατάληξη).

-x--format=across

Τυπώνει τη λίστα σε περισσότερες από μια στήλες.

11.Η Μεταβλητή PATH

Εκτός από τις ενδογενείς εντολές, οι υπόλοιπες εντολές και τα εκτελέσιμα προγράμματα έχουν

Debian Guide 60

Page 61: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

φυσική υπόσταση στο σύστημα αρχείων του Linux. Το σύστημα αρχείων του Linux, όπως θαδούμε και σε επόμενο κεφάλαιο, οργανώνει τα αρχεία σε καταλόγους. Έτσι τα εκτελέσιμααρχεία -οι εντολές και τα προγράμματα- βρίσκονται σε καταλόγους όπως /bin, /sbin, /usr/bin, /usr/sbin, κοκ. Αντίθετα, τα αρχεία ρυθμίσεων βρίσκονται στον κατάλογο /etc, ενώ οιβιβλιοθήκες στους καταλόγους /lib, /usr/lib. Το κέλυφος θα πρέπει να ξέρει σε ποιο κατάλογοθα αναζητήσει τις εντολές που θα του ζητήσουμε να εκτελέσει, ή αλλιώς ποια διαδρομή θαχρησιμοποιήσει για να βρεί την κάθε εντολή. Αυτό επιτυγχάνεται με την μεταβλητήπεριβάλλοντος (environment variable) PATH.

Η μεταβλητή PATH κρατάει μια λίστα των καταλόγων στους οποίους το κέλυφος θα αναζητάδιαδοχικά οποιαδήποτε εντολή ή πρόγραμμα του ζητήσουμε να εκτελέσει. Κάθε κέλυφος μπορείνα έχει διαφορετική τιμή για την μεταβλητή PATΗ, την οποία κληροδοτεί στα προγράμματα,κελύφη ή σενάρια κελύφους που εκτελεί. Αυτό σημαίνει ότι ένα σενάριο κελύφους που θαεκτελέσετε θα “βλέπει” τις ίδιες εντολές με το κέλυφος από το οποίο το καλέσατε.

Στην περίπτωση που ένας κατάλογος δεν υπάρχει μέσα στη μεταβλητή PATH, οποιοδήποτεεκτελέσιμο πρόγραμμα ή εντολή σε αυτόν, θα πρέπει να κληθεί με την πλήρη διαδρομή (fullpath).Για παράδειγμα, για να εκτελέσει ένας απλός χρήστης την εντολή ifconfig, στην οποία έχειάμεση πρόσβαση μόνο ο χρήστης root (αφού βρίσκεται στον κατάλογο /sbin, και μόνο ημεταβλητή PATH για τον χρήστη root περιλαμβάνει τους καταλόγους sbin) θα πρέπει να δώσειστην προτροπή του κελύφους:

$ /sbin/ifconfig

Επίσης για να εκτελέσει ένα πρόγραμμα που βρίσκεται στον τρέχοντα κατάλογο θα πρέπει θαχρησιμοποιήσει το πρόθεμα “./”. Το ”./” είναι η διαδρομή ενός αρχείο στον τρέχοντακατάλογο. Θα μπορούσε κάποιος να το προσθέσει στην μεταβλητή PATH, αλλά αυτή η τεχνικήδεν συνιστάται καθώς αφήνει περιθώρια για “Δούρειους Ίππους” (trojan horses), προγράμματαδηλαδή που έχουν ως σκοπό τον συμβιβασμό της ασφάλειας του συστήματος.

Η προκαθορισμένη τιμή της μεταβλητής PATH για ένα απλό χρήστη είναι η εξής:

PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games

ενώ για τον χρήστη root:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11

Ο χρήστης root έχει επιπλέον και τους καταλόγους sbin (που περιέχουν εντολές καιπρογράμματα απαραίτητα για την διαχείριση του συστήματος, αλλά περιττά για έναν απλόχρήστη). Αυτά ισχύουν για το Debian GNU/Linux. Άλλες διανομές ή λειτουργικά συστήματαπιθανόν να έχουν διαφορετικές προκαθορισμένες τιμές για την διαδρομή PATH.

12.Κανονικές παραστάσεις (regular expressions)

Πολλές φορές θέλουμε να εκτελέσουμε μια εντολή σε περισσότερα από ένα αρχεία ή σε μιαομάδα αρχείων που έχουν συγκεκριμένα χαρακτηριστικά, π.χ. τα ονόματά τους να έχουν μιασυγκεκριμένη κατάληξη ή κάποια συγκεκριμένα γράμματα. Στην περίπτωση που πρόκειται γιαλίγα αρχεία δεν υπάρχει ιδιαίτερο πρόβλημα να τα συμπληρώσουμε με το χέρι. Αν πρόκειται

Debian Guide 61

Page 62: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

όμως για δεκάδες ή και εκατοντάδες αρχεία, δεν είναι ιδιαίτερα πρακτικό και φιλικό ναγράψουμε τόσα ονόματα.

Για το σκοπό αυτό επινοήθηκαν οι κανονικές παραστάσεις (regular expressions).Χρησιμοποιώντας ειδικούς μεταχαρακτήρες (χαρακτήρες μπαλαντέρ ή wild cards είναι μερικέςαπό τις ονομασίες που έχουν), μπορούμε να ορίσουμε ένα συγκεκριμένο μοτίβο κειμένου τοοποίο εφαρμόζεται σε μια λίστα τμημάτων κειμένου. Όποιο από τα τμήματα αυτά ταιριάζει στομοτίβο αυτό, γίνεται αποδεκτό. Τα τμήματα αυτά μπορεί να είναι ονόματα αρχείων ήκαταλόγων, λέξεις ή ακόμη και φράσεις κειμένου.

Ένα απλό παράδειγμα αφορά την χρήση του μεταχαρακτήρα “*”. Για να αναφερθούμε σε όλα τααρχεία του καταλόγου /var/log, αρκεί να δώσουμε /var/log/*, ενώ για όλα αρχεία που έχουντην κατάληξη log, αρκεί να δώσουμε /var/log/*.log.

Στον επόμενο πίνακα αναφέρονται οι κυριότεροι μεταχαρακτήρες και η χρήση τους.Σημείωνουμε ότι μπορούν να χρησιμοποιηθούν εξίσου στο κέλυφος για την αντιστοίχιση σεονόματα αρχείων αλλά και σε επεξεργαστές κειμένου όπως sed, vi, ed και ex αλλά και στιςεντολές grep, αν και υπάρχουν ορισμένες διαφορές σε κάθε περίπτωση.

Μεταχαρακτήρας Λειτουργία

* Ταυτοποιείται με μηδέν ή περισσότερες εμφανίσεις οποιουδήποτεχαρακτήρα.

? Ταυτοποιείται με μόνον ένα οποιονδήποτε χαρακτήρα.

^ Αν βρίσκεται στην αρχή της κανονικής παράστασης, τότε αντιστοιχείστην αρχή της γραμμής κειμένου, αλλιώς απεικονίζεται σανκανονικός χαρακτήρας. Δηλαδή η κανονική παράσταση ^chapter*,αντιστοιχεί σε όλα τις γραμμές που αρχίζουν με chapter.

$ Αν βρίσκεται στο τέλος της κανονικής παράστασης, τότε αντιστοιχείμε το τέλος της γραμμής κειμένου, αλλιώς απεικονίζεται σανκανονικός χαρακτήρας .

[set] Υποδηλώνει ένα σύνολο χαρακτήρων. Μπορεί να έχει τις εξήςμορφές:

• [c1c2c3...] ταυτοποιείται με οποιονδήποτε από τους χαρακτήρες τουσυνόλου c1, c2 ,c3, ...

• [c1-c2] ταυτοποιείται με οποιονδήποτε χαρακτήρα στο σύνολο ASCII(ή οποιαδήποτε κωδικοποιήση ισχύει στο σύστημα) που έχει τιμήανάμεσα στις τιμές των χαρακτήρων c1, c2. Για παράδειγμα ηπαράσταση [a-zA-Z] παριστάνει οποιονδήποτε χαρακτήρα από τολατινικό αλφάβητο, αλλά όχι αριθμητικούς χαρακτήρες ή άλλασύμβολα.

• [^set] ταυτοποιείται με την άρνηση του συνόλου set. Γιαπαράδειγμα το [^a-zA-Z] υποδηλώνει οποιονδήποτε χαρακτήραεκτός από το λατινικό αλφάβητο (δηλαδή περιλαμβάνει καιαριθμητικούς χαρακτήρες και άλλα σύμβολα).

Debian Guide 62

Page 63: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Μεταχαρακτήρας Λειτουργία

{w1, w2, w3, ...} Ταυτοποιείται με οποιαδήποτε από τις λέξεις w1, w2, w3, ...

\ Επισημαίνει τον μεταχαρακτήρα που ακολουθεί, δηλαδή του αφαιρείτην ειδική λειτουργία και τον τυπώνει ως κανονικό χαρακτήρα. Γιαπαράδειγμα, η παράσταση “*file\?” περιλαμβάνει το “?” ως κανονικόχαρακτήρα και αντιστοιχεί σε ονόματα όπως “thisfile?” ή“anotherfile?” αλλά όχι “somefiles”.

Χρειάζεται μεγάλη προσοχή στη χρήση των μεταχαρακτήρων, ειδικά του “*” και ότανπροσπαθείτε να διαγράψετε αρχεία. Για παράδειγμα ή εντολή rm -rf * σβήνει κάθε αρχείο στοντρέχοντα κατάλογο αλλά και στους περιεχόμενους καταλόγους!

13.Ανακατεύθυνση Εισόδου/Εξόδου

Η κάθε εντολή ή πρόγραμμα που εκτελούμε χρησιμοποιεί κάποια πρότυπα αρχεία γιαεπικοινωνία με το χρήστη. Ένα πρότυπο αρχείο εισόδου που μεταφέρει πληροφορίες από τοχρήστη προς το πρόγραμμα και δύο πρότυπα αρχεία εξόδου που μεταφέρουν πληροφορίες απότο πρόγραμμα προς το χρήστη. Το αρχείο εισόδου συναντάται πιο συχνά ως standard input ήstdin ενώ τα αρχεία εξόδου ως standard output ή stdout και standard error ή stderr. Το πρότυποαρχείο λαθών (stderr) υπάρχει για να μπορούμε να διαχωρίσουμε τις αμιγείς πληροφορίες τουπρογράμματος (δηλαδή την πληροφορία που πραγματικά μας ενδιαφέρει) από τα μηνύματαλάθους που πιθανόν να προκύψουν κατά την εκτέλεση του.

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

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

Ας υποθέσουμε ότι έχουμε ένα απλό πρόγραμμα στατιστικών το οποίο βγάζει τη μέση τιμήχρησιμοποιώντας τα στοιχεία που του δίνουμε στην είσοδο:

$ calcavgPlease enter data:10.011.213.415.614.511.0Average is = 12.62

Debian Guide 63

Page 64: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Τώρα αν έχουμε κάνει κάποιο λάθος σε μία τιμή θα πρέπει να εισάγουμε ξανά όλες τις τιμές στοπρόγραμμα. Στο παράδειγμά μας αυτό δεν είναι και τόσο τραγικό, αλλά υπάρχουν περιπτώσειςόπου η εισαγωγή χιλιάδων πεδίων για δεύτερη φορά είναι μάλλον καταστροφικό γεγονός.

Και ακριβώς για αυτόν το λόγο θα πρέπει να χρησιμοποιήσουμε την ανακατεύθυνση εισόδου.Έστω ότι κατασκευάζουμε ένα αρχείο κειμένου data.txt με τα περιεχόμενα των τιμών:

10.011.213.415.614.511.0

Τώρα αρκεί να εκτελέσουμε το πρόγραμμα calcavg χρησιμοποιώντας το data.txt ως είσοδο:

$ calcavg < data.txtPlease enter data:Average is = 12.62

Με αυτόν τον τρόπο μπορούμε να διορθώσουμε, να προσθέσουμε ή να αφαιρέσουμε τιμές καιαπλώς να εκτελέσουμε για δεύτερη φορά το πρόγραμμα για να έχουμε το αποτέλεσμα.

Η ανακατεύθυνση εξόδου λειτουργεί με παρόμοιο τρόπο. Ας υποθέσουμε ότι έχουμε μια λίσταονομάτων σε ένα αρχείο names.txt την οποία θα θέλαμε να τα ταξινομήσουμε ως προς τοεπώνυμο (που στο αρχείο είναι η δεύτερη στήλη). Κάτι τέτοιο μπορεί πολύ ευκολα να γίνει μετην εντολή sort. Συγκεκριμένα:

$ sort -k 2 names.txt

Η εντολή αυτή θα μας τυπώσει στην πρότυπη έξοδο (stdout) την ταξινομημένη λίστα ονομάτων.Για να την ανακατευθύνουμε σε ένα αρχείο θα χρησιμοποιήσουμε τον χαρακτήρα > :

$ sort -k 2 names.txt > sortednames.txt

Το αρχείο sortednames.txt περιέχει την ποθητή λίστα. (Σημείωση: η εντολή sort παρέχει μιαεπιλογή για απευθείας αποθήκευση των αποτελεσμάτων σε αρχείο την -ο/--output που έχει τοίδιο αποτέλεσμα με την ανακατεύθυνση. Δείτε την σελίδα οδηγιών – man sort).

Στην περίπτωση που το αρχείο sortednames.txt προϋπάρχει τα περιεχόμενά του θα διαγραφούναπό τη νέα λίστα. Αν δεν θέλουμε κάτι τέτοιο αλλά απλώς να προσθέσουμε μια νέα λίστα, θαπρέπει να χρησιμοποιήσουμε τους χαρακτήρες >>.

$ sort -k 2 names.txt >> sortednames.txt

Η ανακατεύθυνση του προτύπου αρχείου λαθών μπορεί να γίνει χρησιμοποιώντας το πρόθεμα 2πριν τον χαρακτήρα >. Δηλαδή η εντολή

$ command 2> errorfile

θα αποθηκεύσει πιθανά μηνύματα λάθους στο αρχείο errorfile. Αυτό είναι πολύ χρήσιμο ειδικάγια προγράμματα που τρέχουν ως δαίμονες (daemons) και δεν είναι δυνατή η συνεχήςπαρακολούθησή τους σε ένα τερματικό.

Debian Guide 64

Page 65: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Στο κέλυφος bash, είναι δυνατόν να ανακατευθύνουμε στο ίδιο αρχείο και το πρότυπο αρχείοεξόδου (stdout) και το πρότυπο αρχείο λαθών (stderr) χρησιμοποιώντας την συντόμευση >&.

$ command >& logfile

14.Σωληνώσεις

Ένας ακόμη τρόπος χρήσης της ανακατεύθυνσης είναι ο συνδυασμός των εντολών με διαύλους ήαγωγούς ή σωλήνες (pipes). Η συντακτική δομή ονομάζεται σωλήνωση (pipeline). Στην ουσίααυτό που επιτρέπουν οι σωληνώσεις είναι η χρήση του προτύπου αρχείου εξόδου μιας εντολήςως πρότυπο αρχείο εισόδου μιας άλλης εντολής. Αποφεύγεται έτσι η ενδιάμεση κατασκευήαρχείων που θα χρειαζόταν για να επεξεργαστούμε την έξοδο μιας εντολής μέσω μιας άλληςχωρίς μάλιστα να χρειάζεται ειδικός προγραμματισμός για τις εντολές αυτές.

Η χρήση της σωλήνωσης είναι αρκετά απλή. Μπορούμε να ορίσουμε μια σωλήνωση με τοντελεστή “|” ως εξής:

$ command1 | command2

Έτσι η έξοδος της εντολής command1 χρησιμοποιείται ως είσοδος στην εντολή command2. Ένααπλό παράδειγμα είναι η χρήση προγράμματος σελιδοποίησης (pager) όπως το more ή το lessγια να γίνει εφικτή η ανάγνωση κάποιων μακροσκελών αποτελεσμάτων ενός προγράμματος.

$ dpkg -l| less

Η σωλήνωση αυτή σελιδοποιεί την έξοδο του προγράμματος dpkg, το οποίο με την επιλογή -l,επιστρέφει την λίστα όλων των πακέτων που είναι εγκατεστημένα στο σύστημα. Θα έχουμε μιαπιο αναλυτική παρουσίαση και των δύο προγραμμάτων, της dpkg και της less, σε επόμενακεφάλαια.

Εκτός από τις απλές σωληνώσεις, υπάρχουν και οι ονομαστικές σωληνώσεις αλλά το θέμα αυτόείναι σχετικά προχωρημένο και ξεφευγεί από τους σκοπούς αυτού του βιβλίου (βλ. [UNIX]).

Η εντολή tee

Υπάρχουν περιπτώσεις που θέλουμε να ανακατευθύνουμε την έξοδο ενός προγράμματος σε ένααρχείο αλλά θέλουμε ταυτόχρονα την στείλουμε και για περαιτέρω επεξεργασία σε ένα άλλοπρόγραμμα. Η εντολή tee κάνει ακριβώς αυτό: αντιγράφει την είσοδό της στην έξοδο καιταυτόχρονα την αποθηκεύει σε ένα αρχείο.

$ command1 | tee file.log | command2

Η εντολή command1 στέλνει την έξοδό της στην tee, η οποία την αποθηκεύει με τη σειρά της σεένα αρχείο file.log και ταυτόχρονα την αποστέλει -ως είσοδο πλέον- στην εντολή command2.

15.Εργασίες στο προσκήνιο, παρασκήνιο

Κάθε πρόγραμμα που εκτελούμε με το οποίο έχουμε διαλογική επικοινωνία (interactivity),θεωρούμε ότι το πρόγραμμα τρέχει στο προσκήνιο (foreground). Αυτό σημαίνει ότι το

Debian Guide 65

Page 66: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

πρόγραμμα έχει τον πλήρη έλεγχο του κελύφους από το οποίο εκτελέστηκε ενώ το κέλυφοςεισέρχεται σε μια κατάσταση αναμονής.

Μερικά προγράμματα όμως είναι σχεδιασμένα να τρέχουν συνεχώς και δεν αναμένεται οτερματισμός τους, όπως, για παράδειγμα, προγράμματα διακομιστές αλληλογραφίας (mailservers) ή προγράμματα που έχουν σχεδιαστεί για πολύωρη επεξεργασία δεδομένων (π.χ.εξομοιώσεις φυσικών μοντέλων (physical modelling simulations). Η δέσμευση ενός τερματικούγια την παρακολούθηση κάθε τέτοιου προγράμματος είναι περιττό φόρτο για το σύστημα, καθώςυπάρχουν πολλές τέτοιες διεργασίες που τρέχουν ανά πάσα στιγμή. Θα πρέπει λοιπόν ναεπινοηθεί ένας τρόπος να τρέχουν οι διεργασίες αυτές στο περιθώριο ή στο παρασκήνιο(background) χωρίς να είναι εμφανής η λειτουργία τους, χωρίς φυσικά αυτό να σημαίνει ότι θαχάνεται η επικοινωνία.

Ο τρόπος με το οποίο επιτυγχάνεται η εκτέλεση ενός προγράμματος στο παρασκήνιο είναι με τηχρήση του τελεστή &.

$ command &[1] 3465$

Η μορφή αυτή θα εκτελέσει την εντολή command ως εργασία παρασκηνίου με το διακριτικό [1].Το διακριτικό είναι απαραίτητο γιατί μπορούμε να έχουμε περισσότερες από μία εργασίεςπαρασκηνίου στο ίδιο κέλυφος και μπορεί να θελήσουμε να φέρουμε μία από αυτές στοπροσκήνιο ξανά. Ο δεύτερος αριθμός είναι ο αύξων αριθμός διεργασίας (process id – pid). Στιςδιεργασίες θα αναφερθούμε διεξοδικά στο κεφ. 14.

Πολλές φορές μπορεί να δούμε τον τελεστή να χρησιμοποιείται με δύο εντολές

$ command1 & command2

Στην περίπτωση αυτή, η πρώτη εντολή θα εκτελεστεί στο παρασκήνιο και η δεύτερη στοπροσκήνιο.

Μπορούμε να δούμε τις υπάρχουσες εργασίες στο παρασκήνιο με την εντολή jobs. Εκτελώνταςτην εντολή, θα μας επιστρέψει μια λίστα με τις εργασίες, τα διακριτικά τους, τα ονόματά τους,και την κατάστασή τους δηλαδή αν είναι σε εξέλιξη ή σταματημένες:

$ command1 &[1] 3465$ command2 &[2] 3466$ jobs[1]- Running command1 &[2]+ Running command2 &

Αν για κάποιο λόγο θέλουμε να επαναφέρουμε μία από τις εργασίες στο προσκήνιο αρκεί ναεκτελέσουμε την εντολή fg (foreground) με το διακριτικό της εργασίας.

$ fg 1command1

Αντίστροφα, μπορεί να θέλουμε να στείλουμε την τρέχουσα διεργασία στο παρασκήνιο, γιατίπιθανώς να περιμένει κάποια πληροφορία την οποία δεν έχουμε εύκαιρη και πρέπει να τρέξουμε

Debian Guide 66

Page 67: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

κάποιο άλλο πρόγραμμα. Αυτό γίνεται με τον συνδυασμό πλήκτρων CTRL-Ζ. Η διεργασία πουβρίσκεται στο προσκήνιο τίθεται σε νάρκη και επιστρέφουμε στην προτροπή κελύφους. Έπειταμπορούμε να ξαναφέρουμε την διεργασία στο προσκήνιο με την εντολή fg, ή να την στείλουμεστο παρασκήνιο με την εντολή bg (background).

$ command[CTRL-Z][1]+ Stopped command$ bg[1]+ command &

Όταν μια εργασία που βρίσκεται στο παρασκήνιο τερματίσει, θα εμφανιστεί το ακόλουθο μήνυμαστο κέλυφος:

[1]+ Done command

16.Σύνδεση εντολών με τελεστές

Εκτός από τους τελεστές | και &, που είδαμε μέχρι τώρα, υπάρχουν και οι τελεστές ||, &&και ;. Αυτοί συνδέουν δύο εντολές command1 και command2 έτσι ώστε η εκτέλεση της δεύτερηςνα εξαρτάται ή όχι από την εκτέλεση της πρώτης.

• Ο τελεστής || εκτελεί την δεύτερη εντολή command2 υπό τον όρο της ανεπιτυχούς εκτέλεσηςτης πρώτης εντολής. Δηλαδή αν δώσουμε στο κέλυφος command1 || command2, η δεύτερηθα εκτελεστεί μόνο αν αποτύχει η εκτέλεση της πρώτης.

• Ο τελεστής && εκτελεί την δεύτερη εντολή command2 υπό τον όρο της επιτυχούς εκτέλεσηςτης πρώτης εντολής. Αντίστοιχα με την προηγούμενη περίπτωση, ο συνδυασμός command1&& command2 θα εκτελέσει την δεύτερη μόνο αν η πρώτη τερματίσει επιτυχώς.

• Ο τελεστής ; εκτελεί την πρώτη εντολή και μετά την δεύτερη ανεξαρτήτως του αποτελέσματοςτης πρώτης. Ο συνδυασμός command1 ; command2 θα εκτελέσει πρώτα την command1 καιέπειτα την command2. Είναι το ίδιο με το να εκτελεστούν διαδοχικά στην προτροπή τουκελύφους.

Για περισσότερες πληροφορίες για την επιτυχή ή ανεπιτυχή εκτέλεση ενός προγράμματος, δείτετην ενότητα “Κωδικοί τερματισμού διεργασιών” στο κεφ. 14.

17.Συντομεύσεις

Το κέλυφος bash προσφέρει πολλές διευκολύνσεις για την συντόμευση ορισμένων διαδικασιώνκαι ειδικά τις σχετικές με την εισαγωγή ή επιλογή των εντολών.

Ιστορικό του κελύφους

Πολλές φορές έχει χρειαστεί να εισάγετε την ίδια ή περίπου την ίδια με αυτήν που εκτελέσετε τοκέλυφος. Σε παλαιότερα κελύφη, όπως το κέλυφος Bourne, θα έπρεπε να γράψετε ξανά την ίδιαεντολή. Αυτό όμως είναι χάσιμο χρόνου και πηγή εκνευρισμού καθώς ειδικά για περίπλοκεςεντολές είναι πάντα πιθανό να γίνει κάποιο συντακτικό λάθος και να χρειαστεί να ξαναδώσετετην εντολή. Για το σκοπό αυτό όλα τα σύγχρονα κελύφη, ανάμεσά τους και το bash,

Debian Guide 67

Page 68: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

υποστηρίζουν ιστορικό εντολών και κατά βούληση μετακίνηση σε αυτό.

Η μετακίνηση στο ιστορικό των εντολών μπορεί να γίνει με τα πάνω και κάτω βέλη του δρομέα(cursor). Μόλις βρείτε την εντολή που σας ενδιαφέρει μπορείτε είτε να την εκτελέσετε απευθείαςπατώντας ENTER ή να την τροποποιήσετε, όπως ακριβώς θα αλλάζατε ένα κείμενο.

Αν η εντολή που αναζητείτε δε βρίσκεται στις αμέσως προηγούμενες εντολές, μπορείτε ναχρησιμοποιήσετε την εντολή history για να δείτε όλο το ιστορικό των τελευταίων εντολών πουέχετε δώσει. Οι εντολές θα είναι αριθμημένες (το προκαθορισμένο πλήθος για το ιστορικό τουκελύφους bash στο Debian είναι 500) και με αυτόν τον τρόπο μπορείτε να τις καλέσετεχρησιμοποιώντας τον τελεστή “!”. Παράδειγμα, αν έχουμε κάνει μια αλλαγή στο αρχείοnames.txt που χρησιμοποιήσαμε σε προηγούμενη ενότητα και θέλουμε να ταξινομήσουμε ξανάτα δεδομένα του:

$ history[...] 32 ls -l 33 rm sortednames.txt 34 vi names.txt 35 sort -k 2 names.txt > sortednames.txt 36 vi names.txt$ !35sort -k 2 names.txt > sortednames.txt$

Αφού είδαμε το ιστορικών εντολών με την history επιλέξαμε την εντολή με τον αριθμό 35 για ναμην την πληκτρολογούμε ξανά και δώσαμε στο κέλυφος !35.

Για την αμέσως προηγούμενη εντολή, εκτός από τα βέλη του δρομέα μπορούμε ναχρησιμοποιήσουμε και τον τελεστή !!.

$ sort -k 2 names.txt > sortednames.txt$ !!sort -k 2 names.txt > sortednames.txt

Η εντολή history μπορεί επίσης να χρησιμοποιηθεί και με την εντολή grep (για την οποία θαμιλήσουμε σε επόμενο κεφάλαιο):

$ history | grep sort 33 rm sortednames.txt 35 sort -k 2 names.txt > sortednames.txt$

Αυτόματη ολοκλήρωση με TAB

Ένας ακόμη τρόπος να γλυτώσετε χρόνο είναι χρησιμοποιώντας το πλήκτρο TAB (το πλήκτροπάνω από το CAPS LOCK στα περισσότερα πληκτρολόγια). Αν ξεκινήσετε να γράφετε την εντολή,τότε πατώντας TAB μπορεί να συμβεί ένα από τα ακόλουθα:

• υπάρχει μόνο μια εντολή που ταιριάζει με το κείμενο που έχετε γράψει και το κέλυφος θασυμπληρώσει την εντολή

• υπάρχουν περισσότερες από μια εντολές και το κέλυφος θα σας παρουσιάσει τη λίστα με όλεςτις εντολές που ταιριάζουν σε αυτό που έχετε γράψει.

Debian Guide 68

Page 69: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Για παράδειγμα, αν γράψετε his και πατήσετε TAB το κέλυφος θα αναγνωρίζει ότι δεν υπάρχειάλλη εντολή που να αρχίζει με τα γράμματα his, εκτός από την history, και θα την συμπληρώσειμόνο του.

$ his[TAB]tory

Αντίθετα, αν γράψετε set και πατήσετε TAB, το κέλυφος θα σας παρουσιάσει την εξής λίστα:

$ setset setfdprm setkeycodes setleds setmetamode setserialsetsid setterm settheme setxkbmap$ set

Το ίδιο σύστημα αυτόματης ολοκλήρωσης ισχύει και για τα ονόματα αρχείων.

Ψευδώνυμα (Aliases)

Τα ψευδώνυμα είναι εικονικές εντολές που αντιστοιχούν σε μια παράσταση με πραγματικέςεντολές. Τα ψευδώνυμα δεν υφίστανται ως αρχεία στην πραγματικότητα αλλά το κέλυφος τιςαναγνωρίζει και εκτελεί την παράσταση που έχετε ορίσει. Μπορείτε να χειριστείτε ταψευδώνυμα με τις εξής εντολές:

• alias: Χωρίς παράμετρο επιστρέφει την λίστα των υπαρχόντων ψευδωνύμων

• alias ALIAS='COMMAND OPTION': ορίζει το ψευδώνυμο με την παράσταση που βρίσκεται σταεισαγωγικά

• unalias ALIAS: διαγράφει το ψευδώνυμο ALIAS.

Για παράδειγμα, μπορούμε να ορίσουμε τα εξής χρήσιμα ψευδώνυμα:

$ alias ls='ls –-color=auto' $ alias l='ls -CF'$ alias ll='ls -la'$ aliasalias ls='ls –-color=auto' alias l='ls -CF'alias ll='ls -la'

Σημειώστε ότι η ls που βρίσκεται στα επόμενα ψευδώνυμα είναι η ίδια ψευδώνυμο, δηλαδή ηπραγματική τιμή του ψευδωνύμου l είναι 'ls -–color=auto -CF'.

Έτσι κάθε φορά που δίνετε ll θα βλέπετε μια αναλυτική παρουσίαση όλων των περιεχομένωνενός καταλόγου.

Υποκατάσταση Εντολών

Η υποκατάσταση εντολών (command substitution) αποτελεί μια συντακτική δομή του κελύφους,η οποία υποκαθιστά την ίδια την εντολή με την έξοδό της ως κείμενο. Για να χρησιμοποιήσετετην υποκατάσταση εντολών θα πρέπει να περικλείσετε την εντολή με δασείες ``.

Ένα παράδειγμα θα βοηθήσει περισσότερο στην κατανόηση αυτής της λειτουργίας:

$ echo “There are “ `who | wc -l` “ users logged in.”

Debian Guide 69

Page 70: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

There are 17 users logged in.

Σημειώστε ότι χρησιμοποιήσαμε μια εντολή με σωλήνωση εντός των δασειών. Πρακτικά,μπορείτε να χρησιμοποιήσετε οποιαδήποτε έγκυρη εντολή ή συνδυασμό εντολών εντός τωνδασειών.

18.Μεταβλητές Περιβάλλοντος

Οι μεταβλητές περιβάλλοντος (environment variables) είναι μεταβλητές του κελύφους πουρυθμίζουν διάφορες λειτουργίες του ίδιου ή και άλλων διεργασιών. Οι μεταβλητέςπεριβάλλοντος κληρονομούνται από κάθε διεργασία που εκτελείται από το κέλυφος. Υπάρχουνορισμένες προκαθορισμένες μεταβλητές που το κέλυφος ορίζει μόνο του, όπως η HOME, η TERMκαι η PATH που είδαμε σε προηγούμενη παράγραφο.

Για να υποκαταστήσετε την μεταβλητή με τα περιεχόμενά της θα πρέπει να την χρησιμοποιήσετεμε τον τελεστή $ πρίν από το όνομα της μεταβλητής (και προαιρετικά περικλείοντάς την σεαγκύλες {}):

$ echo $PATH/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games$ echo ${PATH}/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games

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

Μπορείτε να ορίσετε μια μεταβλητή κελύφους ως εξής:

$ var=value

Αυτή είναι μια τοπική μεταβλητή (όχι περιβάλλοντος) στην οποία έχει πρόσβαση μόνο το ίδιο τοκέλυφος και δεν κληρονομείται στις διεργασίες που εκτελείτε από το κέλυφος. Η χρήση απλώνμεταβλητών συναντάται κυρίως σε σενάρια κελύφους ή τη στιγμή της εκτέλεσης μιας εντολής.Π.χ. Μπορείτε να ορίσετε ότι για μια συγκεκριμένη διεργασία η μεταβλητή PATH θα περιέχει καιτον κατάλογο $HOME/bin

$ PATH=”$HOME/bin:$PATH” command

Η εντολή command θα έχει για διαδρομή PATH τον κατάλογο $HOME/bin επιπλέον τηςπροκαθορισμένης διαδρομής. Σημειώστε ότι ορίσαμε την PATH να περιέχει και την προηγούμενητιμή της, διαφορετικά η PATH θα ήταν ορισμένη ως $HOME/bin μόνο.

Μια μεταβλητή μπορείτε να την μετατρέψετε σε μεταβλητή περιβάλλοντος “εξάγωντάς” την μετην εντολή export, είτε κατά τον ορισμό της ή αργότερα. Στο ακόλουθο παράδειγμα βλέπουμετην διαφορά της απλής (τοπικής) μεταβλητής από την μεταβλητή περιβάλλοντος.

$ var=one$ var2=two$ export var2$ sh

Debian Guide 70

Page 71: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

$ echo $var $var2two$ exit$ echo $var $var2one two

19.Εργαλεία βοηθείας

Το κέλυφος bash περιέχει πάρα πολλές δυνατότητες ακόμη στις οποίες δεν αναφερθήκαμε. Κάτιτέτοιο θα απαιτούσε ένα ολόκληρο βιβλίο από μόνο του. Πέρα από τη σχετική βιβλιογραφία πουπροτείνουμε στο τέλος του βιβλίου, μπορείτε να βρείτε πληροφορίες και μέσα από το ίδιο τολειτουργικό, χρησιμοποιώντας τα κατάλληλα εργαλεία. Τα κυριότερα είναι οι εντολές man, infoκαι whatis.

Εντολή man

Ο κλασσικός τρόπος του UΝIX για να βρείτε πληροφορίες, οδηγίες ή οποιουδήποτε άλλου είδουςβοήθεια για μια εντολή, αρχείο, κλήση συστήματος ή συσκευή είναι οι σελίδες οδηγιών (manpages) που μπορείτε να δείτε με την εντολή man. Η χρήση της είναι αρκετά απλή,

$ man command

και σας δείχνει μέσω ενός προγράμματος σελιδοποίησης (more ή less) την σελίδα οδηγίων γιατην εντολή (αν υπάρχει).

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

Κείμενα πληροφοριών (info documents)

Τα κείμενα πληροφοριών, παράγονται από το σύστημα texinfo, το οποίο είναι έναολοκληρωμένο σύστημα παραγωγής τεχνικών (ή όχι) κειμένων. Λόγω της μεγαλύτερης ευελιξίαςτου και περισσότερων δυνατοτήτων, μεγάλα κείμενα οδηγιών βρίσκονται πιο ενημερωμένα σεμορφή info παρά σε σελίδες οδηγιών (man pages). Παραδείγματα αποτελούν σχεδόν όλα ταεργαλεία GNU, όπως ο μεταγλωτιστής GCC, η εντολή make, αλλά και οι απλές εντολές τουUNIX, όπως ls, tee, και άλλες.

Τα κείμενα πληροφοριών μπορείτε να τα δείτε με αρκετούς τρόπους, με την εντολή info αλλάκαι με τα προγράμματα βοηθείας των KDE/GNOME τα οποία παρέχουν μια πιο φιλική στο χρήστηβοήθεια.

Για την εντολή info, αρκεί να δώσετε όπως και με την εντολή man το όνομα της εντολής για τηνοποία χρειάζεστε βοήθεια:

$ info command

[screenshot]

[screenshot]

Η εντολή whatis

Debian Guide 71

Page 72: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Η εντολή whatis παρέχει απλώς μια σύντομη περιγραφή της εντολής ή γενικότερα τουαντικειμένου για το οποίο ζητάμε πληροφορίες. Παράδειγμα:

$ whatis bashbash (1) - GNU Bourne-Again SHell

Debian Guide 72

Page 73: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 10 - Linux και αρχεία

1.Τύποι αρχείων

Όλα τα λειτουργικά συστήματα τύπου UNIX, ένα από τα οποία είναι και το Linux, έχουν κάποιακοινά χαρακτηριστικά στον τρόπο που διαχειρίζονται τα αρχεία. Καταρχάς έχουν κοινούς τύπουςαρχείων, γεγονός που επιτρέπει την ασφαλή μεταφορά μιας δομής αρχείων από ένα σύστημαUNIX σε ένα άλλο χωρίς να υπάρχει κίνδυνος απώλειας δεδομένων ή φθοράς των αρχείων. Στοκεφάλαιο αυτό θα αναφέρουμε τους τύπους αρχείων του Linux – που, όπως είπαμε, είναι οι ίδιοιγια όλα τα λειτουργικά UNIX – και τα βασικά τους χαρακτηριστικά.

Κοινά αρχεία

Τα κοινά αρχεία (regular files) είναι αυτά με τα οποία ασχολούμαστε συνεχώς, είτε είναι αρχείακειμένου, ήχου, εικόνες, εκτελέσιμα προγράμματα, σενάρια κελύφους ή οτιδήποτε άλλο περιέχειδεδομένα. Για το Linux ένα αρχείο δεν είναι τίποτε άλλο παρά μια ακολουθία χαρακτήρων(bytes). Η απεικόνιση σε αποθηκευτική μονάδα μπορεί να διαφέρει σημαντικά αλλά ο τρόπος μετον οποίο το Linux “βλέπει” ένα αρχείο είναι ο ίδιος.

[diagram]

Κατάλογοι

Οι κατάλογοι αρχείων (folders ή directories) είναι δομές που περιέχουν τις απαραίτητεςπληροφορίες για την ομαδοποίηση αρχείων. Οι κατάλογοι είναι απαραίτητοι για την δημιουργίαιεραρχίας σε ένα σύστημα αρχείων. Φυσικά δεν είναι μοναδικοί στο Linux, χρησιμοποιούνται σεόλα τα λειτουργικά συστήματα (Windows, MacOS, κλπ). Στην λίστα καταλόγου εμφανίζονται μετο διακριτικό d.

[diagram]

Ειδικά αρχεία

Τα ειδικά αρχεία (special files) είναι αρχεία που παρέχουν πρόσβαση σε περιφερειακέςσυσκευές του συστήματος (devices). Όπως είπαμε, το Linux βλέπει ένα αρχείο μόνο ως μιαακολουθία χαρακτήρων. Το ίδιο ισχύει και για τις συσκευές. Το Linux προσφέρει έναν τρόποεπικοινωνίας με σχεδόν κάθε συσκευή, ο οποίος είναι βασισμένος σε χειρισμό αρχείων.Αναλόγως όμως με τον τύπο της συσκευής μπορεί το αντίστοιχο αρχείο μονάδας να είναι αρχείοχαρακτήρων ή αρχείων block.

[diagram]

Η διαφορά των δύο τύπων αρχείων είναι στον τρόπο που γίνεται η μεταφορά δεδομένων. Στα δεαρχεία χαρακτήρων η μεταφορά γίνεται χαρακτήρα προς χαρακτήρα, ή καλύτερα byte προςbyte, ενώ στα αρχεία block η μεταφορά δεδομένων γίνεται ανά δεσμίδες χαρακτήρων (blocktransfers). Συνήθως, τα μεγέθη των blocks είναι δυνάμεις του 2 (512, 1024, 2048, κοκ).

Οι πιο συνηθισμένες συσκευές που λειτουργούν με αρχεία block είναι οι σκληροί δίσκοι, τα CD-ROM, οι ταινίες και άλλα αποθηκευτικά μέσα, ενώ συσκευές που χρησιμοποιούν αρχείαχαρακτήρων είναι τα πληκτρολόγια, ποντίκια, οι εκτυπωτές, οι συσκευές τερματικών, ταmodems, κλπ. Στην λειτουργία των αρχείων block βασίζεται η υλοποίηση των συστημάτων

Debian Guide 73

Page 74: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

αρχείων (filesystems) κάθε λειτουργικού συστήματος και χωρίς αυτόν τον τύπο αρχείων δεν θαήταν δυνατή η αποθήκευση σε οποιοδήποτε μέσο, όχι τουλάχιστον με τη μορφή που έχουμε ωςτώρα συνηθίσει. Τα ειδικά αρχεία που συνδέονται με συσκευές υλικού του συστήματοςονομάζονται και σημεία επαφής των συσκευών και συνήθως βρίσκονται στον κατάλογο /dev.Μπορούμε να ξεχωρίσουμε τα ειδικά αρχεία από τα κοινά αρχεία καθώς στη λίστα καταλόγου(με την εντολή ls) εμφανίζονται με το διακριτικό c τα αρχεία χαρακτήρων ή b τα αρχεία block:

# ls -l /dev/console /dev/sdacrw------- 1 root tty 5, 1 2003-06-24 08:40 /dev/consolebrw-rw---- 1 root disk 8, 0 2003-06-24 08:39 /dev/sda

Άλλοι τύποι

Υπάρχουν και άλλοι τύποι αρχείων πιο εξειδικευμένοι, όπως οι υποδοχείς ή στόμια (sockets), οιονομαστικοί δίαυλοι (named pipes) και τα ρεύματα (streams). Οι υποδοχείς και τα ρεύματα είναιδιαθέσιμα μόνο σε επίπεδο προγραμματισμού του λειτουργικού συστήματος και δεν είναι δυνατήη δημιουργία τους με κάποια εντολή καθώς δεν θα είχε και κάποιο σκοπό. Τα αρχεία αυτάχρησιμοποιούνται για επικονωνία και ανταλλαγή δεδομένων ανάμεσα σε διεργασίες.

Οι ονομαστικοί δίαυλοι είναι αρχεία που λειτουργούν όπως ακριβώς οι απλοί δίαυλοι αλλά μέσωενός αρχείου το οποίο μεταφέρει την είσοδό του στην έξοδο του. Ονομάζονται αλλιώς και αρχείαFIFO (First In First Out), επειδή τα δεδομένα που εισέρχονται πρώτα εξέρχονται και πρώτα.Μπορείτε να κατασκευάσετε ένα τέτοιο αρχείο με την εντολή mknod. Ακολουθεί ένα παράδειγμαχρήσης ονομαστικού διαύλου:

$ mknod apipe p$ ls -l apipeprw-r--r-- 1 feanor users 0 2003-06-24 16:57 apipe$ cat textfile >apipe &$ less <apipe

Που είναι το ίδιο με το

$ cat textfile |less

Το αντίστοιχο διακριτικό για τους ονομαστικούς διαύλους είναι το p, ενώ για τα αρχείαυποδοχέων το s.

Σύνδεσμοι

Οι σύνδεσμοι (links) αρχείων είναι ειδικά αρχεία τα οποία δεν έχουν φυσική υπόσταση, δηλαδήδεν έχουν περιεχόμενα δικά τους που να τα καθιστούν ξεχωριστά αρχεία. Στην πραγματικότηταπρόκειται για καταχωρήσεις σε έναν κατάλογο αρχείων οι οποίες αποτελούνται από το όνομακαι από έναν δείκτη στην φυσική θέση του πραγματικού αρχείου του οποίου είναι σύνδεσμοι.Έτσι όταν γίνεται προσπέλλαση στον σύνδεσμο, στην πραγματικότητα γίνεται στο πραγματικόαρχείο. Επειδή ο δείκτης του συνδέσμου αντιστοιχεί στην φυσική θέση του πραγματικού αρχείου(στην πραγματικότητα στον αριθμό του πληροφοριακού του κόμβου, i-node) θα πρέπει οσύνδεσμος και το αρχείο να βρίσκονται στο ίδιο σύστημα αρχείων, ή στο ίδιο διαμέρισμα δίσκου,αν πρόκειται για σκληρό δίσκο.

Μπορείτε να δημιουργήσετε ένα σύνδεσμο σε ένα οποιοδήποτε αρχείο με την εντολή ln:

$ touch afile

Debian Guide 74

Page 75: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

$ ls -l afile-rw-r--r-- 1 feanor users 0 2003-06-24 18:46 afile$ ln afile alink$ ls -li afile alink 16517 -rw-r--r-- 2 feanor users 0 2003-06-24 18:48 afile 16517 -rw-r--r-- 2 feanor users 0 2003-06-24 18:48 alink

Στο παράδειγμα αυτό δημιουργήσαμε έναν σύνδεσμο alink που συνδέεται με το αρχείο afile.Όπως βλέπουμε από το αποτέλεσμα της εντολής ls -il (που δείχνει και τα i-nodes, δηλαδή τιςφυσικές θέσεις των αρχείων στο δίσκο) το αρχείο alink έχει τον ίδιο πληροφοριακό κόμβο με τοαρχείο afile του οποίου είναι σύνδεσμος. Δεν θα ήταν δυνατόν άλλωστε να κατέχουν την ίδιαφυσική θέση στο δίσκο αν το ένα δεν ήταν σύνδεσμος του άλλου. Μπορεί να υπάρχουνπερισσότεροι από ένας σύνδεσμοι στο αρχείο, αλλά δεν είναι δυνατή η διαγραφή τουπραγματικού αρχείου όσο υπάρχουν σύνδεσμοι σε αυτό.

Οι σύνδεσμοι αυτού του τύπου καλούνται και σθεναροί σύνδεσμοι (hard links).

Συμβολικοί σύνδεσμοι

Πέρα από τους σθεναρούς συνδέσμους, που απαιτούν συνύπαρξη του αρχείου με τον σύνδεσμοστο ίδιο σύστημα αρχείων, υπάρχουν και οι συμβολικοί ή χαλαροί σύνδεσμοι (symbolic links ήsoft links). Στους συμβολικούς συνδέσμους η αντιστοίχιση αρχείου-συνδέσμου γίνεται με τηνδιαδρομή του αρχείου και όχι με τον πληροφοριακό κόμβο του. Επομένως, δεν είναι ανάγκη ησυνύπαρξη αρχείου-συνδέσμου στο ίδιο σύστημα αρχείων.

Μια ακόμη διαφορά με τους σθεναρούς συνδέσμους είναι ότι είναι δυνατή η διαγραφή ή ηαντικατάσταση του πραγματικού αρχείου με κάποιο άλλο χωρίς να διαγράψουμε όλους τουςσυνδέσμους του προηγουμένως. Βέβαια, χωρίς την απαραίτητη προσοχή, αυτό μπορεί ναοδηγήσει σε νεκρούς συνδέσμους (dead links), δηλαδή σε συνδέσμους που δεν οδηγούν σεκάποιο αρχείο, γεγονός που μπορεί να δημιουργήσει προβλήματα σε όποιο πρόγραμμαπροσπαθήσει να προσπελάσει τον σύνδεσμο.

Το προηγούμενο παράδειγμα γίνεται ως εξής με την χρήση συμβολικών συνδέσμων -προσέξατετην επιλογή -s στην εντολή ln:

$ touch afile$ ls -l afile-rw-r--r-- 1 feanor users 0 2003-06-24 18:46 afile$ ln -s afile alink$ ls -li afile alink 16517 -rw-r--r-- 1 feanor users 0 2003-06-24 18:48 afile 16524 lrwxrwxrwx 1 feanor users 5 2003-06-24 20:01 alink -> afile

Καταρχάς, παρατηρούμε ότι το αρχείο συνδέσμου δεν έχει πλέον την ίδια φυσική θέση με τοπραγματικό αρχείο, καθώς πρόκειται για νέα καταχώρηση στον κατάλογο. Επιπλέον, είναιεμφανές από τον χαρακτήρα l που εμφανίζεται στην αρχή της γραμμής αλλά και από την ένδειξηalink -> afile, ότι πρόκειται για συμβολικό σύνδεσμο. Από αυτήν την άποψη, είναι ίσωςπροτιμώτερη η χρήση των συμβολικών συνδέσμων, γιατί σε μία λίστα καταλόγου είναι άμεσαεμφανές ποια αρχεία είναι σύνδεσμοι και ποια είναι πραγματικά αρχεία.

Debian Guide 75

Page 76: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

2.Ονοματολογία στο Linux

Γενικά, τα ονόματα των αρχείων μπορούν να είναι οτιδήποτε, αλλά υπάρχουν κάποιοι κανόνεςπου πρέπει να ακολουθούν:

1) Το κάθε όνομα δε μπορεί να είναι μεγαλύτερο από 255 χαρακτήρες ενώ η απόλυτη διαδρομήτου αρχείου δε μπορεί να είναι μεγαλύτερη από 4095 χαρακτήρες. Αυτά είναι ασφαλή όριακαι πολύ σπάνια έχουν διαπιστωθεί προβλήματα με το μήκος ονόματος αρχείου.

2) Τα κεφαλαία γράμματα θεωρούνται διαφορετικά από τα πεζά, οπότε αν υπάρχουν δύο αρχείαμε τα ονόματα π.χ. afile και AFILE αυτά θεωρούνται διαφορετικά αρχεία.

3) Μπορούν να περιέχουν οποιονδήποτε χαρακτήρα, αν και δεν συνιστάται η χρήση τωνμεταχαρακτήρων #, $, των απλών ή διπλών εισαγωγικών (' ', “ ”) ή του χαρακτήρα / πουδρα ως διαχωριστικό καταλόγων.

Καταλήξεις αρχείων στο Linux

Σε πολλά λειτουργικά συστήματα τα ονόματα αρχείων έχουν μια κατάληξη που υποδηλώνει τοείδος ή τον τύπο του αρχείου. Η κατάληξη αυτή είναι συνήθως από δύο ως τέσσερα γράμματα(π.χ. ps, jpg ή mpeg) και χωρίζονται από το κυρίως όνομα με μια τελεία. Το Linux υποστηρίζειαυτήν το χαρακτηριστικό αλλά δεν το απαιτεί. Για την ακρίβεια, το σύστημα αρχείων δενενδιαφέρεται για τις καταλήξεις των αρχείων ή αν υπάρχουν καταλήξεις. Οι καταλήξεις αρχείωνυπάρχουν κυρίως για τους χρήστες και τα προγράμματα που τις απαιτούν.

Βέβαια, επειδή είναι αρκετά σύνηθες να συνοδεύονται τα αρχεία και από μια κατάληξη πουδηλώνει τον τύπο τους, έχουν επινοηθεί ολόκληροι μηχανισμοί, όπως το σύστημα MIME (?) πουσυνδέει έναν τύπο αρχείου με τις αντίστοιχες εφαρμογές και προγράμματα που διαχειρίζονταιτον συγκεκριμένο τύπο. Το Debian υποστηρίζει πλήρως τέτοιου είδους μηχανισμούς είτε μέσωτων γραφικών περιβάλλοντων KDE και GNOME είτε με επιπλέον πακέτα που διατίθενται με τηνδιανομή.

Από τις υπάρχουσες καταλήξεις, θα αναφέρουμε μερικές αρκετά συνηθισμένες και σημαντικέςγια την καλύτερη κατανόηση της δομής των αρχείων του Linux.

Κατάληξη Είδος αρχείου

.bz2 Αρχείο συμπιεσμένο με το πρόγραμμα bzip2.

.c Αρχείο πηγαίου κώδικα της γλώσσας προγραμματισμού C.

.cpp/.cxx/.c++ Αρχείο πηγαίου κώδικα της γλώσσας προγραμματισμού C++.

.conf/.cfg/.config Αρχείο παραμετροποίησης ή ρύθμισης κάποιας εφαρμογής. Συνήθωςβρίσκονται στον κατάλογο /etc.

.d Συνήθως υποδηλώνει κάποιον κατάλογο με ιδιαίτερη σημασία, π.χ.cron.d, init.d. Συνήθως βρίσκονται στον κατάλογο /etc.

.deb Πακέτο λογισμικού της διανομής Debian.

.gz Αρχείο συμπιεσμένο με το πρόγραμμα gzip.

Debian Guide 76

Page 77: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κατάληξη Είδος αρχείου

.lock/.LCK Αρχείο που υποδηλώνει την παρούσα δέσμευση κάποιου πόρου (π.χ.modem). Συνήθως βρίσκονται στον κατάλογο /var/lock.

.log Αρχείο ημερολογίου της διεργασίας που φέρει το όνομα του αρχείου.Συνήθως βρίσκονται στον κατάλογο /var/log.

.pid (Process id) Αρχείο που περιέχει τον αριθμό της διεργασίας που φέρειτο όνομα του αρχείου. Συνήθως βρίσκονται στον κατάλογο /var/run.

.rpm Πακέτο λογισμικού της διανομής RedHat.

.so (Shared Object) Βιβλιοθήκη για δυναμικό δεσμό (dynamic linking).Συνήθως βρίσκονται στους κατάλογους /lib, /usr/lib.

.tar Αρχειοθήκη (archive) που δημιουργήθηκε με το πρόγραμμα tar.

.tar.bz2/.tbz Αρχειοθήκη tar που συμπιέστηκε με το πρόγραμμα bzip2.

.tar.gz/.tgz Αρχειοθήκη tar που συμπιέστηκε με το πρόγραμμα gzip.

Οπωσδήποτε αυτός δεν είναι εξαντλητικός κατάλογος των διαθέσιμων κατάληξεων, αλλάπεριέχει μόνο τις βασικές καταλήξεις που συναντώνται πιο συχνά.

3.Χρήστες και αρχεία

Έχουμε ήδη αναφέρει ότι το Linux είναι πολυχρηστικό σύστημα. Αυτό σημαίνει ότι στο ίδιοσύστημα συνυπάρχουν περισσότεροι από ένας χρήστες, ο καθένας από τους οποίους έχει δικότου χώρο στο σύστημα αρχείων, προσβάσιμο μόνο από τον ιδιοκτήτη και φυσικά από τον χρήστηroot. Αυτό φυσικά ισχύει για όλα τα αρχεία που βρίσκονται στον ιδιαίτερο χώρο του κάθεχρήστη. Αυτό επιτυγχάνεται δηλώνοντας σε κάθε αρχείο ορισμένα πεδία που αφορούν τηνπροσπέλαση σε αυτά. Τα πεδία αυτά είναι το όνομα, ή για την ακρίβεια, το διακριτικό τουιδιοκτήτη (userid) και της ομάδας (group id) καθώς και συγκεκριμένες άδειες προσπέλασης(protection bits) για τον ιδιοκτήτη, τους χρήστες της ομάδας στην οποία ανήκει το αρχείο αλλάκαι όλους τους υπόλοιπους χρήστες.

Ιδιοκτήτης και ομάδες

Ο ιδιοκτήτης ενός αρχείου έχει πλήρη πρόσβαση στα δεδομένα του και πέρα από τον χρήστηroot είναι ο μόνος που μπορεί να αλλάξει τις άδειες προσπέλασης του αρχείου. Πέρα από τονιδιοκτήτη, για κάθε αρχείο μπορούμε να ορίσουμε μια ομάδα χρηστών η οποία να έχει κάποιεςξεχωριστές από τον ιδιοκτήτη άδειες προσπέλασης. Με βάση αυτές τις άδειες κάθε χρήστης πουανήκει στην προκείμενη ομάδα μπορεί να προσπελάσει η όχι το αρχείο.

Σε ορισμένα από τα παραδείγματα στον παρόντα οδηγό, έχουμε χρησιμοποιήσει την εντολή ls.Οι πιο προσεκτικοί θα παρατηρήσατε ίσως κάποιο όνομα χρήστη και κάποια ομάδα στοαποτέλεσμα της εντολής:

$ touch afile$ ls -l afile-rw-r--r-- 1 feanor users 0 2003-06-24 18:46 afile

Debian Guide 77

Page 78: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Βλέπουμε ότι το αρχείο afile ανήκει στον χρήστη feanor και στην ομάδα users. Μπορείτε νααλλάξετε τον ιδιοκτήτη του αρχείου με την εντολή chown και την ομάδα του αρχείου με τηνεντολή chgrp. Για λόγους ασφαλείας αυτές οι μεταβολές μπορούν να γίνουν μόνο από τονχρήστη root.

$ chown root afile$ chgrp bin afile

Ή μπορείτε να επιτύχετε το ίδιο αποτέλεσμα σε ένα βήμα με την chown, δίνοντας και το όνοματης ομάδας μετά το όνομα του χρήστη, διαχωρισμένα με τελεία:

$ chown root.bin afile

Το αποτέλεσμα είναι το ίδιο:

$ ls -l afile-rw-r--r-- 1 root bin 0 2003-06-24 18:46 afile

Και οι δύο εντολές δέχονται κάποιες επιλογές, οι οποίες αλλάζουν την συμπεριφορά τους.

Γενικά η σύνταξή τους είναι:

chown OWNER[.GROUP] [OPTIONS] FILELISTchown GROUP [OPTIONS] FILELIST

Επιλογές Λειτουργία

-c--changes

Εμφανίζει πληροφορίες για τα αρχεία που μεταβάλλονται μόνο ότανυπάρχουν αλλαγές.

--reference=file Χρησιμοποιεί ως αναφορά το αρχείο file και τον ιδιοκτήτη ή τηνομάδα του.

-r--recursive

Εφαρμόζει τις αλλαγές αναδρομικά στους καταλόγους και ταπεριεχόμενά τους.

-v--verbose

Το ίδιο με την επιλογή -c, αλλά εμφανίζει τις πληροφορίες πάντα, όχιμόνο όταν υπάρχουν αλλαγές.

Άδειες προσπέλασης

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

Οι άδειες προσπέλασης χωρίζονται σε τρεις κατηγορίες, του ιδιοκτήτη, της ομάδας στην οποίαανήκει το αρχείο και των υπολοίπων χρηστών. Αλλά χωρίζονται επίσης και σε βασικές άδειεςπροσπάλασης και ειδικές.

Όσον αφορά τις βασικές άδειες προσπέλασης, αυτές είναι η ανάγνωση (read), η εγγραφή (write)και η εκτέλεση (execution). Το κάθε αρχείο, λοιπόν, ορίζει από μόνο του στο σύστημα ποιοιχρήστες έχουν άδεια να το διαβάσουν, να γράψουν σε αυτό ή να το εκτελέσουν. Κάθε άδεια

Debian Guide 78

Page 79: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

προσπέλασης απεικονίζεται με ένα χαρακτήρα, r για την άδεια ανάγνωσης, w για την άδειαεγγραφής και x για την άδεια εκτέλεσης. Έτσι για κάθε μία από τις τρεις κατηγορίες αδειών,έχουμε τρεις άδειες προσπέλασης, ώστε τελικά να έχουμε έναν πίνακα από 9 χαρακτήρες στονοποίο να απεικονίζεται η πλήρης εικόνα της προσπέλασης κάθε χρήστη σε κάποιο αρχείο.Τέτοιους πίνακες έχουμε ήδη δει στα παραδείγματα που χρησιμοποιήσαμε την εντολή ls:

$ ls -l afile-rw-r--r-- 1 root bin 0 2003-06-24 18:46 afile

Οι άδειες προσπέλασης για το αρχείο afile είναι -rw-r--r--, δηλαδή άδεια ανάγνωσης καιεγγραφής για τον ιδιοκτήτη (δηλαδή το χρήστη root), άδεια ανάγνωσης για την ομάδα τουχρήστη (ομάδα bin) και άδεια ανάγνωσης για τους υπόλοιπους. Ο πρώτος χαρακτήρας είναι γιατην αναγνώριση του τύπου του αρχείου.

Άδειες προσπέλασης καταλόγου

Για τους καταλόγους ισχύουν οι ίδιες άδειες προσπέλασης, με ορισμένες παρατηρήσεις:

• Με την άδεια ανάγνωσης r, μπορείτε να δείτε τα περιεχόμενα του καταλόγου αλλά όχι και ταπεριεχόμενα των αρχείων που περιέχονται στον κατάλογο. Για να δείτε τα περιεχόμενα τωναρχείων θα πρέπει να έχετε επιπλέον άδεια ανάγνωσης για κάθε αρχείο του καταλόγου.

• Με την άδεια εγγραφής w, μπορείτε να προσθέσετε ή να αφαιρέσετε αρχεία από τονκατάλογο.

• Με την άδεια εκτέλεσης x, μπορείτε να τροποποιήσετε τα ονόματα των αρχείων τουκαταλόγου, αλλά δε μπορείτε να τα δείτε αν δεν έχετε επιπλέον και άδεια ανάγνωσης r τουκαταλόγου. Θα πρέπει να γνωρίζετε τα ονόματα των αρχείων που θέλετε να τροποποιήσετε.

Ειδικές άδειες προσπέλασης

Πέρα από τις βασικές άδειες προσπέλασης, υπάρχουν και οι ειδικές που είναι χρήσιμες κυρίωςσε αρχεία που είναι σχετικά με τη διαχείριση του συστήματος.

Bit Ταυτότητας Χρήστη

Αυτή η άδεια προσπέλασης (set-uid bit) έχει νόημα μόνο σε εκτελέσιμα αρχεία. Όταν είναιενεργοποιημένη, κατά τη διάρκεια εκτέλεσης του προγράμματος, ισχύουν οι άδειεςπροσπέλασης του ιδιοκτήτη του αρχείου και όχι του χρήστη που εκτελεί το πρόγραμμα.Πρακτικά, αυτό σημαίνει ότι ένας χρήστης μπορεί να προσπελάσει κάποια αρχεία στα οποίακανονικά δεν θα είχε πρόσβαση, μέσω κάποιου άλλου εκτελέσιμου προγράμματος που ανήκει σεχρήστη που έχει πρόσβαση στα αρχεία αυτά. Παριστάνεται με τον χαρακτήρα s και αντικαθιστάτην άδεια εκτέλεσης x στον πίνακα των αδειών προσπέλασης.

Ένα αρχείο που έχει ενεργοποιημένη το bit ταυτότητας χρήστη θα φαίνεται ως εξής στη λίστακαταλόγου:

$ ls -l file-rwsr-xr-x 1 feanor users 345 2003-06-24 23:42 file

Bit Ταυτότητας Ομάδος

Το bit ταυτότητας ομάδος (set-gid bit) λειτουργεί με τον ίδιο τρόπο όπως το bit ταυτότητας

Debian Guide 79

Page 80: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

χρήστη, μόνο που τώρα ισχύουν οι άδειες προσπέλασης της ομάδας στην οποία ανήκει τοαρχείο. Παριστάνεται επίσης με τον χαρακτήρα s:

$ ls -l file-rwxr-sr-x 1 feanor users 345 2003-06-24 23:42 file

Bit Παραμονής

Το bit παραμονής (sticky bit) δεν χρησιμοποιείται στο Linux. Σε παλαιότερα συστήματα UNIXκαθιστούσε το προκείμενο αρχείο μονίμως φορτωμένο στη μνήμη του συστήματος (resident).Παριστάνεται με τον χαρακτήρα t.

Η εντολή chmod

Για να αλλάξετε τις άδειες προσπέλασης ενός αρχείου, μπορείτε να χρησιμοποιήσετε την εντολήchmod, μόνο αν είστε ο ιδιοκτήτης του ή ο χρήστης root. Υπάρχουν δύο τρόποι εκτέλεσης τηςεντολής: ο συμβολικός και ο απόλυτος.

Συμβολικός τρόπος εκτέλεσης chmod

Ο συμβολικός χρησιμοποιεί συνδυασμούς χαρακτήρων και των τελεστών +,-,= για να καθορίσειτις ζητούμενες άδειες προσπέλασης στο αρχείο. Ο απόλυτος επιτυγχάνει το ίδιο αποτέλεσμα μετην χρήση των οκταδικών κωδικών που αντιστοιχούν στο σύνολο των συγκεκριμένων αδειώνπροσπέλασης.

Η σύνταξη της chmod με τον συμβολικό τρόπο εκτέλεσης είναι η εξής:

chmod [OPTIONS] GROUP ACTION PERMISSIOΝS FILELIST

Οι επιλογές είναι οι ίδιες με των εντολών chown και chgrp:

Επιλογές Λειτουργία

-c--changes

Εμφανίζει πληροφορίες για τα αρχεία που μεταβάλλονται μόνο ότανυπάρχουν αλλαγές.

--reference=file Χρησιμοποιεί ως αναφορά το αρχείο file και τις αντίστοιχες άδειεςπροσπέλασης.

-r--recursive

Εφαρμόζει τις αλλαγές αναδρομικά στους καταλόγους και ταπεριεχόμενά τους.

-v--verbose

Το ίδιο με την επιλογή -c, αλλά εμφανίζει τις πληροφορίες πάντα, όχιμόνο όταν υπάρχουν αλλαγές.

Όσον αφορά το GROUP, αυτό μπορεί να είναι οποιοσδήποτε συνδυασμός των χαρακτήρων u, g,o, που αντιστοιχούν στις κατηγορίες αδειών προσπέλασης του ιδιοκτήτη (user), της ομάδος(group) και των υπολοίπων (others) ή ο χαρακτήρας a, που αντιστοιχεί σε όλες τις κατηγορίες(all).

Η λέξη ACTION μπορεί να είναι ένας εκ των τελεστών +, -, =.

Debian Guide 80

Page 81: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Τελεστής Λειτουργία

+ Προσθέτει την άδεια προσπέλασης στις υπάρχουσες του αρχείου.

- Αφαιρεί την άδεια προσπέλασης από τις υπάρχουσες του αρχείου.

= Ορίζει τις άδειες προσπέλασης του αρχείου στις δοθείσες, διαγράφοντας τιςυπάρχουσες.

Ενώ τα PERMISSIONS είναι οι ίδιες οι άδειες προσπέλασης και μπορεί να είναι μια εκ τωνπαρακάτω:

Άδεια Λειτουργία

- Να μην οριστούν οι άδειες προσπέλασης.

u Να οριστούν οι άδειες όπως είναι οι άδειες προσπέλασης για τον ιδιοκτήτη τουαρχείου.

g Να οριστούν οι άδειες όπως είναι οι άδειες προσπέλασης για την ομάδα του αρχείου.

o Να οριστούν οι άδειες όπως είναι οι άδειες προσπέλασης για τους υπόλοιπους.

r Άδεια ανάγνωσης.

w Άδεια εγγραφής.

x Άδεια εκτέλεσης.

s Bit ταυτότητας χρήστη ή ομάδος.

t Bit παραμονής του αρχείου.

Για παράδειγμα, αν θέλουμε να ορίσουμε ένα αρχείο αναγνώσιμο και εκτελέσιμο από όλους τουςχρήστες, μπορούμε να δώσουμε:

$ ls -l file-rwx------ 1 feanor users 345 2003-06-24 23:42 file$ chmod a=rx file$ ls -l file-r-xr-xr-x 1 feanor users 345 2003-06-24 23:42 file

Ενώ αν θέλουμε να ορίσουμε το αρχείο αναγνώσιμο και εγγράψιμο και από την ομάδα του καιαπό τους υπόλοιπους χρήστες:

$ ls -l file-rw------- 1 feanor users 345 2003-06-24 23:42 file$ chmod go+w file$ ls -l file-rw-rw-rw- 1 feanor users 345 2003-06-24 23:42 file

Απόλυτος τρόπος εκτέλεσης chmod

Με τον τρόπο αυτό εκτελούμε την εντολή chmod με την εξής σύνταξη:

chmod [OPTIONS] NUMBER FILELIST

Debian Guide 81

Page 82: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Ο αριθμός NUMBER είναι ένας οκταδικός αριθμός που αντιστοιχεί στις άδειες προσπέλασης τουαρχείου ή των αρχείων που θέλουμε να τροποποιήσουμε.

Αποτελείται από τρία ή τέσσερα ψηφία καθένα από τα οποία λαμβάνει την τιμή του σύμφωνα μετον ακόλουθο πίνακα:

ΤιμήΨηφίου

Λειτουργία

4 Άδεια ανάγνωσης.

2 Άδεια εγγραφής.

1 Άδεια εκτέλεσης.

0Καμία άδειαπροσπέλασης.

Η τιμή του ψηφίου λαμβάνεται από την πρόσθεση των τιμών των αντιστοίχων αδειών. Δηλαδή, ητιμή για ανάγνωση και εγγραφή είναι 4+2 = 6.

Επειδή πρόκειται για τρεις κατηγορίες αδειών προσπέλασης, θα έχουμε το ελάχιστο τρία ψηφία,που θα περιγράφουν αντίστοιχα τις άδειες προσπέλασης του ιδιοκτήτη, της ομάδας στην οποίαανήκει το αρχείο και των υπολοίπων χρηστών. Έτσι, για να ορίσουμε ένα αρχείο αναγνώσιμο,εγγράψιμο και εκτελέσιμο (4 + 2 + 1 = 7) από τον ιδιοκτήτη του, αλλά μόνο αναγνώσιμο καιεκτελέσιμο (4 + 1 = 5) για την ομάδα και τους υπόλοιπους χρήστες, μπορούμε να δώσουμε τηνεντολή:

$ chmod 755 file$ ls -l file-rwxr-xr-x 1 feanor users 345 2003-06-24 23:42 file

Αν θέλουμε να ορίσουμε και τις ειδικές άδειες προσθέτουμε ένα ακόμη ψηφίο στην αρχή τουαριθμού το οποίο λαμβάνει την τιμή του με βάση τον ακόλουθο πίνακα:

Τιμή 4ουΨηφίου

Λειτουργία

4Bit ταυτότητας χρήστη (set-uidbit).

2Bit ταυτότητας ομάδος (set-gidbit).

1 Bit παραμονής (sticky bit)

0 Καμία ειδική άδεια προσπέλασης.

Σημείωση: το 4ο ψηφίο μπαίνει στην αρχή του αριθμού και όχι στο τέλος, δηλαδή ανθέλουμε να ορίσουμε και το bit ταυτότητας χρήστη στο προηγούμενο παράδειγμα, θαπρέπει να δώσουμε:

Debian Guide 82

Page 83: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

$ chmod 4755 file

$ ls -l file

-rwsr-xr-x 1 feanor users 345 2003-06-24 23:42 file

Στο σημείο αυτό, μπορούμε πλέον να συνοψίσουμε την σημασία του πρώτου χαρακτήρα στοαποτέλεσμα της εντολής ls στον ακόλουθο πίνακα:

Χαρακτήρας

Τύπος αρχείου

- Κοινό αρχείο.

d Κατάλογος (directory).

l Συμβολικός σύνδεσμος (symbolic link).

p Ονομαστικός δίαυλος (named pipe).

b Ειδικό αρχείο block (block special file).

c Ειδικό αρχείο χαρακτήρων (character specialfile).

Debian Guide 83

Page 84: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 11 - Συνηθισμένες λειτουργίες σε αρχείακαι καταλόγουςΌπως κάθε λειτουργικό σύστημα UNIX, έτσι και το Linux παρέχει πολλές εντολές και εργαλείαγια διαχείριση αρχείων. Οι εντολές αυτές είναι προσβάσιμες μόνο από τη γραμμή εντολών τουκελύφους, αν και φυσικά μπορούν να χρησιμοποιήθούν από σενάρια κελύφους που πιθανόν θαεκτελούνται ως εφαρμογές από κάποιο γραφικό περιβάλλον εργασίας. Στο κεφάλαιο αυτό θααναφέρουμε μόνο ορισμένες από τις βασικές εντολές που θα χρειαστείτε στα πρώτα σας βήματαστο Linux. Για περισσότερες πληροφορίες σχετικά με το πλήθος των διαθέσιμων εντολών, θαπρέπει να ανατρέξετε σε κάποιο βιβλίο αναφοράς του Linux ή του UNIX γενικότερα (βλ. ).

1.Αντιγραφή αρχείων

Με την αντιγραφή αρχείων μπορούμε να πάρουμε ένα αρχείο (το αρχείο προέλευσης ή sourcefile) και να αντιγράψουμε τα δεδομένα του σε ένα νέο αρχείο (το αρχείο προορισμού, targetfile) χωρίς να πειράξουμε το αρχείο προέλευσης. Θα έχουμε έτσι δύο πανομοιότυπα αρχεία μεδιαφορετικά ονόματα.

Για την αντιγραφή αρχείων χρησιμοποιείται η εντολή cp. Ανάλογα με τις επιλογές, τοαποτέλεσμα της εντολής μπορεί να ποικίλει. Γενικά, η σύνταξή της είναι αρκετά απλή:

cp [OPTIONS] source target

ή για την αντιγραφή πολλών αρχείων σε ένα κατάλογο

cp [OPTIONS] filelist ... directory

όπου source το αρχείο ή ο κατάλογος προέλευσης και target το αρχείο ή κατάλογος προορισμού,ή για το δεύτερο τρόπο σύνταξης, filelist είναι η λίστα των αρχείων προέλευσης και directory τοόνομα του καταλόγου στον οποίο θα αντιγραφούν όλα τα αρχεία που δίνονται στη λίστα.

Οι επιλογές που μπορεί να δεχτεί η εντολή είναι οι εξής:

Επιλογές Λειτουργία

-a--archive

Πραγματοποιεί ένα ακριβές αντίγραφο του αρχείου ή του καταλόγουπου δίνεται ως source. Έχει το ίδιο αποτέλεσμα με τη χρήση τωνεπιλογών -dpR.

-b--backup

Πραγματοποιεί ένα αντίγραφο ασφαλείας οποιονδήποτε ήδηυπαρχόντων αρχείων προέλευσης.

--no-dereference Αντιγράφει τον συμβολικό δεσμό και όχι το αρχείο στο οποίο δείχνει οδεσμός.

-f--force

Αντικατάσταση των υπαρχόντων αρχείων προορισμού.

-i--interactive

Διαλογική αντιγραφή αρχείων. Ο χρήστης ερωτάται για κάθε αρχείοπου πρόκειται να αντικατασταθεί.

Debian Guide 84

Page 85: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-p--preserve

Διατήρηση των αδειών προσπέλασης και των ιδιοκτητών των αρχείωνπροέλευσης στα αρχεία προορισμού.

-r, -R--recursive

Αναδρομική αντιγραφή όλων των καταλόγων που περιλαμβάνονταιστα αρχεία προέλευσης.

-s--symbolic-link

Δημιουργία συμβολικών συνδέσμων αντί για πραγματική αντιγραφήαρχείων.

-u--update

Αντιγραφή μόνο των αρχείων προέλευσης που είναι νεώτερα από τααρχεία προορισμού ή όταν τα αρχεία προορισμού δεν υπάρχουν.

-v--verbose

Αναλυτική περιγραφή της διαδικασίας της αντιγραφής.

Για καλύτερη κατανόηση, παραθέτουμε ορισμένα παραδείγματα χρήσης της εντολής cp:

$ cp -pv *.txt texts

Αντιγράφει όλα τα αρχεία με κατάληξη .txt στον κατάλογο texts (αν υπάρχει), διατηρώντας όλεςτις άδειες προσπέλασης και τους ιδιοκτήτες, δίνοντας ταυτόχρονα αναλυτική περιγραφή τηςδιαδικασίας.

$ cp -a Source /tmp/newSource

Δημιουργεί ένα ακριβές αντίγραφο ολόκληρου του καταλόγου Source (μαζί με τα περιεχόμενάτου) στον κατάλογο /tmp/newSource.

$ cp -u /var/log/*.log /backup/var/log

Αντιγράφει μόνο τα νεώτερα αρχεία με κατάληξη .log του καταλόγου /var/log στον κατάλογο /backup/var/log.

$ cp -vR ${HOME}/Mail /tmp/OldMails

Αντιγράφει αναδρομικά όλα τα αρχεία του καταλόγου Mail που βρίσκεται στον κατάλογο$HOME του χρήστη στον κατάλογο /tmp/OldMails, δίνοντας ταυτόχρονα αναλυτική περιγραφήτης διαδικασίας.

2.Μετακίνηση Αρχείων

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

mv [OPTIONS] source target

Debian Guide 85

Page 86: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

ή για την μετακίνηση πολλών αρχείων σε ένα κατάλογο

mv [OPTIONS] filelist ... directory

Αν το αρχείο προορισμού target δεν υπάρχει τότε γίνεται μια απλή μετονομασία του αρχείουπροέλευσης στο αρχείο προορισμού. Αν υπάρχει τότε γίνεται αντικατάσταση του αρχείουπροορισμού (εκτός αν είναι ενεργοποιημένη η επιλογή -b). Οι επιλογές που δέχεται η εντολή mvείναι παρόμοιες με της εντολής cp:

Παράμετρος Λειτουργία

-b--backup

Πραγματοποιεί ένα αντίγραφο ασφαλείας οποιονδήποτε ήδηυπαρχόντων αρχείων προέλευσης.

-f--force

Αντικατάσταση των υπαρχόντων αρχείων προορισμού.

-i--interactive

Διαλογική μετακίνηση αρχείων. Ο χρήστης ερωτάται για κάθε αρχείοπου πρόκειται να αντικατασταθεί.

-u--update

Μετακίνηση μόνο των αρχείων προέλευσης που είναι νεώτερα από τααρχεία προορισμού ή όταν τα αρχεία προορισμού δεν υπάρχουν.

-v--verbose

Αναλυτική περιγραφή της διαδικασίας της μετακίνησης.

Ακολουθούν παραδείγματα χρήσης της εντολής:

$ mv afile newfile

Μετονομάζει το αρχείο afile σε newfile (η αντίστοιχη της εντολής ren σε άλλα λειτουργικάσυστήματα).

$ mv -i *.c sourcecode

Μετακινεί όλα τα αρχεία πηγαίου κώδικα γλώσσας C που βρίσκονται στον τρέχοντα κατάλογο,στον κατάλογο sourcecode, ρωτώντας τον χρήστη πριν αντικαταστήσει κάποιο υπάρχον αρχείο.

3.Δημιουργία καταλόγων

Για καλύτερη οργάνωση των αρχείων σας μπορείτε να δημιουργήσετε καταλόγους κατάβούληση. Η διαδικασία είναι αρκετά απλή και χρησιμοποιεί την εντολή mκdir, η σύνταξη τηςοποίας είναι η εξής:

mkdir [OPTIONS] directorylist ...

όπου directorylist, το όνομα του καταλόγου ή τα ονόματα των καταλόγων που επιθυμείτε ναδημιουργήσετε.

Ως επιλογές μπορείτε να χρησιμοποιήσετε τις εξής:

Debian Guide 86

Page 87: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-m--mode=MODE

Χρησιμοποιεί τις δοθείσες άδειες προσπέλασης MODE (σε οκταδικήμορφή, βλ. κεφ. 10).

-p--parents

Δημιουργεί και τους γονικούς καταλόγους αν δεν υπάρχουν (βλ.παραδείγματα).

-v--verbose

Αναλυτική περιγραφή της διαδικασίας της δημιουργίας καταλόγου.

Παράδειγμα:

$ mkdir -p --mode=750 levelone/leveltwo/levelthree

Στο παράδειγμα αυτό, ζητάμε από την mkdir να δημιουργήσει τον κατάλογο levelthree που όμωςβρίσκεται κάτω από τους καταλόγους levelone και leveltwo. Εφόσον δεν υπάρχουν οι δύοτελευταίοι, και επειδή έχουμε δώσει την επιλογή -p θα τους δημιουργήσει και αυτούς. Οιδημιουργηθέντες κατάλογοι θα έχουν άδειες προσπέλασης 744 ή συμβολικά rwxr-x---.

4.Διαγραφή αρχείων/καταλόγων

Για τη διαγραφή αρχείων ή καταλόγων χρησιμοποιείται η εντολή rm. Η σύνταξή της είναι η εξής:

rm [OPTIONS] filelist ...

όπου filelist η λίστα αρχείων ή/και καταλόγων που επιθυμείτε να διαγραφούν. Οι αντίστοιχεςεπιλογές που δέχεται η εντολή είναι:

Επιλογές Λειτουργία

-d--directory

Αναδρομική διαγραφή όλων των καταλόγων που περιλαμβάνονταιστα αρχεία προέλευσης. Προσβάσιμη παράματρος μόνο από τονχρήστη root.

-f--force

Μη διαλογική διαγραφή υπαρχόντων αρχείων.

-i--interactive

Διαλογική διαγραφή αρχείων. Ο χρήστης ερωτάται για κάθε αρχείοπου πρόκειται να διαγραφεί.

-r--recursive

Αναδρομική διαγραφή όλων των καταλόγων που περιλαμβάνονταιστα αρχεία προέλευσης.

-v--verbose

Αναλυτική περιγραφή της διαδικασίας της μετακίνησης.

Σε περίπτωση που το αρχείο που θέλετε να διαγράψετε αρχίζει με παύλα “-” στο όνομά του,μπορέιτε να δώσετε ως επιλογή “--”:

$ rm -- -afile

Η παραπάνω εντολή θα διαγράψει το αρχείο -afile.

Debian Guide 87

Page 88: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Για την διαγραφή καταλόγων υπάρχει και η εντολή rmdir. Μπορείτε να χρησιμοποιείτεοποιονδήποτε τρόπο επιθυμείτε, είναι και οι δύο ισοδύναμοι.

$ rmdir afolder

ή

$ rm -r afolder

ΠΡΟΣΟΧΗ! Πριν εκτελέσετε την εντολή rm με επιλογές -rf, βεβαιωθείτε ότιβρίσκεστε στο σωστό κατάλογο. Είναι πολύ εύκολο να αχρηστέψετε το σύστημά σας,αν δώσετε rm -rf στον βασικό κατάλογο /, ειδικά αν είστε συνδεδεμένος ως χρήστηςroot!

5.Αναγνώριση Αρχείων

Σε αντίθεση με άλλα λειτουργικά, στο Linux δεν είναι απαραίτητες οι καταλήξεις στα ονόματατων αρχείων και μερικές φορές είναι δύσκολη η αναγνώριση του τύπου κάποιου αρχείου,ακριβώς γιατί δεν έχει κατάληξη στο όνομά του. Για το σκοπό αυτό υπάρχει, τουλάχιστον γιατον περιβάλλον του κελύφους, η εντολή file που αναγνωρίζει σχεδόν κάθε αρχείο. Πρακτικά, ηεντολή file διαβάζει τα πρώτα bytes του αρχείου, τα οποία και συνήθως είναι αυτά πουκαθορίζουν τον τύπο του. Χρησιμοποιώντας ένα αρχείο που κατ' ευφημισμό καλείται “μαγικό”(magic file), το οποίο στην ουσία είναι μια βάση δεδομένων, η εντολή file επιστρέφει τονζητούμενο τύπο του αρχείου.

Η σύνταξή της είναι η εξής:

file [OPTIONS] files ...

όπου files τα αρχεία των οποίων τον τύπο ζητάμε. Ως επιλογές μπορούμε να δώσουμε τις εξής:

Επιλογές Λειτουργία

-f--files-from

Χρησιμοποιεί τη λίστα αρχείων που είναι καταχωρημένη στο αρχείοπου δίνεται με την επιλογή -f.

-i--mime

Αντί για την προκαθορισμένη περιγραφή αρχείου με βάση το μαγικόαρχείο /etc/magic του UNIX, χρησιμοποιεί περιγραφή με βάση τοσύστημα MIME.

-L--dereference

Η διαδικασία της αναγνώρισης θα εφαρμοστεί στο πραγματικό αρχείοκαι όχι στον σύνδεσμό του.

-z--uncompress

Αν είναι δυνατόν, αποσυμπιέζει το αρχείο και ύστερα προσπαθεί νατο αναγνωρίσει.

Παραδείγματα:

$ file /lib/libc.so.6 /usr/lib/libc.a/lib/libc.so.6: symbolic link to `libc-2.3.1.so'/usr/lib/libc.a: current ar archive

$ file -L /lib/libc.so.6/lib/libc.so.6: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped

Debian Guide 88

Page 89: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

$ file /bin/ls/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked(uses shared libs), stripped

$ file -i /bin/ls/bin/ls: application/x-executable, for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped

Debian Guide 89

Page 90: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

6.Αναζήτηση αρχείων

Πολλές φορές ίσως χρειαστείτε κάποιο αρχείο αλλά δεν γνωρίζετε σε ποια θέση βρίσκεται. Ήακόμη μπορεί να θελήσετε να βρείτε ένα συγκεκριμένο τύπο αρχείων ή ποια αρχεία έχουνμεταβληθεί την τελευταία ημέρα, κλπ. Το Linux προσφέρει αρκετά εργαλεία αναζήτησηςαρχείων, το καθένα από τα οποία εξυπηρετεί και διαφορετικό σκοπό. Θα αναφέρουμε εδώ τακυριότερα και πιο χρήσιμα για καθημερική χρήση.

Η εντολή find

Η εντολή find είναι ίσως το πιο δυνατό εργαλείο για αναζήτηση αρχείων. Η αναζήτηση μέσω τηςfind μπορεί να γίνει χρησιμοποιώντας πολλά κριτήρια ακόμη και σε συνδυασμό. Ενδεικτικάαναφέρουμε ορισμένα από τα κριτήρια αναζήτησης:

• Αναζήτηση με τον χρόνο προσπέλασης του αρχείου.

• Αναζήτηση με το χρόνο τροποποίησης του αρχείου.

• Αναζήτηση με το όνομα του ιδιοκτήτη ή της ομάδας του αρχείου.

• Αναζήτηση με τις άδειες προσπέλασης του αρχείου.

• Αναζήτηση με τον τύπο του αρχείου.

• Αναζήτηση με την σχετική ηλικία του αρχείου ως προς κάποιο άλλο αρχείο.

• Αναζήτηση με το μέγεθος του αρχείου.

• Αναζήτηση με το όνομα ή με κάποια κανονική παράσταση (regular expression)χρησιμοποιώντας μεταχαρακτήρες.

Η σύνταξή της find είναι η εξής:

find directory OPTIONS ACTION

όπου directory είναι το σημείο εκκίνησης της αναζήτησης, δηλαδή ο κατάλογος από τον οποίοθα ξεκινήσει την αναζήτηση η find. Ορισμένες από τις επιλογές που δέχεται η find αναγράφονταιστον επόμενο πίνακα:

Επιλογές Λειτουργία

-amin Ν-atime Ν

Αναζήτηση με τον χρόνο προσπέλασης του αρχείου, όπου N ο αριθμόςτων λεπτών (για την amin) ή των ημερών (για την atime) από τηντελευταία προσπέλαση. Με τη χρήση των τελεστών +, - μπορούμε ναζητήσουμε τα αρχεία που προσπελάστηκαν πριν από χρόνομεγαλύτερο (+) ή μικρότερο από N λεπτά/ημέρες.

-cmin Ν-ctime Ν

Παρόμοια λειτουργία με τις amin, atime αλλά για το χρόνο από τηντελευταία τροποποίηση.

-follow Αφορά τους συμβολικούς συνδέσμους αρχείων. Η διαδικασία τηςαναζήτησης θα εφαρμοστεί στο πραγματικό αρχείο και όχι στονσύνδεσμό του.

-group gname Αναζήτηση με το όνομα της ομάδας χρηστών gname.

-user uname Αναζήτηση με το όνομα χρήστη uname.

Debian Guide 90

Page 91: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-mindepth-maxdepth

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

-name expr Αναζήτηση με το όνομα ή την κανονική παράσταση expr.-newer file Αναζήτηση νεώτερων αρχείων από το file.

-perm protbits Αναζήτηση αρχείων που έχουν τις άδειες προσέλασης που δίνονται(protbits) σε οκταδική (απόλυτη) μορφή.

-size N[bckw] Αναζήτηση με το μέγεθος. Αναγνωρίζονται οι εξής μονάδες μεγέθους:512-byte block ('b'), bytes ('c'), kilobytes ('k'), 2-byte words ('w').Ισχύουν και εδώ οι τελεστές +, - ζητώντας αντίστοιχα μεγαλύτερα ήμικρότερα μεγέθη αρχείων.

-type T Αναζήτηση με τον τύπο του αρχείου, όπου T μπορεί να είναι ένα απότα εξής: ειδικό αρχείο block ('b'), ειδικό αρχείο χαρακτήρα ('c'),κατάλογος ('d'), ονομαστικός δίαυλος (FIFO) ('p'), κοινό αρχείο ('f'),συμβολικός σύνδεσμος ('l'), υποδοχέας (socket) ('s').

Ως δράση (ACTION) μπορούμε να έχουμε μία από τις εξής:

Παράμετρος Λειτουργία

-exec cmd Εκτελεί την εντολή cmd για κάθε αρχείο που βρίσκει. Το όνομα τουεκάστοτε αρχείου συμβολίζεται με τα άγκιστρα {}.

-ok cmd Το ίδιο, αλλά με ερώτηση επιβεβαίωσης πριν από την εκτέλεση τηςεντολής.

-print Επιστρέφει το όνομα του αρχείου που βρέθηκε.

-ls Επιστρέφει το αποτέλεσμα της εντολής ls -dils για κάθε αρχείο πουβρέθηκε.

Παραδείγματα:

$ find /usr/include -name “v*.h” -print

Αναζήτηση όλων των αρχείων κεφαλίδας (include files) που βρίσκονται στον κατάλογο /usr/include και των οποίων το όνομα αρχίζει από v.

$ find / -name core -exec rm -f “{}” \;

Αναζήτηση όλων των αποτυπωμάτων μνήμης (core dumps) που βρίσκονται στο σύστημα και άνευόρων διαγραφή τους.

$ find backup -size +100k -exec mv '{}' BigFiles \;

Αναζήτηση των αρχείων του καταλόγου backup που έχουν μέγεθος μεγαλύτερο από 100kilobytes και μετακίνησή τους στον κατάλογο BigFiles.

Debian Guide 91

Page 92: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

$ find $HOME \! -user `whoami` -type -d -ok rm '{}' \;

Αναζήτηση όλων των αρχείων του καταλόγου $HOME του τρέχοντος χρήστη (προσέξατε τιςδασείες στην whoami) και διαλογική διαγραφή τους .

Περισσότερα παραδείγματα και πληροφορίες για την find, μπορείτε να βρείτε στις σελίδεςοδηγιών (man find) ή στα κείμενα πληροφοριών (info find).

Η εντολή locate

Η εντολή locate είναι ένας αρκετά πιο εύκολος και γρήγορος τρόπος να βρείτε κάποια αρχεία μεβάση το όνομά τους. Δεν προσφέρει όλες τις δυνατότητες της find αλλά είναι πολύ πιο γρήγορη,καθώς χρησιμοποιεί το ευρετήριο αρχείων που δημιουργεί η εντολή updatedb. Στηνπραγματικότητα, η locate δεν αναζητά αρχεία στο σύστημα αρχείων, αλλά ονόματα σε έναευρετήριο αρχείων που ανανεώνεται σε τακτά χρονικά διαστήματα. Αυτό σημαίνει ότι υπάρχειπερίπτωση να μην βρίσκει κάποιο νεώτερο αρχείο αν δεν έχει ανανεωθεί το ευρετήριο.

Η σύνταξή της είναι αρκετά απλή:

locate [OPTIONS] pattern

όπου pattern η κανονική παράσταση των ζητούμενων ονομάτων, ενώ μερικές από τιςσημαντικότερες επιλογές φαίνονται στον επόμενο πίνακα:

Επιλογές Λειτουργία

-e--existing

Επιστρέφει μόνο τα αρχεία που υπάρχουν πραγματικά στο σύστημα,και όχι όλα όσα υπάρχουν στο ευρετήριο. Αυτό μπορεί νακαθυστερήσει την εκτέλεση της εντολής αισθητά.

-i--ignore-case

Να αγνοηθούν οι διαφορές πεζών-κεφαλαίων γραμμάτων.

Η εντολή which

Η εντολή which, χρησιμοποιείται για να μάθουμε την πλήρη διαδρομή ενός ή περισσοτέρωνεκτελέσιμων αρχείων. Αυτό που κάνει είναι να αναζητήσει το αρχείο που ζητούμε σε κάθεκατάλογο που ορίζεται στην διαδρομή $PATH. Λειτουργεί ως εξής:

which filename ...

όπου filename η λίστα των εντολών των οποίων θέλουμε να βρούμε τη διαδρομή.

Για παράδειγμα:

$ which ls find/bin/ls/usr/bin/find

Η which χρησιμοποιείται συχνά με το ιστορικό ή την υποκατάσταση εντολών του κελύφους,όπως δείχνει το ακόλουθο παράδειγμα:

$ which ls find

Debian Guide 92

Page 93: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

/bin/ls

/usr/bin/find

$ ls -l `!!`

ls -l `which ls find`

-rwxr-xr-x 1 root root 64428 2003-05-14 00:05 /bin/ls

-rwxr-xr-x 1 root root 44936 2002-11-03 20:33 /usr/bin/find

το ίδιο αποτέλεσμα επιτυγχάνεται με τον συνδυασμό εντολών:

$ ls -l `which ls find`

-rwxr-xr-x 1 root root 64428 2003-05-14 00:05 /bin/ls

-rwxr-xr-x 1 root root 44936 2002-11-03 20:33 /usr/bin/find

7.Αρχεία κειμένου

Τα συστήματα UNIX βασίζονται σε μεγάλο βαθμό σε σενάρια κελύφους για πολλές λειτουργίεςτους και αυτά δεν είναι παρά κοινά αρχεία κειμένου. Είναι, λοιπόν, απαραίτητη η ύπαρξηεργαλείων που θα χειρίζονται αυτά τα αρχεία κειμένου. Η ανάγκη αυτή οδήγησε σε μιαπληθώρα εργαλείων για την εμφάνιση και επεξεργασία των αρχείων κειμένου στο UNIX, καθέναεξειδικευμένο σε μια ή και περισσότερες χρήσεις. Υπάρχουν εργαλεία απλώς για εμφάνιση, γιαανάστροφη εμφάνιση, για εμφάνιση με σελιδοποίηση, για εμφάνιση μόνο της κεφαλίδας(header) ή του τέλους του αρχείου, για καταμέτρηση γραμμών, λέξεων ή χαρακτήρων ενόςαρχείου κλπ. Θα αναφέρουμε εδώ τα βασικά εργαλεία που θα χρειαστείτε.

“less is more”

Από τα πιο χρήσιμα προγράμματα είναι οι σελιδοποιητές (pagers) που επιτρέπουν την εμφάνισηενός αρχείου κειμένου ανά σελίδα. Η χρήση τους είναι αρκετά απλή και συχνά προσφέρουνonline βοήθεια. Ένα από τα πρώτα προγράμματα σελιδοποιητής που χρησιμοποιείται ακόμη είναιτο more, αν και πλέον θεωρείται ξεπερασμένο. Πολύ πιο εύχρηστο και λειτουργικό είναι τοπρόγραμμα less που ονομάστηκε έτσι χάριν του λογοπαίγνιου “less is more”!

Και τα δύο προγράμματα είναι πολύ απλά στη χρήση τους και η σύνταξή τους είναι η εξής:

$ more textfile$ less textfile

Αν και δέχονται επιλογές στην γραμμή εντολών, είναι πιο απλή η παραμετροποίησή τους κατά τηδιάρκεια της εκτέλεσής τους. Πατώντας 'h' ανά πάσα στιγμή εμφανίζεται μια οθόνη βοηθείαςόπου αναλύεται η χρήση του κάθε προγράμματος.

Εντολές cat και tac

Οι εντολές cat και tac τυπώνουν στην πρότυπη έξοδο το αρχείο ή αρχεία που δέχονται ωςπαραμέτρους. Η διαφορά της tac είναι ότι τυπώνει το αρχείο ανάστροφα, από το τέλος προς τηναρχή.

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

Debian Guide 93

Page 94: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Η σύνταξή της είναι:

cat [OPTIONS] file ...tac [OPTIONS] file ...

Αν δεν δοθεί όνομα αρχείου, λαμβάνεται η πρότυπη είσοδος (standard input). Οι επιλογές πουδέχεται η cat είναι οι εξής:

Επιλογές Λειτουργία

-A--show-all

Ισοδύναμο με τη χρήση των επιλογών -vET.

-b--number-nonblank

Αρίθμηση μη κενών γραμμών

-E--show-ends

Εμφάνιση του χαρακτήρα $ στο τέλος κάθε γραμμής (Linefeed).

-n--number

Αρίθμηση όλων των γραμμών (ακόμη και των κενών).

-T--show-tabs

Εμφάνιση του χαρακτήρα TAB ως ̂ Ι.

-v--show-nonprinting

Εμφάνιση των μη εκτυπώσιμων χαρακτήρων χρησιμοποιώντας τησύνταξη ^ (CTRL-) και M- (ESC-). Δεν τυπώνει τους χαρακτήρεςLinefeed και TAB.

Παραδείγματα χρήσης της cat:

$ cat file1 file2 |less

Τυπώνει τα περιεχόμενα των αρχείων file1 και file2 στην πρότυπη έξοδο και μέσω σωλήνωσηςστην εντολή less.

$ cat file1 >file2$ cat <file1 >file2

Οι δύο αυτές εντολές αντιγράφουν το αρχείο file1 στο αρχείο file2 και είναι ισοδύναμες με τηνεντολή αντιγραφής αρχείων cp:

cp file1 file2

$ cat file1 file2 >> file3

Προσάρτηση των αρχείων file1 και file2 στο τέλος του αρχείου file3.

$ cat part*.txt >whole.txt

Debian Guide 94

Page 95: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Συνένωση όλων των αρχείων part*.txt σε ένα ενιαίο αρχείο whole.txt.

$ cat >fileThis is a piece of text.EOF$ cat fileThis is a piece of text.

Η πρώτη κλήση της cat χρησιμοποιεί την πρότυπη είσοδο στην οποία δίνουμε το κείμενο “This isa piece of text.” και τον χαρακτήρα EOF (End of file, συνήθως CTRL-\). Η δεύτερη κλήση τηςcat απλώς τυπώνει αυτό που δημιουργήσαμε.

Εντολές head και tail

Οι εντολές head και tail εμφανίζουν την κεφαλίδα και το τέλος (την “ουρά”) ενός αρχείουκειμένου αντίστοιχα. Ειδικά η εντολή tail είναι από τα πιο χρήσιμα εργαλεία για τουςδιαχειριστές συστήματος.

head [OPTIONS] filetail [OPTIONS] file

όπου file το αρχείο ή τα αρχεία των οποίων θέλουμε την κεφαλίδα ή το τέλος. Ορισμένες από τιςεπιλογές των εντολών head και tail αναγράφονται στον επόμενο πίνακα:

Επιλογές Λειτουργία

-c N--bytes=N

Εμφάνιση των πρώτων (για τη head) ή των τελευταίων (για την tail)N bytes.

-n N--lines=N

Εμφάνιση των πρώτων (για τη head) ή των τελευταίων (για την tail)N γραμμών κειμένου. Η προκαθορισμένη τιμή για το N είναι 10.

-f--follow

(Μόνο για την tail) Εμφάνιση των προσαρτημένων γραμμών καθώς τοαρχείο μεγαλώνει. Η follow δέχεται τις επιλογές descriptor ή name. Ηπροκαθορισμένη είναι η descriptor, με την οποία η tail παρακολουθείτο αρχείο ακόμη και αν αλλάξει όνομα (στην ουσία παρακολουθεί τοfile descriptor). Με την επιλογή name, η tail παρακολουθεί πάντα τοαρχείο που φέρει το όνομα file.

-F (Μόνο για την tail) Ισοδύναμο με --follow=name --retry.

--retry (Μόνο για την tail) Ξαναπροσπαθεί να ανοίξει το αρχείο file ακόμη καιαν δεν είναι προσπελάσιμο όταν η tail ξεκινάει ή κατά τη διάρκεια τηςεκτέλεσής της. Η επιλογή αυτή είναι χρήσιμη μόνο σε συνδυασμό μετην -f.

Ακολουθούν παραδείγματα χρήσης της head και tail:

$ head -c 1000 file

Τυπώνει τα 1000 πρώτα bytes του αρχείου file.

Debian Guide 95

Page 96: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

$ tail -n 100 file

Τυπώνει τις τελευταίες γραμμές του αρχείου file.

$ tail -f logfile

Παρακολουθεί και εμφανίζει τα περιεχόμενα του αρχείου logfile, ακόμη και αν αυτό αλλάξειόνομα ή θέση.

$ tail -F /var/log/syslog

Παρακολουθεί και εμφανίζει τα περιεχόμενα του αρχείου που φέρει πάντα το όνομα /var/log/syslog ακόμη και αν αυτό αλλάξει κατά τη διάρκεια εκτέλεσης της εντολής tail.

Καταμέτρηση αρχείου με τη wc

Η εντολή wc επιστρέφει στατιστικά για ένα αρχείο κειμένου, και συγκεκριμένα τον αριθμό τωνbytes, χαρακτήρων, λέξεων και γραμμών του αρχείου. Ακολουθεί την ίδια σύνταξη:

wc [OPTIONS] file ...

ή αν δεν δοθεί το file, χρησιμοποιείται η πρότυπη είσοδος (standard input). Δέχεται τις εξήςεπιλογές:

Επιλογές Λειτουργία

-c--bytes

Εμφανίζει τον αριθμό των bytes του αρχείου.

-m--chars

Εμφανίζει τον αριθμό των χαρακτήρων του αρχείου.

-l--lines

Εμφανίζει τον αριθμό των γραμμών κειμένου τουαρχείου.

-L--max-line-length

Τυπώνει το μήκος της μεγαλύτερης σε μήκος γραμμής.

-w--words

Εμφανίζει τον αριθμό των λέξεων του αρχείου

Παραδείγματα:

$ wc sample.txt 10 29 278 sample.txt

Δηλαδή το αρχείο sample.txt έχει 278 χαρακτήρες, 29 λέξεις και 10 γραμμές κειμένου.

Η wc χρησιμοποιείται συχνά σε συνδυασμό με άλλες εντολές. Π.χ., για να δούμε πόσους χρήστεςέχουμε συνδεδεμένους στο σύστημα αυτή τη στιγμή:

$ who |wc -l

Debian Guide 96

Page 97: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

17

Debian Guide 97

Page 98: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

8.Αναζήτηση κειμένου σε αρχείο

Αν προσπαθήσατε ποτέ να εισχωρήσετε στα πιο “βαθειά νερά” του UNIX, θα χρειαστήκατεσίγουρα σε κάποια στιγμή να βρείτε κάποιο αρχείο που να περιέχει κάποιο συγκεκριμένοκείμενο. Κατά πάσα πιθανότητα θα χρησιμοποιήσατε κάποια από τις εντολές grep για να κάνετετην αναζήτηση. Οι εντολές αυτές προσφέρουν, με μικρές παραλλαγές η κάθε μία, τρόπουςαναζήτησης κειμένου ή κανονικών παραστασεων (regular expressions) σε αρχεία κειμένου(χωρίς να περιορίζεται η χρήση τους μόνο σε αυτά).

Οι εντολές grep, fgrep, egrep, rgrep

Υπάρχουν τέσσερις εντολές grep, η γενικής χρήσης grep, η fgrep που δεν χρησιμοποιείμεταχαρακτήρες, η egrep που ειδικεύεται στην αναζήτηση με μεταχαρακτήρες και η rgrep πουδρα αναδρομικά σε καταλόγους. Συγκεκριμένα,

• Η fgrep ειδικεύεται στην αναζήτηση αυτούσιων κομματιών κειμένου, χωρίς την ανάγκηχρήσης μεταχαρακτήρων όπως *, ?, $, ^, κλπ.

• Η egrep χρησιμοποιεί το πλήρες σύνολο των μεταχαρακτήρων και κανονικών παραστάσεωνκαι θεωρείται η πιο γρήγορη από τις τρεις.

• Η rgrep δεν είναι άλλο από αναδρομική grep (ενεργοποιεί την επιλογή -r στη grep).

Στην πραγματικότητα δεν πρόκειται για τρεις διαφορετικές εντολές αλλά για συντομεύσεις τηςίδιας εντολής. Σε κανονικά UNIX συστήματα ήταν όντως τρεις εντολές αλλά στο πακέτο GNUgrep που διανέμεται με το Debian, πρόκειται για μία εντολή με τρια σενάρια κελύφους πουλειτουργούν ως wrappers(?): fgrep, egrep και rgrep. Η σύνταξή της είναι η εξής:

grep [OPTIONS] pattern filefgrep [OPTIONS] pattern fileegrep [OPTIONS] pattern filergrep [OPTIONS] pattern file

όπου file το αρχείο ή τα αρχεία στα οποία θέλουμε να αναζητήσουμε κείμενο, ή αν δεν δίνεταιαρχείο θεωρείται ή πρότυπη είσοδος (standard input). Ως pattern δίνουμε το κείμενο πουθέλουμε να αναζητήσουμε ή την κανονική παράσταση που περιέχει μεταχαρακτήρες. Για τιςεντολές grep ισχύουν οι εξής επιλογές:

Επιλογές Λειτουργία

-E Ισοδύναμο με την κλήση της egrep.

-F Ισοδύναμο με την κλήση της fgrep.

-r, -R--recursive

Ισοδύναμο με την κλήση της rgrep. Πραγματοποιεί τηναναζήτηση αναδρομικά σε όλους τους καταλόγους και στααρχεία που περιέχονται σε αυτούς.

-f FILE--file FILE

Πραγματοποιεί την αναζήτηση χρησιμοποιώντας τιςκανονικές παραστάσεις ή το κείμενο που περιέχεται στοαρχείο FILE.

-i--ignore-case

Αγνοεί τις διαφορές μεταξύ πεζών-κεφαλαίων γραμμάτων.

Debian Guide 98

Page 99: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-l--files-with-matches

Εμφανίζει μόνο τους τίτλους των αρχείων για τα οποίαπέτυχε η αναζήτηση.

-L--files-without-matches

Εμφανίζει μόνο τους τίτλους των αρχείων για τα οποίααπέτυχε η αναζήτηση.

-n--line-number

Εμφανίζει τις γραμμές αριθμημένες.

-v--invert-match

Αντιστρέφει την αναζήτηση. Αναζητά γραμμές κειμένουπου δεν ταιριάζουν με το δοθέν κείμενο ή κανονικήπαράσταση.

Για περισσότερες πληροφορίες για τις κανονικές παραστάσεις ανατρέξατε στο κεφ. 9 και στιςσελίδες οδηγιών και κείμενα πληροφοριών της grep (man, info).

Παραθέτουμε ορισμένα παραδείγματα χρήσης της grep:

$ ps aux|grep sshroot 733 0.0 0.3 2684 744 ? S Jun27 0:00 /usr/sbin/sshdfeanor 9895 0.0 0.3 2796 712 pts/5 R 21:29 0:00 grep ssh

Εμφανίζει τις διεργασίες που περιέχουν τη λέξη ssh στο όνομά τους (όπως αυτό φαίνεται με τηνεντολή ps). Περισσότερα για τις διεργασίες και για την εντολή ps θα δούμε στο κεφ. 14.

$ grep -lr sqrt /usr/include//usr/include/bits/mathinline.h/usr/include/bits/mathcalls.h/usr/include/bits/cmathcalls.h/usr/include/math.h/usr/include/tgmath.h/usr/include/linux/sysctl.h

Επιστρέφει τη λίστα όλων των αρχείων που βρίσκονται στον κατάλογο /usr/include καιπεριέχουν αναφορά στο υποπρόγραμμα της γλώσσας C sqrt (square root, τετραγωνική ρίζα).

$ grep -v ^[A-z] userslist

Αν userslist είναι ένα αρχείο με λίστα χρηστών, η εντολή αυτή επιστρέφει τις γραμμές εκείνεςπου περιέχουν ονόματα χρηστών που δεν αρχίζουν με λατινικούς χαρακτήρες.

$ grep -i “john smith” userslist

Στο ίδιο αρχείο, επιστρέφει τις γραμμές στις οποίες αναφέρεται το όνομα “john smith” αλλά και“JOHN SMITH” και “John Smith” κλπ.

9.Ταξινόμηση αρχείων κειμένου

Στο κεφάλαιο 9 είχατε μια πρώτη επαφή με την εντολή sort και την διαδικασία ταξινόμησηςαρχείων κειμένου, οπότε εδώ θα περιοριστούμε στην απλή παράθεση των επιλογών της εντολής.

Debian Guide 99

Page 100: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Η εντολή sort

Η σύνταξη της εντολής είναι:

sort [OPTIONS] file1 ...

και μερικές από τις επιλογές δίνονται στον ακόλουθο πίνακα:

Επιλογές Λειτουργία

-b--ignore-leading-blanks

Αγνοεί τους κενούς χαρακτήρες πριν από το κείμενο.

-d--dictionary-order

Αναγνωρίζει μόνο κενών και αλφαρηθμητικώνχαρακτήρων.

-f--ignore-case

Μετατροπή πεζών σε κεφαλαίους χαρακτήρες.

-g--general-numeric-sort

Αριθμητική ταξινόμηση με μετατροπή σε αριθμό κινητήςυποδιαστολής. Προτιμήστε την --numeric-sort.

-i--ignore-nonprinting

Αγνοεί τους μη εκτυπώσιμους χαρακτήρες.

-M--month-sort

Ημερολογιακή ταξινόμηση.

-n--numeric-sort

Αριθμητική ταξινόμηση χωρίς μετατροπή του κειμένου σεαριθμό κινητής υποδιαστολής.

-r--reverse

Αναστροφή της ταξινόμησης.

-c--check

Έλεγχος του αρχείου αν είναι ήδη ταξινομημένο.

-k--key=POS1[,POS2]

Εκκίνηση της ταξινόμησης από τη στήλη POS1,προαιρετικά ως POS2.

-m--merge

Συγχώνευση δύο ήδη ταξινομημένων αρχείων.

-o--output=FILE

Αποθήκευση του αποτελέσματος στο αρχείο FILE.

-t--field-separator=SEP

Χρησιμοποιεί τον χαρακτήρα SEP για διαχωρισμό στηλών(κανονικά χρησιμοποιεί οποίονδήποτε κενό χαρακτήρα).

-u--unique

Σε συνδυασμό με την -c, ελέγχει την ταξινόμηση μεαυστηρότερα κριτήρια, διαφορετικά επιστρέφει μόνο ταμοναδικά στοιχεία.

10.Σύγκριση αρχείων

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

Debian Guide 100

Page 101: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

αρχείων με αρκετούς τρόπους παραμετροποίησης. Στον παρόντα οδηγό, θα αναφερθούμε στιςεντολές cmp, comm και diff.

Η εντολή cmp

Για απλή σύγκριση δυαδικών αρχείων χρησιμοποιούμε την εντολή cmp. Επειδή τα δυαδικάαρχεία δεν είναι δυνατόν να τα θεωρήσουμε “περίπου” ίδια, η εντολή συγκρίνει δύο αρχεία byteπρος byte. Αυτό που μπορούμε να παραμετροποιήσουμε είναι το σημείο εκκίνησης, αλλά ανείναι έστω και ένα byte διαφορετικό, τα αρχεία θεωρούνται διαφορετικά και η εντολήεπιστρέφει κωδικό αποτυχίας (βλ. κεφ. 14 για τους κωδικούς επιστροφής των διεργασιών).

Η σύνταξη της cmp είναι η εξής:

cmp [options] file1 file2

όπου file1, file2 τα προς σύγκριση δυαδικά αρχεία, και ως επιλογές έχουμε τις εξής:

Επιλογές Λειτουργία

-b--print-bytes

Εμφανίζει τα διαφορετικά bytes.

-i SKIP--ignore-initial=SKIP

Ξεκινά τη σύγκριση μετά απο SKIP bytes.

-i SKIP1:SKIP2--ignore-initial=SKIP1:SKIP2

Ξεκινά τη σύγκριση μετά απο SKIP1 bytes για το file1 καιSKIP2 bytes για το file2.

-l--verbose

Εμφανίζει πληροφορίες για όλα τα διαφορετικά bytes(θέσεις και τιμές).

-n N--bytes=N

Η σύγκριση να γίνει για το πολύ N bytes.

-s--quiet--silent

Η έξοδος να είναι σιωπηλή, να επιστραφεί μόνο ο κωδικόςεπιτυχίας ή αποτυχίας του προγράμματος.

Η εντολή comm

Η εντολή comm συγκρίνει δύο προηγουμένως ταξινομημένα αρχεία κειμένου και εμφανίζειεπιλεκτικά τρεις στήλες: μια με τις γραμμές που υπάρχουν μόνο στο πρώτο αρχείο, μια με τιςγραμμές που υπάρχουν μόνο στο δεύτερο αρχείο και μια με τις κοινές γραμμές. Αυτή ηπαραμετροποίηση είναι και η μόνο επιλογή που δέχεται η εντολή. Συγκεκριμένα:

comm [-N] file1 file2

όπου -N ο αριθμός του οποίου τα ψηφία αποτελούνται από τις στήλες που επιλέγετε ναεμφανιστούν, δηλαδή για τις στήλες 1 και 3 θα πρέπει να δώσετε:

comm -13 file1 file2

Η εντολή diff

Η εντολή diff είναι ένα πολύ ισχυρό εργαλείο για σύγκριση αρχείων ακόμη και καταλόγων καιμπορεί να παραμετροποιηθεί σε μεγάλο βαθμό. Το αποτέλεσμα της σύγκρισης με την diff μπορεί

Debian Guide 101

Page 102: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

να χρησιμοποιηθεί και από άλλα εργαλεία ή προγράμματα και βάση αυτού, χρησιμοποιώντας τοως αναφορά, να τροποποιήσουμε ένα άλλο αρχείο μόνο σε συγκεκριμένα σημεία. Με αυτόν τοντρόπο λειτουργούν τα patches (DICTIOΝARY!). Χάρη στην εντολή diff τα patches έιναι ο πιοεύκολος τρόπος ανανέωσης (update) ανοιχτού -- και όχι μόνο -- όχι κώδικα στο internet.

Για την ακρίβεια, στην ίδια δομή βασίζεται και το ίδιο το Debian και το σύστημα πακέτωνλογισμικού που χρησιμοποιεί, και χωρίς την diff πιθανότατα δεν θα υπήρχε, τουλάχιστον όχι σεαυτή τη μορφή!

Η σύνταξη της diff δεν διαφέρει από των άλλων εντολών που έχουμε δεί ως τώρα:

diff [OPTIONS] file1 file2

ή για σύγκριση καταλόγων

diff [OPTIONS] dir1 dir2

όπου dir1, dir2 τα ονόματα των καταλόγων που θέλουμε να συγκρίνουμε.

με μια πληθώρα από επιλογές, από τις οποίες θα αναφέρουμε τις σημαντικότερες:

Επιλογές Λειτουργία

-i--ignore-case

Αγνοεί τις διαφορές μεταξύ πεζών-κεφαλαίων γραμμάτων.

-b--ignore-space-change

Αγνοεί τις αλλαγές που οφείλονται σε κενούς χαρακτήρες.

-w--ignore-all-space

Αγνοεί όλους τους κενούς χαρακτήρες.

-B--ignore-blank-lines

Αγνοεί όλες τις κενές γραμμές.

-a--text

Αντιμετωπίζει όλα τα αρχεία ως αρχεία κειμένου.

-c-C NUM--context[=NUM]

Εμφανίζει Ν (προκαθορισμένη τιμή 3) γραμμέςαντιγραμένου περιεχομένου.

-u-U N--unified[=N]

Εμφανίζει Ν (προκαθορισμένη τιμή 3) γραμμέςενωποιημένου περιεχομένου.

-y--side-by-side

Εμφάνιση σε δύο στήλες.

-r--recursive

Αναδρομική σύγκριση των καταλόγων και τωνπεριεχομένων αρχείων τους.

-N--new-file

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

Για να δείξουμε την λειτουργία της diff θα παρουσιάσουμε ένα σχετικά απλό παράδειγμα.

Έστω δύο αρχεία κειμένου, file1 και file2 των οποίων τα περιεχόμενα είναι τα εξής:

Debian Guide 102

Page 103: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

file1 file2

Onetwothreefourfive

ONEtwothreeFIVESIX

Αν εκτελέσουμε την diff με παραμέτρους τα δύο αρχεία:$ diff file1 file21c1< One---> ONE4,5c4,5< four< five---> FIVE> SIX

Το κείμενο του αρχείου file1 φαίνεται με το σύμβολο < ενώ με το > φαίνεται το αρχείο file2. Οισυμβολισμοί 4,5c4,5 καταδεικνύουν ότι στις γραμμές 4 και 5 του αρχείου file1 υπάρχει αλλαγή(εξού και ο χαρακτήρας c, από την λέξη change) που αντιστοιχεί στις γραμμές 4 και 5 τουαρχείου file2.

Αν θελήσουμε να αγνοήσουμε τις διαφορές πεζών-κεφαλαίων χαρακτήρων με την επιλογή -i:$ diff -i file1 file24d3< four5a5> SIX

Τώρα το πρόγραμμα απλώς διαπιστώνει ότι από το αρχείο file1 έχει διαγραφεί (d από delete) ηλέξη four στη γραμμή 4 ενώ έχει προστεθεί (a από append) στη γραμμή 5 του αρχείου file2 ηλέξη SIX.

Δείτε τη διαφορά με την επιλογή -y:

$ diff -y file1 file2One | ONEtwo twothree threefour | FIVEfive | SIX

Τώρα αρκεί μόνο ο χαρακτήρας |, για να φανούν οι διαφορές ανάμεσα στα δύο αρχεία.

Με ενωποιημένο περιεχόμενο (unified context) το αποτέλεσμα είναι και πάλι διαφορετικό:

$ diff -u file1 file2--- file1 2003-06-29 00:47:04.000000000 +0300+++ file2 2003-06-29 00:47:13.000000000 +0300@@ -1,5 +1,5 @@-One+ONE

Debian Guide 103

Page 104: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

two three-four-five+FIVE+SIX

Αφού εμφανιστούν στην κεφαλίδα πληροφορίες για τα δύο αρχεία, καταδεικνύεται το σημείο τηςαλλαγής με τους χαρακτήρες @@, ενώ με - και + ξεχωρίζουν τις γραμμές που αντιστοιχούν σεκάθε αρχείο (στην προκειμένη περίπτωση, το - αντιστοιχεί στο file1, ενώ το + στο file2). Στοπαράδειγμα αυτό, δηλώνεται ότι από τις γραμμές 1 ως 5 του αρχείου file1 και τις γραμμές 1 ως 5του αρχείου file2, εμφανίζονται οι διαφορές που καταδεικνύονται με τα σύμβολα -, +.

Ο τρόπος του ενωποιημένου περιεχομένου είναι και αυτός που χρησιμοποιείται κατά κόρον γιατην δημιουργία patches.

Για πληροφορίες για τα patches μπορείτε να ανατρέξετε στις σελίδες οδηγίων της εντολήςpatch:

man patch

ή

info patch

11.Συμπίεση αρχείων

Η συμπίεση αρχείων είναι κάτι αρκετά διαδεδομένο σε όλα τα λειτουργικά. Ο τρόπος με τονοποίο συμπιέζεται ένα αρχείο ή το πρωτόκολλο συμπίεσης όπως πιο σωστά καλείται, συνήθωςείναι συμφυές με το λειτουργικό σύστημα για το οποίο προορίζεται η χρήση του αρχείου. Έτσιγια τα Windows έχει πλέον εδραιωθεί η χρήση του πρωτοκόλλου ZIP (με δευτερεύονταπρωτόκολλα όπως RAR, ACE, κλπ). Στο UNIX και κατά συνέπεια στο Linux, απαντώνται δύοκύρια πρωτόκολλα συμπίεσης που χρησιμοποιούνται από δύο εντολές που θα αναφέρουμε εδώ.

Η εντολή GNU zip (gzip)

Η εντολή gzip χρησιμοποιεί μια τεχνική κωδικοποίησης βασισμένη στο αλγόριθμό Lempel-Ziv. Τασυμπιεσμένα αρχεία αναγνωρίζονται με την κατάληξη .gz στο όνομά τους. Την gzipσυμπληρώνουν και ένα πλήθος εντολών, όπως gunzip, uncompress, και zcat. Στην ουσίαπρόκειται για σθεναρούς συνδέσμους στην ίδια εντολή gzip, που αλλάζει τη λειτουργία τηςαναλόγως τον τρόπο κλήσης της. Ως gunzip ή uncompress αποσυμπιέζει επί τόπου τασυμπιεσμένα αρχεία, ενώ η zcat αποσυμπιέζει και τυπώνει στην πρότυπη έξοδο (ακριβώς όπως ηεντολή cat) τα περιεχόμενά τους. Η εντολή αναγνωρίζει και αρχεία που έχουν συμπιεστεί με τηνπαλαιότερη εντολή του UNIX compress και έχουν την κατάληξη .Z.

Η σύνταξη των εντολών είναι η εξής:

gzip [options] file...gunzip [options] file...uncompress [options] file...zcat [options] file...

Ορισμένες από τις επιλογές που δέχονται αναγράφονται στον επόμενο πίνακα:

Debian Guide 104

Page 105: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-c--stdout--to-stdout

Συμπιέζει (ή αποσυμπιέζει) και τυπώνει το αποτέλεσμαστην πρότυπη έξοδο. Χρήσιμο σε συνδυασμό μεανακατεύθυνση.

Η zcat ορίζεται ως uncompress -c.

-d--decompress--uncompress

Αποσυμπιέζει τα αρχεία που δίνονται ως παράμετρος.

-l--list

Για κάθε αρχείο που δίνεται ως παράμετρος, εμφανίζονταιοι εξής πληροφορίες:

compressed size: Μέγεθος του συμπιεσμένου αρχέιου

uncompressed size: αρχικό μέγεθος

ratio: λόγος συμπίεσης

uncompressed_name: όνομα αποσυμπιεσμένου αρχείου

-r--recursive

Πραγματοποιεί αναδρομικά στους περιεχόμενουςκαταλόγους την πράξη της συμπίεσης/αποσυμπίεσης.

-S .suf--suffix .suf

Χρησιμοποιεί ως κατάληξη την .suf.

-t--test

Ελέγχει την ακεραιότητα του αρχείου. Σε συνδυασμό μετην -v, τυπώνει OK μετά το όνομα του αρχείου αν ταδεδομένα του είναι ακέραια.

-v --verbose Εμφανίζει επιπλέον πληροφορίες για την διαδικασία τηςσυμπίεσης.

-#--fast--best

Ορίζει το επίπεδο ποιότητας της συμπίεσης. Η επιλογή -1 ήισοδύναμα --fast δίνει μεγαλύτερη έμφαση στην μείωσητου χρόνου συμπίεσης, ενώ η -9 (ισοδύναμα --best)προσπαθεί να επιτύχει μεγαλύτερο λόγο συμπίεσης. Τοπροκαθορισμένο επίπεδο συμπίεσης είναι -6.

Αντίστοιχα προσφέρονται και εντολές που αποσυμπιέζουν ένα αρχείο και στέλνουν τα(αποσυμπιεσμένα) περιεχόμενά του σε άλλες εντολές, όπως zless, zmore, zgrep, zdiff, zcmp,κλπ.

Ακολουθούν ορισμένα παραδείγματα της χρήσης της gzip και των βοηθητικών εντολών της.

Για να συμπιέσουμε δύο αρχεία file1 και file2 με ανάλυση της διαδικασίας

$ gzip -v file1 file2file1: 91.6% -- replaced with file1.gzfile2: 66.1% -- replaced with file2.gz

Αν το αρχείο file1 ήταν αρχείο κειμένου μπορούμε πολύ εύκολα να το δούμε με τις εξήςισοδύναμες εντολές:

Debian Guide 105

Page 106: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

$ zless file1.gz$ zcat file1.gz |less$ gunzip -c file1.gz |less$ gzip -dc file1.gz |less

Η zless ειδικά είναι πολύ χρήσιμη για να δούμε τα αρχεία κείμενων που συνοδεύουν τα πακέταλογισμικού του Debian, που συνήθως είναι συμπιεσμένα:

$ zless /usr/share/doc/gzip/changelog.Debian.gz

Ενώ μπορούμε να αναζητήσουμε κείμενο μέσα στο αρχείο χωρίς να το αποσυμπιέσουμε:

$ zgrep -i “Prices” file1.gz

Η ίδια η gzip με την επιλογή -l μας δίνει πληροφορίες για τα συμπιεσμένα αρχεία, ενώ με την -lvοι πληροφορίες είναι πιο αναλυτικές.

$ gzip -l file1 file2 compressed uncompressed ratio uncompressed_name 1782 20845 91.6% file1 600 1700 66.1% file2 2382 22545 89.5% (totals)$ gzip -lv file1 file2method crc date time compressed uncompressed ratio uncompressed_namedefla 829009df Jul 8 13:18 1782 20845 91.6% file1defla 6f54f29f Jul 8 13:18 600 1700 66.1% file2 2382 22545 89.5% (totals)

Η εντολή bzip2

Η εντολή bzip2 βασίζεται σε μια διαφορετική τεχνική συμπίεσης, τον αλγόριθμο ταξινόμησηςblock κειμένου Burrows‐Wheeler που σε πολλές περιπτώσεις παρέχει καλύτερους λόγουςσυμπίεσης από τον αλγόριθμο Lempel-Ziv. Τα αρχεία που είναι συμπιεσμένα με αυτήν τηνεντολή έχουν συνήθως την κατάληξη .bz2.

Η σύνταξή της εντολής είναι παρόμοια με της gzip ενώ οι επιλογές της είναι σχεδόν ίδιες μεαυτές της gzip.

bzip2 [options] file...bunzip2 [options] file...bzcat [options] file...bzip2recover filename

Παρέχονται και εδώ οι αντίστοιχες βοηθητικές εντολές bzless, bzmore, bzgrep, bzdiff, bzcmp,κλπ.

Η bzip2recover είναι μια εντολή ανάκτησης δεδομένων από ένα κατεστραμμένο αρχείο .bz2, ανφυσικά κάτι τέτοιο είναι δυνατόν. Αλλά αρκετές φορές ένα αρχείο είναι κατεστραμμένο σε μόνομερικά σημεία, και αυτό ακριβώς προσπαθεί να εκμεταλλευτεί η bzip2recover για να ανακτήσειτα υπόλοιπα τμήματα του αρχείου που είναι άθικτα.

Άλλες εντολές συμπίεσης

Σε περίπτωση που χρειαστείτε να αποσυμπιέσετε άλλων ειδών αρχεία, το Debian προσφέρει

Debian Guide 106

Page 107: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

εργαλεία για τα περισσότερα διαθέσιμα πρωτόκολλα συμπίεσης. Αναφορικά, παραθέτουμε τονακόλουθο πίνακα:

Κατάληξη Αρχείου Πακέτα στο Debian

.zip zip, unzip

.rar rar, unrar

.lha lha

.arj arj, unarj

.zoo zoo, unzoo

12.Αρχειοθέτηση αρχείων

Πέρα από την συμπίεση αρχείων, πολύ σημαντική είναι και η αρχειοθέτησή τους, δηλαδή ητοποθέτησή τους πολλών αρχείων σε ένα ενιαίο αρχείο με σκοπό την εύκολη μεταφορά καιαποθήκευσή τους. Όπως και με τα συστήματα συμπίεσης αρχείων έτσι και με τα συστήματααρχειοθέτησης υπάρχει μεγάλη ποικιλία και συνήθως κάθε λειτουργικό σύστημα υιοθετεί κάποιοδικό σύστημα αρχειοθέτησης. Στο UNIX για λόγους ιστορικούς και συμβατότητας το πιοσυνηθισμένο σύστημα είναι το TAR (Tape ARchive) που χρησιμοποιεί την ομώνυμη εντολή tar καιοι αρχιοθήκες του έχουν την ίδια κατάληξη .tar. Πολύ συχνά τα αρχεία αυτά απαντώνται καισυμπιεσμένα οπότε μπορούμε να τα δούμε με τις εξής καταλήξεις:

Κατάληξη Αρχείου Είδος Αρχείοθήκης

.tar.Z

.tar.gz

.tgz

Αρχειοθήκη συμπιεσμένη με το πρόγραμμαgzip.

.tar.bz

.tar.bz2

.tbz

Αρχειοθήκη συμπιεσμένη με το πρόγραμμαbzip2.

.tar.zip Αρχειοθήκη συμπιεσμένη με το πρόγραμμαzip (σπάνια χρησιμοποιείται ο συνδυασμόςαυτός).

Στο Debian, χρησιμοποιείται η έκδοση GNU tar που προσφέρει ορισμένα επιπλέονχαρακτηριστικά από τις περισσότερες εντολές tar των άλλων συστημάτων UNIX. Η σύνταξη τηςεντολής GNU tar ακολουθεί τους εξής κανόνες:

tar [-] [function][options] archive files...

όπου function η εργασία που θα πραγματοποιήσει η tar, με τις επιλογές options,χρησιμοποιώντας την αρχειοθήκη archive και τα αρχεία (ή καταλόγους files). Για αυτήν τηνεντολή η χρήση της παύλας - δεν είναι απαραίτητη.

Ως εργασία μπορούμε να χρησιμοποιήσουμε μία από τις εξής:

Debian Guide 107

Page 108: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Εργασίες Λειτουργία

-A--catenate--concatenate

Αν τα αρχεία files είναι και αυτά αρχειοθήκες .tar, τότε ηεντολή πραγματοποιεί συνένωση αυτών στην αρχικήαρχειοθήκη archive.

-c--create

Δημιουργεί την αρχειοθήκη archive με περιεχόμενα τααρχεία files.

-d--diff--compare

Εμφανίζει τις διαφορές μεταξύ των αρχείων πουβρίσκονται στην αρχειοθήκη και των αρχείων πουβρίσκονται στο σύστημα αρχείων.

--delete Διαγράφει τα αρχεία files που βρίσκονται στην αρχειοθήκηarchive.

-r--append

Προσαρτά τα αρχεία files στο τέλος της αρχειοθήκηςarchive.

-t--list

Εμφάνιση των περιεχομένων της αρχειοθήκης.

-u--update

Ανανέωση των αρχείων files που βρίσκονται στηναρχειοθήκη archive. Αν υπάρχουν ήδη στην αρχειοθήκη,γίνεται αντικατάσταση με τα νέα αρχεία, ενώ διαφορετικάπροστίθενται στην αρχειοθήκη.

-x--extract--get

Εξάγει τα αρχεία files από την αρχειοθήκη archive. Αν δενδοθούν ονόματα αρχείων για εξαγωγή, εξάγει όλα τααρχεία της αρχειοθήκης.

Ενώ ως επιλογές οποιονδήποτε (συμβατό) συνδυασμό των παρακάτω:

Επιλογές Λειτουργία

-C--directory DIR

Χρησιμοποιείται σε συνδυασμό με την εργασία εξαγωγής(-x, extract), εξάγει τα αρχεία στον κατάλογο DIR και όχιστον τρέχοντα κατάλογο.

-f--file [HOSTNAME:]FILE

Χρησιμοποιεί ως αρχειοθήκη το αρχείο FILE, το οποίομπορεί να είναι και απομακρυσμένο (εξού και η επιλογήHOSTNAME). Η tar είχε σχεδιαστεί να λειτουργεί μεσυσκευές οδηγούς κασέτας (tape drives), οπότε το αρχείομπορεί να είναι απευθείας το σημείο επαφής της συσκευήςοδηγού κασέτας, π.χ. /dev/st0.

-T--files-from FILE

Χρησιμοποιεί για τη λίστα αρχείων που βρίσκεται στοαρχείο κειμένου FILE για εξαγωγή ή αρχειοθέτηση, αντίτης παραμέτρου files.

--exclude PATTERN Αποκλείει τα αρχεία που ταιριάζουν την κανονικήπαράσταση PATTERN από την εξαγωγή ή αρχειοθέτηση.

-X--exclude-from FILE

Αποκλείει τα αρχεία που περιέχονται στο αρχείο κειμένουFILE από την εξαγωγή ή αρχειοθέτηση.

Debian Guide 108

Page 109: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-l--one-file-system

Όταν γίνεται αρχειοθέτηση χρησιμοποιεί μόνο το τρέχονσύστημα αρχείων και δεν εισέρχεται σε συναρμοζόμενασυστήματα αρχείων σε αυτό (mounted).

--no-recursion Δεν περιλαμβάνει αναδρομικά τα περιεχόμενα τωνκαταλόγων στην αρχειοθέτηση.

-h--dereference

Όταν συναντά συμβολικούς συνδέσμους, αρχειοθετεί ταπραγματικά αρχεία και όχι τους συνδέσμους.

--ignore-case Αγνοεί την διαφορά πεζών-κεφαλαίων στον αποκλεισμόαρχείων (με την --exclude).

-k--keep-old-files

Κατά την εξαγωγή δεν διαγράφει τα υπάρχοντα αρχεία.

-N--after-date DATE--newer DATE

Αρχειοθετεί μόνο τα αρχεία που είναι νεώτερα από τηνημερομηνία DATE.

--newer-mtime DATE Αρχειοθετεί μόνο τα αρχεία που έχουν μεταβληθείμεταγενέστερα από την ημερομηνία DATE.

--mode M Κατά την αρχειοθέτηση χρησιμοποιεί τις άδειες πρόσβασηςπου ορίζονται από τον οκταδικό αριθμό M (βλ. απόλυτοτρόπο εκτέλεσης chmod, σελ. 81).

-p--same-permissions--preserve-permissions

Διατηρεί τις άδεις προσπέλασης των αρχείων κατά τηναρχειοθέτηση ή εξαγωγή τους.

-s--same-order--preserve-order

Κατά την εξαγωγή των αρχείων, διατηρείται η σειρά τουςόπως στην αρχειοθήκη.

--same-owner Διατηρεί τα ονόματα ιδιοκτητών/ομάδος των αρχείων κατάτην αρχειοθέτηση ή εξαγωγή τους (προκαθορισμένο γιατον χρήστη root).

--no-same-owner Χρησιμοποιεί το όνομα του τρέχοντος χρήστη/ομάδος κατάτην αρχειοθέτηση ή εξαγωγή των αρχείων (ισχύει γιαόλους τους χρήστες πλήν του root).

--group G Κατά την αρχειοθέτηση ορίζει την ομάδα των αρχείων.

--totals Εμφανίζει τον συνολικό αριθμό bytes πουαρχειοθετήθηκαν.

-V--label NAME

Ονομάζει την αρχειοθήκη με την ετικέτα NAME.

-w--interactive--confirmation

Διαλογική εργασία. Ζητάει επαλήθευση για κάθε πράξη.

-Z--compress--uncompress

Χρησιμοποιεί την εντολή compress για την συμπίεση ήαποσυμπίεση των αρχείων (το όνομα του αρχείου θαπρέπει να είναι .tar.Z).

Debian Guide 109

Page 110: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-z--gzip--gunzip--ungzip

Χρησιμοποιεί την εντολή gzip για την συμπίεση ήαποσυμπίεση των αρχείων (το όνομα του αρχείου θαπρέπει να είναι .tar.gz ή .tgz).

-j--bzip2

Χρησιμοποιεί την εντολή bzip2 για την συμπίεση ήαποσυμπίεση των αρχείων (το όνομα του αρχείου θαπρέπει να είναι .tar.bz2 ή .tbz). Σημείωση: παλαιότερεςεκδόσεις της tar χρησιμοποιούσαν την επιλογή -I.

--use-compress-program PROG Χρησιμοποιεί την εντολή PROG για την συμπίεση ήαποσυμπίεση των αρχείων. Η μόνη απαίτηση είναι ηεντολή να δέχεται την παράμετρο -d για αποσυμπίεση.

Ακολουθούν μερικά παραδείγματα χρήσης της εντολής tar.

Αν θέλετε να πάρετε συμπιεσμένο αντίγραφο του καταλόγου σας $HOME, στην αρχειοθήκη /tmp/homebackup.tar.gz, και να το μεταφέρετε σε ένα καινούριο δίσκο που έχετε συναρμόσειστον κατάλογο /newdisk:

$ tar czf /tmp/homebackup.tar.gz $HOME$ cd /newdisk/$ tar xzf /tmp/homebackup.tar.gzΗ τελευταία εντολή είναι ισοδύναμη με

$ tar xf -C /newdisk /tmp/homebackup.tar.gz

Αν θέλετε να ανανέωςετε τα αρχεία της αλληλογραφίας σας στην αρχειοθήκη μπορείτε ναχρησιμοποιήσετε την εντολή:

$ tar uvf /tmp/homebackup.tar.gz $HOME/mail

Ως χρήστης root, για να λάβετε ένα πλήρες αντίγραφο ενός καταλόγου, συμπιεσμένου με τηνεντολή bzip2, και να βλέπετε αναλυτικά τα αρχεία καθώς εισάγονται στην αρχειοθήκη:

# tar cvpjf /var/backup/etc.tar.gz /etc

13.Ο επεξεργαστής κειμένου vim

Όσο καλά και να μάθετε τις εντολές που διαχειρίζονται και επεξεργάζονται αρχεία, είτε κειμένουείτε δυαδικά, είναι σίγουρο ότι κάποια στιγμή θα θελήσετε να επεξεργαστείτε οι ίδιοι άμεσα ταπεριεχόμενα κάποιου αρχείου. Πιθανότατα να θελήσετε να τροποποιήσετε κάποιο αρχείοπαραμετροποίησης (configuration file) κάποιου προγράμματος, να γράψετε μόνοι σας κάποιοσενάριο κελύφους, να φτιάξετε στα γρήγορα ένα αρχείο δεδομένων για κάποιο πρόγραμμα, ήακόμη και να γράψετε το δικό σας πρόγραμμα σε κάποια γλώσσα προγραμματισμού, π.χ. C++.

Για να πραγματοποιηθεί οποίοδήποτε από αυτά τα σενάρια, θα πρέπει να χρησιμοποιήσετεκάποιο πρόγραμμα επεξεργασίας κειμένου ή κειμενογράφο. Το Linux και ειδικά το Debian,προσφέρει μια πληθώρα από τέτοια προγράμματα, αρκεί να δώσετε στην γραμμή εντολών

apt-cache search text editor

Debian Guide 110

Page 111: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

για να πειστείτε!

Στο παρόν βιβλίο θα προτείνουμε την εκμάθηση και χρήση του κειμενογράφου vim. Ο vim είναιαπόγονος του vi, του VIsual editor, που κυριαρχούσε στα παλιά συστήματα UNIX για πολλάχρόνια (αν και οι οπαδοί του Emacs θα αμφισβητήσουν το γεγονός αυτό...). Ο αρχικός viγράφτηκε από τον Bill Joey για το BSD UNIX και έκτοτε υιοθετήθηκε από όλα τα υπάρχοντασυστήματα UNIX, λόγω των πολλών δυνατοτήτων του, του μικρού μεγέθους του και τηςμεταφερσιμότητάς του σε άλλα συστήματα (portability).

Με το πέρασμα του χρόνου, οι απαιτήσεις αυξήθηκαν και εμφανίστηκε ένας νέος διάδοχος για τοθρόνο του “επίσημου” κειμενογράφου του UNIX. Ο vim, του οποίου τα αρχικά σημαίνουν ViIMproved, γράφτηκε από τον Bram Moolenaar και προσφέρει δεκάδες επιπλέον δυνατότητεςστον αρχικό vi και πλήρη συμβατότητα με τις εντολές του αρχικού.

Ο χειρισμός του vim, ξεφεύγει από τους κοινούς κειμενογράφους που πιθανόν να έχετεσυναντήσει. Αν και σκοπός του παρόντος οδηγού δεν είναι η ανάλυση της λειτουργίας του vim,θα αναφέρουμε ορισμένα βασικά χαρακτηριστικά για να μπορέσετε να τον χρησιμοποιήσετεεπαρκώς.

Ο vim, καθώς και o αρχικός vi, χαρακτηρίζεται από μια κατάσταση λειτουργίας του η οποίαμπορεί να είναι:

• Κατάσταση εντολών (command mode), στην οποία μπορείτε να χειριστείτε το πρόγραμμα ή νατροποποιήσετε τα περιεχόμενα του κειμένου.

• Κατάσταση Εισαγωγής (insert mode), στην οποία έχετε άμεσο έλεγχο του κειμένου.

Αναφέρουμε εδώ ορισμένες από τις βασικές εντολές του vim:

Εντολές Λειτουργία

ESC Ενεργοποιεί την κατάσταση εντολών.

i Ενεργοποιεί την κατάσταση εισαγωγής κειμένου στο σημείο που βρίσκεται ο δρομέας(cursor).

:FILE Φορτώνει το αρχείο FILE.

:q Έξοδος από το πρόγραμμα.

:w Αποθήκευση του αρχείου.

:x Αποθήκευση του αρχείου και άμεση έξοδος από το πρόγραμμα. Ισοδύναμο με τηνwq.

x Διαγραφή του χαρακτήρα στον οποίο βρίσκεται ο δρομέας.

d Διαγραφή της τρέχουσας γραμμής κειμένου.

yy Αντιγραφή της τρέχουσας γραμμής στο πρόχειρο (clipboard).

p Αντιγραφή του κειμένου που βρίσκεται στο πρόχειρο (clipboard) στην τρέχουσα θέσητου δρομέα.

Ο κειμενογράφος vim δεν είναι προεγκατεστημένος σε ένα σύστημα Debian, μπορείτε όμως νατον εγκαταστήσετε πολύ εύκολα ως εξής (ως χρήστης root):

Debian Guide 111

Page 112: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

# apt-get -u install vim

Hint: Ο κειμενογράφος vim παρέχει την δυνατότητα του διαφορετικού χρωματισμού τουκειμένου κάτι το οποίο είναι ιδιαίτερα χρήσιμο ειδικά όταν γράφετε ή τροποποιείτεκώδικα, σενάρια κελύφους ή αρχεία παραμετροποίησης προγραμμάτων. Η επιλογή τουsyntax highlighting όπως λέγεται δεν είναι ενεργοποιημένη εξαρχής αλλά μπορείτε πολύεύκολα να την ενεργοποιήσετε ως εξής:

# vi /etc/vim/vimrc

ή

# vi /etc/vimrc

αναλόγως με το ποια έκδοση του vim έχετε εγκατεστημένη. Αναζητήστε τις γραμμέςκειμένου:

" Vim5 and later versions support syntax highlighting. Uncommenting the next

" line enables syntax highlighting by default.

" syntax on

Και αφαιρέστε τον χαρακτήρα " πρίν από την γραμμή syntax on. Δηλαδή θα πρέπει τοκείμενο να μεταβληθεί στο εξής:

" Vim5 and later versions support syntax highlighting. Uncommenting the next

" line enables syntax highlighting by default.

syntax on

Κατόπιν αποθηκεύστε το αρχείο ως εξής. Πατήστε ESC και δώστε :wq στη γραμμή εντολώντου vim. Έχετε ενεργοποιήσει τον συντακτικό χρωματισμό του vim.

Debian Guide 112

Page 113: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 12 - Συστήματα αρχείων του Linux

1.Γενικά

Το σύστημα αρχείων του Linux και γενικότερα ενός συστήματος UNIX δεν είναι απαραίτητο ότιθα βρίσκεται σε μία φυσική μονάδα, όπως ένα διαμέρισμα δίσκου. Για την ακρίβεια, όπωςείδατε και στο κεφ. 5 κατά την εγκατάσταση, κάτι τέτοιο δε συνιστάται. Αντίθετα, προτείνεται ηχρήση πολλών διαμερισμάτων δίσκου ως δευτερέυοντα συστήματα αρχείων που θαφιλοξενήσουν τους διάφορους καταλόγους /home, /usr, /var, κ.ο.κ.

Το πρωτεύον σύστημα αρχείων είναι πάντα αυτό που φιλοξενεί τον βασικό κατάλογο root /, καιόλα τα υπόλοιπα έιναι δευτερεύοντα. Για κάθε σύστημα αρχείων, πρωτεύον ή δευτερεύονυπάρχει ένας αντίστοιχος βασικός κατάλογος root. Επειδή αυτό μάλλον θα προκαλέσει σύγχυση,θα χρησιμοποιήσουμε ένα παράδειγμα.

Έστω ότι έχουμε δύο συστήματα αρχείων, σε δύο διαφορετικά διαμερίσματα hda1 και hda2 στοδίσκο. Το ένα είναι το πρωτεύον που περιέχει τον βασικό κατάλογο root / του συστήματός μαςκαι το δεύτερο περιέχει τον κατάλογο /usr.

Ο βασικός κατάλογος root για τον υπολογιστή μας είναι στο hda1. Κάθε ένα από τα συστήματααρχείων έχει το δικό του βασικό κατάλογο root. Στο διαμέρισμα hda1, ο βασικός κατάλογος rootταυτίζεται με τον κατάλογο root του υπολογιστή μας. Στο διαμέρισμα hda2, όμως ο βασικόςκατάλογος είναι αυτός που περιέχει τα αρχεία που εμείς βλέπουμε ότι ανήκουν στο /usr.

Αυτό που γίνεται όταν χρησιμοποιούμε δύο ή περισσότερα συστήματα αρχείων, είναι νασυνδέουμε τον βασικό κατάλογο των δευτερευόντων συστημάτων αρχείων με έναν κατάλογοτου πρωτεύοντος. Στο παράδειγμά μας, συνδέσαμε τον βασικό κατάλογο του συστήματοςαρχείων που βρίσκεται στο διαμέρισμα hda2 με τον κατάλογο /usr του συστήματος αρχείων πουβρίσκεται στο hda1. Αυτή η σύνδεση ονομάζεται συναρμογή (mount), και ο κατάλογος /usr οαρμός του συστήματος αρχείων που βρίσκεται στο hda2.

Αυτό που έχει ιδιαίτερη σημασία είναι ότι η συναρμογή γίνεται ανεξαρτήτως του είδους τουσυστήματος αρχείων του δευτερεύοντος ή αν είναι διαφορετικό από το πρωτεύον. Επιπλέον, ανεξαιρέσουμε τα εργαλεία που διαχειρίζονται τις συναρμογές και τα συστήματα αρχείων, στουπόλοιπο λειτουργικό δεν είναι εμφανής η χρήση τους. Υπάρχει έτσι, μια ομοιόμορφηαντιμετώπιση των αρχείων και των καταλόγων, ανεξαρτήτως του συστήματος αρχείων στοοποίο φιλοξενούνται.

Αυτό ακριβώς το χαρακτηριστικό γίνεται ιδιαίτερα φανερό όταν προσπαθούμε να συναρμόσουμεετερογενή συστήματα αρχείων, όπως δικτυακά συστήματα αρχείων ή άλλων λειτουργικώνσυστημάτων (π.χ. Windows, MacOS).

Προφανώς, τα αρχεία σε ένα σύστημα αρχείων που είναι συνδεδεμένο σε κάποιον αρμό είναιπροσβάσιμα μόνο όσο ισχύει η σύναρμογή.

2.Συστήματα αρχείων δίσκων

Τα βασικά συστήματα αρχείων που θα χρησιμοποιήσετε, τουλάχιστον ως νέοι χρήστες του Linuxθα είναι αυτά που φιλοξενούνται σε διαμερίσματα (partitions) δίσκων. Υπάρχει μεγάλη πληθώραδιαθέσιμων συστημάτων αρχείων δίσκων (disk filesystems), μερικά από τα οποία είναι γενικήςχρήσης ενώ άλλα απευθύνονται σε συγκεκριμένες απαιτήσεις και συνθήκες.

Debian Guide 113

Page 114: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Τα πιο συνηθισμένα συστήματα αρχείων που χρησιμοποιούνται σε σχεδόν όλες τις διαθέσιμεςδιανομές Linux είναι τα ext2 και ext3.

Το συστήμα αρχείων ext2

Το ext2 είναι η δεύτερη έκδοση του extended filesystem (ext), το οποίο βασίστηκε με τη σειράτου στο σύστημα αρχείων του Minix που χρησιμοποιούσε στις αρχικές του εκδόσεις το Linux. Γιαπολλά χρόνια ήταν το de facto σύστημα αρχείων που χρησιμοποιότανε σε όλες τις εκδόσειςκαθώς πρόσφερε υψηλή απόδοση, ασφάλεια δεδομένων και χαμηλή κατανάλωσηεπεξεργαστικής ισχύος. Τα κύρια μειονεκτήματα που οδήγησαν στην ανάπτυξη άλλωνεναλλακτικών συστημάτων αρχείων ήταν ο μεγάλος χρόνος επιδιόρθωσης με την εντολή fsck σεπερίπτωση βλάβης (για μεγέθη της τάξεως των μερικών GB ο χρόνος μπορούσε να φτάσει σεδεκάδες λεπτά), το οποίο με τη σειρά του σήμαινε αυξημένο χρόνο εκκίνησης του συστήματος.Σε επαγγελματικά περιβάλλοντα κάτι τέτοιο είναι ανεπίτρεπτο και έπρεπε να βρεθεί μια λύσηστο πρόβλημα. Η λύση είναι τα συστήματα αρχείων με αρχείο journal (journalling filesystems).

Journalling

Το journalling είναι μια τεχνική που χρησιμοποιήθηκε αρχικά σε επαγγελματικά συστήματααρχείων σε εμπορικά περιβάλλοντα UNIX. Υπάρχει μεγάλη βιβλιογραφία γύρω από τοjournalling και την ασφάλεια των δεδομένων, αλλά η γενική φιλοσοφία ενός τέτοιου συστήματοςείναι απλή. Πρακτικά, σε ένα τέτοιο σύστημα αρχείων όλες οι αλλαγές αποθηκεύονται πρώτα σεένα δεσμευμένο χώρο του συστήματος αρχείων, το αρχείο journal, και όχι απευθείας στακανονικά αρχεία. Όταν το αρχείο αυτό φτάσει ένα συγκεκριμένο μέγεθος ή όταν περάσει έναπροκαθορισμένο χρονικό διάστημα (συνήθως μερικά δευτερόλεπτα), οι αλλαγές που βρίσκονταιστο αρχείο journal αποθηκεύονται πλέον στους κανονικούς παραλήπτες. Αυτή η μέθοδοςευθύνεται για την αυξημένη ασφάλεια δεδομένων που προσφέρουν αυτά τα συστήματα καθώςκαι για τους μειωμένους χρόνους εκκίνησης (δεν είναι πλέον απαραίτητος ο έλεγχος με τηνεντολή fsck σε κάθε εκκίνηση).

Journalling και ext3

Το ext3 είναι η απάντηση του ext2 στα εμπορικά journalling συστήματα αρχείων. Τα θετικά τουσημεία είναι η συμβατότητά του με το ext2 και η δυνατότητα μετατροπής ενός υπάρχοντοςσυστήματος αρχείων ext2 σε ext3 και αντίστροφα. Παρέχει υψηλή ασφάλεια και εξελιγμένουςαλγορίθμους ανάγνωσης και εγγραφής δεδομένων που ξεπερνούν σε απόδοση ακόμη καιεξειδικευμένα εμπορικά συστήματα αρχείων.

Η εντολή mkfs και παραλλαγές

Δοθείσας μιας μονάδας συσκευής block ή ένα σημείο επαφής αυτής μπορούμε να τηδιαμορφώσουμε εύκολα με ένα σύστημα αρχείων οποιουδήποτε είδους θελήσουμε με τη χρήσητης εντολής mkfs (make filesystem). Η εντολή αυτή είναι ένας wrapper που καλεί τηναντίστοιχη εντολή διαμόρφωσης, αν φυσικά υπάρχει. Η σύνταξή της είναι

mkfs -t <fstype> [fs-options] filesys

όπου fstype ο τύπος του συστήματος αρχείων με τις δικές του επιλογές fs-options και filesys τοόνομα της μονάδας συσκευής block ή το σημείου αρμού της (mount point).

Debian Guide 114

Page 115: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Για το ext2 ή ext3 χωρίς να είναι απαραίτητη η εγκατάσταση επιπλέον λογισμικού στο σύστημάμας, μπορούμε να χρησιμοποιήσουμε την mkfs ή απευθείας μια από τις mkfs.ext2, mkfs.ext3,mke2fs. Πρόκειται στην ουσία για το ίδιο πρόγραμμα, καθώς είναι σθεναροί σύνδεσμοι (hardlinks) στο ίδιο αρχείο.

Για εξάσκηση στις ικανότητές μας στο κέλυφος, κάτι τέτοιο μπορούμε πολύ εύκολα να τοδούμε χρησιμοποιώντας τις εντολές του προηγούμενου κεφαλαίου και τις δυνατότητες τωνσωληνώσεων:

# ls -li /sbin |sort|uniq -D -W 1

8064 -rwxr-xr-x 3 root root 118796 May 22 01:11 e2fsck

8064 -rwxr-xr-x 3 root root 118796 May 22 01:11 fsck.ext2

8064 -rwxr-xr-x 3 root root 118796 May 22 01:11 fsck.ext3

8065 -rwxr-xr-x 3 root root 19456 May 22 01:11 e2label

8065 -rwxr-xr-x 3 root root 19456 May 22 01:11 findfs

8065 -rwxr-xr-x 3 root root 19456 May 22 01:11 tune2fs

8096 -rwxr-xr-x 2 root root 22652 Jul 14 2002 ifdown

8096 -rwxr-xr-x 2 root root 22652 Jul 14 2002 ifup

8175 -rwxr-xr-x 3 root root 27212 May 22 01:11 mke2fs

8175 -rwxr-xr-x 3 root root 27212 May 22 01:11 mkfs.ext2

8175 -rwxr-xr-x 3 root root 27212 May 22 01:11 mkfs.ext3

Κλείνοντας αυτήν τη μικρή παρένθεση, η διαμόρφωση σε ext2 ή ext3 με την εντολή mke2fs,μπορεί να γίνει ως εξής:

mke2fs [OPTIONS] filesys

Η mke2fs δέχεται πληθώρα επιλογών, αλλά προς το παρόν οι σημαντικότερες που θα πρέπει νασας απασχολήσουν είναι οι εξής:

Επιλογές Λειτουργία

-b blocksize Ρυθμίζει το μέγεθος του block που θα χρησιμοποιήσει ημονάδα block. Δεκτά μεγέθη είναι τα 1024, 2048, 4096.

-L label Ονομάζει το σύστημα αρχείων με την ετικέτα label.

-j Το σύστημα αρχείων θα είναι ext3 (ενεργοποιεί το αρχείοjournal).

-n Εκτέλεση της εντολής χωρίς στην πραγματικότητα ναδιαμορφώσει κάποιο σύστημα αρχείων, απλά δείχνει τί θαέκανε. Χρησιμοποιήστε την αν δεν είστε σίγουροι.

Για παράδειγμα, για να διαμορφώσουμε το διαμέρισμα /dev/hda2 μεγέθους 1GB σε ext3μπορούμε να δώσουμε την εξής εντολή (μόνο ως χρήστης root!):

# mke2fs -j /dev/hda2mke2fs 1.34-WIP (21-May-2003)

Debian Guide 115

Page 116: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)4194304 inodes, 8388608 blocks419430 blocks (5.00%) reserved for the super userFirst data block=0256 block groups32768 blocks per group, 32768 fragments per group16384 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624

Writing inode tables: doneCreating journal (8192 blocks): doneWriting superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 33 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.

Αυτό είναι και το αποτέλεσμα του προγράμματος που θα πρέπει να περιμένετε.

Εδώ, πρέπει να σημειώσουμε ότι θα πρέπει να είναι ενεργοποιημένη η υποστήριξη του ext3 στονπυρήνα του Linux που τρέχετε (η υποστήριξη ext2 είναι πάντα ενεργοποιημένη στους τυπικούςπυρήνες).

Τα συστήματα αρχείων reiserfs, xfs, jfs

Πέρα από τα ext2 και ext3, υπάρχουν πλέον και άλλα συστήματα αρχείων γενικής χρήσηςδιαθέσιμα για το Linux, συγκεκριμένα τα ReiserFS, το XFS της SGI και το JFS της IBM. Όλα είναισυστήματα αρχείων journalling και υποστηρίζονται από τον πυρήνα χωρίς απαραίτητουςοδηγούς. Για την διαμόρφωση όμως μονάδων συσκευών σε αυτά θα πρέπει να εγκαταστήσετεειδικό λογισμικό, όπως φαίνεται στον ακόλουθο πίνακα:

ΣύστημαΑρχείων

Απαραίτητα πακέτα λογισμικού στοDebian

ReiserFS progsreiserfs ή

reiserfsprogs

SGI XFS kernel-patch-xfsxfsprogs

IBM JFS jfsutils

Καθένα από τα πακέτα αυτά μπορείτε να το εγκαταστήσετε με την εντολή:

apt-get install <packagename>

Λεπτομέρειες για τη χρήση της apt-get θα δούμε στο επόμενο κεφάλαιο.

Debian Guide 116

Page 117: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

3.Άλλα συστήματα αρχείων

Πέρα από τα συστήματα αρχείων που είδαμε τα οποία είναι ειδικά για μονάδες δίσκων τουLinux, υπάρχουν και άλλα που σκοπό έχουν την ανταλλαγή αρχείων με άλλα λειτουργικάσυστήματα τα οποία έχουν δικά τους συστήματα αρχείων. Το πιο χρήσιμο ίσως σύστημα αρχείωνμε το οποίο θα ασχοληθείτε στο Linux πέρα από τα ext2/ext3 είναι το σύστημα αρχείων των CD-ROM, το ISO 9660.

Το σύστημα αρχείων ISO 9660

Όλα σχεδόν τα CD που κυκλοφορούν, με εξαίρεση κάποια παλαιότερα που χρησιμοποιούν το HFSσύστημα αρχείων των υπολογιστών Macintosh, χρησιμοποιούν το σύστημα αρχείων ISO 9660.Υπάρχουν κάποιες παραλλαγές, όπως το Joliet, που χρησιμοποιείται από τα Windows γιαδιατήρηση κάποιων επιπλέον πληροφοριών (ιδιοκτησία, μεγαλύτερα ονόματα) για τα αρχεία,και το RockRidge που είναι κάτι παρόμοιο με το Joliet αλλά προυπήρχε αν και η χρήση του ήτανπεριορισμένη σε συστήματα UNIX.

Για να μπορέσετε να διαβάσετε CD που έχουν γραφτεί σε οποίονδήποτε σύγχρονο υπολογιστήκαι χρησιμοποιούν αυτό το σύστημα αρχείων, πιθανόν να χρειαστεί να ενεργοποιήσετε τηνυποστήριξη για το ISO 9660 στον πυρήνα. Όλοι οι πυρήνες που διατίθενται με τις διανομές Linux--και φυσικά και με το Debian-- έχουν ενεργοποιημένη την υποστήριξη του ISO 9660.

Θα πρέπει, όπως εξηγήσαμε και στην αρχή του κεφαλαίου να συναρμόσετε το σύστημα αρχείουπου βρίσκεται στο CD-ROM με το πρωτεύον σύστημα αρχείων του συστήματος σας. Αυτό τοεπιτυγχάνετε με την εντολή mount για την οποία θα μιλήσουμε σε επόμενη παράγραφο.

Χρήσιμα πακέτα λογισμικού στό Debian: mkisofs, cdrecord, sg3-utils.

Τα σύστηματα αρχείων VFAT, MSDOS και NTFS

Σε περίπτωση που στον ίδιο υπολογιστή έχετε εγκατεστημένα Windows, και έχετε κάποιοδιαμέρισμα διαμορφωμένο σε VFAT (που περιλαμβάνει τα συστήματα αρχείων FAT16, FAT32, καιόλες τις παραλλαγές τους) ή NTFS (που χρησιμοποιείται από τα Windows NT/2000/XP), μπορείτενα τα προσπελάσετε μέσα από το Linux. Κάτι τέτοιο είναι χρήσιμο σε περίπτωση που θέλετε ναανταλλάξετε δεδομένα από το ένα λειτουργικό στο άλλο.

Και σε αυτήν την περίπτωση θα χρειαστεί να ενεργοποιήσετε την υποστήριξη αυτών τωνσυστημάτων αρχείων στον πυρήνα (βλ. Παράρτημα VI).

Χρήσιμα πακέτα λογισμικού στό Debian: mtools, ntfstools.

4.Δικτυακά συστήματα αρχείων

Όπως αναφέραμε και στην αρχή του κεφαλαίου, το Linux έχει μια ενιαία διαχείριση των αρχείωναναξάρτητα από το ακριβές μέσον από το οποίο έχουν συναρμοστεί (mount) στο κυρίωςσύστημα αρχείων. Αυτό επέτρεψε στους προγραμματιστές να αναπτύξουν συστήματα αρχείωνπου λειτουργούν μέσω δικτύου και στα οποία το ίδιο το σύστημα αρχείων βρίσκεται σε άλλουπολοιγιστή UNIX (μέσω NFS), σε διαφορετικής αρχιτεκτονικής υπολογιστή (π.χ. Windows), ηακόμη και διαμοιρασμένο στο δίκτυο χωρίς να βρίσκεται εξοκλήρου σε κάποιο συγκεκριμένουπολογιστή (ClusterFS, GFS). Στο Linux, αυτά τα αρχεία θα φαίνονται απλώς σαν κοινά αρχείασε κάποιον κατάλογο κάτω από τον οποίο γίνεται η συναρμογή.

Debian Guide 117

Page 118: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Φυσικά, υπάρχουν κάποιοι περιορισμοί που ισχύουν στα δικτυακά συστήματα αρχείων, πουέχουν κυρίως να κάνουν με τις ιδιοκτησίες των αρχείων (πρέπει να υπάρχει κάποια συνέπειαστα ονόματα των χρηστών ανάμεσα σε δύο υπολογιστές που διαμοιράζονται αρχεία μέσωδικτύου).

Το σύστημα αρχείων NFS (επικοινωνία με UNIX)

Είχαμε ήδη μια πρώτη επαφή με το σύστημα NFS (Network File System) κατά την εγκατάστασητου Debian. Το NFS είναι ένα αρκετά παλιό δικτυακό σύστημα αρχείων που χρησιμοποιείταιευρέως ακόμη και σήμερα, λόγω της σταθερότητας, της αξιοπρεπούς απόδοσης και της ευκολίαςχειρισμού του. Η δήλωση μιας διαδρομής σε σύστημα NFS είναι η εξής:

{όνομα-server ή διεύθυνση IP}:/directory

Για παράδειγμα, αν έχετε ονομάσει τον τομέα (domain) του εσωτερικού σας δικτύου arda.nonetκαι υπάρχει ένας υπολογιστής ονόματι mordor με διεύθυνση IP 192.168.1.10 που προσφέρει τονκατάλογο /home μέσω NFS, μπορείτε να χρησιμοποιήσετε τις εξής διαδρομές:

mordor.arda.nonet:/home192.168.1.10:/home

Πληροφορίες για το NFS, μπορείτε να βρείτε στην σελίδα οδηγιών nfs:

$ man nfs

Χρήσιμα πακέτα λογισμικού στό Debian: portmap, nfs-kernel-server, nfs-user-server.

Το σύστημα αρχείων smbfs (επικοινωνία με Windows)

Με παρόμοιο τρόπο, μπορείτε να δείτε τα αρχεία των υπολογιστών σε ένα δίκτυο Windows με τοπρόγραμμα Samba. Το πρόγραμμα αυτό εμφανίζει στο δίκτυο αυτό τον υπολογιστή σας ως άλλοένα σύστημα Windows και μπορείτε να μεταφέρετε αρχεία από και προς τον υπολογιστή σας στουπόλοιπο δίκτυο. Δυστυχώς, η εγκατάσταση ενός τέτοιου συστήματος είναι σχετικά περίπλοκηκαι ξεφεύγει από τους σκοπούς αυτού του οδηγού (στην πραγματικότητα είναι θέμα ενόςολόκληρου βιβλίου από τον εκδοτικό οίκο O'Reilly!). Εντούτοις, στο κεφ. 14 αναφέρουμε τιςβασικές πληροφορίες για την ρύθμιση αυτού του συστήματος ώστε να μπορείτε να ανταλλάξετεδεδομένα σε μια ομάδα εργασίας (workgroup) ενός δικτύου Windows.

Χρήσιμα πακέτα λογισμικού στό Debian: smbclient, smbfs, samba.

5.Ειδικά συστήματα αρχείων

Στα συστήματα αρχείων που είδαμε μέχρι τώρα τα αρχεία έχουν κάποια φυσική υπόσταση,δηλαδή υπάρχουν στην επιφάνεια κάποιου δίσκου ή άλλου αποθηκευτικού μέσου. Το Linuxπροσφέρει για συγκεκριμένες ανάγκες και κάποια εικονικά συστήματα αρχείων στα οποία τααρχεία έχουν κάποια ειδική σημασία, π.χ. παρουσιάζουν πληροφορίες για το σύστημα ήαντιστοιχούν σε συσκευές που συνδέονται κατά τη διάρκεια λειτουργίας του συστήματος (hot-plug), όπως συμβαίνει με τις συσκευές USB και Firewire.

Το εικονικό σύστημα αρχείων devfs

Debian Guide 118

Page 119: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

To σύστημα αυτό χρησιμοποιείται ως εναλλακτική λύση στον τρόπο διαχείρισης των αρχείωντων μονάδων συσκευών που βρίσκονται συνήθως στον κατάλογο /dev. Χωρίς το devfs, με μιααπλή ματιά θα διαπιστώσετε το τεράστιο πλήθος των αρχείων που βρίσκονται σε αυτόν τονκατάλογο.

Κάθε ένα από αυτά αρχεία είναι σημείο επαφής μιας μονάδας συσκευής υλικού (διαμερίσματοςσκληρού δίσκου, μονάδας CD-ROM, τερματικού, σειριακής και παράλληλης θύρας, κλπ). Για ναχρησιμοποιήσετε την κάθε συσκευή θα πρέπει να χρησιμοποιήσετε το σημείο επαφής της.Φυσικά, σπάνια βρίσκεται υπολογιστής που να έχει τόσες συσκευές συνδεδεμένες όσα καισημεία επαφών. Τα σημεία επαφών έχουν προδημιουργηθεί για μελλοντική χρήση, με τοσενάριο κελύφους /dev/MAKEDEV. Τα περισσότερα από αυτά είναι αχρησιμοποίητα αλλάβρίσκονται στον κατάλογο αυτό για περίπτωση που υπάρξει ανάγκη.

Τα προβλήματα που δημιουργούνται με αυτήν την αντιμετώπιση, πέρα από το πλήθος τωνπεριττών αρχείων, είναι αρχικά η μη ομαδοποίηση των σημείων επαφής των συσκευών, δηλαδήανεξάρτητα του είδους της συσκευής (διαμέρισμα δίσκου, σειριακής θύρας, ποντικιού, κλπ) όλαβρίσκονται στον κατάλογο /dev. Στο παρελθόν, όταν ο αριθμός των διαθέσιμων συσκευών δενήταν τόσο μεγάλος αυτό δεν αποτελούσε πρόβλημα. Όμως τα πρωτόκολλα SCSI, USB καιFirewire, χρησιμοποιούν γενικής χρήσης θύρες στις οποίες συνδέονται αμέτρητες συσκευές. Μετο υπάρχον σύστημα θα έπρεπε να δημιουργήσουμε σημεία επαφής για όλες τις πιθανέςσυσκευές που συνδέονται στην κάθε θύρα και όλα αυτά θα έπρεπε να είναι μέσα στον κατάλογο/dev μη ομαδοποιημένα! Κάτι τέτοιο είναι φυσικά παράλογο.

Αλλά αν υποθέσουμε ότι λυνόταν το πρόβλημα της ομαδοποίησης, θα είχαμε ακόμη ένασημαντικό πρόβλημα να αντιμετωπίσουμε, αυτό της πρόβλεψης όλων των πιθανών συσκευώνπου συνδέονται ή πρόκειται να συνδεθούν στις συγκεκριμένες θύρες ώστε να δεσμεύσουμε γιακάθε μια τους αντίστοιχους πρωτεύοντες και δευτερεύοντες αριθμούς μονάδος (major και minordevice numbers). Με το υπάρχον συστημα, κάτι τέτοιο δεν είναι εφικτό, καθώς γρήγορα θαεξαντλούνταν όλοι οι διαθέσιμοι αριθμοί (έχοντας διαθέσιμο εύρος 8-bit ο καθένας).

Αυτά και άλλα ακόμη προβλήματα της υπάρχουσας υποδομής, οδήγησαν στην ανάπτυξη ενόςσυστήματος όπως το Devfs. Το Devfs, προσφέρει ένα εικονικό σύστημα αρχείων που εμφανίζειομαδοποιημένες τις συσκευές και μόνο αυτές που είναι συνδεδεμένες την κάθε στιγμή. Αυτό έχειτο θετικό χαρακτηριστικό της μείωσης του αριθμού των αρχείων και την εμφάνιση ακόμη καιτων συσκευών που συνδέονται κατά τη διάρκεια της λειτουργίας του υπολογιστή (hot-pluggabledevices). Συν τοις άλλοις, προσφέρει πλήρη συμβατότητα με την ονοματολογία των συσκευώντου Linux όπως χρησιμοποιούνται με το υπάρχον σύστημα.

Μερικά παραδείγματα της ονοματολογίας του Devfs εμφανίζονται στον επόμενο πίνακα:

Παλιάονομασία

Ονομασία Devfs

/dev/hda1 /dev/ide/host0/bus0/target0/lun0/part1/dev/sda3 /dev/scsi/host0/bus0/target0/lun0/part3/dev/sg1 scsi/host2/bus0/target0/lun0/generic/dev/tty2 /dev/vc/2/dev/psaux /dev/misc/psaux

Debian Guide 119

Page 120: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Φυσικά ισχύουν και οι καινούριες ονομασίες για λόγους συμβατότητας.

Για να χρησιμοποιήσετε το Devfs θα πρέπει να ενεργοποιήσετε την αντίστοιχη επιλογή στονπυρήνα του Linux (βλ. Παράρτημα VI).

Για περισσότερες πληροφορίες για το Devfs, μπορείτε να ανατρέξετε στην διεύθυνση:

http://www.atnf.csiro.au/~rgooch/linux/docs/devfs.html

Χρήσιμα πακέτα λογισμικού στό Debian: devfsd.

Το εικονικό σύστημα αρχείων procfs

Όπως θα δούμε και στο κεφ. 14, το Linux προσφέρει αρκετές εντολές και εργαλεία για τηνδιαχείρισή του. Με αυτές τις εντολές μπορεί κάποιος να μάθει σημαντικές πληροφορίες για τοσύστημα καθώς και να επέμβει σε αυτό. Πέρα από τον παραδοσιακό αυτό τρόπο, προσφέρεταικαι ένα εικονικό σύστημα αρχείων, στο οποίο τα αρχεία παρουσιάζουν την τρέχουσα κατάστασητου συστήματος, δηλαδή τις παραμέτρους του πυρήνα, των οδηγών συσκευών, τις διεργασίεςτου συστήματος, κλπ.

Πιο αναλυτικά στο procfs και στα χαρακτηριστικά του θα αναφερθούμε στο κεφ. 14.

Το procfs είναι εκ των προτέρων ενεργοποιημένο σε κάθε πυρήνα του Linux και ο αρμός του(mount point είναι πάντα ο κατάλογος /proc).

Χρήσιμα πακέτα λογισμικού στό Debian: procps, psmisc, systune.

6.Οι Εντολές mount & umount

Η εντολή mount

Αφού αναφέραμε μερικά από τα σημαντικότερα συστήματα αρχείων που είναι διαθέσιμα στοLinux, θα πρέπει να δείξουμε και με ποιον τρόπο μπορούμε να τα προσπελάσουμε από το Linux,ή αν προτιμάτε, πώς να τα συναρμόσουμε στον βασικό κατάλογο root του συστήματός μας.

Η εντολή που θα πρέπει να χρησιμοποιήσουμε για τη συναρμογή είναι η mount. Η mount έχειδιάφορους τρόπους εκτέλεσης, η κάθε μία με διαφορετική σύνταξη στη γραμμή εντολών:

mount [-l]mount [OPTIOΝS] -amount [OPTIOΝS] device | dirmount [OPTIONS] device dir

Με τον πρώτο τρόπο εκτέλεσης, η mount απλώς επιστρέφει τα υπάρχοντα συστήματα αρχείωνπου είναι συναρμοσμένα στο σύστημα, και η επιλογή -l δίνει σε αγκύλες τις ετικέτες αυτών(labels), όπως αυτές έχουν δοθεί με κάποιο πρόγραμμα όπως fdisk, cfdisk, κλπ. Παράδειγμα:

# mount/dev/ide/host0/bus0/target0/lun0/part1 on / type ext3 (rw, errors=remount-ro)proc on /proc type proc (rw)/dev/ide/host0/bus0/target0/lun0/part5 on /usr type ext3 (rw)/dev/ide/host0/bus0/target0/lun0/part6 on /home type ext3 (rw)

Η mount μας δίνει τις εξής πληροφορίες: το σύστημα χρησιμοποιεί devfs, υπάρχει εικονικό

Debian Guide 120

Page 121: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

σύστημα αρχείων /proc και τρία συστήματα ext3 στα διαμερίσματα 1, 5 και 6. Το πρώτο είναι τοπρωτεύον και φιλοξενεί τον βασικό κατάλογο root, ενώ τα 5 και 6 φιλοξενούν τους καταλόγους/usr και /home αντίστοιχα. Οι επιλογές που φαίνονται στις παρενθέσεις θα αναλυθούνπαρακάτω.

Η δεύτερη χρήση της mount είναι με την επιλογή -a. Σε αυτήν την περίπτωση η mountσυναρμόζει όλα τα συστήματα αρχείων που είναι δηλωμένα στο αρχείο /etc/fstab, για το οποίοθα αναφερθούμε στην επόμενη παράγραφο.

Η τρίτη περίπτωση χρησιμοποιεί πάλι το αρχείο fstab, αλλά συναρμόζει μόνο το ζητούμενοσύστημα αρχείων. Θα πρέπει να δοθεί είτε το όνομα της μονάδας της συσκευής (π.χ. τοδιαμέρισμα) είτε το όνομα του αρμού (mount point) του συστήματος αρχείων. Για παράδειγμα,χρησιμοποιώντας το προηγούμενο παράδειγμα, οι παρακάτω εντολές είναι ισοδύναμες:

# mount /dev/ide/host0/bus0/target0/lun0/part6ή

# mount /dev/hda6ή

# mount /home

Παρόμοιο τρόπο θα χρησιμοποιούμε για να συναρμόσουμε ένα cd-rom, συνήθως υπό τονκατάλογο /cdrom (θεωρώντας πάντα ότι υπάρχει μια καταχώρηση στο αρχείο fstab):

# mount /cdrom

Τέλος, στην περίπτωση που θέλουμε να συναρμόσουμε κάποιο σύστημα αρχείων προσωρινά καιδεν υπάρχει καταχώρηση στο αρχείο fstab πρέπει να δοθεί και το όνομα της μονάδας τηςσυσκευής (device) και το όνομα του αρμού (dir). Για να κρατήσουμε μια ομοιομορφία σταπαραδείγματα, έστω ότι θέλουμε να συναρμόσουμε το διαμέρισμα hda7 που φιλοξενεί ένασύστημα αρχείων ext3 στον αρμό /tmp:

# mount -t ext3 /dev/hda7 /tmp

ή με τη χρήση του devfs

# mount -t ext3 /dev/ide/host0/bus0/target0/lun0/part7 /tmp

Θεωρώντας ότι η συσκευή οδηγού CD-ROM έχει σημείο επαφής το /dev/cdrom, μπορούμε νασυναρμόσουμε ένα cd-rom με σύστημα αρχείων ISO 9660, χωρίς να υπάρχει καταχώρηση στοfstab, ως εξής:

# mount -t iso9660 /dev/cdrom /cdrom

Προχωρώντας σε περισσότερα παραδείγματα, έστω ότι στο σύστημά μας είναι εγκατεστημέναπαράλληλα και τα Windows XP με δύο διαμερίσματα, ένα σε NTFS και ένα σε FAT32 (το οποίοστο Linux αναγνωρίζεται ως VFAT). Έστω ότι το NTFS βρίσκεται στο διαμέρισμα hda1 και τοFAT32 στο διαμέρισμα hdb5 (πρώτο λογικό διαμέρισμα στον δεύτερο δίσκο IDE, βλ. κεφ. 2).Αυτά θέλουμε να τα συναρμόσουμε στους καταλόγους /mnt/windows/ntfs και /mnt/windows/fatαντίστοιχα.

# mount -t ntfs /dev/hda1 /mnt/windows/ntfs

Debian Guide 121

Page 122: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

# mount -t vfat /dev/hdb5 /mnt/windows/fat

Αν τώρα θελήσουμε για παράδειγμα να συναρμόσουμε το NTFS διαμέρισμα μόνο για ανάγνωση,μπορούμε να χρησιμοποιήσουμε την επιλογή -o ro (Read Only):

# mount -t ntfs -o ro /dev/hda1 /mnt/windows/ntfs

Τέλος, έστω ότι για τον κατάλογο /home, θέλουμε να χρησιμοποιήσουμε NFS από τον servermoria με διεύθυνση IP 192.168.10.34, αλλά όχι στη προκαθορισμένη διαδρομή. Για ναπεριπλέξουμε τα πράγματα, έστω ότι ο moria διανέμει τους καταλόγους home των χρηστών υπότο όνομα /external/users/homedirs. Τότε, μπορούμε πολύ εύκολα να συναρμόσουμε τονκατάλογο αυτό στον δικό μας κατάλογο /home:

# mount -t nfs moria:/external/users/homedirs /homeή

# mount -t nfs 192.168.10.34:/external/users/homedirs /home

Αναφερθήκαμε σε ορισμένες επιλογές της mount χωρίς να τις εξηγήσουμε. Ακολουθείεπεξηγηματικός πίνακας ορισμένων από τις βασικότερες επιλογές που δέχεται η εντολή:

Επιλογές Λειτουργία

-t vfstype Ορίζει το είδος του συστήματος αρχείων. Μερικά από τααποδεκτά είναι: ext2, ext3, vfat, msdos, iso9660, hfs, ntfs,nfs, proc, reiserfs, jfs, ufs, xfs.

-r Ισοδύναμη με την -o ro.

-w Ισοδύναμη με την -o rw.

-f (fake) Προσποιείται την συναρμογή.

Debian Guide 122

Page 123: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-ο options Περνάει ειδικές επιλογές στο συγκεκριμένο σύστημααρχείων. Πολλά έχουν δικές τους επιλογές οι οποίεςπρέπει να δηλωθούν εδώ. Κοινές για όλα τα συστήματααρχείων είναι οι:

ro: Read Only, συναρμόζει το σύστημα μόνο για ανάγνωση.

rw: Read/Write, το σύστημα θα είναι διαθέσιμο και γιαεγγραφή.

remount: Επανασυναρμόζει το σύστημα αρχείων.

User: Ένας απλός χρήστης μπορεί να καλέσει την mountγια αυτό το σύστημα αρχείων.

Noauto: Δεν γίνεται αυτόματη συναρμογή του συστήματοςαρχείων με την εκκίνηση του συστήματος.

Ειδικά για το ext2/ext3 μπορούμε να χρησιμοποιήσουμε τιςεξής:

errors: Μπορεί να πάρει μία από τις εξής τιμές:

• errors=continue, συνεχίζει χωρίς πρωτοβουλία.

• errors=remount-ro, συναρμόζει το σύστημα μόνο γιαανάγνωση.

• errors=panic, τερματίζει απότομα το σύστημα και ορίζεικατάσταση πανικού.

Η εντολή umount

Αντίστροφα, μπορούμε να αποσυναρμόσουμε ένα σύστημα αρχείων από τον βασικό κατάλογο μετην εντολή umount.

Έχει παρόμοια σύνταξη με την mount, την οποία μπορούμε πιο εύκολα να δούμε με μερικάπαραδείγματα:

# umount -a

Αποσυναρμόζει όλα τα συνδεδεμένα συστήματα αρχείων (στην πραγματικότητα όλα όσααναφέρονται στο αρχείο /etc/mtab).

# umount /home

Αποσυναρμόζει το σύστημα αρχείων /home (ό,τι και αν είναι αυτό, ext3, nfs, κλπ).

# umount -a -t vfat

Αποσυναρμόζει όλα τα συστήματα αρχείων vfat.

# umount moria:/external/users/homedirs

Debian Guide 123

Page 124: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Αποσυναρμόζει το σύστημα αρχείων που συναρμόστηκε μέσω NFS από το server moria.

Για περισσότερες πληροφορίες για την umount, ανατρέξατε στην σελίδα οδηγιών της εντολής.

Το αρχείο fstab

Αναφερθήκαμε στο αρχείο fstab, που βρίσκεται στον κατάλογο /etc. Αυτό δεν είναι παρά ένααρχείο που ορίζει τα συστήματα αρχείων που θα συναρμοστούν στο σύστημα κατά την εκκίνηση.Είναι ένα απλό αρχείο κειμένου, στο οποίο κάθε γραμμή είναι μια καταχώρηση ενός συστήματοςαρχείων. Δίνεται ένα τυπικό αρχείο fstab:

# /etc/fstab: static file system information.## <file system> <mount point> <type> <options> <dump> <pass>/dev/hda1 / ext3 defaults,errors=remount-ro 0 1/dev/hda5 swap swap defaults 0 0proc /proc proc defaults 0 0/dev/fd0 /floppy auto defaults,user,noauto 0 0/dev/cdrom /cdrom iso9660 defaults,ro,user,noauto 0 0/dev/hda6 /usr ext3 defaults 0 2/dev/hda7 /var ext3 defaults 0 2/dev/hda8 /home ext3 defaults 0 2

(Οι γραμμές που αρχίζουν με τον χαρακτήρα # είναι σχόλια)

Στην πρώτη στήλη φαίνεται το όνομα της μονάδας block που φιλοξενεί το σύστημα αρχείων καιστη δεύτερη στήλη ο αρμός του (mount point). Στην τρίτη στήλη ορίζεται το είδος τουσυστήματος αρχείων (με την επιλογή auto, αφήνεται στον πυρήνα να αποφασίσει ποιο είδος θαχρησιμοποιήσει) και στην τέταρτη οι ειδικές επιλογές με τις οποίες κάθε σύστημα αρχείωνσυναρμόζεται. Η πέμπτη στήλη δε χρησιμοποιείται πλέον και τέλος, η έκτη στήλη ορίζει τηνσειρά προτεραιότητας με την οποία γίνεται η συναρμογή ξεκινώντας από 1 για το βασικόσύστημα αρχείων root και 2 για τα υπόλοιπα. Για τα δικτυακά και τα εικονικά συστήματααρχείων και για το διαμέρισμα εναλλαγής μνήμης (swap) η προτεραιότητα έχει την τιμή 0.

Το αρχείο εναλλαγής μνήμης (swap)

Αν και αρκετές φορές συναντάται ως swap filesystem, κάτι τέτοιο είναι λάθος, καθώς δενπρόκειται για σύστημα αρχείων. Δεν συναρμόζεται κάπου και δεν φιλοξενεί αρχεία ή άλλεςπαρόμοιες δομές. Η σύγχυση οφείλεται στο ότι δηλώνεται στο αρχείο fstab και καταλαμβάνεισυνήθως ένα διαμέρισμα, ενώ υπάρχουν ειδικά εργαλεία που το αρχικοποιούν όπως ακριβώςκαι με ένα σύστημα αρχείων. Είναι δυνατή η χρήση περισσοτέρων από μία μονάδα εναλλαγήςμνήμης με τη χρήση προτεραιοτήτων.

Υπάρχουν οι εξής απλές εντολές που αφορούν την δημιουργία και ενεργοποίηση ενός αρχείουεναλλαγής μνήμης: mkswap, swapon και swapoff. Συντάσσονται ως εξής:

mkswap [options] device | fileswapon -aswapon [-v] [-p priority] specialfile ...swapoff -aswapoff specialfile ...

Η mkswap αρχικοποιεί ένα αρχείο ή διαμέρισμα δίσκου για χρήση ως αρχείο εναλλαγής μνήμης.Από τις επιλογές που δέχεται, η πιο χρήσιμη για τους περισσότερους χρήστες είναι η -c, που

Debian Guide 124

Page 125: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

ελέγχει το διαμέρισμα δίσκου για κατεστραμμένα blocks πριν το αρχικοποιήσει.

Η swapon και swapoff ενεργοποιούν και απενεργοποιούν αντίστοιχα ένα αρχείο ή μονάδαεναλλαγής μνήμης. Οι παράμετροι που χρησιμοποιούν είναι οι εξής:

Επιλογές Λειτουργία

-a Ενεργοποιεί ή απενεργοποιεί όλα τα αρχεία ή μονάδεςεναλλαγής μνήμης που αναγράφονται στο αρχείο fstab.

-p (μόνο swapon) Ορίζει την προτεραιότητα της μονάδαςεναλλαγής μνήμης και φυσικά έχει σημασία η χρήση τηςμόνο για περισσότερες από μία μονάδες στο ίδιο σύστημα.

-s (μόνο swapon) Εμφανίζει πληροφορίες για την κατάστασητης μονάδας. Τις ίδιες πληροφορίες μπορούμε να λάβουμεκαι από το αρχείο /proc/swaps.

-e (μόνο swapon) Σε συνδυασμό με την -a, αγνοεί σιωπηλάμη διαθέσιμες μονάδες εναλλαγής μνήμης.

7.Επιδιόρθωση συστημάτων αρχείων

Υπάρχουν δύο ειδών βλάβες που μπορεί να εμφανιστούν σε ένα σύστημα αρχείων, οι βλάβεςλόγω ελαττωματικού υλικού και οι λογικές βλάβες.

Όσον αφορά τις βλάβες του υλικού, λίγα μπορούμε να κάνουμε, και εξαρτάται πάντα από τομέγεθος της βλάβης. Αν για παράδειγμα έχει πάθει τοπική βλάβη σε κάποια blocks (bad blocksόπως ονομάζονται) τότε μπορείτε να διασώσετε τα υπόλοιπα δεδομένα και να τα αντιγράψετε σεένα καινούριο σκληρό δίσκο. Αν πάλι καταστραφεί ολοσχερώς ο σκληρός δίσκος, θα πρέπει νααποχαιρετήσετε τα δεδομένα σας...

Οι λογικές βλάβες αφορούν με κάποια λάθος πληροφορία που έχει αποθηκευτεί στο σύστημααρχείων και προκαλεί σύγχυση στον υπολογιστή. Για παράδειγμα, αν ο υπολογιστής έκλεισε τηστιγμή που γινόταν εγγραφή ενός αρχείου, όταν επανεκκινήσει ξανά, το αρχείο θα έχει μείνει σεμια αντιφατική κατάσταση. Ορισμένα από τα δεδομένα ίσως να έχουν προλάβει να εγγραφούναλλά όχι όλα. Μπορεί να έχουν δεσμευτεί πληροφοριακοί κόμβοι (i-nodes) για το αρχείο οιοποίοι ακόμη να είναι κενοί ή ακόμη και να ανήκουν σε κάποιο άλλο αρχείο. Ακόμη μπορεί ναγίνει κάποια λάθος κίνηση από το χρήστη, όπως π.χ. να γράψει απευθείας δεδομένα στο σημείοεπαφής του διαμερίσματος (dd if=/dev/random of=/dev/sda1!). Αυτά και άλλα προβλήματα είναιπολύ εύκολο να συμβούν, ειδικά σε συστήματα που έχουν πρόβλημα με την σταθερή παροχήρεύματος και απρόσεχτους χρήστες!

Ευτυχώς, τα περισσότερα από τα προβλήματα αυτά μπορούν να επιλυθούν με τη χρήσηλογισμικού ελεγχου και επιδιόρθωσης (filesystem check & repair software). Κάθε είδοςσυστήματος αρχείων έχει δικό του τέτοιο λογισμικό και θα πρέπει να χρησιμοποιείται σε κάθεπρόβλημα.

Mε την εκκίνηση, το Debian θα αναγνωρίσει αν κάποιο σύστημα αρχείων έχει λογική βλάβη καιθα εκτελέσει το σωστό πρόγραμμα επιδιόρθωσης. Τις περισσότερες φορές δε θα χρειαστεί νακάνετε κάτι πέραν ίσως από το να απαντήσετε σε κάποιες τεχνικές ερωτήσεις. Αν το πρόβλημαείναι απλό, το σύστημα θα το διορθώσει μόνο του.

Debian Guide 125

Page 126: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Σε μερικές περιπτώσεις όμως, το πρόβλημα που έχει δημιουργηθεί είναι αρκετά σοβαρό και θαπρέπει να υπάρξει παρέμβαση χρήστη (θα δείτε το μύνημα “user intervention required”). Στηνπερίπτωση αυτή το σύστημα θα μεταφερθεί σε κατάσταση ανάγκης (single-user mode, βλ.Παράρτημα V). Στην περίπτωση αυτή θα πρέπει να εκτελέσετε χειροκίνητα το αντίστοιχοπρόγραμμα επιδιόρθωσης και να οδηγήσετε το πρόγραμμα κατά τη διαδικασία τηςεπιδιόρθωσης.

Είναι ιδιαίτερα σημαντικό να χρησιμοποιήσετε το σωστό λογισμικό επιδιόρθωσης. Είναι ανώφελονα προσπαθήσετε να χρησιμοποιήσετε το λογισμικό επιδιόρθωσης του ext3 σε διαμέρισμα πουφιλοξενεί NTFS σύστημα αρχείων. Οι δομές τους είναι τελείως διαφορετικές και το πιθανότεροείναι ότι το ίδιο το λογισμικό δε θα σας αφήσει. Υπάρχει όμως περίπτωση να νομίζει ότιπρόκειται για κατεστραμμένο ext3 σύστημα αρχείων και να προχωρήσει στην επιδιόρθωσηκαταστρέφοντας έτσι και το NTFS. Βεβαιωθείτε ότι χρησιμοποιείτε το σωστό λογισμικό πρινπροσπαθήσετε να κάνετε κάποια επιδιόρθωση χειροκίνητα. Ευτυχώς, κάτι τέτοιο είναι αρκετάαπίθανο και σπάνια θα χρειαστεί να καλέσετε απευθείας το πρόγραμμα επιδιόρθωσης τουσυγκεκριμένου συστήματος αρχείων. Τις περισσότερες φορές, αρκεί να καλέσετε την εντολήfsck και αυτή αναλαμβάνει να εκτελέσει το σωστό πρόγραμμα επιδιόρθωσης.

Η εντολή fsck

Όπως αναφέραμε, η εντολή αυτή καλείται αυτόματα κατά την εκκίνηση του συστήματος για τονέλεγχο των συστημάτων αρχέιων. Η ίδια η εντολή δεν πραγματοποιεί κάποιου είδουςεπιδιόρθωση στο σύστημα αρχείων, παρά μόνο εκτελεί το σωστό πρόγραμμα επιδιόρθωσης(συνήθως υπό το όνομα fsck.fstype όπου fstype το είδος του συστήματος αρχείων, π.χ. ext2,minix). Σε περίπτωση που χρειαστεί να την εκτελέσετε χειροκίνητα, η σύνταξή της είναι η εξής:

fsck [OPTIONS] device | dir [--] [FS-OPTIONS]

όπου device το σημείο επαφής της μονάδος που φιλοξενεί το σύστημα αρχείων ή dir το όνοματου καταλόγου που λειτουργεί ως αρμός (στην περίπτωση χρήσης αρμού, θα πρέπει να υπάρχειαντίστοιχη καταχώρηση στο αρχείο /etc/fstab). Ως επιλογές αναφέρουμε τις σημαντικότερες:

Επιλογές Λειτουργία

-t fslist Ορίζει το είδος ή τα είδη του συστήματος αρχείων(χωριζόμενα με κόμμα) που θα ελεγχθούν/επιδιορθωθούν.

-A Ελέγχει/επιδιορθώνει όλα τα συστήματα αρχείων που είναιδηλωμένα στο αρχείο fstab.

-C Εμφανίζει μια ράβδο προόδου (progress bar) για τηνδιαδικασία ελέγχου/επιδιόρθωσης.

-N Απλώς εμφανίζει τα βήματα της διαδικασίαςελέγχου/επιδιόρθωσης αλλά δεν κάνει καμία αλλαγή στοσύστημα αρχείων.

Debian Guide 126

Page 127: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-- Μετά την επιλογή αυτή οποιαδήποτε επιλογή περνάει στοπραγματικό πρόγραμμα επιδιόρθωσης. Μερικέςσυνηθισμένες επιλογές που ισχύουν στα περισσότεραπρογράμματα είναι οι εξής:

-a: Αυτόματη επιδιόρθωση του συστήματος αρχείων.

-r: Διαλογική επιδιόρθωση του συστήματος αρχείων.

Στην περίπτωση που θέλετε να χρησιμοποιήσετε πιοπερίπλοκες επιλογές καλό είναι να καλέσετε το ίδιο τοπρόγραμμα επιδιόρθωσης (π.χ. fsck.ext2) και όχι τονwrapper fsck.

Το θέμα της επιδιόρθωσης ενός συστήματος δεν σταματάει εδώ. Υπάρχουν πολλά κείμενα στοInternet αλλά και στην ίδια τη διανομή Debian, που θα σας δώσουν περισσότερες πληροφορίες.Πολύ χρήσιμες θα βρείτε τις σελίδες οδηγιών των προγραμμάτων fsck, fsck.ext2, αλλά καικείμενα περιγραφής του συστήματος ext2. Άν έχετε εγκατεστημένο το πακέτο λογισμικού kernel-source-2.4.xx (όπου 2.4.xx η τελευταία έκδοση του πυρήνα, τη στιγμή γραφής του παρόντος2.4.20), ενα καλό σημείο εκκίνησης είναι:

/usr/src/kernel-source-2.4.20/Documentation/filesystems/ext2.txt

Debian Guide 127

Page 128: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 13 - Εγκατάσταση λογισμικού στο Debian

1.Ιστορικό

Αρχικά, οι διανομές του Linux δεν χρησιμοποιούσαν την έννοια του πακέτου λογισμικού.Αντίθετα, χρησιμοποιούσαν την αρχειοθήκη του πηγαίου κώδικα κάθε προγράμματος (τοαρχέιο .tar.gz δηλαδή) και έκαναν όλη τη διαδικασία της εγκατάστασης χειροκίνητα. Αυτή ηδιαδικασία περιλάμβανε τη ρύθμιση (configuration), μεταγλώττιση (compile) και εγκατάσταση(install) των προγραμμάτων στις σωστές τους θέσεις και πολλές φορές έπαιρνε ακόμη και ώρες.

Το επόμενο βήμα ήταν να χρησιμοποιήσουν αρχειοθήκες ήδη ρυθμισμένων καιμεταγλωττισμένων προγραμμάτων, οπότε το μόνο που έμενε ήταν να γίνει η εγκατάσταση στιςσωστές θέσεις. Αυτήν την τεχνική χρησιμοποιούσε η διανομή Slackware. Αυτό σαφώς ήταν έναβήμα προς τη βελτίωση της ποιότητας της διανομής αλλά και πάλι αντιμετώπιζε προβλήματα. Τοπιο σημαντικό πρόβλημα ήταν των εξαρτήσεων από άλλα προγράμματα. Δηλαδή, αν έναπρόγραμμα χρειαζόταν την ύπαρξη και κάποιων άλλων προγραμμάτων, θα έπρεπε ο χρήστης ναεγκαταστήσει όλα τα απαραίτητα προγράμματα χειροκίνητα.

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

Εμφανίστηκαν αρκετές διανομές η κάθε μία με το δικό της σύστημα πακέτων λογισμικού, πουχαρακτηριζόταν από διάφορα πλεονεκτήματα και μειονεκτήματα. Πλέον, τα είδη των πακέτωνλογισμικού που επικράτησαν είναι στην ουσία αυτά που βασίστηκαν στο RPM (Redhat PackageManager) και στο DPKG (Debian Package).

2.Το σύστημα πακέτων λογισμικού του Debian

Το σύστημα πακέτων του Debian μαζί με ορισμένα εργαλεία όπως το APT, είναι στην ουσία αυτάπου έχουν οδηγήσει το Debian να θεωρείται μια από τις πιο εύκολες στη διαχείριση διανομέςLinux που υπάρχουν. Τα πλεονεκτήματα του συστήματος πακέτων του Debian είναι ηαυστηρότητα και η συνέπεια από την οποία διέπεται, όσον αφορά τις εξαρτήσεις (dependencies)μεταξύ των πακέτων, καθώς και την αυξημένη παραμετροποίηση των πακέτων κατά τηνεγκατάσταση, με τη χρήση προγραμμάτων όπως το debconf. Κάθε πακέτο λογισμικού τουDebian, χαρακτηρίζεται από αρκετά πεδία, τα πιο σημαντικά εκ των οποίων είναι τα εξής:

• Όνομα (Package)

Φυσικά κάθε πακέτο λογισμικού χαρακτηρίζεται από ένα μοναδικό όνομα. Οι μόνοιπεριορισμοί που ισχύουν σε κάθε όνομα είναι ότι πρέπει να γράφεται με μικρούς λατινικούςχαρακτήρες.

• Αρχιτεκτονική (Architecture)

Όπως αναφέραμε και στην αρχή του οδηγού αυτού, η διανομή Debian είναι διαθέσιμη γιαπερισσότερες από μία αρχιτεκτονικές, η κάθε μία από τις οποίες χρησιμοποιεί τα δικά τηςπακέτα λογισμικού. Εξαίρεση στον κανόνα αυτό αποτελούν τα πακέτα λογισμικού ανεξάρτητα

Debian Guide 128

Page 129: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

αρχιτεκτονικής (architecture independent packages) και προσφέρουν αρχεία δεδομένων γιαάλλα πακέτα, ή μπορεί να είναι σενάρια κελύφους ή ακόμη και πηγαίος κώδικας κάποιας μημεταγλωττίσιμης γλώσσας, όπως perl, python, κλπ. Για αυτά τα πακέτα, η αρχιτεκτονικήορίζεται ως all.

• Τομέας (Section)

Κάθε πακέτα ανήκει σε κάποιο τομέα, ώστε να είναι εύκολη η κατηγοριοποίηση καιαναζήτησή τους στη διανομή. Κάτι τέτοιο είναι απαραίτητο, ειδικά αν σκεφτούμε ότι μιαδιανομή όπως το Debian αποτελείται από περίπου 8000 πακέτα! Υπάρχουν αρκετοί τομείς πουκαλύπτουν σχεδόν όλες τις κατηγορίες λογισμικού, όπως base, comms, devel, games,graphics, net, www, x11, κλπ.

• Έκδοση (Version)

Η έκδοση του κάθε πακέτου είναι ένα από τα πιο σημαντικά πεδία και χάρη σε αυτό είναιδυνατή η συχνή ανανέωση των πακέτων. Η έκδοση αποτελείται από δύο πεδία, την κύριαέκδοση του πακέτου και την δευτερεύουσα έκδοση (revision? TODO). Η κύρια έκδοση είναι ηέκδοση με την οποία διανέμεται το πακέτο από τους δημιουργούς του (και όχι από το Debian)και λέγεται συχνά και upstream version (TODO?) ενώ η δευτερεύουσα έκδοση είναι αυτή πουαφορά τις αλλαγές από τους ίδιους τους συντηρητές και developers του Debian. Συχνά,υπάρχουν περισσότερες από μία revisions για την ίδια έκδοση του ίδιου πακέτου. Η κύριαέκδοση συνήθως είναι ένας δεκαδικός αριθμός (π.χ. 3.2) αλλά πολλές φορές συναντάται καιως ημερομηνία σε ανάστροφη μορφή (YYYYMMDD) όπως π.χ. σε πακέτα λογισμικού απόδέντρα CVS.

• Συντηρητής (Maintainer)

Ο συντηρητής κάποιου πακέτου είναι κάποιος Developer ή η ομάδα από Developers στηνπερίπτωση των μεγάλων και πολύπλοκων πακέτων (όπως τα X) που αναλαμβάνουν τηνσυγκρότηση και κατασκευή του πακέτου λογισμικού από την “καθαρή” (pristine) όπωςλέγεται έκδοση του λογισμικού που διατίθεται από τους ίδιους τους δημιουργούς του. Είναιυπεύθυνος για την επίλυση οποιονδήποτε προβλημάτων που χαρακτηρίζουν το ίδιο τοπακέτο, τα οποία καταχωρούνται στο Debian Bug Tracking System (BTS).

• Εξαρτήσεις (Depends)

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

• Ασυμβατότητα (Conflicts)

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

• Περιγραφή (Description)

Debian Guide 129

Page 130: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κάθε πακέτο έχει μια σύντομη περιγραφή μιας γραμμής κειμένου και μια αναλυτική. Ησύντομη φαίνεται όταν ζητάτε μια εκτενή λίστα πακέτων (π.χ. με την εντολή dpkg -l) ενώ ηαναλυτική όταν ζητάτε εκτεταμένες πληροφορίες για κάποιο συγκεκριμένο πακέτο (dpkg -s).

Με βάση ορισμένα από αυτά τα πεδία, συγκεκριμένα το όνομα, την αρχιτεκτονική και τηνέκδοση (κύρια και δευτερεύουσα) ονομάζεται το αρχείο που περιέχει το πακέτο λογισμικού.Συγκεκριμένα, κάθε πακέτο στο Debian χρησιμοποιεί την εξής ονοματολογία:

name-version-revision_arch.deb

όπου name το όνομα του πακέτου (πάντα με μικρούς λατινικούς χαρακτήρες), version ηupstream έκδοση του πακέτου, revision η δευτερεύουσα έκδοση στο Debian, arch ηαρχιτεκτονική και .deb είναι η κατάληξη που χαρακτηρίζει κάθε πακέτο λογισμικού του Debian.Ένα παράδειγμα ονόματος είναι coreutils-5.0-4_i386.deb.

Υπάρχει περίπτωση να δούμε και ένα ακόμη πεδίο το epoch (ΤODO?), το οποίο χωρίζεταιαπό την κύρια έκδοση με άνω και κάτω τελεία “:”. Αυτό είναι ένας αριθμός που ότανυπάρχει θεωρείται ως ένας τρόπος να επιβάλλουμε την εγκατάσταση ενός πακέτου ακόμηκαι όταν το υπάρχον φαίνεται ότι έχει μεγαλύτερη έκδοση. Για παράδειγμα, έστω ότιέχουμε το πακέτο λογισμικού autotools-dev με έκδοση που αντιστοιχεί στην ημερομηνίασυγκρότησής του από το δέντρο CVS (20030519) και revision 1, δηλαδή η έκδοση τουπακέτου λογισμικού είναι 20030519-1.

Αν κάποια στιγμή κυκλοφορήσει μια τελική έκδοση του πακέτου, π.χ. 2.1-1 τότε τοσύστημα δε θα δεχτεί να το εγκαταστήσει γιατί, ως αριθμός, η έκδοση 20030519-1 είναιπροφανώς μεγαλύτερη από την 2.1-1. Σε αυτήν την περίπτωση χρησιμοποιείται το πεδίοepoch και η έκδοση του νέου πακέτου είναι πλέον 1:2.1-1. Το σύστημα διαχείρισηςπακέτων θα αναγνωρίσει το epoch και θα εγκαταστήσει το σωστό πακέτο. Σε περίπτωσηπου και η παλιά έκδοση είχε πεδίο epoch, θα εγκατασταθεί το πακέτο με το μεγαλύτεροepoch.

Εξαρτήσεις & Εκδόσεις

Θα αναφερθούμε λίγο περισσότερο στην σημασία των εξαρτήσεων και των εκδόσεων και τοπόσο σημαντικές είναι στην διαχείριση του συστήματος.

Για παράδειγμα θα θεωρήσουμε ένα από τα πιο χρήσιμα πακέτα στη διανομή (και ίσως το πιοαπαραίτητο!), τον μεταγλωττιστή GNU της γλώσσας C, gcc. Το πακέτο αυτό έχει την στιγμή τηςσυγγραφής του οδηγού τις εξής εξαρτήσεις:

cpp (>= 3:3.3-1), gcc-3.3 (>= 1:3.3-0pre9), cpp-3.3 (>= 1:3.3-0pre9)

Αυτό σημαίνει ότι για να μπορέσουμε να εγκαταστήσουμε το πακέτο gcc, θα πρέπει πρώτα ναέχουμε εγκαταστήσει τα πακέτα cpp, gcc-3.3 και cpp-3.3 με εκδόσεις μεγαλύτερες ή ίσες απόαυτές που φαίνονται στις παρενθέσεις.

Αντίστοιχα, το πακέτο gcc-3.3 εξαρτάται από τα εξής πακέτα:

gcc-3.3-base, libgcc1 (>= 1:3.3), libc6 (>= 2.3.1-1), cpp-3.3 (>= 1:3.3), cpp-3.3 (<< 1:3.4), binutils (>=2.13.90.0.10)

Έτσι για να εγκαταστήσουμε το πακέτο gcc, θα πρέπει να έχουμε εγκαταστήσει όλα τα

Debian Guide 130

Page 131: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

παραπάνω πακέτα (καθώς και αυτά που εξαρτάται το καθένα). Δημιουργείται ένα ακόλουθοδέντρο εξαρτήσεων.

[diagram]

Προφανώς, η εγκατάσταση των πακέτων, αν φυσικά πρόκειται να την κάνετε χειροκίνηταπρέπει να γίνει από το χαμηλότερο επίπεδο του δέντρου και σταδιακά να ανεβαίνουμε επίπεδο.Κάτι τέτοιο μπορεί να αποδειχτεί αρκετά κουραστικό ειδικά όταν πρόκειται για εγκατάστασηπολλών πακέτων. Ευτυχώς, το Debian προσφέρει το APT, ένα εργαλείο που αυτοματοποιεί τηδιαδικασία της εγκατάστασης σε μεγάλο βαθμό, όπως θα δούμε και σε επόμενη παράγραφο.

3.Το εργαλείο dpkg

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

Βασικές λειτουργίες

Το εργαλείο dpkg έχει σχεδιαστεί για να χρησιμοποιείται από την γραμμή εντολών του κελύφουςμόνον. Για το λόγο αυτό δέχεται μια πληθώρα από επιλογές και παραμέτρους. Στο παρόνκείμενο, θα αναφερθούμε μόνο στις πιο σημαντικές από αυτές.

Γενικά η σύνταξη είναι η εξής:

dpkg [OPTIONS] ACTION packagename | filename

όπου packagename το όνομα του πακέτου ενώ filename το όνομα του αρχείου κάποιου πακέτου(όπως αναφέρθηκε σε προηγούμενη παράγραφο), ACTION το είδος της εργασίας που θέλουμενα πραγματοποιήσουμε με το πακέτο και ως επιλογές έχουμε τις εξής:

Επιλογές Λειτουργία

-B--auto-deconfigure

Όταν απεγκαθιστούμε κάποιο πακέτο, το dpkg αυτομάτωςαπορυθμίζει (deconfigure) όσα πακέτα εξαρτώνται απόαυτό.

--force-depends Η ομάδα των επιλογών --force-xxx, επιβάλει στο dpkg τηνεργασία που του δώσαμε, ακόμη και αν οι συνθήκεςαποτρέπουν κάτι τέτοιο. Η συγκεκριμένη --force-depends,επιβάλει την εγκατάσταση/απεγκατάσταση ενός πακέτουακόμη και αν δεν ικανοποιούνται οι εξαρτήσεις τωνυπολοίπων πακέτων με την εργασία αυτή.

--force-overwrite Η επιλογή αυτή αντικαθιστά αρχεία στο σύστημα πουπαρέχονται από άλλο πακέτο.

--force-downgrade Εγκαθιστά το πακέτο ακόμη και αν είναι εγκατεστημένηνεώτερη έκδοση.

Debian Guide 131

Page 132: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

--force-conflicts Εγκαθιστά το πακέτο ακόμη και αν είναι ασύμβατο μεκάποιο άλλο εγκατεστημένο.

--force-all Χρησιμοποιεί όλες τις παραπάνω και ακόμη περισσότερεςεπιλογές --force-xxx. Αποφύγετε τη χρήση της επιλογήςαυτής.

--no-act Προσποιείται τη διαδικασία χωρίς στην πραγματικότητα νακάνει κάποια εγκατάσταση/απεγκατάσταση στο σύστημα.

Γενικά οι επιλογές --force-xxx θα πρέπει να αποφεύγονται, καθώς είναι πολύ εύκολο νακαταστρέψετε το σύστημά σας με κάποια λάθος εγκατάσταση ή απεγκατάσταση κάποιουβασικού πακέτου.

Ως ACTION μπορούμε να χρησιμοποιήσουμε μία από τις ακόλουθες:

Εργασία Λειτουργία

-i--install

Εγκαθιστά το πακέτο που περιέχεται στο αρχείο filename.

-r--remove

Απεγκαθιστά το πακέτο packagename (σημ. Χρειάζεταιμόνο το όνομα του πακέτου). Η απεγκατάσταση εννοεί τηνδιαγραφή και όλων των αρχείων του πακέτου πλην τωναρχείων παραμετροποίησης (configuration files) τα οποίαδιατηρούνται για πιθανή μελλοντική χρήση.

--purge Όπως η -r, αλλά διαγράφει και τα αρχείαπαραμετροποίησης.

--configure Ολοκληρώνει την εγκατάσταση κάποιου πακέτου που γιακάποιο λόγο δεν είχε ολοκληρώσει την εγκατάστασή του.

-l--list

Παρουσιάζει τη λίστα των εγκατεστημένων πακέτων(δέχεται μια κανονική παράσταση ως παράμετρο).

-s--status

Παρουσιάζει πληροφορίες για κάποιο εγκατεστημένοπακέτο.

-S--search

Αναζητά ποιο εγκατεστημένο πακέτο περιέχει το ζητούμενοαρχείο.

-L--list-contents

Παρουσιάζει τη λίστα των αρχείων ενός εγκατεστημένουπακέτου.

-C--audit

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

-c--contents

Εμφανίζει τη λίστα των αρχείων του πακέτου πουπεριέχεται στο αρχείο filename (αντίστοιχη της -L).

-I--info

Εμφανίζει πληροφορίες για το πακέτο που περιέχεται στοαρχείο filename (αντίστοιχη της -s).

Debian Guide 132

Page 133: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Ακολουθούν μερικά παραδείγματα της χρήσης του dpkg:

Για να μάθουμε ποια πακέτα υπάρχουν στο Debian διαθέσιμα, των οποίων το όνομα αρχίζει μεvim:# dpkg -l 'vim*'Desired=Unknown/Install/Remove/Purge/Hold| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)||/ Name Version Description+++-============================-============================-========================================================================ii vim 6.1-320+1 Vi IMproved - enhanced vi editorpn vim-gtk <none> (no description available)pn vim-perl <none> (no description available)pn vim-python <none> (no description available)un vim-rt <none> (no description available)pn vim-ruby <none> (no description available)pn vim-scripts <none> (no description available)pn vim-tcl <none> (no description available)un vim-tiny <none> (no description available)un vim-tty <none> (no description available)

Αντίθετα, για μάθουμε ποιο πακέτο του vim είναι εγκατεστημένο στο σύστημά μας μπορούμε ναχρησιμοποιήσουμε την εξής:

# dpkg -l |grep vimii vim 6.1-320+1 Vi IMproved - enhanced vi editor

Για να διαγράψουμε το πακέτο elvis (ένας κειμενογράφος τύπου vi), μπορούμε να γράψουμε τοεξής:

# dpkg -r elvis

Για να εγκαταστήσουμε ένα πακέτο:

# dpkg -i vim_4.5-3.deb

# Μια χρήσιμη εντολή σε περίπτωση που έχουμε υποψίες για κάποια πακέτα, π.χ. μπορεί να μηνέχουν εγκατασταθεί σωστά, ή μπορεί το σύστημα να μας έχει ειδοποιήσει ανάλογα, είναι οσυνδυασμός της configure και της --audit. Στην ουσία, ολοκληρώνει την εγκατάσταση όλων τωνπακέτων που δεν έχουν για κάποιο λόγο εγκατασταθεί πλήρως.

# dpkg --configure --audit

Η παρακάτω εντολή θα μας δώσει το εξής αποτέλεσμα (αν φυσικά είναι εγκατεστημένος ο vim):

# dpkg -s vimPackage: vimStatus: install ok installedPriority: optionalSection: editorsInstalled-Size: 14848Maintainer: Luca Filipozzi <[email protected]>Version: 1:6.1-320+1Replaces: vim-rt, vim-tiny (<< 6.0), vim-perl (<< 6.0), vim-python (<< 6.0), vim-tcl (<< 6.0), vim-tty (<< 6.0),vim-gtk (<< 6.0)Provides: editor, vim-rt

Debian Guide 133

Page 134: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Depends: libc6 (>= 2.3.1-1), libgpmg1 (>= 1.19.6-1), libncurses5 (>= 5.3.20021109-1)Pre-Depends: dpkg (>= 1.6.8)Suggests: ctagsConflicts: vim-rt, vim-tiny (<< 6.0), vim-perl (<< 6.0), vim-python (<< 6.0), vim-tcl (<< 6.0), vim-tty (<< 6.0),vim-gtk (<< 6.0)Conffiles: /etc/vim/gvimrc b0b75c84c84ac6a3397316a6e0876f97 /etc/vim/vimrc 6ad2e5a7195e1d055392627a9fe42ec5Description: Vi IMproved - enhanced vi editor Vim is an almost compatible version of the UNIX editor Vi. Many new features have been added: multi level undo, syntax highlighting, command line history, on-line help, filename completion, block operations, folding, unicode support, etc.

Το ίδιο αποτέλεσμα θα έχουμε αν εκτελέσουμε την εντολή:

# dpkg --info vim_4.5-3.deb

Εκτελώντας την εντολή dpkg με παράμετρο -L, θα μας τυπώσει την λίστα αρχείων του vim:

# dpkg -L vim/./usr/usr/bin/usr/bin/vim/usr/bin/vimtutor/usr/bin/xxd/usr/share/usr/share/man...

Και το ίδιο αποτέλεσμα θα έχουμε με την εντολή:

# dpkg -c vim_4.5-3.deb

Αν υποθέσουμε ότι θέλουμε να μάθουμε σε ποιο (εγκατεστημένο) πακέτο βρίσκεται κάποιοσυγκεκριμένο αρχείο, μπορούμε να χρησιμοποιήσουμε την εξής εντολή:

# dpkg -S /usr/bin/vimvim: /usr/bin/vim

Περισσότερες πληροφορίες για την εντολή dpkg μπορείτε να βρείτε στην σελίδα οδηγιών της.

4.Το σύστημα APT

Έχουμε ήδη αναφέρει ότι για να εγκαταστήσουμε ένα πακέτο λογισμικού με την εντολή dpkg, θαπρέπει πρώτα να το μεταφέρουμε με κάποιον τρόπο στον υπολογιστή μας μαζί με όλες τιςεξαρτήσεις του και ύστερα να το εγκαταστήσουμε, αφού φυσικά εγκαταστήσουμε πρώτα τιςεξαρτήσεις του. Κάτι τέτοιο είναι αρκετά χρονοβόρο, κουραστικό και επιρρεπές σε λάθη.

Για το σκοπό αυτό, δημιουργήθηκε το εργαλείο APT (Advanced Package Tool) το οποίοαυτοματοποιήσε όλες τις διαδικασίες εγκατάστασης ενός πακέτου και πλέον μπορεί να γίνειολόκληρη εγκατάσταση ή ανανέωση συστήματος με μια μόνο εντολή!

Η ευκολία που παρέχει το APT, είναι ότι αναλαμβάνει όλα τα στάδια της εγκατάστασης, από τημεταφόρτωση του πακέτου και όλων των εξαρτήσεων από μία ή περισσότερες πηγές που θα του

Debian Guide 134

Page 135: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

ορίσουμε, την εγκατάσταση των πακέτων με τη σωστή σειρά προτεραιότητας, καθώς και τηνμετέπειτα ρύθμιση του καθενός πακέτου.

Για τη χρήση του συστήματος APT, θα χρησιμοποιήσετε κατά κύριο λόγο τέσσερις εντολές: apt-setup, apt-cdrom, apt-cache και apt-get. Οι δύο πρώτες ρυθμίζουν τις πηγές των πακέτων τουAPT, η apt-cache προσφέρει τρόπους αναζήτησης πακέτων μέσα στην βάση δεδομένων του APT,ενώ η apt-get χρησιμοποιείται για τη μεταφόρτωση και εγκατάσταση των πακέτων.

Την χρήση της apt-setup την είδαμε κατά την εγκατάσταση του Debian στο κεφ. 6 (σελ. 40).Συνοπτικά αναφέρουμε ότι επιλέγετε την λίστα των πιθανών πηγών πακέτων λογισμικού, απόδιευθύνσεις δικτυακών τόπων (URLs) σε μορφή http ή ftp, από συστήματα αρχείων ακόμη καιαπό cd-rom. Στην τελευταία περίπτωση, η apt-setup εκτελεί την apt-cdrom. Τέλος, δίνεται ηδυνατότητα χειροκίνητης καταχώρησης μιας πηγής.

[screenshot]

Γενικά, δε χρειάζεται να εκτελείτε απευθείας την apt-cdrom, καθώς η apt-setup παρέχει την ίδιαλειτουργία με πιο φιλικό τρόπο.

Debian Guide 135

Page 136: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Το αρχείο sources.list

Το σύστημα APT διατηρεί την λίστα με τις διαθέσιμες πηγές πακέτων λογισμικού στο αρχείο /etc/apt/sources.list. Αυτό το αρχείο τροποποιούν οι εντολές apt-cdrom και apt-setup ότανπροστίθεται μια νέα πηγή. Όσον αφορά πηγές δικτύου, είναι δυνατή η πρόσθεσή τουςχειροκίνητα στο αρχείο. Για τα CD είναι απαραίτητη η χρήση της εντολής apt-cdrom. Ιδούορισμένες από τις προκαθορισμένες πηγές, όπως αυτές είναι καθορισμένες στο αρχείοsources.list:deb http://ftp.de.debian.org/debian/ woody main non-free contribdeb http://ftp.de.debian.org/debian/ woody main non-free contribdeb http://non-us.debian.org/debian-non-US woody/non-US main contrib non-freedeb-src http://non-us.debian.org/debian-non-US woody/non-US main contrib non-freedeb http://security.debian.org/ stable/updates main contrib non-free

Το πρώτο πεδίο μπορεί να είναι deb ή deb-src δηλώνοντας έτσι ότι η πηγή είναι πηγή έτοιμωνμεταγλωττισμένων πακέτων για την αρχιτεκτονική του υπολογιστή μας, ή αντίστοιχα σε μορφήπηγαίου κώδικα, αν θέλουμε να τα κατασκευάσουμε μόνοι μας.

Το δεύτερο πεδίο είναι η διεύθυνση URL του δικτυακού τόπου (μέσω http/ftp) ή της διαδρομήςαρχείων (π.χ. σε κάποιο σύστημα αρχείων) από όπου θα λαμβάνει τα πακέτα η εντολή apt-get.Για τις διαδρομές αρχείων θα πρέπει να χρησιμοποιηθεί το πρόθεμα file:. Σημειώστε ότι σε κάθεπερίπτωση θα πρέπει να διατηρήσετε την ίδια ακριβώς δομή δέντρου αρχείων με μια επίσημηπηγή Debian, διαφορετικά τα πακέτα δεν θα είναι προσβάσιμα από το σύστημα APT.

Ως τρίτο πεδίο δηλώνουμε την έκδοση της διανομής (π.χ. woody, testing, unstable) ή/και τηνυποομάδα (non-US, updates).

Τέλος, τα τελευταία πεδία ορίζουν τις ομάδες πακέτων, όπως τις αναφέραμε στο κεφ. 1.Υπάρχουν τρεις ομάδες πακέτων, η κύρια (main), ή συνεισφερόμενη (contrib) και η μήελευθέρου λογισμικού (non-free).

Αναζήτηση με την apt-cache

Όσον αφορά την apt-cache, αυτή είναι ένας πιο εύκολος τρόπος να αναζητήσουμε διαθέσιμαπακέτα στο Debian, αν και έχει και άλλες χρήσεις. Είναι πιο εύκολο να δούμε την χρήση της μεένα παράδειγμα. Ας υποθέσουμε ότι χρειαζόμαστε ένα πρόγραμμα που να μπορεί να απεικονίσειμετεωρολογικά δεδομένα (!) αλλά δε ξέρουμε ποιο ή ακόμη αν υπάρχει κάτι τέτοιο στο Debian.

# apt-cache search weather visualvis5d - Visualizes data made by numerical weather models etc.vis5d-doc - Documentation for the Vis5D visualization system

Βλέπουμε ότι όντως υπάρχει κάποιο πακέτο vis5d, μαζί με το πακέτο οδηγιών του. Μπορούμε ναμάθουμε πληροφορίες για αυτό το πακέτο και να δούμε αν ταιριάζει στις ανάγκες μας:

# apt-cache show vis5dPackage: vis5dPriority: optionalSection: scienceInstalled-Size: 6984Maintainer: Torsten Landschoff <[email protected]>Architecture: i386Version: 5.2abeta5-3Depends: libc6 (>= 2.2.4-4), libgl1, netcdfg3 (>= 3.5.0-1), xlibs (>> 4.1.0)

Debian Guide 136

Page 137: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Suggests: vis5d-docFilename: pool/main/v/vis5d/vis5d_5.2abeta5-3_i386.debSize: 1222796MD5sum: e860cc618efc77a48204d2727263cf3aDescription: Visualizes data made by numerical weather models etc. Vis5D is a software system for visualizing data made by numerical weather models and similar sources. Vis5D works on data in the form of a five-dimensional rectangle. . The Vis5D system includes the vis5d visualization program, several programs for managing and analyzing five-dimensional data grids, and instructions and utilities for converting your data into its file format.

Εγκατάσταση με την apt-get

Από ό,τι βλέπουμε το πρόγραμμα ίσως να είναι αυτό που χρειαζόμαστε. Δε μένει παρά να τοεγκαταστήσουμε για να το δοκιμάσουμε. Αν χρησιμοποιούμε κάποια πηγή πακέτων λογισμικούστο Internet, θα πρέπει να είμαστε συνδεδεμένοι για να μπορέσουμε να τη χρησιμοποιήσουμε.Για παράδειγμα αν στην εγκατάσταση ρυθμίσαμε κάποιο είδος σύνδεσης PPP, μπορούμε να τηνενεργοποιήσουμε ως εξής (<provider> είναι το όνομα του παροχέα που έχουμε δηλώσει):

# pon <provider>

# apt-get install vis5d vis5d-docReading Package Lists... DoneBuilding Dependency Tree... DoneThe following NEW packages will be installed: vis5d vis5d-doc0 packages upgraded, 2 newly installed, 0 to remove and 16 not upgraded.Need to get 4893kB/4893kB of archives. After unpacking 10.9MB will be used.Do you want to continue? [Y/n]Get:1 http://ftp.de.debian.org testing/main vis5d 5.2abeta5-3 [1223kB]Get:2 http://ftp.de.debian.org testing/main vis5d-doc 5.2abeta5-3 [3670kB]Fetched 4893kB in 10m49s (7533B/s)Selecting previously deselected package vis5d.(Reading database ... 107053 files and directories currently installed.)Unpacking vis5d (from .../vis5d_5.2abeta5-3_i386.deb) ...Selecting previously deselected package vis5d-doc.Unpacking vis5d-doc (from .../vis5d-doc_5.2abeta5-3_all.deb) ...Setting up vis5d (5.2abeta5-3) ...

Setting up vis5d-doc (5.2abeta5-3)

Η εντολή apt-get, όπως βλέπουμε αναλαμβάνει την μεταφόρτωση των απαραίτητων αρχείων καιμας πληροφορεί για το απαραίτητο μέγεθος μεταφόρτωσης (4.9 MB περίπου) και το τελικόμέγεθος των εγκατεστημένων αρχείων. Πριν προχωρήσει στη διαδικασία μας ρωτάει αν θέλουμενα συνεχίσουμε, ίσως π.χ. για να αλλάξουμε τα πακέτα προς εγκατάσταση.

Κατά τη διάρκεια της μεταφόρτωσης μας πληροφορεί για το συνολικό ποσοστό ολοκλήρωσης,για το ποσοστό ολοκλήρωσης του συγκεκριμένου αρχείου που μεταφορτώνεται, για τηνταχύτητα μεταφοράς και για τον απομένοντα χρόνο για την ολοκλήρωση.

Μετά την ολοκλήρωση, το apt-get πραγματοποιεί οποιεσδήποτε ρυθμίσεις πακέτων είναιαπαραίτητες και εγκαθιστά τα αρχεία στις σωστές τους θέσεις. Αν υπάρχει κάποιο πρόβλημα, θαπροσπαθήσει να δώσει όσον το δυνατόν πιο αναλυτικές οδηγίες για την επίλυσή του. Συνήθως,τα προβλήματα που παρουσιάζονται είναι λόγω ασυμβατότητας των εξαρτήσεως των πακέτων.

Debian Guide 137

Page 138: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Έχει ολοκληρωθεί έτσι η εγκατάσταση του πακέτου μας και μπορούμε να το δοκιμάσουμε!

# vis5d LAMPS.v5d

(Το LAMPS.v5d βρίσκεται συμπιεσμένο στον κατάλογο /usr/share/doc/vis5d/examples).

[screenshot]

Το συγκεκριμένο παράδειγμα είχε σκοπό απλώς να μας δείξει μια συνηθισμένη διαδικασίααναζήτησης και εγκατάστασης κάποιου εξειδικευμένου πακέτου. Το Debian περιέχει περίπου8900 πακέτα και το πιθανότερο είναι ότι παρέχει κάποιο πακέτο για τις περισσότερες εργασίες,όσο εξειδικευμένες και αν είναι. Το σημαντικό είναι η σωστή αναζήτηση με τη χρήση τουεργαλείου apt-cache.

Άλλες λειτουργίες

Πέρα από την αναζήτηση και την εγκατάσταση, τα εργαλεία apt-cache και apt-get δέχονται καιάλλες επιλογές και εντολές, που ρυθμίζουν ανάλογα και την δράση των ίδιων των εργαλείων. Ησύνταξή τους ακολουθεί τους γνωστούς κανόνες:

apt-cache [options] [command]apt-get [options] [command]

Μερικές από τις πιο σημαντικές αναφέρονται στους ακόλουθους πίνακες:

Εντολή apt-cache

Επιλογές Λειτουργία

-i--important

Εμφανίζει μόνο τα σημαντικά πακέτα (αυτά που έχουνχαρακτηρισμό προτεραιότητας important).

-f--full

Εμφανίζει όλα τα χαρακτηριστικά κάθε πακέτου.

-a--all-versions

Εμφανίζει όλες τις διαθέσιμες εκδόσεις κάθε πακέτου.

--names-only Η αναζήτηση να γίνει χρησιμοποιώντας μόνο τα ονόματατων πακέτων. Το προκαθορισμένο είναι να χρησιμοποιείταικαι το πεδίο της περιγραφής των πακέτων.

--all-names Σε συνδυασμό με την εντολή pkgnames, εμφανίζει όλα ταπακέτα, ακόμη και τα εικονικά.

Εντολές Λειτουργία

show packagename Εμφανίζει πληροφορίες για το πακέτο packagename.Αντίστοιχο με τη dpkg --print-avail.

showpkg packagename Εμφανίζει πληροφορίες για το πακέτο packagename, μεέμφαση στις πληροφορίες για τις εξαρτήσεις. Παρέχει τιςανάστροφες εξαρτήσεις (reverse depends) του πακέτου,δηλαδή μια λίστα με τα ονόματα των πακέτων πουεξαρτώνται από το πακέτο packagename.

Debian Guide 138

Page 139: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Εντολή apt-cache

search pattern Αναζήτηση στο ευρετήριο των πακέτων χρησιμοποιώνταςτην κανονική παράσταση pattern.

depends packagename Εμφανίζει τα ονόματα των πακέτων που εξαρτώνται απότο πακέτο packagename.

stats Εμφανίζει στατιστικά για το πλήθος των διαθέσιμωνπακέτων.

pkgnames [prefix] Εμφανίζει τα ονόματα όλων των πακέτων. Αν δοθεί τοprefix, η λίστα περιορίζεται στα πακέτα των οποίων τοόνομα αρχίζει με prefix.

unmet Εμφανίζει τη λίστα με τις μη ικανοποιημένες εξαρτήσειςπακέτων στο σύστημα.

Και ακολουθεί ο αντίστοιχος πίνακας για την apt-get.

Εντολή apt-get

Επιλογές Λειτουργία

-d--download-only

Πραγματοποιεί μόνο τη μεταφόρτωση των πακέτων, όχιτην εγκατάσταση.

-f--fix-broken

Αν η apt-get διαπιστώσει ότι στο σύστημα υπάρχουν μηικανοποιημένες εξαρτήσεις πακέτων (δηλαδή είναιεγκατεστημένο κάποιο πακέτο, χωρίς να είναιεγκατεστημένα και τα πακέτα από τα οποία εξαρτάται), θαπροσπαθήσει να δράσει ανάλογα για να ικανοποιήσειαυτές τις εξαρτήσεις. Αυτό σημαίνει, είτε εγκατάστασηκάποιων επιπλέον πακέτων ή αν δεν είναι αυτό δυνατόν,απεγκατάσταση των προβληματικών πακέτων.Χρησιμοποιείται σε συνδυασμό με την install ή remove.

-m--ignore-missing--fix-missing

Αγνοεί τα προβλήματα από πακέτα που παρουσιάζουνπρόβλημα κατά την εγκατάσταση (χαλασμένο αρχείο,προβληματική ρύθμιση, κλπ) και συνεχίζει με τα υπόλοιπααρχεία.

--no-download Απενεργοποιεί οποιαδήποτε επιπλέον μεταφόρτωση καιπροσπαθεί να χρησιμοποιήσει τα ήδη μεταφορτωμέναπακέτα.

-s--simulate--just-print--dry-run--recon--no-act

Προσποιείται τη διαδικασία χωρίς στην πραγματικότητα νακάνει κάποια εγκατάσταση/απεγκατάσταση στο σύστημα.

Debian Guide 139

Page 140: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Εντολή apt-get

-u--show-upgraded

Εμφανίζει και τα επιπλέον πακέτα που πρόκειται ναεγκατασταθούν, συνήθως λόγω εξαρτήσεων.

--force-yes Επιβάλει την εγκατάσταση των πακέτων, ακόμη και αν δενικανοποιούνται οι απαραίτητες συνθήκες (εξαρτήσεις,συμβατότητα, αντικατάσταση υπαρχόντων αρχείων). Θαπρέπει να χρησιμοποιηθεί με την δέουσα προσοχή.

--purge Όταν διαγράφεται ένα πακέτο να γίνεται πλήρης διαγραφήκαι των αρχείων παραμετροποίησής του (configurationfiles).

Εντολές Λειτουργία

update Ανανεώνει την βάση δεδομένων των πακέτων λογισμικούτου Debian. Εκτός αν χρησιμοποιήτε κάποια στατική πηγή(π.χ. CD-ROM) θα πρέπει να ανανεώνετε συχνά τουςκαταλόγους των πακέτων που παρέχονται από κάθε πηγή,για να ενημερώνετε το σύστημά σας για τυχόν ανανεωμένολογισμικό.

upgrade Πραγματοποιεί τη διαδικασία της ανανέωσης όλων τωνπακέτων για τα οποία υπάρχει διαθέσιμη ανανεωμένηέκδοση.

dist-upgrade Όπως συμβαίνει συνήθως με μια νέα έκδοση της διανομής,η ανανέωση είναι τόσο ριζική που δε μπορεί να επιτευχθείμόνο με την χρήση της apt-get upgrade. Η dist-upgradeχρησιμοποιεί έξυπνους μηχανισμούς για να γίνει ημετάβαση με όσο το δυνατόν λιγότερα προβλήματα.

install packages Εγκαθιστά τα πακέτα packages.

remove packages Απεγκαθιστά τα πακέτα packages.

source packages Μεταφορτώνει τον πηγαίο κώδικα των πακέτων packages.Χρησιμεύει όταν θέλετε να δημιουργήσετε μιατροποποιημένη έκδοση κάποιου υπάρχοντος πακέτου γιαδικές σας ανάγκες.

check Εκτελεί κάποια απλά διαγνωστικά σχετικά με μηικανοποιούμενες εξαρτήσεις.

Οι apt-get και apt-cache παρέχουν και περισσότερες πιο προχωρημένες λειτουργίες. Γιαπερισσότερες πληροφορίες θα πρέπει να ανατρέξετε στις οδηγίες των εντολών.

# man apt-get# man apt-cache

5.Το εργαλείο dselect

Το εργαλείο dselect είναι το επίσημο διαδραστικό (interactive) εργαλείο εγκατάστασηςλογισμικού στο Debian. Είναι αρκετά ισχυρό εργαλείο, αν και πιθανόν όχι το φιλικότερο

Debian Guide 140

Page 141: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

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

[screenshot]

Με την εκκίνηση το dselect θα εμφανίσει την εξής οθόνη:

[screenshot]

Στο σημείο αυτό έχετε τις εξής επιλογές:

• Access

• Update

• Select

• Install

• Config

• Remove

• Quit

Επιλογή “Access”

Με την Access, ρυθμίζετε τις πηγές από τις οποίες θα εγκαθιστά το dselect τα πακέτα τουDebian. Οι πηγές αυτές είναι διαφορετικές από τις πηγές του συστήματος APT, αν και το dselecτμπορεί να χρησιμοποιήσει ως πηγή το ίδιο το σύστημα APT. Το dselect προσφέρει μια μεγάληποικιλία πηγών, αλλά στην πραγματικότητα οι περισσότερες υπάρχουν μόνο για συμβατότητα μεπαλαιότερες εκδόσεις του λειτουργικού. Τα είδη των πηγών που θα πρέπει να σας ενδιαφέρουνείναι τα εξής:

• apt

Ρυθμίζει ως κύρια πηγή το ίδιο το σύστημα APT και τις πηγές που έχουν οριστεί σε αυτό. Αυτήείναι και η προτεινόμενη μέθοδος.

• multi_cd

Με τη μέθοδο αυτή το dselect μπορεί να εγκαταστήσει το Debian από ένα CD-ROM.Χρησιμοποιώντας πληροφορίες που βρίσκονται στα ίδια τα CD, επιτρέπει να γίνει ηεγκατάσταση από περισσότερο από ένα CD-ROM. Για να γίνει αυτό θα πρέπει να εισάγετε τοτελευταίο CD της διανομής του Debian και να απαντήσετε σε ορισμένες ερωτήσεις του dselect(σχετικά με τον αρμό του CD-ROM, κλπ). Έπειτα συνεχίζετε κανονικά σε όλα τα υπόλοιπαβήματα. Η διαφορά είναι ότι θα πρέπει να εκτελέσετε το βήμα μία φορά για κάθε CD που έχειτο set της εγκατάστασης.

• multi_nfs, multi_mount

Παρέχει ίδια λειτουργία με την επιλογή multi_cd, αλλά για άλλου είδους συστήματα αρχείων(π.χ. δικτυακά). Είναι χρήσιμη μέθοδος στην περίπτωση που θέλετε να εγκαταστήσετε μέσω

Debian Guide 141

Page 142: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

NFS, χρησιμοποιώντας τα CDs του Debian.

Επιλογή “Update”

Με την επιλογή γίνεται μεταφόρτωση της λίστας των πακέτων από την ή τις πηγές που επιλέξατεστο βήμα “Access”.

Επιλογή “Select”

Το στάδιο αυτό είναι και το πιο σημαντικό στο dselect καθώς η επιλογή των πακέτων που θαεγκατασταθούν γίνεται εδώ. Με την εισαγωγή σε αυτό το στάδιο εμφανίζεται μια οθόνηβοηθείας με τις βασικότερες πληροφορίες που θα χρειαστείτε για το dselect. Πατώντας ENTERμεταβαίνετε στην επόμενη οθόνη που εμφανίζει τη λίστα των πακέτων.

Την πρώτη φορά που θα επιλέξετε την “Select”, συνιστάται να μην κάνετε κάποια επιλογή στηνκεντρική λίστα των πακέτων. Πατώντας ENTER το dselect θα σας παρουσιάσει τις μηικανοποιημένες εξαρτήσεις και θα σας ζητήσει να τις διορθώσετε (δηλαδή να επιλέξετε εκείνα ταπακέτα που τις ικανοποιούν ή να απεγκαταστήσετε τα πακέτα που δημιουργούν το πρόβλημα).Πιθανώς να βγείτε στο κεντρικό μενού οπότε επιλέξατε ξανά τη “Select”.

Όσον αφορά την επιλογή των πακέτων θα πρέπει να έχετε υπόψιν σας τα εξής σημεία:

• Τα προβλήματα λόγω εξαρτήσεων είναι συνηθισμένα. Άν επιλέξετε κάποιο πακέτο A και αυτόεξαρτάται από το πακέτο B, το dselect θα σας προτείνει να επιλέξετε και το B. Αν το πακέτο Aείναι ασύμβατο με κάποιο πακέτο B, το dselect θα σας ζητήσει να επιλέξετε ένα από τα δύο.

• Μπορείτε να επιστρέψετε ανά πάσα στιγμή στην κεντρική σελίδα πατώντας διαδοχικά ENTER.

Η επιλογή των πακέτων γίνεται χρησιμοποιώντας το πληκτρολόγιο. Συγκεκριμένα, με ταπλήκτρα του δρομέα μετακινείστε στη λίστα των πακέτων, ενώ για κάθε λειτουργία υπάρχει καιένα αντίστοιχο πλήκτρο, όπως αναγράφονται στον παρακάτω πίνακα:

Πλήκτρο Λειτουργία

+ Επιλέγει ένα πακέτο για εγκατάσταση.

= Τοποθετεί το πακέτο σε αναμονή (on hold). Χρησιμεύει σεπροβληματικά πακέτα. Μπορείτε να εγκαταστήσετε μιαπαλαιότερη έκδοση που δεν παρουσιάζει πρόβλημα και ναορίσετε το πακέτο σε αναμονή.

- Επιλέγει ένα πακέτο για απεγκατάσταση.

_ Επιλέγει ένα πακέτο για απεγκατάσταση (διαγράφονταςκαι τα αρχεία ρυθμίσεων και παραμετροποίησης).

I,i Εμφανίζει διαδοχικά στο κάτω μισό της οθόνης της dselectδιάφορες πληροφορίες για τα πακέτα.

O,o Επιλέγει κυκλικά τρόπους ταξινόμησης των πακέτων.

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

Debian Guide 142

Page 143: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Πλήκτρο Λειτουργία

Q Επιβάλει τις αλλαγές που έχετε επιλέξει ακόμη και ανδημιουργούν προβλήματα με εξαρτήσεις καιασυμβατότητες πακέτων. Δεν συνιστάται η χρήση τουεκτός αν έχετε εμπειρία με το dselect.

X Ακυρώνει όλες τις επιλογές και πραγματοποιεί έξοδο απότη λιστα πακέτων.

R Ακυρώνει τις αλλαγές στο τρέχον επίπεδο μόνο (π.χ. στηνεπιλογή των εξαρτήσεων για κάποιο πακέτο).

U Επαναφέρει τις αρχικές επιλογές το dselect.

D Ακυρώνει μόνο τις επιλογές το dselect.

Όταν ολοκληρώσετε τις επιλογές σας, πατήστε ENTER για να μεταβείτε στην κεντρική σελίδα τουdselect.

Επιλογή “Install”

Πραγματοποιεί την εγκατάσταση των πακέτων. Αναλόγως την πηγή και τα πακέτα που έχετεεπιλέξει, πιθανόν να μην ολοκληρωθεί η εγκατάσταση, λόγω κάποιου προβληματικού πακέτου.Σε αυτήν την περίπτωση θα χρειαστεί να επιλέξετε ξανά την “Install”. Επιλέγοντας ως πηγή τηνAPT, η εγκατάσταση θα γίνει σε ένα βήμα.

Επιλογή “Configure”

Ρυθμίζει και ολοκληρώνει την εγκατάσταση τυχόν απομένοντων πακέτων, τα οποίαπαρουσίασαν πρόβλημα κατά την εγκατάστασή τους.

Επιλογή “Remove”

Απεγκαθιστά τα πακέτα που έχουν οριστεί για απεγκατάσταση κατά την “Select”.

Επιλογή “Quit”

Πραγματοποιεί έξοδο από το πρόγραμμα.

Για περισσότερες πληροφορίες για το dselect μπορείτε να ανατρέξετε στις επίσημες οδηγίες πουβρίσκονται στον δικτυακό τόπο του Debian:

http://www.debian.org/doc/manuals/dselect-beginner/

6.Το εργαλείο kpackage

Το kpackage είναι ένα εργαλείο που παρέχει ένα φιλικό προς το χρήστη τρόπο διαχείρισης τωνπακέτων. Διαφέρει από τα περισσότερα προγράμματα που είδαμε ως τώρα στο ότι παρέχει ένανενιαίο τρόπο διαχείρισης για διαφορετικά είδη πακέτων, καθώς το ίδιο πρόγραμμα μπορεί ναχρησιμοποιηθεί από σύστημα βασισμένο σε RPM, Slackware, BSD, κλπ. Το σύστημα είναι αρκετά

Debian Guide 143

Page 144: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

εύκολο στη χρήση και παρέχει και online βοήθεια και έτσι δε θα αναφερθούμε διεξοδικά στηχρήση του.

Με σωστή κατανόηση της φιλοσοφίας των πακέτων λογισμικού του Debian και του συστήματοςAPT, το kpackage μπορεί να χρησιμοποιηθεί ως μια πολύ καλή εναλλακτική.

[screenshot]

Το kpackage υπάρχει ως ομώνυμο πακέτο το Debian. Για οδηγίες χρήσης εντός τουπρογράμματος μπορείτε να πατήσετε F1.

7.Το εργαλείο stormpkg

Το stormpkg αποτελούσε το κύριο πρόγραμμα διαχείρισης πακέτων της διανομής Storm Linuxπου κυκλοφόρησε το 2000 βασισμένη στο Debian. Η Storm Linux απέτυχε ως προσπάθεια, αλλάτο πρόγραμμα που θεωρήθηκε αξιόλογο προστέθηκε στην κυριώς διανομή Debian. Είναι απλόκαι εύκολο στη χρήση και παρέχει επίσης online βοήθεια. Δυστυχώς έχει σταματήσει η ανάπτυξήτου από τον Οκτώβριο του 2001, αλλά συνεχίζει να θεωρείται αξιόλογη εναλλακτική.

[screenshot]

8.Μετά την εγκατάσταση

Μετά την εγκατάσταση, ίσως να χρειαστείτε κάποιες οδηγίες για τα πακέτα και το λογισμικό πουπεριέχουν. Ίσως να πρόκειται για κάποιο πολύπλοκο πρόγραμμα, η λειτουργία του οποίου δεμπορεί να περιγραφεί ικανοποιητικά σε μια απλή σελίδα οδηγιών (man page) και φυσικάυπάρχει η πιθανότητα να μην συνοδεύεται από τέτοιες σελίδες. Άλλες φορές είναι απαραίτητημια συνολική παρουσίαση με πιο ευπαρουσίαστο τρόπο (π.χ. ένα αρχείο PDF ή online οδηγίεςχρήσης σε μορφή HTML).

Κάθε πακέτο λογισμικού στο Debian περιέχει κάποιους προκαθορισμένους καταλόγους, με τιςβασικές πληροφορίες για το συγκεκριμένο πακέτο. Από τους πιο βασικούς καταλόγους είναι οκατάλογος των αρχείων τεκμηρίωσης (documentation files). Ο κατάλογος αυτός είναι ομώνυμοςμε το συγκεκριμένο πακέτο και βρίσκεται υπό του καταλόγου /usr/share/doc. Δηλαδή, για τοπακέτο <package>, ο κατάλογος τεκμηρίωσης είναι ο

/usr/share/doc/package

και περιλαμβάνει οπωσδήποτε τουλάχιστον τα εξής αρχεία:

changelog.Debian.gzREADME.Debiancopyright

Το αρχείο changelog.Debian.gz είναι το αρχείο αλλαγών του πακέτου. Δηλαδή ποιες αλλαγέςέχουν γίνει στο πακέτο κατά την διάρκεια ύπαρξής του στη διανομή. Το αρχείο README.Debianέχει ορισμένες απαραίτητες πληροφορίες σχετικά με το πρόγραμμα και την συμβατότητά του μετο Debian, ενώ το copyright περιέχει την άδεια διανομής του πακέτου.

Συνήθως μέσα στον κατάλογο αυτόν περιλαμβάνονται και άλλα αρχεία όπως README,INSTALL, NEWS, TODO, examples, html που περιέχουν διάφορες πληροφορίες για το

Debian Guide 144

Page 145: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

λογισμικό του πακέτου. Θα πρέπει να ανατρέξετε σε κάθε ένα από αυτά τα αρχεία για να μάθετεσυγκεκριμένες λεπτομέρειες για το συγκεκριμένο πακέτο και τη χρήση του.

Debian Guide 145

Page 146: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Κεφάλαιο 14 - Διαχείριση συστήματοςΗ χρήση του Linux αλλά και γενικότερα των συστημάτων UNIX, μέχρι τώρα αφορούσε κατάκύριο λόγο υπηρεσίες διακομιστών (servers) και η απόδοση και καλή λειτουργία αυτών τωνσυστημάτων ήταν μεγίστης σημασίας. Η διατήρηση ενός διακομιστή σε καλή κατάσταση καισυνεχή λειτουργία αποτελεί ευθύνη ειδικών χρηστών, των διαχειριστών συστημάτων (systemadministrators), οι οποίοι για το σκοπό αυτό χρησιμοποιούν διάφορα εργαλεία ή καιχαρακτηριστικά που προσφέρει το ίδιο το σύστημα. Η διαχείριση του συστήματος περιλαμβάνειαπό απλή επίβλεψη (monitoring) των πόρων του συστήματος, πληροφόρηση των τεχνικώνχαρακτηριστικών του συστήματος και βελτιστοποίηση των παραμέτρων του πυρήνα (kernel fine-tuning), διαχείριση των συσκευών που είναι συνδεδεμένες στο σύστημα, των διεργασιών, τωνχρηστών και των ομάδων και τέλος των υπηρεσιών (services) που τρέχουν στο σύστημα.

Η διαχείριση και βελτιστοποίηση του πυρήνα είναι αρκετά προχωρημένο ως θέμα και δεν θααναφερθούμε περαιτέρω. Στο Παράρτημα VI, αναφέρονται οι βασικές πληροφορίες για τηρύθμιση του.

1.Διαχείριση πόρων συστήματος

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

2.Κεντρικοί επεξεργαστές

Οι κεντρικοί επεξεργαστές (CPU) είναι το κύριο χαρακτηριστικό ενός υπολογιστή, θα λέγαμε ο“εγκέφαλός” του. Οι περισσότεροι υπολογιστές έχουν έναν κεντρικό επεξεργαστή αν και έχουναρχίσει να γίνονται πιο διαδεδομένοι και οι υπολογιστές με περισσότερους από έναν. Μεαρχιτεκτονικές όπως Συμμετρική Πολυεπεξεργασία (Symmetric Multi-Processing, SMP) και ΜηΟμοιόμορφη Προσπέλλαση μνήμης (Non-Uniform Memory Access), μπορούμε πλέον να έχουμευπολογιστές από 2-64 επεξεργαστές. Το Linux μπορεί να τους χρησιμοποιήσει όλους και ναεκμεταλλευτεί τον καθένα ξεχωριστά, π.χ. διαμοιράζοντας τα προγράμματα να τρέχουν σεπολλούς επεξεργαστές, ώστε να μην έχουμε πτώση της απόδοσης όταν τρέχουμε πολλάπρογράμματα.

Αρχιτεκτονική του επεξεργαστή

Ο κάθε επεξεργαστής ανήκει σε μια αρχιτεκτονική, όπως έχουμε αναφέρει και στο κεφάλαιο 2(σελ. 7). Στο Debian αυτή η αρχιτεκτονική καθορίζει και τα πακέτα λογισμικού που μπορούμε ναεγκαταστήσουμε στον υπολογιστή. Συνήθως, δεν υπάρχει θέμα σύγχυσης και το πιο πιθανόνείναι ότι θα έχετε αρχιτεκτονική IA32 (ix86 όπως αλλιώς λέγεται) που χαρακτηρίζει τουςπερισσότερους προσωπικούς υπολογιστές σήμερα (τα γνωστά μας PC).

Εντούτοις, είναι πολλές φορές χρήσιμο να έχουμε επιπλέον πληροφορίες για την αρχιτεκτονικήτου επεξεργαστή μας και το Linux μας παρέχει τέτοια δυνατότητα με τις εξής εντολές:

# archi686

Debian Guide 146

Page 147: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Απλώς τυπώνει το είδος του επεξεργαστή, i386/i586/i686 αυτή η εντολή είναι αρκετά χρήσιμησε σενάρια κελύφους, όταν π.χ. θέλουμε να εκτελέσουμε την κατάλληλη έκδοση για τον κάθεεπεξεργαστή.

# uname -aLinux silmaril 2.4.20 #1 Sat Jul 5 20:21:27 EEST 2003 i686 GNU/Linux

Μια πιο εξελιγμένη έκδοση, μας παρέχει πληροφορίες για το όνομα του πυρήνα (στηνπροκειμένη περίπτωση Linux), το όνομα του υπολογιστή (silmaril) την έκδοση του πυρήνα(2.4.20 #1) με την ημερομηνία κατασκευής του, την αρχιτεκτονική (i686) και το όνομα τουλειτουργικού συστήματος (GNU/Linux).

Ο ίδιος ο πυρήνας μας παρέχει πληροφορίες για το είδος του επεξεργαστή που χρησιμοποιεί,μέσω του εικονικού συστήματος αρχείων procfs (βλ. κεφ. 12, σελ. 120) και το αρχείο /proc/cpuinfo. Το αρχείο αυτό είναι ένα απλό αρχείο κειμένου το οποίο μπορούμε να τυπώσουμεμε μια εντολή όπως η cat.

# cat /proc/cpuinfoprocessor : 0vendor_id : GenuineIntelcpu family : 6model : 8model name : Pentium III (Coppermine)stepping : 6cpu MHz : 694.850cache size : 256 KBfdiv_bug : nohlt_bug : nof00f_bug : nocoma_bug : nofpu : yesfpu_exception : yescpuid level : 2wp : yesflags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr ssebogomips : 1386.08

Οι πληροφορίες που χαρακτηρίζουν κάθε επεξεργαστή είναι πάρα πολλές και συχνάδιαφορετικές μεταξύ επεξεργαστών, αλλά υπάρχουν ορισμένα κοινά στοιχεία, όπως π.χ. οαριθμός του επεξεργαστή (processor), το όνομα της εταιρείας κατασκευής (vendor_id), το όνοματου μοντέλου (model_name), τη συχνότητα του επεξεργαστή (cpu MHz), το μέγεθος του L2cache (cache size) και ένα απλό μετρητή απόδοσης (bogomips).

Χρήσιμα πακέτα: cpuid, microcode.ctl, set6x86, x86info.

Φόρτο του επεξεργαστή και χρόνος λειτουργίας

Πέρα από τις πληροφορίες για τα κατασκευαστικά χαρακτηριστικά του επεξεργαστή, πολύ πιοσυχνά θα μας χρειαστεί να γνωρίζουμε σε ποιο ποσοστό λειτουργεί ο επεξεργαστής ή αλλιώς τοφόρτο του επεξεργαστή. Το φόρτο του επεξεργαστή για ευκολία το έχουμε συνδέσει μεκάποιους μετρητές. Οι μετρητές αυτοί δείχνουν 0 όταν ο επεξεργαστής δεν έχει φόρτο (idleCPU), 1 όταν τρέχει μια μόνο διεργασία, και περισσότερο όταν ο επεξεργαστής προσπαθεί να

Debian Guide 147

Page 148: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

μειράσει το χρόνο του σε περισσότερες από μια διεργασίες.

Εδώ πρέπει να σημειώσουμε ότι σε κάθε στιγμή στο σύστημα τρέχουν πολλές δεκάδεςδιεργασίες. Τις περισσότερες φορές όμως, οι διεργασίες αυτές είναι σε κατάσταση αναμονής,περιμένοντας κάποιο γεγονός (event) να συμβεί, οπότε και θα αρχίσουν την επεξεργασία του.Τότε θεωρούμε ότι ο επεξεργαστης έχει φόρτο από τις συγκεκριμένες διεργασίες. Όσοπερισσότερες διεργασίες προσπαθούν να δεσμεύσουν τον επεξεργαστή τόσο υψηλότερο φόρτοέχουμε. Αν δηλαδή το σύστημα εμφανιστεί να έχει φόρτο 60, τότε 60 διεργασίες προσπαθούν ναμοιραστούν τον χρόνο ενός επεξεργαστή, και η απόδοση του συστήματος θα πέσει κατακόρυφα.Σε αυτήν την περίπτωση , θα πρέπει ή να αναβαθμίσουμε το σύστημά μας (με επιπλέονεπεξεργαστή ή καλύτερο επεξεργαστή) ή αν κάτι τέτοιο δεν είναι δυνατόν, να ελαττώσουμε τοναριθμό των διεργασιών που εκτελούνται στο σύστημα.

Το φόρτο του συστήματος μπορούμε να το πληροφορηθούμε πολύ εύκολα με την εντολή uptime,η οποία μας δίνει και επιπλέον πληροφορίες, όπως την τρέχουσα ώρα του συστήματος, τονχρόνο λειτουργίας του (το λεγόμενο uptime), τον αριθμό των χρηστών που είναι συνδεδεμένοιστο σύστημα, και τρεις μετρητές φόρτου, για το τελευταίο 1, 5 και 15 λεπτά.

# uptime 10:53:06 up 1 day, 13:43, 1 user, load average: 0.09, 0.10, 0.09

Για την εμφάνιση του φόρτου υπάρχουν και άλλα προγράμματα που παρουσιάζουν με χρήσιμαγραφήματα τις μεταβολές των μετρητών αυτών και πιθανόν και άλλες επιπλέον πληροφορίεςτου συστήματος. Μερικά από αυτά τα προγράμματα είναι το (κλασσικό) xload, το gtop πουλειτουργεί σε περιβάλλον GNOME και το ksysguard που περιλαμβάνεται στο βασικό περιβάλλοντου KDE.

[screenshot]

Χρήσιμα πακέτα: kcpuload, gtop.

3.Μνήμη συστήματος

Η μνήμη του συστήματος είναι επίσης ένα βασικό στοιχείο του υπολογιστή. Θα πρέπει ναυπάρχει σε αφθονία (με κάποιο μέτρο φυσικά) ώστε ο υπολογιστής να μη χρειαστεί ναχρησιμοποιήσει το αρχείο εναλλαγής μνήμης (swap file), καθώς η χρήση του μειώνει αισθητά τηναπόδοση του υπολογιστή. Κάτι τέτοιο ίσως δεν είναι σημαντικό για οικιακή χρήση, αλλά γιαεπαγγελματικά περιβάλλοντα είναι σημαντικός παράγοντας καθυστέρησης.

Την ελεύθερη μνήμη του συστήματος μπορείτε εύκολα να τη δείτε μέσω των εντολών free ή καιαπευθείας από τα αρχεία /proc/meminfo και /proc/swaps. Το αρχείο /proc/swaps περιλαμβάνειμόνο πληροφορίες για την εικονική μνήμη. Για παράδειγμα:

# free -t total used free shared buffers cachedMem: 191824 185784 6040 0 16036 83364-/+ buffers/cache: 86384 105440Swap: 524280 108024 416256Total: 716104 293808 422296

Η εντολή free δέχεται και άλλες απλές παραμέτρους, τις οποίες μπορείτε να μάθετε μέσω τηςσελίδας οδηγίων της εντολής (man free).

Debian Guide 148

Page 149: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Το αρχείο swaps στον κατάλογο /proc, παρέχει τις ακόλουθες πληροφορίες:

# cat /proc/swapsFilename Type Size Used Priority/dev/hda5 partition 524280 105524 -1

όπου φαίνεται καθαρά το όνομα της μονάδας ή αρχείου που λειτουργεί ως αρχείο εναλλαγήςμνήμης, το συνολικό και το χρησιμοποιούμενο μέγεθος καθώς και η προτεραιότητά της.

Όσον αφορά το αρχείο meminfo αυτό είναι αρκετά πιο αναλυτικό και παρέχει συνολικέςπληροφορίες για τη μνήμη:

# cat /proc/meminfo total: used: free: shared: buffers: cached:Mem: 196427776 190799872 5627904 0 17199104 112848896Swap: 536862720 110612480 426250240MemTotal: 191824 kBMemFree: 5496 kBMemShared: 0 kBBuffers: 16796 kBCached: 82584 kBSwapCached: 27620 kBActive: 74128 kBInactive: 87032 kBHighTotal: 0 kBHighFree: 0 kBLowTotal: 191824 kBLowFree: 5496 kBSwapTotal: 524280 kBSwapFree: 416260 kB

Χρήσιμα πακέτα: memtest86, hwtools, memtester, sysutils.

4.Συστήματα αρχείων

Η διαχείριση των σκληρών δίσκων σε ένα σύστημα είναι επίσης σημαντική υπόθεση. Είναισημαντικό να βεβαιωθούμε ότι ένα διαμέρισμα έχει αρκετό διαθέσιμο χώρο, ώστε το σύστημα νασυνεχίσει να λειτουργεί χωρίς πρόβλημα. Κατί τέτοιο είναι ιδιαίτερα σημαντικό για τοδιαμέρισμα που φιλοξενεί τον βασικό κατάλογο root, τον κατάλογο /var και τον κατάλογο /tmpκαθώς τα περιεχόμενα αυτών των καταλόγων μεταβάλλονται συχνά. Υπάρχουν αρκετά εργαλείαστο Debian για την πληροφόρηση για την κατάσταση των διαμερισμάτων και των σκληρώνδίσκων αλλά και για τον δίαυλο SCSI ειδικά.

Σε επαγγελματικά περιβάλλοντα η διαχείριση των διαμερισμάτων γίνεται με εξειδικευμένολογισμικό, τους Διαχειριστές Λογικών Μονάδων (Logical Volume Managers), όπως τα συστήματαLVM, LVM2, EVMS, και άλλα εμπορικά πακέτα. Η περιγραφή και εγκατάσταση τέτοιωνσυστημάτων απαιτεί αρκετή εμπειρία στην διαχείριση συστημάτων και ξεφεύγει από τουςσκοπούς αυτού του οδηγού, αλλά παραθέτουμε παρακάτω τα ονόματα ορισμένων πακέτων .

Γενικά, την κατάσταση των διαμερισμάτων, όσον αφορά τον διαθέσιμο χώρο, μπορούμε να τηνπληροφορηθούμε εύκολα με την εντολή df. Η πιο συνήθης κλήση της df είναι χωρίςπαραμέτρους, καθώς παρέχει μια συνολική εικόνα του συστήματος και της κατανάλωσης τουαποθηκευτικού χώρου. Δέχεται όμως ένα αριθμό παραμέτρων και επιλογών, ορισμένες από τιςοποίες απεικονίζονται στον παρακάτω πίνακα:

Debian Guide 149

Page 150: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-B, --block-size=SIZE Εμφανίζει το μέγεθος σε blocks μεγέθους SIZE.

-k Χρησιμοποιεί την --block-size=1K (1 kilobyte = 1024 bytes).

-h--human-readable

Εμφανίζει το μέγεθος χρησιμοποιώντας πιο ευανάγνωστημορφή (1G, 23M, 543K).

--sync Συγχρονίζει τα περιεχόμενα του δίσκου με τους buffers τουσυστήματος (βλ. εντολή sync παρακάτω).

-P, --portability Εμφανίζει το αποτέλεσμα σε μορφή συμβατή με τοσύστημα POSIX.

-t, --type=TYPE Εμφανίζει μόνο τα συστήματα αρχείων τύπου TYPE.

-T, --print-type Εμφανίζει τον τύπο του συστήματος αρχείων για κάθεμονάδα.

-x, --exclude-type=TYPE Δεν εμφανίζει τα συστήματα αρχείων τύπου TYPE.

Ακολουθεί παράδειγμα εκτέλεσης της εντολής df σε σύστημα που χρησιμοποιεί σύστημα LVM καιdevfs (βλ. σελ. 118).

# df -kFilesystem 1K-blocks Used Available Use% Mounted on/dev/ide/host0/bus0/target0/lun0/part1 241116 133994 94674 59% //dev/local_vg/usr 3096336 2060656 878396 71% /usr/dev/local_vg/var 3426896 1168756 2084060 36% /var/dev/local_vg/home 5160576 4266632 631800 88% /home

Φαίνεται καθαρά το συνολικό μέγεθος του διαμερίσματος, το μέγεθος του χρησιμοποιούμενουκαι διαθέσιμου χώρου, το ποσοστό χρήσης καθώς και το όνομα του αρμού του διαμερίσματος(mount point).

Η εντολή sync που αναφέρθηκε χρησιμοποιείται για να αποθηκεύσει όλες τις αλλαγές στοσύστημα αρχείων που βρίσκονται ακόμη στους buffers του συστήματος. Κάτι τέτοιο μπορεί ναδιαρκέσει αρκετά δευτερόλεπτα, καθώς το λειτουργικό σύστημα, για λόγους απόδοσης, δεναποθηκεύει κάθε αλλαγή αμέσως αλλά με κάποια καθυστέρηση. Πολλές φορές και ειδικά σεπεριβάλλοντα server το πλήθος των δεδομένων που βρίσκονται σε buffers μπορεί να ανέλθει σεαρκετά MB.

Η εντολή df μας δίνει την κατανάλωση χώρου σε ολόκληρο το σύστημα αρχείων. Αν θέλουμε αντ'αυτού να μάθουμε την κατανάλωση στο δίσκο ενός μόνο καταλόγου (και των περιεχομένων του)θα πρέπει να χρησιμοποιήσουμε την εντολή du (disk usage). Η σημαντικότερη επιλογή τηςεντολής είναι η -s, που τυπώνει τη συνολική κατανάλωση χώρου των αρχείων ή καταλόγων πουδίνουμε ως παραμέτρους στην du. Άλλες επιλογές περιλαμβάνουν:

Debian Guide 150

Page 151: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-B, --block-size=SIZE Εμφανίζει το μέγεθος σε blocks μεγέθους SIZE.

-k Χρησιμοποιεί την --block-size=1K (1 kilobyte = 1024 bytes).

-h--human-readable

Εμφανίζει το μέγεθος χρησιμοποιώντας πιο ευανάγνωστημορφή (1G, 23M, 543K).

-c, --total Εμφανίζει ένα συνολικό μέγεθος όλων των παραμέτρωντης εντολής.

-s, --summarize Εμφανίζει ένα συνολικό μέγεθος για κάθε παράμετρο τηςεντολής.

-x, --one-file-system

Αγνοεί καταλόγους που βρίσκονται σε διαφορετικάσυστήματα αρχείων.

--exclude=PATTERN Αγνοεί αρχεία που ταιριάζουν στην κανονική παράστασηPATTERN.

Για παράδειγμα, για να δούμε το συνολικό μέγεθος του καταλόγου /etc και /boot μπορούμε ναδώσουμε:

# du -s -c /etc /boot17275 /etc3049 /boot20324 total

Τα μεγέθη αυτά απεικονίζονται σε KB, δηλαδή το σύνολικό μέγεθος των καταλόγων /etc και /boot είναι περίπου 17 MB και 3 MB, αντίστοιχα.

Το Debian παρέχει και πακέτα που παρέχουν πιο γραφική απεικόνιση των εντολών df και du,όπως τα kdf και kdirstat.

[screenshot]

[screenshot]

Υπάρχει περίπτωση να χρειαστεί να περιορίσουμε τον αποθηκευτικό χώρο που είναι διαθέσιμοςσε κάποιο χρήστη για αποφυγή της σπατάλης χώρου. Ειδικά σε συστήματα πουχρησιμοποιούνται από πολλούς χρήστες (Πανεπιστήμια, εταιρείες, οργανισμοί) τέτοια συστήματαπεριορισμού διαθέσιμου χώρα (disk quota systems) είναι απαραίτητα. Στο Linux η χρήση τωνπεριορισμών αυτών γίνεται αν καταρχάς υπάρχει υποστήριξη στον πυρήνα (βλ. Παράρτημα VI,σελ. 192). Έπειτα, χρησιμοποιείται το πρόγραμμα quota, στο οποίο δεν θα αναφερθούμεπερισσότερο.

Χρήσιμα πακέτα: xdiskusage, kdf, kdirstat, quota, quotatool.

5.Διαχείριση Δίσκων

Για να μάθουμε περισσότερες πληροφορίες για τα ίδια τα διαμερίσματα (και όχι τόσο για τασυστήματα αρχείων που φιλοξενούν) μπορούμε να χρησιμοποιήσουμε είτε τις εντολές fdisk καιcfdisk είτε το σύστημα αρχείων /proc.

Debian Guide 151

Page 152: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Για παράδειγμα εκτελώντας την fdisk στο σύστημα του παραδείγματος της df θα μας έδινε τοεξής αποτέλεσμα:

# fdisk -lDisk /dev/ide/host0/bus0/target0/lun0/disc: 15.1 GB, 15103033344 bytes255 heads, 63 sectors/track, 1836 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System/dev/ide/host0/bus0/target0/lun0/part1 * 1 31 248976 83 Linux/dev/ide/host0/bus0/target0/lun0/part2 32 1836 14498662+ 8e Linux LVM

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

Παρόμοιες πληροφορίες μπορούμε να μάθουμε εκτελώντας το πρόγραμμα cfdisk, στο οποίοόμως θα αναφερθούμε διεξοδικά στο Παράρτημα IIΙ (σελ. 189).

Επίσης, όπως ήδη αναφέραμε, το εικονικό σύστημα /proc μας παρέχει πολύτιμες πληροφορίεςγια τους σκληρούς δίσκους και τα διαμερίσματα που φιλοξενούν. Συγκεκριμένα, μπορούμε ναχρησιμοποιήσουμε τα εξής αρχεία και καταλόγους:

/proc/partitions/proc/ide//proc/scsi/

Αν και οι πληροφορίες που δίνονται στα αρχεία αυτά είναι αρκετά πιο τεχνικές από ότι τααποτελέσματα των εντολών όπως η fdisk, εντούτοις μπορεί να παρέχουν μια καλή εικόνα τηςκατάστασης ενός δίσκου ή ακόμη και ολοκλήρου του διαύλου IDE ή SCSI (αντίστοιχα στουςκαταλόγους /proc/ide και /proc/scsi).

Εμβαθύνοντας λίγο περισσότερο, μπορούμε με διάφορα προγράμματα να επέμβουμε στα τεχνικάχαρακτηριστικά της ίδιας της συσκευής, π.χ. την ταχύτητα επικοινωνίας με τον υπολογιστή, τηνκατάσταση DMA της συσκευής ή ακόμη και την δυνατότητα αυτοελέγχου της συσκευής μεσυστήματα όπως το S.M.A.R.T. Ένας εξαντλητικός κατάλογος αυτών των εντολών είναι πέρααπό τους σκοπούς αυτού του βιβλίου, αλλά θα αναφέρουμε τις σημαντικότερες.

Η εντολή hdparm είναι ένα πολύ χρήσιμο εργαλείο που επιτρέπει την διαχείριση ορισμένωνπαραμέτρων που επηρεάζουν την απόδοση κάποιου σκληρού δίσκου, π.χ. την ενεργοποίηση τηςκατάστασης DMA, την ρύθμιση της ταχύτητας με τον υπολογιστή, την ενεργοποίηση των cache,την προσωρινή απενεργοποίηση (standby) του σκληρού δίσκου, και άλλα. Βέβαια, ένα τέτοιοεργαλείο είναι και αρκετά επικίνδυνο, με λίγη προσοχή και μελέτη των οδηγιών (man hdparm),το πιο πιθανόν είναι ότι δεν θα αντιμετωπίσετε πρόβλημα.

# hdparm /dev/hda

/dev/hda: multcount = 16 (on) IO_support = 3 (32-bit w/sync) unmaskirq = 0 (off)

Debian Guide 152

Page 153: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

using_dma = 1 (on) keepsettings = 0 (off) readonly = 0 (off) readahead = 8 (on) geometry = 1836/255/63, sectors = 29498112, start = 0

Όλες αυτές οι πληροφορίες είναι αρκετά τεχνικές και θα χρειαστεί οπωσδήποτε αναφορά στιςοδηγίες για την επεξήγησή τους, όμως αρκεί να παρατηρήσουμε ότι ο σκληρός δίσκος λειτουργείμε ενεργοποιημένη την επικοινωνία με DMA και με 32-bit μεταφορά δεδομένων (IO_support).

Αν μας απασχολεί η ασφάλεια των δεδομένων μας και αν ο δίσκος υποστηρίζει το σύστημααυτοελέγχου S.M.A.R.T. μπορούμε να ελέγχουμε τακτικά την καλή κατάστασή του, με το πακέτοsmartmontools. Το πακέτο αυτό παρέχει ένα δαίμονα για συνεχή παρακολούθηση των σκληρώνδίσκων και ένα εργαλείο για τον περιστασιακό έλεγχο. Αν θέλουμε για παράδειγμα να μάθουμετα αποτελέσματα των αυτοελέγχων που έχει περάσει ο σκληρός δίσκος, μπορούμε να δώσουμετην ακόλουθη εντολή:

# smartctl -H -l selftest /dev/hdasmartctl version 5.1-14 Copyright (C) 2002-3 Bruce AllenHome page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===SMART overall-health self-assessment test result: PASSED

=== START OF READ SMART DATA SECTION ===SMART Self-test log, version number 1Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error# 1 Short off-line Completed 00% 3922 -

Βλέπουμε ότι ο δίσκος είναι σε καλή κατάσταση κάτι που είναι τουλάχιστον καθησυχαστικό.

Χρήσιμα πακέτα: parted, hdparm, sg3-utils, smartmontools, scsitools, scsiadd, lvm10, lvm2,evms.

6.Δίκτυο

Το UNIX χρησιμοποιείται αυτή τη στιγμή ως η σπονδυλική στήλη (backbone) ολόκληρου τουInternet, καθώς όλες σχεδόν οι ζωτικής σημασίας υπηρεσίες παρέχονται από τέτοια συστήματα.Στην πραγματικότητα το Internet αναπτύχθηκε για την επικοινωνία και ανταλλαγή δεδομένωνμεταξύ συστημάτων UNIX. Είναι επόμενο λοιπόν, να περιμένουμε ότι ένα σύστημα UNIX και κατάσυνέπεια και το Linux, θα παρέχει μεγάλη ευελιξία στην διαχείριση των παραμέτρων ενόςδικτύου. Το Linux, ως πυρήνας, έχει τη δυνατότητα υποστήριξης πολλών πρωτοκόλλωνεπικοινωνίας, πέρα από το βασικό TCP/IP (και την νέα υλοποίηση με IPv6) που χρησιμοποιείταιστο Internet. Ανάμεσα σε άλλα υποστηρίζει IPX, Appletalk, DECnet, X.25. Αυτό πρακτικάσημαίνει ότι το Linux μπορεί να επικοινωνήσει ακόμη και με τα πιο εξωτικά και εξειδικευμένασυστήματα, όπως αναδρομολογητές (routers), συσκευές RIP, συστήματα VAX, κλπ.

Το Debian εκμεταλλεύεται την υποστήριξη αυτή του Linux και παρέχει μια πληθώρα λογισμικούγια διαχείριση δικτύου, το οποίο μπορεί να καλύψει όλες τις ανάγκες ακόμη και του πιοαπαιτητικού διαχειριστή δικτύου. Άλλωστε, αυτός είναι και ο λόγος που το Debian θεωρείται μίααπό τις πιο δυνατές διανομές Linux για χρήση διακομιστή ή αναδρομολογητή.

Στον οδηγό αυτό θα αναφερθούμε μόνο στην διαχείριση δικτύου που βασίζεται στο πρωτόκολλο

Debian Guide 153

Page 154: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

TCP/IP, αφού είναι το πιο συνηθισμένο και απαραίτητο για σύνδεση στο Internet.

Για τη σύνδεση σε ένα δίκτυο TCP/IP, το πιθανότερο είναι ότι θα χρησιμοποιήσετε μια κάρταδικτύου Ethernet ή μια σύνδεση PPP. Υπάρχουν και άλλοι τρόποι όπως (A)DSL modems,συνδέσεις Wireless και δορυφορικές, αλλά οι περισσότεροι τρόποι σύνδεσης ρυθμίζονται μεπαρόμοιο τρόπο. Η κάθε συσκευή δικτύου αποτελεί την διασύνδεση του υπολογιστή στο δίκτυο(το interface όπως αλλιώς λέγεται). Για την ρύθμιση της κάθε διασύνδεσης το Debianχρησιμοποιεί έναν συνδυασμό εντολών, αρχείων ρυθμίσεων και σεναρίων κελύφους. Ο βασικόςκορμός όμως όλων αυτών είναι η εντολή ifconfig (interface config). Η εντολή αυτή ρυθμίζει όλεςτις παραμέτρους μιας διασύνδεσης όπως διεύθυνση IP, μάσκα δικτύου (netmask) και άλλεςπαραμέτρους εξειδικευμένες για κάθε συσκευή δικτύου (mtu, hw address, metrics, multicast,κλπ). Η πιο συνηθισμένη σύνταξή της είναι η εξής:

Ifconfig <device> up/down <IP ADDRESS> [netmask MASK]ifconfig [-s] [device]

Η πρώτη σύνταξη ενεργοποιεί ή απενεργοποιεί μια διασύνδεση στο δίκτυο, η οποία χρησιμοποιείτην συσκευή δικτύου device και θα έχει διεύθυνση IP την δοθείσα. Η μάσκα δικτύου είναιπροαιρετική αλλά είναι σωστή πρακτική να παρέχεται για λόγους σαφήνειας.

Η δεύτερη σύνταξη εμφανίζει αναλυτικές ή περιεκτικές πληροφορίες για τις υπάρχουσεςδιασυνδέσεις. Η ifconfig δέχεται και άλλες επιλογές και παραμέτρους τις οποίες δεν θααναφέρουμε εδώ (man ifconfig).

Για παράδειγμα για να ορίσουμε την διασύνδεση της συσκευής eth0 με διεύθυνση IP192.168.10.20 και μάσκα δικτύου 255.255.255.0, εκτελούμε την εντολή:

# ifconfig eth0 up 192.168.10.20 netmask 255.255.255.0

Το αποτέλεσμα της ρύθμισης μπορούμε να το διαπιστώσουμε ξανατρέχοντας την ifconfig χωρίςπαραμέτρους:

# ifconfigeth0 Link encap:Ethernet HWaddr 08:00:46:0F:39:BD inet addr:192.168.10.20 Bcast:192.168.10.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:9 Base address:0xfcc0 Memory:fecff000-fecff038

lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2041732 errors:0 dropped:0 overruns:0 frame:0 TX packets:2041732 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1033911881 (986.0 MiB) TX bytes:1033911881 (986.0 MiB)

Στην καταχώρηση eth0 βλέπουμε πολλές πληροφορίες για τη διασύνδεση σε αυτή τη συσκευή,όπως τον τύπο, την διεύθυνση υλικού (hardware address), την διεύθυνση IP, τις διευθύνσειςμάσκας και αναμετάδοσης (broadcast) αλλά και πιο τεχνικές πληροφορίες όπως σύνολο πακέτωνκαι που έχουν μεταδοθεί από και προς την διασύνδεση αυτή, αριθμό λαθών και συνολικόμέγεθος μεταφοράς σε bytes.

Debian Guide 154

Page 155: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Πέρα από τις πληροφορίες για την διασύνδεση eth0 που μόλις δημιουργήσαμε, η ifconfig μαςπαρέχει πληροφορίες και για μια άλλη διασύνδεση lo, (loopback). Αυτή δεν αντιστοιχεί σεκάποια συσκευή δικτύου αλλά είναι μια διασύνδεση σε επίπεδο λογισμικού και χρησιμοποιείταιγια τοπική επικοινωνία TCP/IP (δηλαδή στον ίδιο υπολογιστή) και για σκοπούς ελέγχου καιανάλυσης. Αντιστοιχεί πάντα στην διεύθυνση 127.0.0.1 και η ύπαρξή της είναι απαραίτητηκαθώς πολλές εφαρμογές στηρίζονται σε αυτήν για εσωτερική επικοινωνία.

Κάποιες φορές ίσως χρειαστεί να ρυθμίσουμε την δρομολόγηση των δικτύων, κάτι που ισχύειειδικά σε δίκτυα εταιρειών ή ακόμη και σε προσωπικά δίκτυα αν έχουμε περισσότερους απόέναν υπολογιστές συνδεδεμένους μεταξύ τους. Συνήθως μόνο ο ένας έχει πρόσβαση στο Internet(μέσω π.χ. ISDN ή ADSL) και θέλουμε να χρησιμοποιήσουμε αυτόν ως πύλη (gateway) για τουςυπόλοιπους. Η δρομολόγηση αυτή γίνεται είτε αυτόματα κατά τη ρύθμιση κατά τηνενεργοποιήση, μέσω του αρχείου interfaces (που θα δούμε παρακάτω) είτε με την εντολή route.

Η εντολή route δίνει την δυνατότητα αρκετά περίπλοκων δρομολογήσεων, οι οποίες όμως έχουνεφαρμογή μόνο σε συνδέσεις τοπικών και μη τοπικών δικτύων (LAN-WAN, Local Area Networks -Wide Area Networks). Η δρομολόγηση ενός τοπικού οικιακού δικτύου σε μία σύνδεση PPP,γίνεται αυτόματα από το πρόγραμμα pppd (όταν αυτό έχει ενεργοποιημένο την επιλογήdefaultroute).

Για την κατανόηση της δρομολόγησης δικτύων, παραθέτουμε το ακόλουθο παράδειγμα.

# route10.10.1.0 * 255.255.255.0 U 0 0 0 eth410.0.0.0 * 255.255.0.0 U 0 0 0 eth210.1.0.0 * 255.255.0.0 U 0 0 0 eth3default 192.168.1.1 0.0.0.0 UG 0 0 0 eth1

Με βάση το αποτέλεσμα της route, μπορούμε να βγάλουμε τα εξής συμπεράσματα:

• Υπάρχουν τέσσερις ενεργές διασυνδέσεις στον υπολογιστή (interfaces) eth1-eth4.

• Η eth2 συνδέεται στο δίκτυο 10.0.0.0 με netmask 255.255.0.0 ή όπως συχνά απεικονίζεται10.0.0.0/16.

• Η eth3 συνδέεται στο δίκτυο 10.1.0.0/16.

• Η eth4 συνδέεται στο δίκτυο 10.10.1.0/255.255.255.0 ή 10.10.1.0/24.

• Τέλος, η eth1 που χρησιμοποιείται και ως προκαθορισμένη πύλη για όλες τις υπόλοιπεςδιευθύνσεις συνδέεται στο δίκτυο και ορίζει ως πύλη (gateway) την διεύθυνση 192.168.1.1.

Τι ακριβώς σημαίνει αυτό; Το σύστημα γνωρίζει ότι οποιαδήποτε διεύθυνση IP της μορφής10.0.x.y ανήκει στο δίκτυο που συνδέεται η eth2. Αντίστοιχα, για τις διευθύνσεις 10.1.x.y θαχρησιμοποιήσει την διασύνδεση eth3 και για τις διευθύνσεις 10.1.10.x την διασύνδεση eth4. Γιαοποιαδήποτε άλλη διεύθυνση το σύστημα χρησιμοποιεί την διασύνδεση eth1 και αποστέλει όλατα πακέτα επικοινωνίας στην διεύθυνση 192.168.1.1 που είναι και η προκαθορισμένη πύλη τουδικτύου.

Αυτές οι ρυθμίσεις δεν είναι απαραίτητο να γίνονται κάθε φορά που εκκινείται το σύστημα. ΤοDebian παρέχει αρκετά εξελιγμένα σενάρια κελύφους και εργαλεία που να αναλαμβάνουν και νααυτοματοποιούν όλη την ρύθμιση του δικτύου κατά την εκκίνηση ή και κατά τη διάρκειαλειτουργίας του συστήματος.

Το βασικό αρχείο ρύθμισης των διασυνδέσεων ενός τυπικού συστήματος Debian (τουλάχιστον

Debian Guide 155

Page 156: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

στις παρούσες διανομές woody, testing και unstable) είναι το /etc/network/interfaces. Αυτό τοαρχείο περιγράφει με ποιον τρόπο θα ρυθμίζεται η κάθε διασύνδεση, αν θα ενεργοποιείταιαυτόματα κατά την εκκίνηση, αν θα διευθυνσιοδοτείται αυτόματα μέσω κάποιου πρωτοκόλλουόπως BOOTP ή DHCP αλλά και θα επιτρέπει την απευθείας ρύθμιση της διεύθυνσης IP, τηςμάσκας και της πύλης του δικτύου της διασύνδεσης. Για παράδειγμα, ας υποθέσουμε ότι έχουμεένα υπολογιστή που χρησιμοποιεί δυναμική σύνδεση ADSL για πρόσβαση στο Internet, η οποίασυνδέεται στην κάρτα δικτύου eth0, ενώ συνδέεται και σε ένα τοπικό δίκτυο μέσω της κάρταςδικτύου eth1. Οι δυναμικές συνδέσεις DSL συνήθως διευθυνσιοδοτούνται μέσω του πρωτοκόλλουDHCP. Ακολουθεί ένα πιθανό αρχείο interfaces που περιγράφει μια τέτοια συνδεσμολογία:

auto eth0iface eth0 inet dhcpauto eth1iface eth1 inet static address 192.168.10.1 netmask 255.255.255.0

και το αρχείο interfaces ενός άλλου υπολογιστή που συνδέεται στο εσωτερικό δίκτυο μέσω τηςδικής του eth0:

auto eth0iface eth0 inet static address 192.168.10.5 netmask 255.255.255.0 gateway 192.168.10.1

Όπως βλέπουμε, στον δεύτερο υπολογιστή ρυθμίζεται και η προκαθορισμένη πύλη στον πρώτουπολογιστή που έχει απευθείας πρόσβαση στο Internet.

Χάρη σε αυτό το αρχείο, η ενεργοποίηση/απενεργοποίηση των διασυνδέσεων μπορεί πλέονεύκολα χρησιμοποιώντας τις εντολές ifup/ifdown με το όνομα της διασύνδεσης.

Δηλαδή στο προηγούμενο παράδειγμα η εντολή

# ifup eth0

ενεργοποιεί την σύνδεση ADSL στον πρώτο υπολογιστή ή την τοπική σύνδεση δικτύου στονδεύτερο. Για περισσότερες πληροφορίες για τις αποδεκτές παραμέτρους των εντολών ifup,ifdown και του αρχείου interfaces παραπέμπουμε στις αντίστοιχες σελίδες οδηγιών.

Στην περίπτωση που χρησιμοποιείτε κάρτα δικτύου PCMCIA, η διαδικασία είναι λίγοδιαφορετική. Αρκεί να δηλώσετε τα αντίστοιχα χαρακτηριστικά του δικτύου (διεύθυνση IP,μάσκα, πύλη, DHCP/BOOTP, κλπ) στο αρχείο /etc/pcmcia/network.opts. Χάρη σε αυτό τοαρχείο η ρύθμιση του δικτύου θα ενεργοποιείται κάθε φορά που συνδέετε την κάρταδικτύου PCMCIA στον υπολογιστή σας (αν φυσικά έχετε εγκατεστημένα τα πακέτα PCMCIA).

Έπειτα, η ενεργοποίηση/απενεργοποιήση της αντίστοιχης διασύνδεσης είναι απλώς θέμαεκτέλεσης του σεναρίου κελύφους /etc/pcmcia/network, ως εξής:

/etc/pcmcia/network start|stop|restart devicename

όπου devicename το όνομα της διασύνδεσης (π.χ. eth0).

Debian Guide 156

Page 157: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Διαχείριση ονομάτων και τομέων δικτύου

Κατά την εγκατάσταση είχαμε δηλώσει κάποιο όνομα στον υπολογιστή και πιθανόν και κάποιοντομέα δικτύου στον οποίο ανήκει ο υπολογιστής. Το όνομα του υπολογιστή, το hostname όπωςλέγεται μπορούμε να το μάθουμε και να το αλλάξουμε προσωρινά με την ομώνυμη εντολή:

# hostnamesilmaril

ενώ με την παράμετρο -i τυπώνει την διεύθυνση IP που αντιστοιχεί στο όνομα αυτό (κάθεδιεύθυνση IP μπορεί να αντιστοιχεί σε διαφορετικό hostname, ώστε να είναι δυνατόν έναςυπολογιστής να χαρακτηρίζεται από περισσότερα hostnames).

# hostname -i10.0.1.150

Μπορούμε επίσης να ορίσουμε προσωρινά ένα διαφορετικό hostname δίνοντάς το ως παράμετροή από κάποιο αρχείο ως εξής:

# hostname newhost# hostname -F hostfile

(Το hostfile πρέπει να περιέχει μόνο τη λέξη newhost)

Οι δύο εντολές είναι ισοδύναμες. Για πιο μόνιμη αλλαγή του hostname, θα πρέπει να αλλάξουμετο αρχείο /etc/hostname.

Αντίστοιχα με τη εντολή hostname, υπάρχει και η εντολή dnsdomainname που εμφανίζει τοντομέα ή το πλήρως δηλωμένο όνομα τομέα (Fully Qualified Domain Name, FQDN) τουυπολογιστή:

# dnsdomainname -fcomputer.somedomain.company.com

Η αλλαγή του τομέα μπορεί να γίνει αν ο υπολογιστής δεν είναι συνδεδεμένος σε δίκτυο μεδηλωμένο όνομα τομέα (π.χ. ένας οικιακός υπολογιστής). Αν είναι συνδεδεμένος σε τέτοιοδίκτυο για τη σωστή σύνδεσή του στο δίκτυο θα πρέπει να χρησιμοποιήσει το κατάλληλο όνοματομέα (που θα πρέπει να το παρέχει ο διαχειριστής αυτού του δικτύου). Για οικιακή ήαπομονωμένη από δίκτυο χρήση μπορούμε να ορίσουμε ένα τυπικό όνομα τομέα με το αρχείο /etc/domainname.

Επίσης, σε ένα μικρό δίκτυο μπορούμε να αντιστοιχίσουμε ονόματα υπολογιστών με διευθύνσειςIP στο αρχείο /etc/hosts. Αυτό το αρχείο θα πρέπει να υπάρχει σε κάθε υπολογιστή και να είναισυνεπές, δηλαδή να μην υπάρχουν διαφορετικές καταχωρήσεις για τον ίδιο υπολογιστή.Παραπέμπουμε στην σελίδα οδηγιών του αρχείου hosts για περισσοτερες πληροφορίες.

Για μεγαλύτερα δίκτυα υπάρχουν διαφορετικά συστήματα όπως το NIS (Network InformationServices) ή το DNS (Domain Name Service) τα οποία χρησιμοποιούν έναν κεντρικό διακομιστήπου διατηρεί μια βάση δεδομένων ονομάτων hostnames και διευθύνσεων IP (στηνπραγματικότητα το NIS είναι κάτι περισσότερο, βλ. σχετικές οδηγίες στο αντίστοιχο πακέτο). Ηδιαχείριση αυτών των συστημάτων αποτελεί αντικείμενο εξειδικευμένων βιβλίων και ξεφεύγειαπό τα όρια αυτού του οδηγού. Θα αναφέρουμε όμως ορισμένες βασικές πληροφορίες για τοσύστημα DNS καθώς είναι το πλέον διαδεδομένο σύστημα ονοματολογίας στο Internet.

Debian Guide 157

Page 158: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Για να μάθετε το όνομα ενός υπολογιστή στο Internet γνωρίζοντας την διεύθυνση IP του, ήαντίστροφα, για να βρείτε σε ποια διεύθυνση αντιστοιχεί ένα συγκεκριμένο όνομα (για τηνακρίβεια είναι απαραίτητη η χρήση ενός FQDN) μπορείτε να χρησιμοποιήσετε μια από τις εντολέςnslookup, host και dig. Η nslookup θεωρείται ξεπερασμένη και τείνει να αντικατασταθεί από τιςhost και dig. Η host χρησιμοποιείται για μια γρήγορη αναζήτηση χωρίς να δίνει έμφαση σετεχνικές λεπτομέρειες. Για πιο τεχνική ανάλυση μιας αναζήτησης στο σύστημα DNS η dig παρέχειπληθώρα πληροφοριών που είναι όμως χρήσιμες μόνο στους διαχειριστές συστημάτων. Γιακατανόηση της διαφοράς των εντολών παραθέτουμε την αναζήτηση της διεύθυνσηςwww.google.org και με τις τρείς εντολές:

# nslookup www.google.orgNote: nslookup is deprecated and may be removed from future releases.Consider using the `dig' or `host' programs instead. Run nslookup withthe `-sil[ent]' option to prevent this message from appearing.Server: 195.66.112.1Address: 195.66.112.1#53

Non-authoritative answer:www.google.org canonical name = www.google.com.Name: www.google.comAddress: 216.239.51.99

Η nslookup παρέχει αρκετές βασικές και χρήσιμες πληροφορίες στο χρήστη, όπως την διεύθυνσητου διακομιστή DNS που χρησιμοποιήθηκε, και πληροφορίες για το όνομα που αναζητήθηκε (τοοποίο στην συγκεκριμένη περίπτωση είναι ένα ψευδώνυμο για το www.google.com καικατευθύνει στην διεύθυνση IP 216.239.32.10).# host www.google.orgwww.google.org is an alias for www.google.com.www.google.com has address 216.239.51.99

Η host παρέχει μόνο τις πιο βασικές πληροφορίες για το όνομα και αγνοεί -στον βασικό τρόποκλήσης της εντολής- τις πληροφορίες για τους διακομιστές DNS ή άλλες πιο τεχνικέςπληροφορίες.

silmaril:~# dig www.google.org

; <<>> DiG 9.2.2 <<>> www.google.org;; global options: printcmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33223;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:;www.google.org. IN A

;; ANSWER SECTION:www.google.org. 345559 IN CNAME www.google.com.www.google.com. 259 IN A 216.239.51.99

;; AUTHORITY SECTION:google.com. 132037 IN NS ns1.google.com.google.com. 132037 IN NS ns2.google.com.google.com. 132037 IN NS ns3.google.com.

Debian Guide 158

Page 159: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

google.com. 132037 IN NS ns4.google.com.

;; ADDITIONAL SECTION:ns1.google.com. 131769 IN A 216.239.32.10ns2.google.com. 131769 IN A 216.239.34.10ns3.google.com. 131769 IN A 216.239.36.10ns4.google.com. 131769 IN A 216.239.38.10

;; Query time: 75 msec;; SERVER: 195.66.112.1#53(195.66.112.1);; WHEN: Fri Jul 11 02:03:12 2003;; MSG SIZE rcvd: 212

Τα σχόλια είναι περιττά για την dig. Προσφέρει όλες τις πληροφορίες που πιθανόν να χρειαστείένας διαχειριστής συστημάτων, αν και για απλή χρήση ίσως κάτι τέτοιο να είναι υπερβολικό. Σεαυτήν την περίπτωση προτιμήστε την host.

Για την επιτυχή αναζήτηση με οποιαδήποτε από τις εντολές nslookup, host, dig ή οποιοδήποτεάλλο εργαλείο αναζήτησης DNS θα πρέπει να έχουμε δηλώσει κάποιον προκαθορισμένοδιακομιστή ονομάτων DNS. Αυτή η δήλωση γίνεται στο αρχείο ρυθμίσεων /etc/resolv.conf και έχειτην εξής απλή μορφή:

nameserver <IP address>

Μπορείτε να δηλώσετε και όνομα hostname αντί για διεύθυνση IP αλλά θα πρέπει να έχετεδηλώσει το όνομα και την αντίστοιχη διεύθυνση IP στο αρχείο /etc/hosts, διαφορετικά δεν θαείναι επιτυχείς οι αναζητήσεις DNS.

Ασφάλεια και παρακολούθηση δικτύου

Η διαχείριση ενός δικτύου πέρα από ρυθμίσεις διασυνδέσεων και δρομολογήσεων περιλαμβάνεικαι παρακολούθηση της κυκλοφορίας σε αυτό, καθώς και την πρόληψη και αντιμετώπισηπιθανών προσπαθειών παραβίασης της ασφαλείας του (security breach). Το Debian θεωρείταιαπό τις πιο ασφαλείς διανομές Linux και κάτι τέτοιο δεν είναι τυχαίο, καθώς παρέχει συνεχήανανέωση των πακέτων με τις τελευταίες διορθώσεις σε προβλήματα ασφαλείας (securitypatches) αλλά και μια πληθώρα εργαλείων σχετικά με παρακολούθηση δικτύων, ανίχνευσηπαραβίασης ασφάλειας και αντιμετώπισης. Μια απλή αναζήτηση με την εντολή apt-cache μελέξη κλειδί security θα σας δώσει μια εικόνα της σημασίας που έχει η ασφάλεια στο Debian.

Για λόγους πληρότητας, θα αναφερθούμε σε ορισμένα από τα σημαντικότερα από τα πακέτα τουDebian, που χρησιμοποιούνται στη διαχείριση ενός δικτύου.

Για απλή παρακολούθηση του δικτύου, από την κυκλοφορία σε επίπεδο διασύνδεσης έως τηνφιλτραρισμένη παρακολούθηση της επικοινωνίας με ένα συγκεκριμένο ή μια ομάδα διευθύνσεωνIP ή ακόμη και για συγκεκριμένη θύρα TCP/IP, ένα εργαλείο σαν το iptraf είναι πραγματικάαπαραίτητο. Πέρα από τις λειτουργίες που αναφέραμε, το iptraf πραγματοποιεί καταμέτρηση σεπραγματικό χρόνο όλων των συνδέσεων TCP/IP καθώς και της κυκλοφορίας των πακέτων UDPενώ εμφανίζει και μετρητές συνολικού μεγέθους δεδομένων που έχουν μεταδοθεί σε μια ή σεόλες τις διασυνδέσεις (βλ. εικόνα). Η iptraf τρέχει σε περιβάλλον κονσόλας.

[screenshot]

[screenshot]

Debian Guide 159

Page 160: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Για απλή αναφορά της κατάστασης του δικτύου μπορούμε να χρησιμοποιήσουμε την εντολήnetstat, η οποία παρέχει παρόμοιες πληροφορίες με την iptraf αλλά σε περιβάλλον γραμμήςεντολών (για χρήση σε σενάρια κελύφους ή για γρήγορη πληροφόρηση).

Πολλές φορές είναι απαραίτητο να γνωρίζουμε αν η σύνδεσή μας όντως λειτουργεί, γιατί, π.χ.ενώ είναι ενεργή δεν έχουμε πρόσβαση στο δίκτυο. Για το σκοπό αυτό υπάρχουν ειδικάεργαλεία όπως οι εντολές ping και traceroute (ή μια πιο χρήσιμη έκδοση της traceroute, η mtr).

Η ping ελέγχει την σύνδεση μεταξύ δύο υπολογιστών οπουδήποτε και αν βρίσκονται αυτοί στοInternet και δίνει και ένα μέσο χρόνο απόκρισης, μια χρήσιμη πληροφορία ειδικά αν αναζητούμεκάποιο WWW ή FTP site με γρήγορη σύνδεση. Πολλές φορές η ping δείχνει ότι οαπομακρυσμένος υπολογιστής δεν απαντά ενώ γνωρίζουμε με άλλον τρόπο ότι δεν υπάρχειπρόβλημα με τη σύνδεση ούτε με τον υπολογιστή. Αυτό γιατί συμβαίνει γιατί σε κάποιο σημείοστη διαδρομή τα πακέτα τύπου ICMP που χρησιμοποιεί η ping, απορρίπτονται από κάποιοσύστημα ασφαλείας firewall. Στην περίπτωση αυτή θα πρέπει να χρησιμοποιήσουμε κάποιο άλλοεργαλείο όπως το nmap (για οποίο θα μιλήσουμε παρακάτω). Ακολουθεί ένα παράδειγμα τηςχρήσης της εντολής ping:

# ping www.forthnet.grPING www.forthnet.gr (193.92.150.50): 56 data bytes64 bytes from 193.92.150.50: icmp_seq=0 ttl=243 time=207.3 ms64 bytes from 193.92.150.50: icmp_seq=1 ttl=243 time=213.0 ms64 bytes from 193.92.150.50: icmp_seq=2 ttl=243 time=231.3 ms64 bytes from 193.92.150.50: icmp_seq=3 ttl=243 time=211.3 ms

--- www.forthnet.gr ping statistics ---4 packets transmitted, 4 packets received, 0% packet lossround-trip min/avg/max = 207.3/215.7/231.3 ms

Η εντολή traceroute εμφανίζει την διαδρομή ενός πακέτου από τον υπολογιστή μας έως τηνδιεύθυνση που θα του δώσουμε ως παράμετρο. Για παράδειγμα, αν είμαστε στο Internet από μιααπλή σύνδεση dialup, η διαδρομή που κάνει ένα πακέτο για να φτάσει στον υπολογιστή πουχειρίζεται τη διεύθυνση www.kernel.org (που είναι το επίσημο site φιλοξενίας του πηγαίουκώδικα του πυρήνα του Linux) είναι η εξής:

# traceroute www.kernel.orgtraceroute to zeus-pub.kernel.org (204.152.189.116), 30 hops max, 38 byte packets 1 -- DELETED-- 110.186 ms 57.099 ms 40.391 ms 2 -- DELETED-- 99.239 ms 56.281 ms 39.729 ms 3 gip-ath-4-s0-5.globalone.gr (195.119.130.5) 79.741 ms 76.734 ms 79.914 ms 4 57.66.64.1 (57.66.64.1) 139.948 ms 178.502 ms 179.842 ms 5 blcy326-pos-5-0-0.global-one.co.uk (212.167.0.174) 199.982 ms 158.008 ms 160.613 ms 6 ge3-0.pr1.lhr1.uk.mfnx.net (195.66.224.76) 139.654 ms 150.622 ms 159.613 ms 7 pos8-0.mpr2.lhr1.uk.above.net (208.184.231.73) 139.892 ms 137.708 ms 140.834 ms 8 so-4-1-0.cr2.lhr3.uk.mfnx.net (208.185.156.2) 159.189 ms 197.172 ms 159.954 ms 9 so-7-0-0.cr2.lga1.us.above.net (64.125.31.182) 220.175 ms 236.809 ms 219.974 ms10 so-1-0-0.cr2.iad1.us.mfnx.net (208.184.233.65) 219.281 ms 237.998 ms so-1-0-0.cr1.lga1.us.mfnx.net(208.185.0.233) 239.752 ms11 so-1-0-0.cr1.iad1.us.mfnx.net (208.184.233.61) 257.274 ms 236.612 ms 219.718 ms12 so-1-0-0.cr1.dca2.us.mfnx.net (208.184.233.125) 261.211 ms 218.685 ms 219.642 ms13 so-3-0-0.mpr3.sjc2.us.mfnx.net (208.184.233.133) 300.054 ms 357.976 ms 339.308 ms14 pos5-0.mpr1.pao1.us.mfnx.net (208.184.233.142) 300.579 ms 398.004 ms 300.600 ms15 isc-above-oc3.pao.isc.org (216.200.0.10) 298.789 ms 297.269 ms 299.921 ms16 r8-pao1.r3.sfo2.isc.org (192.5.4.233) 300.014 ms 457.189 ms 420.235 ms17 zeus-pub.kernel.org (204.152.189.116) 300.167 ms 294.637 ms 299.943 ms

Debian Guide 160

Page 161: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Ακριβώς το ίδιο αποτέλεσμα μας δίνει και η mtr, αλλά με συνεχή ανανέωση και με δύοδιαφορετικούς τρόπους εμφάνισης, σε κονσόλα και σε γραφικό περιβάλλον GTK (βλ. εικόνα).

[screenshot]

Για πιο εξειδικευμένη ανίχνευση ή σάρωση ενός δικτύου, τα εργαλεία satan, nmap, netcat καιnessus χρησιμοποιούνται από επαγγελματίες και ειδικούς στην ασφάλεια δικτύων για τηνανίχνευση πιθανών τρωτών σημείων (vulnerabilities) σε ένα δίκτυο ή ένα υπολογιστή.

Πέρα από την ενεργητική προστασία δηλαδή την ανίχνευση για τρωτά σημεία με ένα από ταπροανεφερθέντα εργαλεία, υπάρχει και η παθητική προστασία, που δίνει αναφορά για μηπιστοποιημένη πρόσβαση σε έναν υπολογιστή (non-authenticated access), δηλαδή όταν κάποιοςσυνδεθεί στο σύστημα χωρίς να δικαιούται. Αυτοί οι χρήστες λέγονται hackers και η διαδικασίαhacking. Αντίθετα με την κοινή πεποίθηση, οι hackers δεν προκαλούν ζημιές στους υπολογιστέςτους οποίους “σπάνε”, αλλά το κάνουν καθαρά για λόγους κύρους και αναγνώρισης από τουςομοίους τους. Συνήθως οι hackers προσφέρουν και τις υπηρεσίες τους σε μεγάλες εταιρείες,οργανισμούς ή κρατικές υπηρεσίες ώστε να βεβαιωθούν αυτές για την ασφάλεια των δικτύωντους. Πιο επικίνδυνοι είναι οι crackers, ή freakers που μοναδικό σκοπό έχουν την καταστροφήδεδομένων και τη δημιουργία πανικού.

Ανεξαρτήτως της ονομασίας τους όμως όλοι είναι ανεπιθύμητοι, όσον αφορά την πρόσβαση σεέναν υπολογιστή. Για την αποφυγή της ενδεχόμενης παραβίασης του υπολογιστή σας, το Debianπροσφέρει και αρκετά πακέτα για ανίχνευση παράνομης εισβολής στο σύστημα (IntrusionDetection Systems), όπως το LIDS, aide, idsa, snort, harden-nids, samhain.

Επίσης, ο πυρήνας του Linux προσφέρει μεγάλη παραμετροποίηση στην επιτρεπόμενηκυκλοφορία των πακέτων επικοινωνίας TCP/IP, UDP, ICMP και IGMP μέσω των εντολών ipchainsή iptables στους νεώτερους πυρήνες (2.4.x), δημιουργώντας ένα firewall. Οι εντολές αυτές είναιαρκετά περίπλοκες στη χρήση τους και συχνά χρησιμοποιούνται άλλα προγράμματα πουλειτουργούν ως wrappers και πιθανώς να εμφανίζουν κάποιο γραφικό περιβάλλον.Παραδείγματα τέτοιων προγραμμάτων είναι το fwbuilder, guarddog, knetfilter, shorewall.

[screenshot]

[screenshot]

[screenshot]

Χρήσιμα πακέτα: nis, iptraf, etherconf, ethereal, nessus, satan, nmap, mtr, iptraf, traceroute,host, tcpdump, netkit-ping, dnsutils, ipchains, iptables, fwbuilder, guarddog, knetfilter, shorewall,lidstools-2.2, lidstools-2.4, aide, idsa, snort, harden-nids, samhain.

7.Περιφερειακά PCI, ISA, USB, PCMCIA, IEEE1394

Η διαχείριση των περιφερειακών συσκευών είναι επίσης ένα σημαντικό θέμα που θα σαςαπασχολήσει, ειδικά στην αρχή, όταν δηλαδή θα χρειαστεί να ρυθμίσετε τις συσκευές και να τιςενεργοποιήσετε στο Linux. Το Linux, όπως και κάθε λειτουργικό σύστημα, για να επικοινωνήσεικαι να χρησιμοποιήσει με μια συσκευή χρειάζεται ένα ειδικό λογισμικό, τον οδηγό της συσκευής(device driver). Μετά την εγκατάσταση και για τις πρώτες εκκινήσεις, θα χρησιμοποιήσετε τονπροκαθορισμένο πυρήνα του Debian που έχει υποστήριξη για τα περισσότερα είδη συσκευώνπου κυκλοφορούν στην αγορά. Κάποια στιγμή όμως, θα κατασκευάσετε τον δικό σας πυρήνα (μετον τρόπο που θα δούμε στο Παράρτημα VI (σελ. 192) και τότε θα χρειαστεί να επιλέξετεπροσεκτικά τους οδηγούς που θέλετε να φορτώσετε στον πυρήνα σας.

Debian Guide 161

Page 162: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

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

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

Τα περιφερειακά που αλλάζουν πιο συχνά είναι οι συσκευές PCI/AGP (σε παλαιότερουςυπολογιστές ίσως και να υπάρχουν και συσκευές ISA), ενώ με την εμφάνιση των διαύλων USBκαι Firewire (IEEE 1394 ή i.Link) η σύνδεση αντίστοιχων περιφερειακών μπορεί να γίνεται πλέονκατά την διάρκεια λειτουργίας του υπολογιστή και πρέπει να υπάρχει ένας τρόπος για τηνανίχνευσή τους.

Όσον αφορά τα περιφερειακά PCI και AGP, είδαμε ήδη έναν τρόπο ανίχνευσής τους κατά τηνεγκατάσταση, με την εντολή lspci (σελ. 33). Η εντολή αυτή μας δίνει όλες τις συσκευές που είναισυνδεδεμένες στον δίαυλο PCI ή AGP του υπολογιστή. Σε αυτήν την περίπτωση αρκεί μόνο ναεπιλέξουμε τους αντίστοιχους οδηγούς στην ρύθμιση του πυρήνα για να έχουμε υποστήριξη καιλειτουργία των συσκευών.

Συνήθως, η lspci θα μας δώσει κατευθείαν ένα όνομα της συσκευής, μοντέλο και κατασκευαστή,αλλά υπάρχει περίπτωση, π.χ. με μία ολοκαίνουρια συσκευή, να μην έχει ενσωμματωθεί οοδηγός της για το Linux στον πυρήνα που έχετε εγκατεστημένο. Σε αυτήν την περίπτωση θαπρέπει ή να μεταφορτώσετε νέο πυρήνα (αφού ελέγξετε πρώτα για υπάρχουσα έκδοση στο ίδιοτο Debian με την apt-cache) που πιθανόν να υποστηρίζει τη συσκευή αυτή ή να αναγνωρίσετε μεκάποιον τρόπο τη συμβατότητά της με κάποια άλλη για την οποία ο πυρήνας έχει αντίστοιχοοδηγό.

Για την δεύτερη περίπτωση η lspci μπορεί να βοηθήσει δίνοντας τον κωδικό ταυτότητας τηςσυσκευής.

Για παράδειγμα, μια νέα κάρτα γραφικών ATI που δεν έχει καταχωρηθεί ακόμη στις λίστες τωνσυσκευών PCI του πυρήνα θα εμφανιζόταν ως εξής (σε αναλυτική μορφή με την επιλογή -v):

# lspci -v

00:00.0 Host bridge: ATI Technologies Inc: Unknown device cab0 (rev 13)Flags: bus master, 66Mhz, medium devsel, latency 64Memory at f4000000 (32-bit, prefetchable) [size=64M]Memory at f0800000 (32-bit, prefetchable) [size=4K]I/O ports at a010 [disabled] [size=4]Capabilities: [a0] AGP version 2.0

Παρόμοια πληροφορία μπορούμε να λάβουμε χρησιμοποιώντας το εικονικό σύστημα αρχείων /proc και συσκεκριμένα το αρχείο /proc/pci και τον κατάλογο /proc/bus/pci. Ο κατάλογος /proc/bus/pci περιέχει όλο το δέντρο των συσκευών στους αντίστοιχους διάυλος (PCI ή AGP) αλλάτα δεδομένα των αρχείων είναι σε δυαδική μορφή και θα χρειαστείτε ειδικό λογισμικό για ναχρησιμοποιήσετε την πληροφορία που περιέχουν. Αντίθετα το αρχείο /proc/pci είναι μια λίσταόλων των συσκευών PCI και AGP που είναι συνδεδεμένες στο σύστημα:

Debian Guide 162

Page 163: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

# cat /proc/pciPCI devices found: Bus 0, device 0, function 0: Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 3). Master Capable. Latency=64. Prefetchable 32 bit memory at 0x40000000 [0x40ffffff]. Bus 0, device 1, function 0: PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 3). Master Capable. Latency=128. Min Gnt=140. Bus 0, device 7, function 0: ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 2). Bus 0, device 7, function 1: IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 1). Master Capable. Latency=64. I/O at 0xfcb0 [0xfcbf]....

Η lspci μπορεί να επιστρέψει και μια λίστα κωδικών των συσκευών για χρήση κυρίωςαναζήτησης σε ειδικές βάσης δεδομένων, με την επιλογή -n:

# lspci -n00:00.0 Class 0600: 8086:7190 (rev 03)00:01.0 Class 0604: 8086:7191 (rev 03)00:07.0 Class 0601: 8086:7110 (rev 02)00:07.1 Class 0101: 8086:7111 (rev 01)00:07.2 Class 0c03: 8086:7112 (rev 01)00:07.3 Class 0680: 8086:7113 (rev 03)00:08.0 Class 0c00: 104d:8039 (rev 02)00:09.0 Class 0401: 1073:0010 (rev 02)00:0a.0 Class 0780: 14f1:2443 (rev 01)00:0b.0 Class 0200: 8086:1229 (rev 08)00:0c.0 Class 0607: 1180:0475 (rev 80)01:00.0 Class 0300: 1002:4c4d (rev 64)

Μια αναζήτηση στο google με τον κωδικό 14f1:2443, θα μας δείξει γρήγορα ότι η συσκευή αυτήείναι ένα WinModem HSF της Conexant, οπότε γνωρίζουμε ποιον οδηγό πλέον θα χρειαστούμε(βλ. http://www.linmodems.org και http://www.linuxant.com).

Όσον αφορά τις συσκευές ISA, το Debian παρέχει ορισμένα εργαλεία για την ενεργοποίησή τους,τις isapnptools και sndconfig (ειδικά για ενεργοποίηση καρτών ήχου σε ISA). Δεν θαανεφερθούμε περισσότερο στο πρωτόκολλο αυτό, καθώς θεωρείται ξεπερασμένο.

Για τις συσκευές USB, μπορούμε να χρησιμοποιήσουμε ένα από τα πακέτα usbview ή usbutils πουπαρέχει μια αντίστοιχη με την εντολή lspci, την lsusb. Με την εντολή αυτή μπορούμε να μάθουμεαντίστοιχα ποιες συσκευές USB έχουμε συνδεδεμένες και να αναζητήσουμε, όπως και στηνπερίπτωση των συσκευών PCI, τους αντίστοιχους οδηγούς. Η usbview προσφέρει ένα γραφικόπεριβάλλον σε παρόμοιες πληροφορίες με την lsusb (βλ. εικόνα). Για την λειτουργία όλωναυτών των πακέτων είναι απαραίτητη η χρήση ενός πυρήνα 2.4.x και η ενεργοποίηση τουεικονικού συστήματος αρχείων usbdevfs (βλ. Παράρτημα VI, σελ. 192), καθώς οι εντολές αυτέςδεν κάνουν άλλο από την ερμηνεία των δεδομένων που ήδη προσφέρει ο πυρήνας μέσω τουusbdevfs, στον κατάλογο /proc/bus/usb. Για την ενεργοποίηση του usbdevfs θα πρέπει ναπροσθέσετε και την ακόλουθη καταχώρηση στο αρχείο /etc/fstab:

none /proc/bus/usb usbdevfs defaults 0 0

Debian Guide 163

Page 164: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

αμέσως μετά την κατάχώρηση για το procfs.

Με ενεργοποιημένο το usbdevfs, η εκτέλεση της lsusb θα μας επιστρέφει ένα αποτέλεσμα τηςμορφής:

# lsusbBus 001 Device 001: ID 0000:0000Bus 001 Device 002: ID 04cc:1122 Philips Semiconductors HubBus 001 Device 008: ID 054c:0032 Sony Corp. MemoryStick MSC-U01 ReaderBus 001 Device 003: ID 04b4:6560 Cypress Semiconductor Corp.Bus 001 Device 004: ID 0557:2008 ATEN International Co., Ltd UC-232A Serial Port [pl2303]Bus 001 Device 005: ID 057b:0000 Y-E Data, Inc. FlashBuster-U FloppyBus 001 Device 006: ID 0bf1:0001 Intracom S.A.Bus 001 Device 007: ID 03f0:1a11 Hewlett-Packard

[screenshot]

Με τον ίδιο τρόπο μπορούμε να διαχειριστούμε περιφερειακά που συνδέονται στην θύραPCMCIA. Λόγω παλαιότερης αρχιτεκτονικής και τα εργαλεία είναι παλαιότερης φιλοσοφίας. Ανείχατε επιλέξει την υποστήριξη PCMCIA κατά την εγκατάσταση (σελ. 32) τότε θα έχειεγκατασταθεί το πακέτο pcmcia-cs που περιέχει τα κατάλληλα εργαλεία για την διαχείριση τωνσυσκευών αυτών. Πληροφορίες για την κατάσταση των υποδοχών PCMCIA (Slots ή Sockets)μπορούμε να λάβουμε με την εντολή cardctl:# cardctl statusSocket 0: 5V 16-bit PC Card function 0: [ready]

ή με το γραφικό πρόγραμμα cardinfo (βλ. εικόνα).

[screenshot]

Και για τις συσκευές PCMCIA, ο πυρήνας παρέχει έναν κατάλογο με περιορισμένες πληροφορίεςστο /proc/bus/pccard. Οι εντολές όμως cardctl και cardinfo παρέχουν σαφώς πιο ολοκληρωμένηδιάγνωση της κατάστασης του διαύλου PCMCIA.

Οι συσκευές Firewire ή IEEE1394 ή i.Link, ακολουθούν το παράδειγμα των συσκευών USB, χωρίςόμως να χρειάζονται ειδικό εικονικό σύστημα αρχείων. Δεν υπάρχει εντολή αντίστοιχη της lsusb,μόνο ένα γραφικό περιβάλλον (gscanbus) που εμφανίζει τις αντίστοιχες συσκευές και τησυνδεσμολογία τους και ο κατάλογος /proc/bus/ieee1394. Ο κατάλογος αυτός προς το παρόνπεριέχει μόνο ένα αρχείο, το devices που παρουσιάζει μια αναλυτική περιγραφή των συσκευώνπου είναι συνδεδεμένες στη θύρα Firewire.

# cat /proc/bus/ieee1394/devicesNode[00:1023] GUID[0800460300bad042]: Vendor ID: `Linux OHCI-1394' [0x000000] Capabilities: 0x0083c0 Bus Options: IRMC(1) CMC(1) ISC(1) BMC(0) PMC(0) GEN(0) LSPD(2) MAX_REC(2048) CYC_CLK_ACC(0) Host Node Status: Host Driver : ohci1394 Nodes connected : 3 Nodes active : 2 SelfIDs received: 4 Irm ID : [00:1023]

Debian Guide 164

Page 165: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

BusMgr ID : [00:1023] In Bus Reset : no Root : no Cycle Master : no IRM : yes Bus Manager : yesNode[01:1023] GUID[0010b920003d7ae3]: Vendor ID: `Maxtor' [0x0010b9] Capabilities: 0x0083c0 Bus Options: IRMC(0) CMC(0) ISC(0) BMC(0) PMC(0) GEN(2) LSPD(2) MAX_REC(64) CYC_CLK_ACC(255) Unit Directory 0: Vendor/Model ID: Maxtor [0010b9] / 1394 Storage Front Panel* [005000] Software Specifier ID: 0010b9 Software Version: ceb001 Length (in quads): 5 Unit Directory 1: Vendor/Model ID: Maxtor [0010b9] / 5000DV v1.00.00 [005000] Software Specifier ID: 00609e Software Version: 010483 Driver: SBP2 Driver Length (in quads): 11

Οι πληροφορίες αυτές είναι πολύ τεχνικές για να ενδιαφέρουν οποιονδήποτε από κάποιονπρογραμματιστή του πυρήνα. Το πρόγραμμα gscanbus προσφέρει μια σαφώς πιο φιλική εικόνατης συνδεσμολογίας των συσκευών αυτών.

[screenshot]

Στο σημείο αυτό πρέπει να αναφέρουμε ότι με την σύνδεση μιας συσκευής USB, Firewire, κλπκατά την διάρκεια της λειτουργίας του υπολογιστή, θα πρέπει να φορτώνουμε τις μονάδεςοδηγών (driver modules) χειροκίνητα, εκτός αν είναι ενσωματωμένες στον πυρήνα. Επειδή ηενσωμάτωση όλων των οδηγών στον πυρήνα είναι τακτική που γενικά αποτρέπεται, έχουνκατασκευαστεί προγράμματα που αναλαμβάνουν να ανιχνεύουν οποιαδήποτε συσκευή συνδεθείσε μία από αυτές τις θύρες και ταυτόχρονα φορτώνουν τον σωστό οδηγό. Από τους hotplugmanagers, όπως λέγονται, ο πιο πλήρης είναι ο murasaki καθώς υποστηρίζει όλα ταπρωτόκολλα (PCI, Ethernet, PCMCIA, USB, Firewire) και είναι εύκολος στην ρύθμισή του.Εναλλακτικά το Debian προσφέρει το λογισμικό usbmgr και hotplug που έχει παρόμοιαλειτουργία με το murasaki.

Χρήσιμα πακέτα: gscanbus, usbview, usbmgr, usbutils, isapnptools, sndconfig, hotplug,murasaki.

8.Διαχείριση διεργασιών

Περί διεργασιών

Έχουμε ήδη χρησιμοποιήσει τον όρο “διεργασία” αρκετές φορές, χωρίς να τον τεκμηριώσουμεικανοποιητικά. Τί ακριβώς είναι οι διεργασίες και πως τις αντιλαμβάνεται το λειτουργικόσυστημα και ο επεξεργαστής;

Στα παλαιότερα λειτουργικά συστήματα (MS-DOS, CP/M) αλλά και σε οικιακούς υπολογιστές πουδεν είχαν κάποιο ξεχωριστό λειτουργικό σύστημα (Spectrum, Amstrad, Commodore, κλπ), το

Debian Guide 165

Page 166: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

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

Η εξέλιξη των υπολογιστών, η εμφάνιση γρήγορών επεξεργαστών και οι αυξημένες απαιτήσειςοδήγησαν στην εμφάνιση πολυδιεργαστικών λειτουργικών συστήματων (multi-tasking operatingsystems) τα οποία επέτρεπαν την παράλληλη εκτέλεση πολλών προγραμμάτων. Αυτά ταπρογράμματα που εκτελούνται παράλληλα σε ένα τέτοιο λειτουργικό σύστημα αποτελούν τιςδιεργασίες. Στην πραγματικότητα δεν τρέχουν πραγματικά παράλληλα, το λειτουργικό σύστημαμοιράζει το χρόνο του επεξεργαστή έτσι που κάθε στιγμή τρέχει μόνο μια διεργασία, και γιαεκείνη τη στιγμή έχει τον σχεδόν πλήρη έλεγχο του επεξεργαστή. Το λειτουργικό σύστημαπραγματοποιεί μερικές εκατοντάδες ώς χιλιάδες εναλλαγές το δευτερόλεπτο, έτσι που στοχρήστη φαίνεται ότι εκτελούνται παράλληλα. Ακόμη και έτσι όμως, ο χρόνος που είναιδιαθέσιμος από τον επεξεργαστή εξαρτάται από το φόρτο του, ή για την ακρίβεια από τηναπαίτηση της κάθε διεργασίας για επεξεργαστική ισχύ.

Αυτό έχει ως συνέπεια την φαινόμενη καθυστέρηση του συστήματος όταν τρέχουμε πολλάπρογράμματα. Φαινόμενη, γιατί το σύστημα δεν είναι πιο αργό ούτε ο επεξεργαστήςεπεξεργάζεται λιγότερη πληροφορία. Απλώς ο χρόνος του μοιράζεται σε περισσότερεςδιεργασίες και αυτό δίνει την εικόνα σε κάθε διεργασία ότι ο υπολογιστής είναι αργός.

Σε όλα τα πολυδιεργαστικά λειτουργικά συστήματα, όπως τα συστήματα UNIX και Linux, την όληδιαχείριση των διεργασιών την αναλαμβάνει ο πυρήνας. Για το σκοπό αυτό, κρατά μια λίσταδιεργασών, από την οποία λαμβάνει με τη σειρά κάθε διεργασία και την εκτελεί για ένα χρονικόδιάστημα (συνήθως κάποια χιλιοστά του δευτερολέπτου). Στη συνέχεια θέτει την διεργασία αυτήσε νάρκη (sleep mode) και εκτελεί την επόμενη, κ.ο.κ. Οι ίδιες οι διεργασίες δεν έχουν έλεγχοπόσο χρόνο θα δεσμεύσουν από τον επεξεργαστή και πότε. Παλαιότερα, κάθε διεργασία είχε ίσημεταχείριση από τον πυρήνα, δηλαδή δέσμευε τον ίδιο χρόνο με τις άλλες διεργασίες. Κάτιτέτοιο όμως δεν είναι ιδιαίτερα αποδοτικό, αφού συχνά κάποιες διεργασίες βρίσκονται σεκατάσταση αναμονής (wait mode) ενώ κάποιες άλλες χρειάζονται όσο το δυνατόν περισσότερηεπεξεργαστική ισχύ (π.χ. κάποιο πρόγραμμα rendering). Αντίστροφα, σε ορισμένες διεργασίες οχρόνος απόκρισης είναι ιδιαίτερα σημαντικός (π.χ. η διεργασία που χειρίζεται το πληκτρολόγιοή τους δίσκους) ενώ σε άλλες δεν παίζει ρόλο.

Για το σκοπό αυτό ορίστηκε ένα σύστημα προτεραιοτήτων που βοηθά τον πυρήνα στην επιλογήτων σημαντικότερων διεργασίων για εκτέλεση. Με βάση αυτό εκτελούνται πρώτα οι διεργασίεςμε υψηλή προτεραιότητα ενώ οι υπόλοιπες διεργασίες λαμβάνουν τον απομένοντα χρόνο τουεπεξεργαστή. Μάλιστα, το Linux χρησιμοποιεί ένα υβρίδιο αυτού του συστήματος, όπου οιπροτεραιότητες ορίζονται δυναμικά από το σύστημα με βάση ένα ιστορικό χρήσης των ίδιων τωνδιεργασιών. Το σύστημα αυτό είναι πολύ αποδοτικό και κάνει καλή χρήση του χρόνου τουεπεξεργαστή, χωρίς σπατάλη.

Αφού δώσαμε μια εξήγηση για τις διεργασίες στο Linux και γενικότερα, στο UNIX, μπορούμε ναπροχωρήσουμε στον τρόπο διαχείρισής τους.

Είδη διεργασιών

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

Debian Guide 166

Page 167: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

ορισμένα χαρακτηριστικά των διεργασιών που τις κατηγοριοποιούν, κυρίως για λόγουςδιαχείρισης.

• Κάθε διεργασία που έχει κάποιου είδους άμεση αλληλεπίδραση με το χρήστη (μέσωπληκτρολογίου, ποντικιού ή άλλης συσκευής) λέγεται διαδραστική (interactive). Έναπαράδειγμα διαδραστικής διεργασίας είναι το ίδιο το κέλυφος αλλά και το σύστημαπαραθύρων X.

• Οι μή διαδραστικές διεργασίες μπορεί να είναι απλά σενάρια κελύφους που εκτελούνται απότο χρήστη ή σε τακτά χρονικά διαστήματα από ένα συστημα όπως το CRON, ή ακόμη καιπρογράμματα που τρέχουν συνεχώς και αναλαμβάνουν κάποια υπηρεσία, όπως οιδιακομιστές αλληλογραφίας (email servers) ή ιστοσελίδων (web servers). Οι τελευταίοικαλούνται και δαίμονες.

• Κάθε διεργασία μπορεί να ξεκινήσει μια άλλη διεργασία. Οι δύο διεργασίες ονομάζονταιαντίστοιχα γονική και θυγατρική (parent και child process). Για την ακρίβεια όλες οιδιεργασίες στο Linux έχουν μια τέτοια σχέση καθώς δημιουργούνται από την init, που είναι ηγονική διεργασία όλων των υπολοίπων, όπως θα δούμε παρακάτω με την pstree. Αν ηθυγατρική διεργασία είναι η ίδια με την γονική, τότε η διαδικασία λέγεται διακλάδωσηδιεργασίών (process forking).

• Σε κάθε διεργασία αντιστοιχεί και ενα αριθμός ταυτότητας (process id) που πιο συχνά θα τοδούμε ως PID. Σε κάθε στιγμή ο αριθμός αυτός είναι μοναδικός για την κάθε διεργασία, αλλάκαθώς το εύρος τους είναι περιορισμένο (1- 32767) και ένα σύστημα μπορεί να έχει μεγάλοχρόνο λειτουργίας, θα δούμε τους αριθμούς αυτούς να επαναλαμβάνονται. Κάτι τέτοιο είναιφυσιολογικό και είναι τακτική που ακολουθείται σε όλα τα λειτουργικά συστήματα.

• Παρόμοιοι περιορισμοί πρόσβασης για τους χρήστες ισχύουν και για τις διεργασίες. Έναςχρήστες δε μπορεί να τερματίσει μια διεργασία κάποιου άλλου χρήστη ούτε να της αλλάξειτην προτεραιότητα, εκτός αν είναι ο χρήστης root.

Η εντολή ps

Για την εμφάνιση των διεργασιών που τρέχουν σε κάθε στιγμή στο σύστημα μπορούμε ναχρησιμοποιήσουμε την εντολή ps, η οποία μπορεί να εμφανίσει ένα πλήθος πληροφοριών για τηνκάθε διεργασία, όπως το χρόνο εκτέλεσης, το συνολικό ποσοστό του χρόνου του επεξεργαστήπου έχει χρησιμοποιήσει (CPU usage), το ποσό της μνήμης που καταναλώνει (memory usage),κλπ.

Η σύνταξη της ps είναι κάπως διαφορετική από των άλλων εντολών, για ιστορικούς λόγους. ΤοBSD UNIX ακολούθησε διαφορετική σύνταξη από το System V και η ps που περιλαμβάνεται στοLinux υποστηρίζει και τις δύο συντάξεις καθώς και μια ακόμη συμβατή με τα πρότυπα GNU. Οιδιαφορές είναι ότι η σύνταξη BSD δεν χρησιμοποιεί την παύλα “-” για τον ορισμό επιλογών, ενώη σύνταξη System V χρησιμοποιεί. Η σύνταξη GNU χρησιμοποιεί δύο παύλες “--”.

Γενικά, οι επιλογές που μπορούν να χρησιμοποιηθούν είναι πάρα πολλές, αλλά η αναφορά όλωντων επιλογών της ps δεν είναι στους σκοπούς του παρόντος βιβλίου, θα αναφέρουμε όμως τιςσημαντικότερες:

Επιλογές Λειτουργία

-A-e

Εμφανίζει όλες τις διεργασίες του συστήματος.

Debian Guide 167

Page 168: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

a Εμφανίζει όλες τις διεργασίες που είναι συνδεδεμένες σε κάποιο τερματικό,ακόμη και άλλων χρηστών.

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

x Εμφανίζει τις διεργασίες που δεν είναι συνδεδεμένες σε κάποιο τερματικό.

-C cmd Εμφανίζει την διεργασία που αντιστοιχεί στην εντολή cmd.

u user-u user--user user

Εμφανίζει τις διεργασίες που αντιστοιχούν στον χρήστη user. Δέχεται όνομαχρήστη ή uid.

g group-g group--group group

Εμφανίζει τις διεργασίες που αντιστοιχούν στην ομάδα group. Δέχεται όνομαομάδας ή gid.

p pid-p pid--pid pid

Εμφανίζει τις διεργασίες που αντιστοιχούν στα δοσμένα pid. Λειτουργεί καιδίνοντας απευθείας το pid χωρίς επιλογή, δηλαδή με 322, θα εμφανίσειπληροφορίες για την διεργασία με process id 322.

t tty-t tty--tty tty

Εμφανίζει τις διεργασίες που αντιστοιχούν στο τερματικό tty.

--ppid pid Εμφανίζει τις διεργασίες που έχουν γονική διεργασία την pid.

l-l

Εμφανίζει εκτεταμένες πληροφορίες για κάθε διεργασία.

-f Η εμφάνιση να γίνει με όλες τις πληροφορίες για κάθε διεργασία.

-F Εμφανίζει επιπλέον πληροφορίες από την -f.F--forest-H

Εμφανίζει τις διεργασίες ιεραρχικά, με τρόπο που να φαίνεται η σχέσηγονικών-θυγατρικών διεργασιών.

--sort Ταξινομεί τη λίστα με βάση τα δεδομένα στοιχεία-κλειδιά. Δέχεται δύομορφές την σύντομη και την πλήρη. Μερικά από αυτά είναι (σε παρένθεση ησύντομη μορφή):

• cmd(c) : όνομα εντολής (μόνο το όνομα της εντολής)

• cmdline(C) : όνομα εντολής (πλήρης)

• pid(p) : το process id

• ppid(P) : το process id της γονικής διεργασίας

• utime(k) : πραγματικός χρονος επεξεργασίας

• stime(K) : χρόνος επεξεργασίας συστήματος

• size(s) : μέγεθος κατανάλωσης μνήμης της διεργασίας (σε kilobytes)

• user(u) : όνομα χρήστη

• uid(U) : αριθμός ταυτότητας χρήστη.

Debian Guide 168

Page 169: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Ακολουθούν μερικά παραδείγματα της χρήσης της εντολής.

$ ps -HeFεμφανίζει όλες τις διεργασίες με πλήρη πληροφόρηση και ιεραρχική δομή.

$ ps -fC syslogdUID PID PPID C STIME TTY TIME CMDroot 280 1 0 Jul12 ? 00:00:02 /sbin/syslogd

Εμφανίζει μόνο την εντολή syslogd.

$ ps -FC syslogdUID PID PPID C SZ RSS PSR STIME TTY TIME CMDroot 280 1 0 325 540 0 Jul12 ? 00:00:02 /sbin/syslogd

Η ίδια αλλά με την επιλογή -F, που εμφανίζει περισσότερες πληροφορίες.

Το δέντρο ιεραρχίας των εντολών μπορούμε να το λάβουμε και με την εντολή pstree (περιέχεταιστο πακέτο psmisc). Παράδειγμα:

$ pstreeinit─┬─acpid ├─alarmd ├─apache───5*[apache] ├─atd ├─atop ├─bash───startx───xinit─┬─XFree86 │ └─x-session-manag─┬─ksmserver │ └─ssh-agent ├─bdflush ├─cron ├─cupsd ├─devfsd ├─5*[getty] ├─inetd ├─kdeinit─┬─artsd │ ├─kdeinit │ ├─kdeinit─┬─2*[bash] │ │ ├─bash───pstree │ │ ├─bash───bash───man───sh───pager │ │ └─bash───bash───tail │ ├─kghostview───gs │ └─soffice.bin───soffice.bin───4*[soffice.bin]

Το σύστημα αρχείων /proc και οι διεργασίες

Η έκδοση της ps που χρησιμοποιεί το Debian βρίσκεται στο πακέτο procps, γιατί η ίδια η εντολήχρησιμοποιεί τις πληροφορίες που προσφέρει ο ίδιος ο πυρήνας του Linux για τις διεργασίες σεειδικά αρχεία στο σύστημα αρχείων /proc. Κάθε διεργασία απεικονίζεται στο /proc με ένακατάλογο του οποίου το όνομα είναι το pid της διεργασίας. Για παράδειγμα:

# ls -l /proc/6755total 0-r--r--r-- 1 feanor users 0 Jul 13 23:41 cmdlinelrwxrwxrwx 1 feanor users 0 Jul 13 23:41 cwd -> /home/feanor-r-------- 1 feanor users 0 Jul 13 23:41 environlrwxrwxrwx 1 feanor users 0 Jul 13 23:41 exe -> /usr/OpenOffice.org1.1/program/soffice.bindr-x------ 2 feanor users 0 Jul 13 23:41 fd-r--r--r-- 1 feanor users 0 Jul 13 23:41 maps

Debian Guide 169

Page 170: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

-rw------- 1 feanor users 0 Jul 13 23:41 mem-r--r--r-- 1 feanor users 0 Jul 13 23:41 mountslrwxrwxrwx 1 feanor users 0 Jul 13 23:41 root -> /-r--r--r-- 1 feanor users 0 Jul 13 23:41 stat-r--r--r-- 1 feanor users 0 Jul 13 23:41 statm-r--r--r-- 1 feanor users 0 Jul 13 23:41 status

Τα αρχεία αυτά παρέχουν όλες τις απαραίτητες πληροφορίες για την διεργασία, όπως το όνοματης εντολής με το οποίο καλέστηκε (cmdline), τον τρέχων κατάλογο της διεργασίας (cwd), τιςμεταβλητές περιβάλλοντος που υιοθέτησε η διεργασία (environ), τα ανοιχτά αρχεία πουχειρίζεται (file descriptors στον κατάλογο fd), πληροφορίες κατανάλωσης μνήμης της διεργασίας(στα αρχεία stat, statm και status) ακόμη και τις διευθύνσεις των θέσεων μνήμης πουκαταναλώνει η διεργασία (maps). Οι πληροφορίες αυτές είναι χρήσιμες μόνο σε κάποιον πολύέμπειρο διαχειριστή συστήματος, τις περισσότερες φορές αρκεί η χρήση της εντολής ps.

Η εντολή top

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

[screenshot]

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

Το KDE και το GNOME, προσφέρουν γραφικές εναλλακτικές της top, που μάλιστα προσφέρουναρκετά περισσότερες λειτουργίες, στα προγράμματα ksysguard και gtop αντίστοιχα. Τοksysguard περιλαμβάνεται στην βασική διανομή του KDE (πακέτο kdebase) και μάλισταεμφανίζει την λιστα των διεργασιών με πάτημα των πλήκτρων CTRL-ESC οποιαδήποτε στιγμή, σεπεριβάλλον KDE.

[screenshot]

[screenshot]

Τερματισμός εργασίας

Αρκετές φορές θα χρειαστεί να τερματίσουμε μια διεργασία, είτε γιατί δεν αποκρίνεται πια ήκαταναλώνει όλους τους πόρους του συστήματος καθιστώντας αδύνατη τη λειτουργία του. Γιατο σκοπό αυτό χρησιμοποιούμε μια από τις εντολές kill και killall. Η kill δέχεται ως παράμετρο τοprocess id της διεργασίας (ή των διεργασιών) θέλουμε να τερματίσουμε και το σήμα το οποίο θαστείλει στην διεργασία (βλ. επόμενη παράγραφο για περιγραφή των σημάτων). Αν δεν δώσουμεκάποιο σήμα, το προκαθορισμένο είναι το TERM (σήμα τερματισμού διεργασίας). Δέχεται μιαεπιλογή την -l, η οποία εμφανίζει λίστα των αποδεκτών σημάτων.

Η killall είναι μια βοηθητική εντολή που τερματίζει ή αποστέλει ένα συγκεκριμένο σήμα σε όλεςτις διεργασίες με το δοσμένο όνομα. Από τις παραμέτρους που δέχεται, πιο χρήσιμες είναι οι -w,που περιμένει έως τον τερματισμό των διεργασιών, και η -i, που ζητάει επιβεβαίωση για κάθε

Debian Guide 170

Page 171: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

διεργασία που πρόκειται να τερματίσει. Περιέχεται στο πακέτο psmisc.

Το Debian διαθέτει και αρκετά πακέτα με χρήσιμες εντολές για διαχείριση διεργασιών, ένα εκτων οποίων είναι η εντολή slay. Η εντολή αυτή τερματίζει όλες τις διεργασίες ενός χρήστη. Είναιαρκετά χρήσιμη εντολή ειδικά για συστήματα με πολλούς χρήστες.

Ακολουθούν μερικά παραδείγματα της χρήσης των εντολών:

# ps -ef|grep apacheroot 822 1 0 Jul12 ? 00:00:00 /usr/sbin/apachewww-data 5589 822 0 Jul13 ? 00:00:00 /usr/sbin/apachewww-data 5590 822 0 Jul13 ? 00:00:00 /usr/sbin/apachewww-data 5591 822 0 Jul13 ? 00:00:00 /usr/sbin/apachewww-data 5592 822 0 Jul13 ? 00:00:00 /usr/sbin/apachewww-data 5593 822 0 Jul13 ? 00:00:00 /usr/sbin/apacheroot 10894 1067 0 02:45 pts/4 00:00:00 grep apache# kill 5589 5590 5591 5592 5593

Το ίδιο αποτέλεσμα μπορούμε να επιτύχουμε με την killall:

# killall /usr/sbin/apache

Η χρήση της killall δεν θα πρέπει να γίνεται χωρίς την απαραίτητη προσοχή. Το ότιπροσφέρει ευκολία στον τερματισμό μιας διεργασίας δεν αντισταθμίζει το γεγονός ότιμπορεί να τερματίσετε μια ολόκληρη ομάδα διεργασιών απλώς και μόνο επειδή έχουν τοίδιο όνομα. Παράδειγμα προς αποφυγή:

# killall bash

Για προφανείς λόγους...

Σήματα (Signals)

Τα σήματα αποτελούν τον κύριο τρόπο επικοινωνίας μεταξύ των διεργασιών. Οι διεργασίες πουβρίσκονται σε κατάσταση αναμονής, έχουν ορίσει κάποιο σήμα το οποίο περιμένουν για ναξυπνήσουν και να το επεξεργαστούν. Αυτό το σήμα μπορεί να είναι ειδοποίηση για κάποιοαρχείο που έχει μεταβληθεί, νέα σύνδεση σε κάποιον υποδοχέα TCP/IP (socket) ή έχειμηδενιστεί κάποιο χρόνομετρο (timer). Πέρα από αυτά τα σήματα που είναι εξειδικευμένα γιακάθε διεργασία, υπάρχουν και ορισμένα προκαθορισμένα σήματα που χρησιμοποιεί το σύστημα.

Από αυτά, τα περισσότερα μπορεί να τα χειριστεί η διεργεσία και να πράξει ανάλογα (ακόμη καινα αγνοήσει) εκτός από ορισμένα των οποίων ο χειρισμός γίνεται από τον πυρήνα. Αναφέρουμεορισμένα από αυτά:

Σήμα Κωδικός Δράση

HUP 1 Τερματισμός διεργασίας (Hang Up) , αν και συνήθωςχρησιμοποιείται για επαναφόρτωση των ρυθμίσεων τουπρογράμματος. Μπορεί να γίνει ο χειρισμός από ιδια τηνδιεργασία.

Debian Guide 171

Page 172: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Σήμα Κωδικός Δράση

INT 2 Διακοπή του προγράμματος (Interrupt). Το προγραμμακαλείται να τερματίσει και να ελευθερώσει τους πόρους.Αντιστοιχεί στο συνδυασμό πλήκτρων CTRL-C. Μπορείνα γίνει ο χειρισμός από την ίδια την διεργασία.

QUIT 3 Το πρόγραμμα καλείται να τερματίσει. Αν είναιενεργοποιημένο, καταγράφεται το αποτύπωμα μνήμηςτης διεργασίας (core dump). Μπορεί να γίνει οχειρισμός από την διεργασία.

TERM 15 Απότομος τερματισμός (Termination). Το πρόγραμμαζητείται να ελευθερώσει όλους τους πόρους και νατερματίσει αμέσως. Ισοδύναμο με τον συνδυασμόπλήκτρων CTRL-\. Μπορεί να γίνει ο χειρισμός από τηνίδια την διεργασία.

KILL 9 Άμεσος Τερματισμός. Ο πυρήνας άμεσα ελευθερώνειόλους τους πόρους του προγράμματος και τερματίζειτην εκτέλεσή του. Δεν μπορεί να το χειριστεί ηδιεργασία.

STOP Παύση της διεργασίας. Σταματά προσωρινά η εκτέλεσητης διεργασίας. Δεν μπορεί να το χειριστεί η διεργασία.

CONT Συνέχιση της διεργασίας. Αν είχε παύσει η λειτουργίατης, με το σήμα STOP συνεχίζει, διαφορετικά τοαγνοεί. Δεν μπορεί να το χειριστεί η διεργασία.

Παράδειγμα χρήσης σημάτων:

# killall -HUP inetd

Επανεκκινεί τον δαίμονα inetd, φορτώνοντας τις νέες ρυθμίσεις από το αρχείο /etc/inetd.conf.# killall -KILL quake2

Τερματίζει άμεσα το παιχνίδι quake2. Καιρός για δουλειά!

Πόροι που ανήκουν σε διεργασίες

Μια αρκετά χρήσιμη δυνατότητα είναι η εύρεση των διεργασιών που χειρίζονται ένασυγκεκριμένο αρχείο ή έχουν δεσμεύσει έναν συγκεκριμένο υποδοχέα TCP ή UDP.

Αυτήν την πληροφορία μπορούμε να την αποκτήσουμε με την εντολή fuser (που βρίσκεται επίσηςστο πακέτο psmisc). Η fuser χρησιμοποιεί την παρακάτω σύνταξη:

fuser [options] file...

Debian Guide 172

Page 173: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές Λειτουργία

-k Τερματίζει τις διεργασίες που χρησιμοποιούν τα δοσμένα αρχεία ή τους υποδοχείςTCP/UDP. Εναλλακτικά, μπορεί να δεχτεί το σήμα που θα στείλει στις διεργασίες μετο όνομα ή τον κωδικό του σήματος με μια παύλα, π.χ. -HUP.

-i Σε συνδυασμό με την -k, ζητάει επιβεβαίωση πρίν από τον τερματισμό.

-m Για χρήση με συστήματα αρχείων, εμφανίζει όλες τις διεργασίες που χρησιμοποιούναρχεία οπουδήποτε μέσα στο δοσμένο κατάλογο.

-v Εμφανίζει αναλυτικό αποτέλεσμα.

$ fuser -vm /var/log/

USER PID ACCESS COMMAND/var/log/ root 11348 ....m pppd root 11552 ....m apt-get root kernel mount /var/tmp

Παρόμοια λειτουργία και με περισσότερες δυνατότητες προσφέρει η εντολή lsof (list open files),που παρέχεται με το ομώνυμο πακέτο.

Κωδικοί τερματισμού διεργασιών

Κάθε διεργασία μπορεί να καταλήξει σε τρεις διαφορετικές καταστάσεις: να τερματίσει κανονικάμε επιτυχία, να αποτύχει αλλά ελεγχόμενα ή να τερματίσει ανώμαλα. Η κατάσταση εξόδου (exitstatus ή return code) της διεργασίας είναι ένας κωδικός αριθμός η τιμή του οποίου εξαρτάταιαπό τον τρόπο τερματισμού της. Γενικά, κατάσταση εξόδου μηδέν σημαίνει ότι η διεργασίαολοκληρώθηκε κανονικά και δεν επέστρεψε κάποιο μύνημα λάθους. Μη μηδενική κατάστασηεξόδου έχουμε όταν τερματίζει η εργασία είτε ελεγχόμενα είτε ανώμαλα.

Ελεγχόμενο τερματισμό έχουμε για παράδειγμα, όταν η διεργασία δεχθεί ένα σήμα διακοπής(CTRL-C) οπότε ελευθερώνει τους πόρους που χρησιμοποιεί, κλείνει τυχόν ανοιχτά αρχεία καιτερματίζει. Ελεγχόμενο τερματισμό έχουμε επίσης όταν η διεργασία αδυνατεί να ολοκληρωθείλόγω κάποιου προβλήματος , π.χ. δεν υπάρχει κάποιο αρχείο που προσπαθεί να προσπελάσει.

Ανώμαλο τερματισμό έχουμε όταν η διεργασία συναντήσει κάποιο πρόβλημα που δε μπορεί νααντιμετωπίσει, π.χ. παράνομη πρόσπελλαση μνήμης (illegal memory access). Τα προβλήματααυτά συνήθως οφείλονται σε λανθασμένο προγραμματισμό (bug) και ως αποτέλεσμα έχουν τονάμεσο τερματισμό της διεργασίας από τον πυρήνα και --αν είναι ενεργοποιημένο τοχαρακτηριστικό αυτό-- την αποτύπωση της μνήμης της διεργασίας σε αρχείο (core dump).

Λογιστική διεργασιών (process accounting)

Για κάθε διεργασία που εκτελείται, ο πυρήνας του Linux κρατάει κάποιες πληροφορίες σεκάποια αρχεία που χρησιμοποιούνται για λογιστικούς σκοπούς (process accounting files). Μεαυτόν τον τρόπο είναι δυνατή η εξαγωγή κάποιων στατιστικών στοιχείων. Πιο σημαντικό όμως,είναι το γεγονός ότι αυτή η λειτουργία μας δίνει τη δυνατότητα να γνωρίζουμε ορισμένεςαπαραίτητες πληροφορίες και ειδικά όταν έχουμε υποψίες για πιθανή παραβίαση της ασφάλειαςτου συστήματός μας. Ο πυρήνας διατηρεί αυτές τις πληροφορίες στα αρχεία /var/log/wtmp και /var/acct/pacct (σημειωτέον ότι ο πυρήνας θα πρέπει να έχει ενεργοποιημένη την επιλογή BSD

Debian Guide 173

Page 174: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

process accounting, βλ. Παράρτημα VI, σελ. 192).

Το Debian παρέχει τη δυνατότητα της επεξεργασίας αυτών των λογιστικών πληροφοριών με ταπακέτα acct και sac.

Στο πακέτο acct περιέχεται η εντολή lastcomm που εμφανίζει μια λίστα με όλες τις διεργασίεςπου έχουν εκτελεστεί έως τώρα (δηλαδή έως τη στιγμή της εκτέλεσης της lastcomm). Η λίστααυτή είναι αρκετά μεγάλη, αλλά η lastcomm επιτρέπει να εφαρμόσετε κάποια φίλτρα, όπωςεμφάνιση μόνο των διεργασιών κάποιου χρήστη (με την επιλογή --user), εμφάνιση μόνο τωνδιεργασιών με συγκεκριμένο όνομα (με την --command) ή εμφάνιση των διεργασιών πουεκτελέστηκάν σε συγκεκριμένο τερματικό tty (με την --tty). Για παράδειγμα, η παρακάτω εντολήμας εμφανίζει πότε ανανεώθηκε το ευρετήριο της εντολής locate:

# lastcomm --command updatedbupdatedb root ?? 0.03 secs Mon Jul 14 06:25updatedb F root ?? 0.00 secs Mon Jul 14 06:25updatedb F root ?? 0.00 secs Mon Jul 14 06:25updatedb F root ?? 0.00 secs Mon Jul 14 06:25updatedb F root ?? 0.00 secs Mon Jul 14 06:25updatedb F root ?? 0.00 secs Mon Jul 14 06:25

Το χαρακτηριστικό F για μερικές διεργασίες της λίστας σημαίνει ότι ήταν διακλαδωμένεςδιεργασίες της updatedb (forked) και ολοκληρώθηκαν την ίδια ώρα με την γονική τουςupdatedb. Σημειώνουμε ότι ο χρόνος που αναφέρεται είναι ο χρόνος της ολοκλήρωσης τηςδιεργασίας και όχι της εκκίνησής της.

Η εντολή sa (summarize accounting) στο ίδιο πακέτο εμφανίζει μια περίληψη της προηγούμενηςλίστας, και ίσως είναι πιο χρήσιμη. Η sa χρησιμοποιεί επιπλέον τα αρχεία /var/account/usracctγια καταχώρηση των πληροφοριών ανά χρήστη και /var/account/savacct για καταχώρηση τωνμετρητών των διεργασιών.

Τέλος υπάρχουν και οι εντολές ac (στο πακέτο acct) και sac (στο ομώνυμο πακέτο) πουπαρέχουν πληροφορία για τις τελευταίες συνδέσεις κάποιου χρήστη. Η sac προσφέρειπερισσότερες δυνατότητες από την ac (για την ακρίβεια έχει και πολλές από τις λειτουργίες τηςεντολής last, στην οποία θα αναφερθούμε στην επόμενη παράγραφο).

Για παράδειγμα αν θέλουμε να δούμε τον συνολικό χρόνο σύνδεσης (σε ώρες) ανά χρήστη γιατην σημερινή ημέρα, μπορούμε να δώσουμε:

# ac -pd root 0.00 feanor 6.77Today total 6.77

Το αποτέλεσμα είναι αρκετά λιτό. Κάτι αντίστοιχο μας επιστρέφει και η sac αλλά με περισσότερηπληροφορία:

# sac -palfeanor 6.84 2 logins 3.42 hrs/login Jul 14 16:15:52 - 21:55:31 port tty1 5.66 Jul 14 21:57:55 - 23:08:42 port tty1 1.18root 4.01 2 logins 2.01 hrs/login Jul 14 12:12:38 - 16:13:10 port tty2 4.01 Jul 14 21:55:19 - 21:55:31 port tty2

Debian Guide 174

Page 175: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Η sac είναι σαφώς πιο αναλυτική από την ac. Επιπλέον, μπορεί να μας δώσει και ωριαία χρήσητου συστήματος:

# sac -ahTotal: 10.74 over 1 days.Average: 10.74 / day, 2.69 / login00-: 0.0001-: 0.0002-: 0.0003-: 0.0004-: 0.0005-: 0.0006-: 0.0007-: 0.0008-: 0.0009-: 0.0010-: 0.0011-: 0.0012-: 0.79 #################################################13-: 1.00 ###############################################################14-: 1.00 ###############################################################15-: 1.00 ###############################################################16-: 0.96 ############################################################17-: 1.00 ###############################################################18-: 1.00 ###############################################################19-: 1.00 ###############################################################20-: 1.00 ###############################################################21-: 0.96 ############################################################22-: 1.00 ###############################################################23-: 0.03 ##

Στο σημείο αυτό πρέπει να σημειώσουμε ότι σε μία τυπική εγκατάσταση του Debian τααρχεία /var/log/wtmp, /var/account/usracct και /var/account/savacct δεν δημιουργούνταιγια λόγους χώρου. Αυτά τα αρχεία μεγαλώνουν σε μέγεθος με πολύ μεγάλους ρυθμούς καιχωρίς την απαραίτητη προσοχή κινδυνεύουν να εξαντλήσουν τον ελεύθερο διαθέσιμο χώροστο σύστημα αρχείων που βρίσκονται (συνήθως στο /var). Μπορείτε να τα δημιουργήσετεμε την εντολή touch.

Χρήσιμα πακέτα: acct, psmisc, atop, ncps, slay, gtop, lsof, sac.

9.Διαχείριση χρηστών

Το Linux, όπως έχουμε αναφέρει αρκετές φορές, ανήκει στην οικογένεια των λειτουργικώνσυστημάτων UNIX, τα οποία σχεδιάστηκαν εξαρχής ως πολυχρηστικά. Πριν ακόμη γίνουνδιαδεδομένοι οι οικιακοί υπολογιστές, τέτοια συστήματα υπήρχαν στα πανεπιστήμια και στιςμεγάλες εταιρείες και φιλοξενούσαν έως και αρκετές χιλιάδες χρήστες. Η διαχείριση ενόςτέτοιου αριθμού χρηστών ήταν αρκετά δύσκολη και η ανάγκη οδήγησε στην ανάπτυξη αρκετώνεντολών και εργαλείων για αυτό το σκοπό. Το Linux, φυσικά υποστηρίζει όλες αυτές τις εντολέςκαι προσφέρει και νέες δικές του. Επίσης, με την άνθηση των γραφικών περιβάλλοντων,εμφανίστηκαν και αντίστοιχα εργαλεία που σκοπό έχουν να βοηθήσουν στην διαχείριση τωνχρηστών με κάποιο πιο φιλικό τρόπο από την γραμμή εντολών του κελύφους.

Ένα πρώτο βήμα στην διαχείριση των χρηστών είναι η καταμέτρηση των συνδεδεμένων χρηστώντην κάθε στιγμή. Δύο απλές εντολές που χρησιμοποιούνται για αυτόν τον σκοπό είναι η w και η

Debian Guide 175

Page 176: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

who. Πρακτικά λειτουργούν με τον ίδιο τρόπο, αν και η w παρέχει κάπως πιο συνεκτικήπληροφορία. Ακολουθούν δύο παραδείγματα:

# w 12:12:47 up 1 day, 12:52, 2 users, load average: 1.29, 1.22, 1.13USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATfeanor tty1 - Sat23 36:51m 1.36s 0.03s /bin/sh /usr/bin/X11/startxroot tty2 - 12:12 9.00s 0.05s 0.05s -bash

Στο πεδίο FROM, εμφανίζεται το hostname του απομακρυσμένου συστήματος, αν ο χρήστηςείναι συνδεδεμένος με κάποιο σύστημα όπως telnet ή ssh.

Η who είναι αρκετά πιο απλή στην βασική της μορφή:

# whofeanor tty1 Jul 12 23:21root tty2 Jul 14 12:12

Με την επιλογή -a εμφανίζει όλες τις διαθέσιμες πληροφορίες, ενώ με την -H εμφανίζει τηνκεφαλίδα στην πρώτη γραμμή:

# who -aHNAME LINE TIME IDLE PID COMMENT EXIT Jul 14 21:57 8 id=si term=0 exit=0 system boot Jul 14 21:57 run-level 2 Jul 14 21:57 last=S Jul 14 21:57 237 id=l2 term=0 exit=0feanor - tty1 Jul 14 21:57 01:21 820LOGIN tty2 Jul 14 21:57 821 id=2LOGIN tty3 Jul 14 21:57 822 id=3LOGIN tty4 Jul 14 21:57 823 id=4LOGIN tty5 Jul 14 21:57 824 id=5LOGIN tty6 Jul 14 21:57 825 id=6

Οι διεργασίες LOGIN αντιστοιχούν στις προτροπές login: σε κάθε εικονική κονσόλα (virtualconsole) του συστήματος (θυμίζουμε ότι μπορούμε να μεταβούμε σε κάποια εικονική κονσόλα μετο συνδυασμό πλήκτρων Left Alt-F1-F7).

Μια αρκετά χρήσιμη εντολή (ειδικά για χρήση σε σενάρια κελύφους είναι η whoami). Η μοναδικήτης χρήση είναι να επιστρέψει το όνομα του χρήστη που είναι συνδεδεμένος αυτή τη στιγμή καιεκτελεί την εντολή. Έχει το ίδιο αποτέλεσμα με την κλήση της εντολής id -un.

# whoamiroot

Αντίστοιχη πληροφορία αλλά πιο αναλυτική μπορούμε να λάουμε με την εντολή ταυτότητας id(identity), μόνο που η id δέχεται και επιπλέον παραμέτρους.

# iduid=0(root) gid=0(root) groups=0(root),102(lpadmin)

# id feanoruid=1000(feanor) gid=100(users) groups=100(users),6(disk),7(lp),24(cdrom),29(audio),30(dip)

Debian Guide 176

Page 177: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Οι πληροφορίες που μας προσφέρει η id είναι ο αριθμός ταυτότητας του χρήστη (uid), ο αριθμόςκαι το όνομα της κύριας ομάδας (gid) και οι αριθμοί και ονόματα των δευτερευουσών ομάδων(groups).

Ένας άλλος τρόπος να μάθουμε τις ομάδες στις οποίες ανήκει ένας χρήστης είναι η εντολήgroups. Η πρώτη ομάδα είναι και η κύρια ομάδα του χρήστη.

# groups feanorfeanor : users disk lp cdrom audio dip

Αντίστροφα, μπορούμε να μάθουμε ποιους χρήστες έχει μια ομάδα με την εντολή members(παρέχεται στο ομώνυμο πακέτο):

# members usersfeanor gimli gandalf bilbo

Πρόσθεση, διαγραφή και μεταβολή χρηστών

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

# useradd -g users -m guest# adduser --ingroup users --home /home/guest --disabled-password guestAdding user guest...Adding new user guest (1004) with group users.Creating home directory /home/guest.Copying files from /etc/skelChanging the user information for guestEnter the new value, or press ENTER for the default Full Name []: Guest user Room Number []: Work Phone []: Home Phone []: Other []:Is the information correct? [y/n] y

Η adduser μπορεί να εκτελεστεί και χωρίς παραμέτρους:

# adduserEnter a username to add: guestAdding user guest...Adding new group guest (1004).Adding new user guest (1004) with group guest.Creating home directory /home/guest.Copying files from /etc/skelEnter new UNIX password:Retype new UNIX password:passwd: password updated successfullyChanging the user information for guestEnter the new value, or press ENTER for the default Full Name []: Guest Room Number []: Work Phone []: Home Phone []: Other []:Is the information correct? [y/n] y

Debian Guide 177

Page 178: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Οι επιλογές που δέχονται οι δύο εντολές είναι παρόμοιες:

Επιλογές(useradd)

Επιλογές(adduser)

Λειτουργία

-u uid --uid ID Ορίζει τον αριθμό ταυτότητας του νέου χρήστη. Αν δενδοθεί η εντολή επιλέγει τον επόμενο διαθέσιμο.

-g group --ingroup GROUP--gid ID

Ορίζει την κύρια ομάδα στην οποία θα ανήκει ο νέοςχρήστης.

-G group,... - Η εντολή useradd επιτρέπει τον ορισμό καιδευτερευουσών ομάδων.

-d homedir --home homedir Ορίζει τον κατάλογο HOME του χρήστη.

-s SHELL --shell SHELL Ορίζει το προτιμώμενο κέλυφος για το χρήστη. Τοπροκαθορισμένο είναι το /bin/sh (Το Bourne AgainShell).

-c comment - Ορίζει κάποιο σχόλιο για το χρήστη. Για την adduserτο σχόλιο δημιουργείται απο τις πληροφορίες πουδίνονται στο τέλος της προσθήκης του χρήστη.

-m --no-create-home Οι δύο επιλογές έχουν αντίθετη λειτουργία σε κάθεεντολή. Στην useradd η -m είναι απαραίτητη για τηδημιουργία του καταλόγου HOME, αν δεν υπάρχει,ενώ στην adduser η --no-create-home απενεργοποιείτην δημιουργία του.

-f N Απενεργοποιεί τον λογαριασμό του χρήστη N μέρεςμετά τη λήξη του κωδικού πρόσβασης (password) ήκαθόλου αν το Ν έχει τιμή -1.

-e expire Απενεργοποιεί τον λογαριασμό την ημερομηνία expire(σε μορφή YYYYMMDD).

-p passwd --disabled-login Ορίζει τον κωδικό πρόσβασης του χρήστη. ΠΡΟΣΟΧΗ:ο κωδικός πρόσβασης δίνεται σε κωδικοποιημένημορφή με την crypt και όχι ως απλό κείμενο.

Η --disabled-login απενεργοποιεί τον λογαριασμό εώςότου καθοριστεί χειροκίνητα κατάλληλος κωδικόςπρόσβασης.

Και σε αυτήν την περίπτωση οι επιλογές έχουναντίθετη λειτουργία σε κάθε εντολή. Η απουσία της -pστην useradd, απενεργοποιεί τον λογαριασμό.

Αντίστοιχα παρέχονται και οι εντολές userdel και deluser, των οποίων οι επιλογές αναγράφονταιστον παρακάτω πίνακα:

Debian Guide 178

Page 179: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Επιλογές(userdel)

Επιλογές (deluser) Λειτουργία

-r --remove-home Διαγράφει τον κατάλογο HOME τουχρήστη.

- --remove-all-files Αναζητά. και διαγράφει όλα τα αρχεία πουανήκουν στον χρήστη. Η αναζήτησηγίνεται σε όλο το σύστημα αρχείων τουυπολογιστή

- --backup Αντιγράφει τα αρχεία του χρήστη σε μιααρχειοθήκη .tar.gz στον τρέχοντακατάλογο πριν διαγράψει τον λογαριασμότου και τον κατάλογό του.

Παράδειγμα:

# userdel -r guest# deluser --remove-home --backup guest

Οι παραπάνω εντολές θα διαγράψουν από το σύστημα τον χρήστη guest μαζί με τον κατάλογοHOME του, αλλά η deluser θα δημιουργήσει μια αρχειοθήκη των αρχείων του στον τρέχοντακατάλογο με το όνομα guest.tar.gz.

Για τροποποίηση των στοιχείων ενός χρήστη υπάρχει η εντολή usermod. Δέχεται τις ίδιεςακριβώς επιλογές με την useradd με μερικές επιπλέον:

Επιλογές Λειτουργία

-l login_name Αλλάζει το όνομα του χρήστη σε login_name.

-L Κλειδώνει (lock) τον κωδικό πρόσβασης του χρήστη τοποθετώντας τονχαρακτήρα “!” στην αρχή του. Αυτό έχει σαν αποτέλεσμα ο χρήστης να μημπορεί να συνδεθεί πλέον.

-U Ξεκλειδώνει (unlock) τον κωδικό πρόσβασης του χρήστη που κλειδώθηκεμε την -L.

Παραδείγματα:

# usermod -L guest

Κλειδώνει τον κωδικό πρόσβασης του χρήστη guest, απενεργοποιώντας έτσι τον λογαριασμότου.

# usermod -s /bin/pdksh guest

Αλλάζει το προτιμώμενο κέλυφος του χρήστη guest στο pdksh (public domain Korn shell).

Debian Guide 179

Page 180: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

# usermod -d -m /newhome/guest guest

Αλλάζει τον κατάλογο HOME του χρήστη guest στον κατάλογο /newhome/guest. Με τηνπαράμετρο -m δημιουργεί τον κατάλογο αν δεν υπάρχει ήδη και πραγματοποιεί τη μεταφοράτων δεδομένων από τον παλιό στο νέο κατάλογο.

Με παρόμοιο τρόπο, μπορούμε να προσθέσουμε μια ομάδα χρηστών στο σύστημα με τις εντολέςgroupadd και addgroup, να διαγράψουμε μια ομάδα με τις εντολές groupdel και delgroup ή νατροποποιήσουμε τα στοιχεία μιας ομάδας χρηστών με την groupmod.

Όλες αυτές οι λειτουργίες μπορούν να γίνουν και μέσα από γραφικό περιβάλλον KDΕ με τοεργαλείο kuser (στο ομώνυμο πακέτο).

[screenshot]

Λογιστική χρηστών (user accounting)

Όπως ακριβώς και με την λογιστική διεργασίων, το Linux παρέχει και λογιστική χρηστών,δηλαδή πότε συνδέθηκε στον υπολογιστή ο κάθε χρήστης. Για να ακριβολογούμε η λογιστικήχρηστών χρησιμοποιεί απλώς ένα υποσύνολο των πληροφοριών που βρίσκονται στα αρχεία /var/log/wtmp και συγκεκριμένα την εκτέλεση των εντολών login και logout. Δύο αρκετά χρήσιμεςεντολές είναι η last και η lastlog, στα πακέτα sysvinit και login αντίστοιχα.

# lastlogUsername Port From Latestroot tty2 Mon Jul 14 21:55:19 +0300 2003daemon **Never logged in**bin **Never logged in**sys **Never logged in**sync **Never logged in**games **Never logged in**man **Never logged in**lp **Never logged in**mail **Never logged in**news **Never logged in**uucp **Never logged in**proxy **Never logged in**majordom **Never logged in**postgres **Never logged in**www-data **Never logged in**backup **Never logged in**operator **Never logged in**list **Never logged in**irc **Never logged in**gnats **Never logged in**feanor tty1 Mon Jul 14 21:57:54 +0300 2003sshd **Never logged in**distccd **Never logged in**bind **Never logged in**mysql **Never logged in**kannel **Never logged in**

Η lastlog εμφανίζει την τελευταία φορά σύνδεσης όλων των χρηστών του συστήματος. Μπορείνα παραμετροποιηθεί με τις επιλογές -u ή --user, που ζητάει πληροφορίες μόνο γιασυγκεκριμένο χρήστη, και -t ή --time που εμφανίζει μόνο τις συνδέσεις που είναι νεώτερες από

Debian Guide 180

Page 181: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

τις ημέρες που δίνουμε ως παράμετρο.

Η εντολή last δίνει τις τελευταίες συνδέσεις, εμφανίζοντας και ως ψευδοχρήστη reboot τηνεκκίνηση του συστήματος (και με την επιλογή -x, τον τερματισμό και την αλλαγή του runlevel).Δέχεται τις εξής επιλογές:

Επιλογές Λειτουργία

-NUM-n NUM

Εμφανίζει τις τελευταίες NUM συνδέσεις χρηστών στο σύστημα.

-d Εμφανίζει το όνομα του υπολογιστή (ή αν δεν είναι διαθέσιμο, τηνδιεύθυνση IP) του συστήματος από το οποίο συνδέθηκε ο χρήστης.

-i Εμφανίζει την διεύθυνση IP του συστήματος από το οποίο συνδέθηκε οχρήστης.

-a Εμφανίζει το όνομα ή την διεύθυνση IP στην τελευταία στήλη.

-x Εμφανίζει τους κανονικούς τερματισμούς του συστήματος ωςψευδοχρήστη shutdown και τις αλλαγές του συστήματος ως runlevel.

Παραδείγματα:

# lastfeanor tty1 Mon Jul 14 21:57 still logged inreboot system boot 2.4.20 Mon Jul 14 21:57 (16:55)root tty2 Mon Jul 14 21:55 - down (00:00)feanor tty1 Mon Jul 14 16:15 - down (05:39)reboot system boot 2.4.20 Mon Jul 14 16:14 (05:40)reboot system boot 2.4.20 Mon Jul 14 16:13 (00:00)root tty2 Mon Jul 14 12:12 - crash (04:00)

wtmp begins Mon Jul 14 12:12:38 2003

Εμφανίζει τις τελευταίες συνδέσεις στο σύστημα μαζί και με τις πληροφορίες για απότομοτερματισμό (crash). Η παρακάτω εμφανίζει και τους κανονικούς τερματισμούς του συστήματος.

# last -aixfeanor tty1 Mon Jul 14 21:57 still logged in 0.0.0.0runlevel (to lvl 2) Mon Jul 14 21:57 - 14:59 (17:02) 0.0.0.0reboot system boot Mon Jul 14 21:57 (17:02) 0.0.0.0shutdown system down Mon Jul 14 21:56 - 14:59 (17:03) 0.0.0.0runlevel (to lvl 0) Mon Jul 14 21:55 - 21:56 (00:00) 0.0.0.0root tty2 Mon Jul 14 21:55 - down (00:00) 0.0.0.0feanor tty1 Mon Jul 14 16:15 - down (05:39) 0.0.0.0runlevel (to lvl 2) Mon Jul 14 16:14 - 21:55 (05:40) 0.0.0.0reboot system boot Mon Jul 14 16:14 (05:40) 0.0.0.0shutdown system down Mon Jul 14 16:13 - 21:55 (05:41) 0.0.0.0runlevel (to lvl 0) Mon Jul 14 16:13 - 16:13 (00:00) 0.0.0.0reboot system boot Mon Jul 14 16:13 (00:00) 0.0.0.0root tty2 Mon Jul 14 12:12 - crash (04:00) 0.0.0.0

wtmp begins Mon Jul 14 12:12:38 2003

Χρήσιμα πακέτα: adduser, members, kuser.

Debian Guide 181

Page 182: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

10.Ώρα συστήματος

Η αναφορά στην διαχείριση ενός συστήματος δεν θα ήταν πλήρης αν δεν αναφέραμε και τοχειρισμό της ώρας και ημερομηνίας. Κάθε υπολογιστής παρέχει κάποιο κύκλωμα που λειτουργείσυνεχώς και η μόνη του χρήση είναι η διατήρηση της ώρας. Την ώρα αυτή την χρησιμοποιεί τολειτουργικό σύστημα για να ορίσει τους δικούς του μετρητές.

Στο Linux υπάρχει η ώρα του συστήματος (system clock) και η ώρα του ρολογιού τουυπολογιστή (hardware clock) που ρυθμίζονται με δύο διαφορετικές εντολές, αντίστοιχα την dateκαι την hwclock. Όσον αφορά την date, αυτή μπορεί να ρυθμίσει ή να εμφανίσει την τρέχουσαημερομηνία και ώρα του συστήματος με ποικίλους τρόπους. Οι επιλογές και παράμετροι πουδέχεται είναι πάρα πολλές και για την πλήρη κάλυψή τους παραπέμπουμε στην αντίστοιχησελίδα οδηγιών (man date) και κείμενο πληροφοριών (info date). Αλλά θα παραθέσουμε μερικάαπλά παραδείγματα για καλύτερη κατανόηση.

# date --date="2 days ago"Fri Jul 11 10:15:46 EEST 2003

Επιστρέφει την ημερομηνία και την ώρα πριν από ακριβώς δύο μέρες.

# date +%m%d%H%M%Y.%S071310072003.49

Εμφανίζει την τρέχουσα ημερομηνία και ώρα δίνοντας πρώτα το μήνα, την ημέρα, την ώρα καιτα λεπτά, το έτος και τέλος τα δευτερόλεπτα. Μια τέτοια μορφοποίηση είναι αρκετά χρήσιμηειδικά σε σενάρια κελύφους.

# dateSun Jul 13 10:08:26 EEST 2003# date --set="+2 minutes"Sun Jul 13 10:11:02 EEST 2003# date --set='2003, July 20 18:00”

Ορίζει την τρέχουσα ημερομηνία 2 λεπτά αργότερα.

Μεταφορά στο ρολόι του υπολογιστή

Αφού ορίσουμε την ημερομηνία και την ώρα με την date, θα πρέπει με κάποιον τρόπο ναενημερώσουμε το ρολόι του υπολογιστή. Αυτό επιτυγχάνεται με την εντολή hwclock και με τηνεπιλογή --systohc (system to hardware clock), η οποία συγχρονίζει το ρολόι του υπολογιστή μετην ώρα του συστήματος.

# hwclock --systohc

Η hwclock προσφέρει και τη δυνατότητα αποθήκευσης και διαφορετικής ώρας με την επιλογή --set (σε συνδυασμό με την --date), π.χ.:

# hwclock --set --date="2003, Jul 20 16:45:05"

Στην αντίθετη περίπτωση μπορούμε να συγχρονίσουμε το ρολόι του συστήματος με το ρολόι τουυπολογιστή (αν π.χ. αλλάξαμε την ώρα του συστήματος και θέλουμε να την επαναφέρουμε στησωστή) με την επιλογή --hctosys (hardware clock to system):

Debian Guide 182

Page 183: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

# hwclock --hctosys

Τέλος, η hwclock επιτρέπει την επιλογή του τρόπου αποθήκευσης της ώρας ανάμεσα σε τοπικήώρα ή παγκόσμια ώρα UTC (Universal Time Coordinated) με τις επιλογές --localtime ή --utcαντίστοιχα.

Χρήσιμα πακέτα: ntp, gworldclock, ntpdate, tptime, tzwatch, ud.

11.Διαχείριση εκτυπωτών

Η κατάσταση με τα συστήματα εκτύπωσης στο UNIX ανέκαθεν χαρακτηριζότανε από κάποιασύγχυση καθώς υπήρχαν ακόμη και στα παλιότερα συστήματα αρκετές εκδόσεις του ίδιουσυστήματος εκτύπωςης lpr, συχνά ασύμβατες μεταξύ τους. Το γεγονός ότι η ρύθμιση για κάθεεκτυπωτή ήταν διαφορετική και συχνά απαιτούσε αρκετές ώρες επεξεργασίας δυσνόητωναρχείων ρυθμίσεων δεν βοηθούσε ιδιαίτερα την κατάσταση. Συν τοις άλλοις, τις περισσότερεςφορές δεν υπήρχε υποστήριξη για τους νεώτερους και φτηνότερους εκτυπωτές inkjet, μόνο γιαακριβούς εκτυπωτές Postscript. Ακόμη και όταν υπήρχε όμως η ποιότητα ήταν σαφώς κατώτερηαπό την αντίστοιχη των οδηγών για άλλα λειτουργικά συστήματα (π.χ. Windows).

Το σύστημα CUPS

Για το σκοπό αυτό, αναπτύχθηκε το CUPS (Common Unix Printing System), το οποίο και είναιπλέον το προκαθορισμένο σύστημα εκτύπωσης σε όλα τα σύγρονα UNIX συστήματα, ακόμη καιστο MacOS X. Το CUPS, παρέχει μια πιο σύγρονη αντιμετώπιση της διαχείρισης ενός εκτυπωτήςκαι υποστηρίζει όλα τα σύγχρονα και μή συστήματα εκτύπωσης, όπως τοπικούς καιαπομακρυσμένους LPD εκτυπωτές, IPP, IPP/HTTP, τοπικούς εκτυπωτές συνδεδεμένουςπαράλληλα, σειριακά ή στη θύρα USB, κλπ. Χρησιμοποιεί πρότυπα αρχεία PPD (PostscriptPrinter Definition) που στην ουσία ρυθμίζουν το σύστημα στις προδιαγραφές του κάθεεκτυπωτή, και αυτή τη στιγμή δύσκολα θα βρείτε εκτυπωτή που να μην υποστηρίζεται, καθώς οαριθμός των υποστηριζόμενων εκτυπωτών ξεπερνάει τις 3000. Ακόμη και αν δεν έχετεεκτυπωτή, υποστηρίζει απευθείας εκτύπωση μιας σελίδας σε αρχείο Postscript ή PDF γιαπεραιτέρω επεξεργασία.

Η ρύθμιση και διαχείριση του συστήματος και των εκτυπωτών μπορεί να γίνει μέσω ενόςbrowser, ενώ παρέχει και εύκολους τρόπους εγκατάστασης νέου εκτυπωτή με βήματα.

[screenshot]

Προσφέρει, συμβατότητα με τα υπάρχοντα συστήματα εκτύπωσης, όπως LPD, LPRng, μέσωειδικών εντολών wrappers και πλήρη συνεργασία με γραφικά περιβάλλοντα όπως το KDE καιGNOME.

Γενικά, είναι ένα πολύ δυνατό σύστημα και πολύ πιο εύκολο στη χρήση του από τα παλαιότερασυστήματα.

[screenshot]

Το Debian παρέχει το σύστημα CUPS με μια πληθώρα πακέτων. Για να εγκαταστήσετε πλήρως τοσύστημα, προτείνεται η εγκατάσταση τουλάχιστον των εξής πακέτων:

cupsys, cupsomatic-ppd, cupsys-bsd, cupsys-client

Σε περίπτωση που χρησιμοποιείτε εκτυπωτή Hewlett-Packard, συνιστάται να εγκαταστήσετε και

Debian Guide 183

Page 184: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

τα πακέτα hpoj και hpijs, ενώ για καλύτερη ενσωμάτωση του CUPS στο KDE, είναι απαραίτητο τοπακέτο kdelibs3-cups.

Η ρύθμισή του μπορεί να γίνει είτε μέσω κάποιου browser στην διεύθυνση http://localhost:631 ήμέσω του διαχειριστή εκτυπωτών (Printer Manager) στην κονσόλα ελέγχου του KDE.

[screenshot]

Άλλα συστήματα διαχείρισης εκτυπωτών

Πέρα από το σύστημα CUPS, το Debian φυσικά παρέχει και πακέτα για διαχείριση τωνεκτυπωτών με πιο “παραδοσιακούς” τρόπους. Υπάρχουν τα πακέτα lpd, lprng, lpr-ppd πουχρησιμοποιούν το σύστημα εκτύπωσης LPD αλλά με διαφορετική προσέγγιση το καθένα. Τοσύστημα εκτύπωσης LPD, ορίζει τους εκτυπωτές στο αρχείο /etc/printcap και χρησιμοποιεί τηνεντολή lpr για εκτυπωση. Στην πραγματικότητα χρησιμοποιεί ένα σύστημα σειριακοποίησης τωνεκτυπώσεων σε εργασίες (print jobs) τις οποίες μπορούμε να διαχειριστούμε με τις εντολές lpqκαι lprm ενώ μπορούμε να μάθουμε την κατάσταση του εκτυπωτή με την εντολή lpstat.

Η εγκατάσταση ενός εκτυπωτή σε αυτό το σύστημα δεν είναι εύκολη και υπάρχουν αρκετοίοδηγοί και αρχεία HOWTO στο Internet για το σκοπό αυτό. Συνήθως, προτείνεται η χρήση ενόςπρογράμματος όπως το printtool ή το lprngtool που αυτοματοποιούν αρκετά τη διαδικασίαρύθμισης και εγκατάστασης ενός εκτυπωτή.

Τέλος, Υπάρχει δυνατότητα χρήσης ενός εκτυπωτή που διαμοιράζεται σε ένα δίκτυο απόσύστημα Windows. Χρησιμοποιώντας το σύστημα Samba και την εντολή smbprint (που περιέχεταιστο πακέτο smbclient), δημιουργείται μια καταχώρηση στο αρχείο /etc/printcap που λειτουργείως φίλτρο και πρακτικά στέλνει τα αρχεία για εκτύπωση στο σύστημα Windows.

Χρήσιμα πακέτα: djtools, escputil, gimp1.2-print, gnulpr, gpr, hp-ppd, klpq, lpr, lpr-ppd, lprng,lprngtool, printtool.

12.Βασικές υπηρεσίες

Έχουμε ήδη αναφέρει την ύπαρξη ειδικών διεργασιών, τους δαίμονες (daemons) πουαναλαμβάνουν την εξυπηρέτηση κάποιου συγκεκριμένου σκοπού (π.χ. παράδοση ηλεκτρονικήςαλληλογραφίας, φιλοξενία ιστοσελίδων, διακόμιση αρχείων, κλπ). Το Debian προσφέρει έναπολύ μεγάλο πλήθος προγραμμάτων που λειτουργούν ως δαίμονες και για εντελώςδιαφορετικούς σκοπούς. Υπάρχουν δαίμονες που λειτουργούν ως βάσεις δεδομένων,διακομιστές αρχείων, ως συστήματα ελέγχου υλικού, συστήματα συγχρονισμού ώρας, κλπ.Καθένα από αυτά τα προγράμματα χρειάζεται δική του ρύθμιση και εγκατάσταση κάτι πουξεφεύγει από τους σκοπούς μας. Θα αναφερθούμε στις πιο σημαντικές υπηρεσίες και τουςαντίστοιχους δαίμονες.

Η υπηρεσία FTP (File Transfer Protocol)

Αρκετά πριν εμφανιστεί η υπηρεσία WWW στο διαδίκτυο, ο κύριος τρόπος ανταλλαγής αρχείωνγινόταν με το πρωτόκολλο αυτό. Ακόμη και σήμερα όμως χρησιμοποιείται σε μεγάλο βαθμό καιπολλοί το προτιμάνε για μεταφορά αρχείων. Αρκετά συστήματα τα οποία βρίσκονται σε κόμβουςυψηλής ταχύτητας (π.χ. Πανεπιστήμια, μεγάλες εταιρείες, οργανισμοί) λειτουργούν ωςδιακομιστές αρχείων FTP, δηλαδή τρέχουν έναν δαίμονα FTP στον οποίο οι χρήστες συνδέονταιμε αντίστοιχα προγράμματα πελάτες (FTP clients). Το Debian προσφέρει πολλά πακέτα

Debian Guide 184

Page 185: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

διακομιστές FTP αλλά και πελάτες FTP. Όσον αφορά τους διακομιστές οι πιο συνηθισμένοι είναιproftpd, wu-ftpd, ο κλασσικός ftpd και ftpd-ssl και αρκετοί άλλοι. Η προτίμηση του γράφοντοςείναι στον proftpd λόγω της ασφάλειάς του αλλά και των πολλών δυνατοτήτων του (σύνδεση μεβάσεις δεδομένων LDAP, MySQL, PostgreSQL, εικονικοί servers, κλπ). Η εγκατάστασή του επίσηςείναι εύκολη, για τους περισσότερους χρήστες αρκεί ένα apt-get -u install proftpd.

Όσον αφορά τα προγράμματα πελάτες, υπάρχουν αρκετά για να καλύψουν όλες σχεδόν τιςανάγκες. Πολύ καλά προγράμματα πελάτες για κονσόλα είναι το ncftp και το lftp ενώ γιαγραφικό περιβάλλον πολύ καλό είναι το kbear για KDE και το gftp για GTK/GNOME.

[screenshot]

[screenshot]

Επικοινωνία με Windows μέσω Samba

Στο κεφάλαιο 12 αναφερθήκαμε στο σύστημα αρχείων smbfs (σελ. 118) που επιτρέπει σε ένασύστημα Linux να συναρμόσει έναν διαμοιραζόμενο κατάλογο Windows (shared folder) σε ένανκατάλογο του συστήματος αρχείων του Linux. Είναι δυνατόν όμως να γίνει και το αντίστροφο,δηλαδή το σύστημα Linux να λειτουργήσει ως διακομιστής αρχείων (file server) σε ένα δίκτυοWindows, χρησιμοποιώντας το πρωτόκολλο επικοινωνίας των ίδιων των Windows (SMB, εξού καιτο όνομα Samba). Αυτό σημαίνει ότι μπορείτε να ανταλλάξετε αρχεία με άλλα συστήματαWindows. Στην πραγματικότητα το σύστημα Samba είναι αρκετά πιο δυνατό και μπορεί μάλισταμε την κατάλληλη ρύθμιση να χρησιμοποιηθεί ακόμη και ως Ελεγκτής Τομέα Windows (WindowsDomain Controller), λειτουργία που συνήθως αναλαμβάνει ένας Windows NT/2000 Server.

Χάρη στο σύστημα debconf, μπορείτε να χρησιμοποιήσετε άμεσα την λειτουργία της ανταλλαγήςαρχείων, απλώς δηλώνοντας κατά την εγκατάσταση την ομάδα εργασίας (Workgroup) τουδικτύου Windows στο οποίο θέλετε να συνδεθείτε.

[screenshot]

Αυτό βέβαια προϋποθέτει ότι έχετε ήδη ενεργή και σωστά ρυθμισμένη διασύνδεση με ταυπόλοιπα συστήματα Windows.

Τα πακέτα που πρέπει να εγκαταστήσετε για να χρησιμοποιήσετε τον υπολογιστή σας ωςδιακομιστή αρχείων σε δίκτυο Windows είναι τα samba και smbclient ενώ για την συναρμογήενός διαμοιραζόμενου καταλόγου Windows στο Linux θα χρειαστείτε το πακέτο smbfs.

Επικοινωνία μέσω SSH ή TELNET

Ένα από τα πιο χρήσιμα χαρακτηριστικά των συστημάτων UNIX και του Linux είναι η δυνατότητααπομακρυσμένης λειτουργίας ενός συστήματος με τον ίδιο τρόπο που θα γινόταν αν είχαμεάμεση πρόσβαση στο ίδιο το σύστημα. Χάρη σε πρωτόκολλα επικοινωνίας όπως το TELNET καιτο νεώτερο SSH (Secure Shell), μπορούμε να συνδεθούμε με ένα απομακρυσμένο σύστημα και νααποκτήσουμε πρόσβαση στην γραμμή εντολών του. Η μόνη απαίτηση είναι η επικοινωνία τωνδύο συστημάτων μέσω δικτύου TCP/IP.

Για το Linux δεν υπάρχει διαφορά αν κάποιος χρήστης συνδεθεί τοπικά ή από κάποιονυπολογιστή στην Ιαπωνία. Έχει πρόσβαση στα ίδια αρχεία και εντολές και μπορεί να διαχειριστείτο σύστημά του ακριβώς με τον ίδιο τρόπο. Φυσικά, η ταχύτητα επικοινωνίας εξαρτάται από την

Debian Guide 185

Page 186: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

γραμμή σύνδεσης αλλά κατά τα άλλα δεν υπάρχουν διαφορές. Μάλιστα, με μια καλή ταχύτηταείναι δυνατή και η χρήση γραφικών εφαρμογών που θα τρέχαμε τοπικά στο σύστημαπαραθύρων X.

Η χρησιμοποίηση οποιουδήποτε συστήματος γίνεται με την χρήση της αντίστοιχης εντολής, telnetκαι ssh αντίστοιχα.

Η διαφορά του TELNET από το SSh είναι ότι το τελευταίο χρησιμοποιεί κωδικοποίηση τωνδεδομένων και είναι πολύ δύσκολη έως αδύνατη η υποκλοπή της συνομιλίας μεταξύ των δύουπολογιστών. Κάτι τέτοιο δυστυχώς είναι αρκετά εύκολο στην απλή μορφή της εντολής telnet.Αυτός άλλωστε, ήταν και ο λόγος της δημιουργίας του SSH, η ασφαλής επικοινωνία μεταξύ δύουπολογιστών.

Αν για παράδειγμα, hostname.remote.domain.org είναι ένας απομακρυσμένος υπολογιστής στονοποίο θέλουμε να συνδεθούμε ως χρήστης luser, θα έπρεπε να δώσουμε τις εξής εντολές:

$ telnet hostname.remote.domain.org

ή αντίστοιχα

$ ssh -l luser [email protected]:Last login: Fri Jul 11 18:59:41 2003 from [DELETED] on pts/0Linux hostname.remote.domain.org 2.4.20-4um #1 Mon Apr 28 20:39:33 BST 2003 i686 unknownNo mail.luser@hostname:~$

Η εντολή ssh θα πρέπει να προτιμάται αντί της telnet λόγω υψηλότερης ασφάλειας. Επίσης, τοπακέτο ssh περιέχει και άλλα εργαλεία, όπως την scp (secure copy) που χρησιμοποιεί τοπρωτόκολλο SSH για απομακρυσμένη αντιγραφή αρχείων.

Για παράδειγμα για να μεταφέρουμε ένα αρχείο datafile στον κατάλογο HOME του χρήστη luserστο σύστημα hostname.remote.domain.org, αρκεί να δώσουμε.

$ scp datafile [email protected]:[email protected]:datafile 100% 174553 85.9KB/s 00:00

Αν είναι απαραίτητη η χρήση της telnet θα πρέπει να προτιμήσουμε την telnet-ssl η οποίακωδικοποιεί την επικοινωνία μέσω ενός καναλιού SSL (Secure Sockets Layer).

Για την σύνδεση μέσω telnet σε απομακρυσμένο υπολογιστή θα χρειαστούμε ένα από τα πακέταtelnet ή telnet-ssl, ενώ για σύνδεση στον δικό μας υπολογιστή θα χρειαστεί να εγκαταστήσουμεέναν από τους δαίμονες telnetd ή telnetd-ssl. Όσον αφορά το το πακέτο ssh, το ίδιοπεριλαμβάνει το πρόγραμμα πελάτη ssh και τον δαίμονα sshd.

Χρήσιμα πακέτα: ssh, telnet, telnet-ssl, telnetd, telnetd-ssl.

Debian Guide 186

Page 187: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Παράρτημα I – Ρύθμισεις του BIOS[screenshot]

Debian Guide 187

Page 188: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Παράρτημα II - Προβλήματα κατά την εγκατάσταση

Debian Guide 188

Page 189: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Παράρτημα III – Το πρόγραμμα cfdisk[screenshot]

[screenshot]

[screenshot]

Debian Guide 189

Page 190: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Παράρτημα IV – Το πρόγραμμα LILO[screenshot]

Debian Guide 190

Page 191: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Παράρτημα V - Εκκίνηση σε κατάσταση single user

Debian Guide 191

Page 192: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Παράρτημα VI – Ρύθμιση του πυρήνα[screenshot]

(απλή αναφορά και βασικές πληροφορίες)

Debian Guide 192

Page 193: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Παράρτημα VII - Ρύθμιση ελληνικών στο Debian

Debian Guide 193

Page 194: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Παράρτημα VIII - Αναφορά προβλημάτων στο Debianreportbug

Debian Guide 194

Page 195: Περιεχόμενα - University of Macedonia · 2013-01-17 · Κεφάλαιο 2 - Πριν την εγκατάσταση Πριν προχωρήσουμε στην εγκατάσταση,

Ευρετήριοαρχείων

διαγραφή 80NNetwork File System

NFS 101Rrm 80

Debian Guide 195