Πρώτο commit
Αυτό το commit περιλαμβάνεται σε:
commit
8ec8e9bee2
451 αρχεία άλλαξαν με 46736 προσθήκες και 0 διαγραφές
459
content/articles/13/04_lin_for_dummies2.md
Κανονικό αρχείο
459
content/articles/13/04_lin_for_dummies2.md
Κανονικό αρχείο
|
@ -0,0 +1,459 @@
|
|||
+++
|
||||
title = 'Linux για τους νοητικά ασθενείς part II'
|
||||
date = '1999-03-01T00:00:00Z'
|
||||
description = ''
|
||||
author = 'Κοτσιφάκης Θρασύβουλος'
|
||||
issue = ['Magaz 13']
|
||||
issue_weight = 4
|
||||
+++
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
*Συνέχεια του άρθρου του προηγούμενου μήνα. Τα πρώτα σας βηματάκια στο Linux και στα τερτίπια του .**Strictly for beginers**.*
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
**1. Ό LI.LO. (άκου όνομα κι αυτός).**
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
**2. Τα αρχεία συστήματος**
|
||||
--------------------------------------------------------------
|
||||
|
||||
- [2.1 /etc/fstab](#ss2.1)
|
||||
- [2.2 /etc/profile](#ss2.2)
|
||||
- [2.3 /etc/printcap](#ss2.3)
|
||||
- [2.4 /etc/rc.config](#ss2.4)
|
||||
- [2.5 /etc/inittab](#ss2.5)
|
||||
- [2.6 /etc/conf.modules](#ss2.6)
|
||||
- [2.7 Τα αρχεία autoexec.bat και config.sys](#ss2.7)
|
||||
|
||||
**3. Επίλογος (άντε γιατί βαρεθήκαμε).**
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
|
||||
### [1. Ό LI.LO. (άκου όνομα κι αυτός).]{#s1}
|
||||
|
||||
Χαιρετώ τα πλήθη και μπαίνω κατ\' ευθείαν στο ψητό. LI.LO. εστί **Linux Loader**, και τι κάνει αυτός ε; λοιπόν αυτός φροντίζει να ξεκινήσει(σουν) το(τα)
|
||||
λειτουργικό(ά) μας. Προφανώς όταν κάνατε εγκατάσταση του Linux, σας ζητήθηκε να τον εγκαταστήσετε κάπου. 'ν δεν έχετε κάποιο λειτουργικό με δικό του loader
|
||||
(π.χ. OS/2) εγκαταστήστε τον στο MBR (master boot record).Φτιάξτε τα boot volumes μέσα από τις ρουτίνες που διαθέτει κάθε Distribution, δώστε τους ονομασία και
|
||||
όταν ξεκινήσει ο κουβάς σας θα δείτε ένα μήνυμα μετά από την εκκίνηση του bios όπως το παρακάτω:
|
||||
|
||||
**LΙLO:**
|
||||
|
||||
Δώστε τώρα το όνομα που δώσατε στο boot volume του Linux και συνεχίστε με τα βήματα που διαβάσατε στο πρώτο άρθρο της σειράς για να κάνετε login. Πάμε τώρα να
|
||||
βγάλουμε τα μάτια στον lilo και να μάθουμε μερικά ψιλά για το πως θα τον κάνουμε να δουλεύει όπως θέλουμε εμείς.
|
||||
|
||||
Κατά την εγκατάσταση του συστήματος σας στο σημείο που εγκαταστήσατε τον lilo συνέβησαν τα εξής:
|
||||
|
||||
α. Καθορίστηκαν οι εγγραφές για το τι λειτουργικά συστήματα πρέπει να είναι έτοιμος ο lilo να ξεκινήσει.
|
||||
β. Καθορίστηκαν οι ονομασίες αυτών (boot labels)
|
||||
γ. Καθορίστηκε η θέση τους (σε ποιο δίσκο, σε ποιο partition )
|
||||
δ. Καθορίστηκε ποιο λειτουργικό θα είναι το default.
|
||||
ε. Τροποποιήθηκε το MBR
|
||||
στ. Γράφτηκαν οι αλλαγές στο configuration file του LILO.
|
||||
|
||||
Αυτά βέβαια με απλά λόγια διότι οι διαδικασίες αυτές είναι much much more complicated απ\' όσον ακούγονται, (διαβάστε το /usr/doc/lilo/README και θα καταλάβετε
|
||||
τι εννοώ.) Πάμε τώρα να αλλάξουμε τα φώτα στον lilo.
|
||||
|
||||
Μεταφερθείτε στο /etc directory και ψάξτε για ένα αρχείο με το όνομα **lilo.conf**. Ανοίξτε το με κάποιον editor (vi, pico, joe ή όποιον άλλο εσείς πλέον
|
||||
χρησιμοποιείτε -συνιστώ ανεπιφύλακτα τον pico). Αυτό που θα δείτε είναι περίπου το παρακάτω :
|
||||
|
||||
# LILO global section start
|
||||
boot=/dev/hda
|
||||
prompt
|
||||
timeout=100
|
||||
vga = normal
|
||||
# End LILO global section
|
||||
#
|
||||
# Linux bootable partition config begins
|
||||
image = /boot/vmlinuz
|
||||
root = /dev/hda6
|
||||
label = linux
|
||||
# Linux bootable partition config ends
|
||||
#
|
||||
# Winblows bootable partition config begins
|
||||
other = /dev/hda1
|
||||
label = w95
|
||||
table = /dev/hda
|
||||
# Winblows bootable partition config ends
|
||||
|
||||
Νομίζω ότι με κάποια προσεκτική ανάγνωση καταλαβαίνετε τι κάνει αυτό το αρχείο αλλά και πως το κάνει.Βέβαια εδώ δεν διαβάζουμε για να γίνουμε Πυθίες γι αυτό ας
|
||||
εξηγήσουμε μερικά πράγματα.
|
||||
|
||||
Προσέξτε τις εγγραφές ανάμεσα από τα σχόλια \"\#LILO global section start\" και \"\# End LILO global section\". Εδώ βρίσκονται οι γενικές (σφαιρικές)
|
||||
καταχωρίσεις για την αρχική συμπεριφορά του συστήματος μας.
|
||||
|
||||
**boot=\...** : Εδώ καθοδηγούμε το σύστημα για το που βρίσκεται το boot record. Συνήθως είναι /dev/hda ή /dev/sda (αν ξεκινάμε τον lilo από hard-disk ) ή και
|
||||
/dev/fd0 (αν ξεκινάμε από δισκέττα -ναι, και αυτό γίνεται).
|
||||
|
||||
**prompt** : Ενεργοποιείται το LILO prompt που βλέπουμε στην εκκίνηση και μας καλεί να επιλέξουμε λειτουργικό για την εκκίνηση.
|
||||
|
||||
**timeout=\...tenthsofsecs** : Εδώ βάζουμε τον χρόνο που θα καθυστερήσει ο lilo στο prompt πριν ξεκινήσει το default λειτουργικό.Το 100 που έχει το lilo.conf
|
||||
παραπάνω σημαίνει 10 seconds.
|
||||
|
||||
**vga=\...** : Εδώ μπορούμε να χρησιμοποιήσουμε μία τιμή ανάλυσης σε χαρακτήρες για την απεικόνιση των τερματικών μας. Οι επιλογές που έχουμε είναι normal
|
||||
(80x25) ext (80x50) ή ask όπου ερωτούμαστε για την ανάλυση (στο 2.2 kernel η παράμετρος ask δείχνει τον πραγματικό της εαυτό αφού μπορούμε να εκκινήσουμε σε
|
||||
SVGA Mode).
|
||||
|
||||
Προς στιγμήν ας αφήσουμε το global section στο οποίο θα επιστρέψουμε δριμύτεροι για να του αλλάξουμε τα φώτα, και ας ρίξουμε μία ματιά στο section **\# Linux
|
||||
bootable partition config begins**
|
||||
|
||||
**image=**/boot/vmlinuz : Εδώ λέμε στον lilo πού θα βρεί τον πυρήνα (vmlinuz είναι το όνομα που θα συναντήσετε και που αργότερα θα χρησιμοποιείτε κι εσείς για
|
||||
την ονομασία των custom kernel που θα φτιάχνετε, π.χ. vmlinuz\_2\_0\_36 vmlinuz\_2\_2 κ.λ.π. /boot φυσικά είναι το directory όπου αποθηκεύετε τους πυρήνες σας.
|
||||
|
||||
**root =**/dev/hda6 : Έδώ φυσικά καθοδηγούμε τον lilo για το που κάνουμε mount το root (/)
|
||||
|
||||
**label** = linux : Έδω του λέμε τι entry να περιμένει στο prompt. Πληκτρολογώντας δηλαδή linux και πατώντας το enter θα ξεκινήσει να φορτώνει το Linux του
|
||||
οποίου το loadable kernel βρίσκεται στο /boot ,ονομάζεται vmlinuz και το root directory του \"κάθεται\" στο /dev/hda6
|
||||
|
||||
Ας πειράξουμε τώρα λίγο το συγκεκριμένο αρχείο.Μπείτε σε μια άλλη κονσόλα και ανοίξτε τον editor της αρεσκείας σας. Πληκτρολογείστε ότι σας κατέβει για μήνυμα
|
||||
έναρξης και σώστε το π.χ. με ένα όνομα όπως my\_welcome\_msg. Γυρίστε τώρα στο τερματικό που έχετε ανοιχτό το lilο.conf και γράψτε στο global section την εξής
|
||||
εγγραφή.
|
||||
|
||||
**message**=\.../my\_welcome\_msg όπου έχω τελείες εσείς βάλτε το path για το my\_welcome\_msg π.χ. /boot/my\_welcome\_msg
|
||||
|
||||
Επειδή όμως εσείς είσαστε και ολίγον τί αργόστροφοι και όταν ξεκινάτε τον υπολογιστή το μυαλό σας στέλνει τις εντολές στα χέρια σας για πληκτρολόγηση με
|
||||
τεράστια χρονοκαθυστέρηση, ο χρόνος των 10 δευτερολέπτων είναι λίγος. Ας βάλουμε κι εδώ 30 δευτερόλεπτα.
|
||||
|
||||
**timeout=** 300
|
||||
|
||||
Επειδή όμως και αυτός ο χρόνος είναι μικρός για το επίσης μικρό και νωθρό νευρικό σας σύστημα ας ανατρέξουμε στις παρακάτω ενότητες για να αλλάξουμε και τα
|
||||
labels και να τα κάνουμε μικρότερα
|
||||
|
||||
**label=**l
|
||||
|
||||
**label=**w
|
||||
|
||||
Αλλά επειδή αν και πτωχοί τω πνεύματι είμαστε ανήσυχοι και διαβάσαμε το άρθρο του φίλου μου Βαγγέλη στο προηγούμενο τεύχος και έχουμε κάνει complile έναν kernel
|
||||
τον οποίο θέλουμε να δοκιμάσουμε για να καμαρώσουμε τι ωραία και γρήγορα που (δεν) ξεκινάει το μασίνι μας αφού απαντήσαμε αρνητικά σε ότι μας ρώτησε κατά την
|
||||
διάρκεια του config ας φτιάξουμε και ένα section για το δικό μας kernel που με περηφάνεια ονομάσαμε vmlinuz\_siga\_kai\_8a\_bootarei.
|
||||
|
||||
|
||||
# LILO global section start
|
||||
boot=/dev/hda
|
||||
message=/boot/my_welcome_msg
|
||||
prompt
|
||||
timeout=300
|
||||
vga = normal
|
||||
# End LILO global section
|
||||
#
|
||||
# Linux bootable partition config begins
|
||||
image = /boot/vmlinuz
|
||||
root = /dev/hda6
|
||||
label = l
|
||||
# Linux bootable partition config ends
|
||||
#
|
||||
# Winblows bootable partition config begins
|
||||
other = /dev/hda1
|
||||
label = w
|
||||
table = /dev/hda
|
||||
# Winblows bootable partition config ends
|
||||
#
|
||||
#to neo section me to kernel poy ftiajame jekina edw
|
||||
image= /boot/vmlinuz_siga_kai_8a_bootarei #elpizw oti to antigrapsate sto /boot
|
||||
root = /dev/hda6
|
||||
label = l1 #elpizw na prolauete na to plhktrologhsete
|
||||
#edw teleiwnoume (ponhroulia mou!)
|
||||
|
||||
Αφού κάναμε τις αλλαγές μας σώζουμε το lilo.conf και περήφανοι για την πρόοδο μας επανεκκινούμε τον κουβά μας, βλέπουμε το LILO prompt και γράφουμε **l**,
|
||||
πατάμε το enter και παίρνουμε τ\' \_ \_ \_ \_ \_ια μας ,μας λέει ο lilos ότι λέει δεν υπάρχει τέτοιο πράμα. Πατάμε το Tab για να δούμε τι επιλογές έχουμε και τι
|
||||
θωρούν τα μάτια μας; **linux** και **w95** μα αφού τα αλλάξαμε με τα ίδια τα χεράκια μας , και το καινούριο kernel που είναι; Well αφήστε το linux να μπουτάρει
|
||||
όσο θα σας εξηγώ.
|
||||
|
||||
Όταν μετατρέπουμε το αρχείο lilo.conf πρέπει να εγκαταστήσουμε τον lilo ξανά για να αλλάξουν τα settings του **/boot/map** το οποίο δεν μεταβάλλεται αν δεν
|
||||
τρέξουμε το :
|
||||
|
||||
**/sbin/lilo**
|
||||
|
||||
Αφού τώρα το ξέρουμε πάμε να εφαρμόσουμε την γνώση μας. Tο μήνυμα που θα πάρουμε μετά από την εκτέλεση του /sbin/lilo θα είναι
|
||||
|
||||
Added l*
|
||||
Added w
|
||||
Added l1
|
||||
|
||||
Ο αστερίσκος που βλέπετε πλάι στο **l** δείχνει ότι το l είναι το image που θα φορτώσει σε (πολύ) πιθανό timeout . Αν τώρα θέλετε να ξεκινά by default τα
|
||||
**ΑΚΑΤΑΝΟΜΑΣΤΑ(c)** τότε κάντε σκάντζα το linux section με το Winblows section (το Winblows πρώτο) και ξανατρέξτε το /sbin/lilo, να πάτε τώρα τρέχοντας να
|
||||
εξομολογηθείτε την αμαρτία σας σ\' ένα παπά (τον αφορισμό τον έχετε σίγουρο, μόνο ο Χριστοδου(λοπου)λος σας σώζει που αυτός όλα τα συγχωρεί). Τέλος πάντων
|
||||
ξεκινήστε τον κουβά και βλέπουμε.Και τώρα όπως βλέπετε και το μηνυματάκι σας φαίνεται στην οθόνη έναρξης και το νέο kernel δεν μπουτάρει και γενικώς τα κάνατε
|
||||
θάλασσα.
|
||||
|
||||
|
||||
### [2. Τα αρχεία συστήματος]{#s2}
|
||||
|
||||
Τα αρχεία συστήματος είναι κάτι αρχεία τα οποία διαβάζει ο κουβάς μας κατά την διαδικασία εκκίνησης του για να πάρει γενικές κατευθύνσεις και για να ξέρει τι
|
||||
υπηρεσίες θα ξεκινήσει.Τα αρχεία αυτά θα τα συναντήσετε μέσα στο **/etc** και στα directories των εκάστοτε user (/root , /home/\...).Γενικά οι τροποποιήσεις
|
||||
αυτών των αρχείων (ειδικά των γενικών αρχείων που βρίσκονται στο **/etc**) κρίνεται απαγορευμένη για μωρά και ηλιθίους αλλά μάλλον -με πάσα επιφύλαξη- εσείς δεν
|
||||
ανήκετε σε καμμία από τις δύο παραπάνω κατηγορίες.Έχοντας υπ\' όψιν τα παραπάνω λοιπόν συνιστώ ανεπιφύλακτα να κάνετε ένα **backup** των αρχείων πριν ξεκινήσετε
|
||||
να τα τσακίζετε στις αλλαγές προς το καλύτερο -κούνια που σας κούναγε.
|
||||
|
||||
Αρχεία συστήματος στο **LINUX**, λοιπόν, είναι τα κάτωθι
|
||||
|
||||
- **/etc/fstab**
|
||||
- **/etc/profile**
|
||||
- **/etc/printcap**
|
||||
- **/etc/rc.config**
|
||||
- **/etc/inittab**
|
||||
- **/etc/conf.modules**
|
||||
|
||||
Αυτά είναι τα σπουδαιότερα από τα γενικά αρχεία που και θα εξηγήσουμε διεξοδικά. Εκτός όμως από αυτά υπάρχουν και άλλα που δεν είναι του παρόντος να τα
|
||||
εξηγήσουμε. Επειδή όμως εγώ είμαι καλός άνθρωπος και σας πάω θα τα αναφέρω εν περιλήψη.
|
||||
|
||||
- **/etc/DIR COLORS** Αναθέτει τα χρώματα στην εντολή ls
|
||||
- **/etc/XF86Config** Το configuration για το παραθυρικό περιβάλλον
|
||||
- **/etc/passwd** Πληροφορίες για τους χρήστες (ονόματα, τα shell, τα user ID τους κ.λ.π.)
|
||||
- **/etc/shadow** Τα passwords
|
||||
|
||||
Φυσικά config file είναι και το lilo.conf αλλά και τα παρακάτω που βρίσκονται στους καταλόγους του κάθε χρήστη (συνήθως /home/{username}).
|
||||
|
||||
- **.profile** το προσωπικό script του κάθε χρήστη (για το **bash**)
|
||||
- **.bashrc** το configuration του bash
|
||||
- **.xinitrc** Ένα script για να εκκινείτε τα Χ WINDOWS με τα δικά σας γούστα (γραμματοσειρές, προγράμματα που θα ξεκινούν, ο WINDOW MANAGER της αρεσκείας σας
|
||||
κ.λ.π).
|
||||
|
||||
### [2.1 /etc/fstab]{#ss2.1}
|
||||
|
||||
Λοιπόν αυτό το αρχείο είναι ίσως το πιο απλό στο editing αφού διαβάζεται πανεύκολα. Ας εξηγήσουμε όμως τι κάνει.
|
||||
|
||||
Με απλά λόγια **καθοδηγεί στην εκκίνηση** το linuxoboxo μας για το τι **filesystems** υπάρχουν στον κουβά μας, για το που γίνονται **mount** και τις
|
||||
**διαδικασίες ελέγχου** για κάθε ένα απ\' αυτά.
|
||||
|
||||
Η μορφή του είναι ως κάτω:
|
||||
|
||||
Συσκευή mount-point filesystem-type mount-options dumps(backups) fschk
|
||||
|
||||
- **Συσκευή** . Εδώ ορίζουμε τις συσκευές μας (hard-drives και partitions π.χ. /dev/hda6, floppy-disks π.χ./dev/fd0, cdrom π.χ. /dev/hdc)
|
||||
- **mount-point**.Εδώ ορίζουμε κάτω από ποιον κατάλογο θα γίνεται mount η κάθε συσκευή (/ , /usr , /opt , /cdrom , /mnt/floppy κ.λ.π.)
|
||||
- **filesystem-type**.Εδώ ορίζουμε το είδος του filesystem για την κάθε συσκευή (ext2 , msdos , vfat , iso9660 , hpfs κ.λ.π.)
|
||||
- **mount-options**.Εδώ ορίζουμε με τι επιλογές θα γίνει mount το κάθε σύστημα αρχείων. Αυτό λέει στο σύστημα για το αν το filesystem είναι read-write (rw),
|
||||
read-only (ro) κλπ. Συχνά θα συναντήσετε εδώ και τον ορισμό default , αυτό σημαίνει ότι κατά την εκκίνηση θα χρησιμοποιηθούν οι default επιλογές του
|
||||
συστήματος για το συγκεκριμένο filesystem-type.
|
||||
- **dumps**. Εδώ καλούμαστε να ορίσουμε αν θα ζητήσουμε να γίνει backup της μορφής του filesystem κατά την εκκίνηση.Οι επιλογές είναι δύο α. μηδέν(0) και β.
|
||||
ένα (1) .Με μηδέν το filesystem δεν θα γίνει backup. Με ένα (1) θα αναγκάσει να γραφτεί ένα backup του συστήματος.
|
||||
- **fschk**. Εδώ ορίζουμε αν θα ελέγχεται η συσκευή για λάθη. Οι επιλογές είναι τρείς. α. Μηδέν (0) δεν γίνεται έλεγχος δηλαδή β. Ένα (1) αφορά το root
|
||||
filesystem **(/)** και κάνει ένα εκτεταμένο fschk . γ. Δύο (2) ένα λιγότερο thorough fschk.
|
||||
|
||||
```{=markdown}
|
||||
|
||||
```
|
||||
Ας δώσουμε όμως και δύο-τρία παραδειγματάκια :
|
||||
<p>
|
||||
Για ένα filesystem ext2 στο πρώτο partition του πρώτου IDE harddisk που θέλουμε να χρησιμοποιήσουμε σαν root οι εγγραφές στο fstab θα είναι :
|
||||
<verb>
|
||||
/dev/hda1 / ext2 default 1 1
|
||||
|
||||
Για το δεύτερο partition του δεύτερου δίσκου που κατά τραγική τύχη είναι Fat32 και γίνεται mount στο directory /winblows οι εγγραφές θα είναι:
|
||||
|
||||
/dev/hdb2 /winblows vfat default(ή και rw) 0 0
|
||||
|
||||
Για ένα cdrom master στον δεύτερο IDE controller που θέλουμε να γίνεται αυτόματα mount στην εκκίνηση στον κατάλογο /mnt/cdrom οι εγγραφές είναι:
|
||||
|
||||
/dev/hdc /mnt/cdrom iso9660 ro,auto 0 0
|
||||
|
||||
Αυτά τα ολίγα για το **fstab** και πάμε παρακάτω.
|
||||
|
||||
### [2.2 /etc/profile]{#ss2.2}
|
||||
|
||||
Το **profile** είναι ένα αρχείο, μα τι αρχείο.Εδώ τα πράγματα μπορεί να είναι εύκολα για τους διαβασμένους έως πολύ δύσκολα για τους αδιάβαστους (σας έστειλα
|
||||
αδιάβαστους που λέμε). Το profile λοιπόν για να ξέρετε ελέγχει την γενική συμπεριφορά του κελύφους εργασίας μας (κάτι λέγαμε για bash την άλλη φορά, θυμάστε;).
|
||||
|
||||
Η δομή του είναι περίπου αυτή που θα είχε και ένα πρόγραμμα της **C**. Από εδώ μέσα ορίζουμε το πως θα συμπεριφέρονται οι μεταβλητές συστήματος , ποια
|
||||
directories θα είναι μόνιμα στο PATH , που βρίσκονται οι ΜΑΝ σελίδες, τι aliases θα χρησιμοποιηθούν, τι γλώσσα κ.λ.π.
|
||||
|
||||
Αυτό που ακολουθεί είναι ένα μικρό δείγμα profile αρχείου . Οι εξηγήσεις για το κάθε τι βρίσκονται στα comments(\#)
|
||||
|
||||
# /etc/profile
|
||||
|
||||
PATH=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin #καθορίζεται το path για τα εκτελέσιμα αρχεία
|
||||
export PATH #γνωστοποιείται στο σύστημα
|
||||
|
||||
export LANG=gr_GR #καθορίζεται η γλώσσα
|
||||
|
||||
LC_ALL=gr_GR #αλλάζουν όλες οι ρυθμίσεις της γλώσσας και συμβολισμών σε ελληνικά (καθαρά C macro)
|
||||
export LC_ALL=gr_GR #και εδώ γίνονται διαθέσιμες οι νέες ρυθμίσεις στο shell
|
||||
export LC_CTYPE=iso-8859_7 #αλλάζουν και καθορίζονται οι λειτουργίες που έχουν να κάνουν με επεξεργασία χαρακτήρων
|
||||
#σε κωδικοσελίδα iso 8859-7 (ελληνική)
|
||||
|
||||
MANPATH=/usr/local/man:/usr/man:/usr/X11R6/man #καθορίζεται το path για το που βρίσκονται οι man σελίδες
|
||||
export MANPATH #γνωστοποιείται στο σύστημα το path των man
|
||||
|
||||
PS1="\t:\W\\" #καθορίζεται η πρωτεύουσα συμπεριφορά του shell prompt
|
||||
PS2='> ' #καθορίζεται η δευτερεύουσα συμπεριφορά του shell prompt
|
||||
export PS1 PS2 #γνωστοποιούνται στο σύστημα
|
||||
|
||||
alias ls='ls -l --color=tty '
|
||||
alias dir='ls -l'
|
||||
alias ll='ls -l' #Διάφορα aliases
|
||||
alias la='ls -la'
|
||||
alias l='ls -alF'
|
||||
alias ls-l='ls -l'
|
||||
|
||||
clear #καθαρίζει τον buffer από τα μηνύματα
|
||||
|
||||
if [ -x /tmp/osslinux-3.7.1z/osslinux.runme ] ; then #κάνει έλεγχο για την ύπαρξη αρχείου με όνομα osslinux.runme
|
||||
echo "the sound services can be initialized with **/tmp/osslinux-3.7.1z/osslinux.runme **" #ειδοποιεί για την ύπαρξη του αρχείου
|
||||
else
|
||||
echo "if you do not have a sound ready kernel compile one" #αν δεν υπάρχει ειδοποιεί και προτείνει
|
||||
fi
|
||||
|
||||
|
||||
|
||||
Μέσα στο profile μπορούν να οριστούν εκφράσεις όπως if\...then\.....else , loops και άλλα περίεργα και εντυπωσιακά για καλύτερο έλεγχο και παραμετροποίηση του
|
||||
συστήματος, αυτό βέβαια απαιτεί από εσάς να μάθετε καλά το πως λειτουργεί το κέλυφος εργασίας.
|
||||
|
||||
Όπως θα καταλάβατε το **profile** μπορεί να γίνει a real pain in our ass με την πολυπλοκότητα που μπορεί να λάβει. Μία προσεκτική ανάγνωση στην **man bash** θα
|
||||
μας διώξει τις πολλές απορίες. Και συνεχίζουμε ακάθεκτοι.
|
||||
|
||||
### [2.3 /etc/printcap]{#ss2.3}
|
||||
|
||||
Α-χα! εδώ μπαίνουμε στο πιο πονεμένο θέμα για τον στραβόγιαννο χρήστη.**Ο ΕΚΤΥΠΩΤΗΣ ΜΟΥ** και πως αυτός θα δουλέψει. Μεγάλο θέμα και σηκώνει ώρες συζήτησης.
|
||||
Φυσικά δέν θα σας κάνω την χάρη (εδώ είδα κι έπαθα να κάνω τον δικό μου εκτυπωτή να δουλέψει θα κάνω τον δικό σας;).
|
||||
|
||||
Λοιπόν το printcap είναι το αρχείο που διαχειρίζεται τους εκτυπωτές μας. Μέσα απ\' αυτό περιγράφεται η συμπεριφορά του εκτυπωτή, η ονομασία του, το που θα
|
||||
γίνονται spool τα έγγραφα προς εκτύπωση, το πώς θα μετατραπεί και θα εκτυπωθεί ένα αρχείο που δεν είναι ASCII. Η απλούστερη μορφή του είναι η παρακάτω η οποία
|
||||
όμως είναι ικανή να τυπώσει μόνο ASCII κείμενο
|
||||
|
||||
# epson colonas pro: # ονομασία του printer
|
||||
lp:lp=/dev/lp1 # ποια συσκευή είναι
|
||||
:sd=/usr/spool/lp1 #το spool directory
|
||||
:sh #παράμετρος που εμποδίζει την εκτύπωση του ονόματος του
|
||||
#owner των προς εκτύπωση σελίδων σαν επικεφαλίδα
|
||||
|
||||
Επειδή όμως εσείς δεν θα τυπώσετε μόνο ASCII αλλά όλο και κάποια βρώμικη φωτογραφία θα προσπαθεί να βρει τον δρόμο της προς τον εκτυπωτή σας καλό είναι να
|
||||
γνωρίζετε ότι υπάρχουν τα λεγόμενα φίλτρα τα οποία αναλαμβάνουν να περιγράψουν στον εκτυπωτή αυτό που του στέλνετε (γυμνή, ψηλή, ξανθιά με πλούσια προσόντα
|
||||
κ.λ.π.) ώστε το αποτέλεσμα να είναι το αναμενόμενο και ουχί ακαταλαβίστικοι χαρακτήρες που γεμίζουν τις σελίδες σας.\
|
||||
Μία ματιά στην **man printcap** και στο **THE LINUX PRINTING HOWTO** θα σας διαφωτίσει για το πώς θα εγκαταστήσετε διάφορα φίλτρα εκτύπωσης. Οι περισσότερες
|
||||
distributions πάντως έχουν και κάποια φίλτρα για εκτυπωτές. Η RH έχει τα redhat print filters τα οποία μπορείτε να εγκαταστήσετε μέσω του printool. Αντίστοιχα η
|
||||
SUSE έχει τα apsfilters τα οποία μπορείτε να εγκαταστήσετε μέσω του yast, ενώ επίσης μπορείτε να βρείτε και commercial φίλτρα στο διαδίκτυο.
|
||||
|
||||
### [2.4 /etc/rc.config]{#ss2.4}
|
||||
|
||||
Εδώ έχομεν το αρχείο το οποίο είναι υπεύθυνο για την έναρξη των δαιμόνων (daemons) για την επιλογή της ρύθμισης γλώσσας, της χρησιμοποιούμενης γραμματοσειράς
|
||||
για την έναρξη και το σετάρισμα των υπηρεσιών δικτύου και άλλων όμορφων και χορταστικών πραγμάτων.Ένα πολύ μικρό δείγμα rc.config είναι και το ακόλουθο
|
||||
|
||||
MOUSE="/dev/psaux" #που βρίσκεται το mouse
|
||||
MODEM="/dev/ttyS2" #που βρίσκεται το modem
|
||||
KEYTABLE="us.map.gz"#το console map για τους χαρακτήρες
|
||||
CONSOLE_FONT="8x14alt"#τίθεται το font της κονσόλας
|
||||
KBD_NUMLOCK="yes"#αν το numlock θα είναι on κατά την εκκίνηση
|
||||
KBD_CAPSLOCK="no"#αν το capslock θα είναι on
|
||||
TIMEZONE="Europe/Athens"#ρυθμίσεις ώρας (/usr/lib/zoneinfo/localtime)
|
||||
START_LOOPBACK="yes"έναρξη μίας εικονικής υπηρεσίας δικτύου (χρήσιμη για την λειτουργία εκτυπωτή)
|
||||
NETCONFIG=""#configuration για LAN και δίκτυα γενικά
|
||||
IPADDR_0=""
|
||||
IPADDR_1=""
|
||||
IPADDR_2=""
|
||||
IPADDR_3=""
|
||||
NETDEV_0="ppp0"#το όνομα του πρωτοκόλλου (συσκευής) δικτύου που μπορεί να ενεργοποιηθεί
|
||||
NETDEV_1="eth0"
|
||||
NETDEV_2=""
|
||||
NETDEV_3=""
|
||||
SETUPDUMMYDEV=yes#dummy net device χρειάζεται για σύνδεση με ppp (internet)
|
||||
FQHOSTNAME="1.local"#το hostname (από το /etc/hosts)
|
||||
NAMESERVER="193.91.1.1"το DNS του server που επιχειρεί πρώτη σύνδεση (εδώ της forthnet)
|
||||
START_KERNELD="yes"#εκκίνηση του kernel daemon
|
||||
START_GPM="yes"εκκίνηση του gpm για την υποστήριξη mouse σε τερματικό
|
||||
GPM_PARAM=" -t ps2 -m /dev/mouse"#παράμετροι για το mouse και το gpm
|
||||
START_LPD=yes#εκκίνηση του printer daemon
|
||||
|
||||
Όπως καταλαβαίνετε το rc.config είναι το βασικό αρχείο συστήματος το οποίο και διαβάζουν τα scripts κατά την εκκίνηση του Linux για να πληροφορηθούν για την
|
||||
μορφή που πρέπει να πάρει το σύστημα.Μην το αλλάζετε εκτός και αν ξέρετε πολύ καλά τι κάνετε.
|
||||
|
||||
### [2.5 /etc/inittab]{#ss2.5}
|
||||
|
||||
Είναι ένα μάλλον απλό αρχείο του οποίου η σημασία όμως είναι πολύ μεγάλη και για να καταλάβουμε πως λειτουργεί θα πρέπει να πούμε μερικά πράγματα για την
|
||||
**/sbin/init** και τι κάνει.
|
||||
|
||||
Λοιπόν αυτή η init καθορίζει την συμπεριφορά του μηχανήματος . Όλοι φαντάζομαι έχετε δώσει κάποια από τις εντολές reboot, halt, shutdown κλπ, λοιπόν το τί θα
|
||||
κάνουν αυτές καθορίζεται από τα init scripts που βρίσκονται στο **/sbin/init.d** και τα οποία διαβάζει η init η οποία είναι και το πρώτο πράγμα που φορτώνει ο
|
||||
kernel στην εκκίνηση για να ελέγξει τις processes που θα εκκινηθούν. Φαίνεται απλό ε; Ε λοιπόν δεν είναι, αφού στο Linux υπάρχουν διάφορα επίπεδα κάτω από τα
|
||||
οποία μπορεί να τρέξει. Αυτά χαρακτηρίζονται από ένα αριθμό (αν παρατηρήσετε τα μηνύματα στην εκκίνηση θα δείτε που εκκινεί κάθε run-level και πιο είναι το
|
||||
τελευταίο που χρησιμοποιείται ).
|
||||
|
||||
Ένας πίνακας με τα run-levels παρατίθεται εδώ (με πάσα επιφύλαξη για τα του red hat)
|
||||
|
||||
SUSE
|
||||
0 halt
|
||||
S single user
|
||||
1 multi-user χωρίς δίκτυο
|
||||
2 multi-user με δίκτυο
|
||||
3 multi-user με δίκτυο και γραφικό login (xdm ή kdm καθορίζεται στο rc.config μαζί με τον window manager)
|
||||
6 reboot
|
||||
|
||||
RED HAT
|
||||
0 halt
|
||||
1 single user
|
||||
2 multi user χωρίς network
|
||||
3 full multi-user
|
||||
5 γραφικό login όλες οι υπηρεσίες
|
||||
6 reboot
|
||||
|
||||
Έσείς προφανώς με όποια distribution και αν δουλεύετε σε full multi - user περιβάλλον θα κάνετε login.
|
||||
|
||||
Και φτάνουμε τώρα στο inittab το οποίο καθορίζει την συμπεριφορά της init και των ενεργειών που θα γίνουν σε κάθε runlevel. Παρακάτω ένα inittab με τα σχόλια
|
||||
του.
|
||||
|
||||
# /etc/inittab
|
||||
id:2:initdefault: #Έδω καθορίζετε ως default runlevel το 2 (#suse multiusr+network)
|
||||
|
||||
si:I:bootwait:/sbin/init.d/boot #το πρώτο script που διαβάζει (αυτό που ξεκινά τον
|
||||
#kerneld για τα modules
|
||||
# ενεργοποιεί το swap ,κάνει fschk κ.λ.π.)
|
||||
|
||||
l0:0:wait:/sbin/init.d/rc 0 #
|
||||
l1:1:wait:/sbin/init.d/rc 1 #ΕΝΤΟΛΕΣ ΓΙΑ ΚΑΘΥΣΤΕΡΗΣΗ ΣΤΗΝ ΜΕΤΑΒΑΣΗ ΤΩΝ
|
||||
l2:2:wait:/sbin/init.d/rc 2 #RUN-LEVELS ΓΙΑ ΝΑ ΓΙΝΟΥΝ MOUNT ΤΑ FILESYSTEMS
|
||||
l3:3:wait:/sbin/init.d/rc 3 #
|
||||
l6:6:wait:/sbin/init.d/rc 6 #
|
||||
|
||||
ls:S:wait:/sbin/init.d/rc S #οδηγίες για περίπτωση που θα μεταβούμε
|
||||
~~:S:respawn:/sbin/sulogin #σε single user mode (κατι ανάλογο με safe mode)
|
||||
|
||||
ca::ctrlaltdel:/sbin/shutdown -r -t 4 now #η συμπεριφορά του three finger salute
|
||||
#(for those about to rock We salute you)
|
||||
|
||||
|
||||
Για να καταλάβετε καλύτερα πως λειτουργεί η **init** και το **inittab** καλό θα ήταν να ρίξετε μια ματιά στα script που βρίσκονται στο **/sbin/init.d** και
|
||||
στους υποκαταλόγους του (rc0.d ,rc2.d κλπ) αλλά και στην **man init**
|
||||
|
||||
### [2.6 /etc/conf.modules]{#ss2.6}
|
||||
|
||||
Εδώ δεν έχουμε και πολλά να πούμε γιατί το αρχείο αυτό το μόνο πράγμα που περιέχει είναι οι ρυθμίσεις αυτών των κομματιών του hardware που ξεκινάνε με το
|
||||
kerneld τον daemon δηλαδή που φορτώνει τα modules (ας πούμε drivers που φορτώνονται και ξεφορτώνονται δυναμικά) και επίσης aliases δηλαδή μετονομασίες των
|
||||
modules π.χ. **alias ppp0 ppp** ή **alias iso9660 isofs** . Οι ρυθμίσεις τώρα που αναφέρονται στα modules έχουν να κάνουν με διευθύνσεις **io** και τα **irq**.
|
||||
Ένα αρχείο λοιπόν που μάλλον δεν θα το αγγίξετε ποτέ αλλά μόνο για να διαγράψετε κάνα δυο comments από συσκευές που θέλετε να φορτώνουν αυτόματα μετά από κάποιο
|
||||
επιτυχημένο (θα περάσουν χρόνια) kernel compilation που θα κάνετε.
|
||||
|
||||
### [2.7 Τα αρχεία autoexec.bat και config.sys]{#ss2.7}
|
||||
|
||||
Καλά μεγάλε άμα δεν τα ξέρεις αυτά τα αρχεία έπαιξες και έχασες. Μη με ρωτάς καθόλου γιατί. Θα έπρεπε να ξέρεις.Τέλος πάντων ας σας εξηγήσω λίγα πράγματα γι\'
|
||||
αυτά. Είναι αρχεία που ασχολούνται με το φόρτωμα των απαιτούμενων drivers, που καθορίζουν τα path των εκτελέσιμων (στο dos) και άλλα χορταστικά .Στο **LINUX**
|
||||
εμφανίζονται με ενιαία μορφή που είναι η παρακάτω.
|
||||
|
||||
#autoexec.bat
|
||||
#config.sys
|
||||
set path=/read_my_lips/den_yparxoun_tetoia_arxeia_sto_linux_ma_ _ka/
|
||||
fi
|
||||
|
||||
Αυτή η τελευταία παράγραφος αφιερώνεται σ\' αυτόν που μου ζήτησε αυτά τα αρχεία από το linuxoboxo μου γιατί λέει δεν μπορούσε να κάνει δουλειά με τα δικά του
|
||||
και το linux του δεν ξεκινούσε (ήταν και γιατρός πανάθεμα τον -ψυχίατρος βέβαια).
|
||||
|
||||
Ξεκαθαρίζουμε λοιπόν. **ΔΕΝ ΥΠΑΡΧΟΥΝ ΑΡΧΕΙΑ CONFIG.SYS ΚΑΙ AUTOEXEC.BAT ΣΤΟ LINUX**. 'ντε πια με τρελλάνατε. (Το παραπάνω περιστατικό είναι πέρα για πέρα
|
||||
αληθινό και συνέβη αρχές Φεβρουαρίου, μάρτυς η γυναίκα μου).
|
||||
|
||||
|
||||
### [3. Επίλογος (άντε γιατί βαρεθήκαμε).]{#s3}
|
||||
|
||||
Και αφού διαβάσαμε εδώ για όλα αυτά τα περίεργα και μάλλον δύσκολα -για αρχάριους-, ας παινέψουμε και λίγο το linuxακι μας και την βαβούρα του.Well well τι
|
||||
μπορούμε να πούμε ,τι strings μπροστά στα πόδια μας, τι παράμετροι συσκευών, τι επικοινωνία με το μηχάνημα. Πείτε μου βρε άθλιοι είδατε πουθενά στα
|
||||
ΑΚΑΤΑΝΟΜΑΣΤΑ(c) τόση γνώση για τις διεργασίες και τα εσωτερικά της λειτουργίας του κουβά σας; Εδώ με το linux έχει αρχίσει το μυαλό και ξυπνάει που είχε
|
||||
καταντήσει σαν την βιοχλαπάτσα με όλα αυτά τα λειτουργικά που κάτω από ένα πέπλο μυστικότητας τα έκαναν όλα. Εδώ τα πάντα είναι παραμετροποιήσημα , η
|
||||
επικοινωνία με τις συσκευές διαφανής και στα χέρια του χρήστη (μέχρι καφέ μπορείτε να φτιάξετε με το linuxακι σας).
|
||||
|
||||
Να θυμίσω ότι στα τεύχη [08/98](../08/05_bash1.html) και [09/98](../09/06_bash2.html) ο φίλος μου Βαγγέλης έγραψε δύο υπέροχα άρθρα (ούτε καν τα διάβασα) για το
|
||||
bash και πως θα δουλέψουμε παραγωγικότερα μαζί του. Αξίζει να τους ρίξετε μία ματιά αφού μου φαίνεται πως είναι το μοναδικό documentation για το bash στα
|
||||
ελληνικά. Καλό διάβασμα λοιπόν και φρόνιμα.
|
||||
|
||||
Σημειώνω ότι τα scripts που δίνονται εδώ σαν παραδείγματα, δεν είναι ολοκληρωμένα ούτε, απαραίτητα, λειτουργικά. Ένα copy και paste δεν θα σας σώσει δηλαδή από την διαδικασία του scripting για να βάλετε ελληνικά ή για να κάνετε το Linux σας να αναγνωρίζει τον καινούργιο δίσκο του.
|
||||
|
||||
the expression ΑΚΑΤΑΝΟΜΑΣΤΑ(c) is a copyright of Papadogiannakis Vaggelis.
|
||||
|
Φόρτωση…
Προσθήκη πίνακα
Προσθήκη υπερσυνδέσμου
Παράθεση σε νέο ζήτημα