Για Χρήστες Νέους τόσο στο FreeBSD όσο και στο UNIX(R)

Annelise Anderson

<andrsn@andrsn.stanford.edu>

Αναθεώρηση: 43184

Νομική Σημείωση

2013-11-13 07:52:45 από hrs.

Περίληψη

Συγχαρητήρια που εγκαταστήσατε το FreeBSD! Αυτή η εισαγωγή είναι για χρήστες νέους τόσο στο FreeBSD όσο και στο Un*x-γι αυτό ξεκινά με τα βασικά. Υποθέτω ότι χρησιμοποιείτε την έκδοση 2.0.5 του FreeBSD ή κάποια νεότερη, όπως αυτές διανέμονται από την BSDi ή το FreeBSD.org, ότι το σύστημά σας (προς το παρόν) έχει ένα και μόνο χρήστη κι ότι πιθανόν να είστε αρκετά καλός στην χρήση των DOS/Windows(R) ή του OS/2(R).

[ HTML σε τμήματα / HTML σε ένα τμήμα ]

1. Σύνδεση (Login) και Αποσύνδεση (Logout)

Συνδεθείτε (όταν δείτε την προτροπή login:) σαν τον χρήστη που δημιουργήσατε κατά την εγκατάσταση ή σαν root. (Η εγκατάσταση του FreeBSD ήδη 8α έχει ένα λογαριασμό για τον root. Ο root μπορεί να πάει παντού και να κάνει τα πάντα, ακόμη και να σβήσει κάποια απαραίτητα αρχεία, γι αυτό να είστε προσεκτικοί!) Τα σύμβολα % και # παρακάτω συμβολίζουν το prompt (το δικό σας μπορεί να διαφέρει), με το % να είναι ενός απλού χρήστη και το # να είναι του root.

Για να βγείτε (και να δείτε ένα καινούριο login: prompt) γράψτε

# exit

όσες φορές χρειαστεί. Ναι, πατήστε enter μετά τις εντολές, και να θυμάστε ότι στο UNIX(R) τα μικρά είναι διαφορετικά από τα κεφαλαία-exit, κι όχι EXIT.

Για να κλείσετε το μηχάνημά σας γράψτε

# /sbin/shutdown -h now

Για να το επανεκκινήσετε

# /sbin/shutdown -r now

ή

# /sbin/reboot

Μπορείτε επίσης να επανεκκινήσετε το μηχάνημα πατώντας Ctrl+Alt+Delete. Δώστε του λίγο χρόνο για να κάνει τη δουλειά που πρέπει. Αυτό είναι ισοδύναμο με την εντολή /sbin/reboot σε πρόσφατες εκδόσεις του FreeBSD και είναι ένας πάρα πολύ πιο ασφαλής τρόπος, σε σχέση με το πάτημα του reset κουμπιού. Δεν θέλετε να αναγκαστείτε να τα ξαναστήσετε όλα, σωστά;

2. Προσθέτοντας ένα Λογαριασμό Χρήστη

Αν δεν φτιάξατε κανένα λογαριασμό χρήστη όταν εγκαταστήσατε το σύστημα, και τώρα έχετε κάνει login σαν root, μάλλον είναι η κατάλληλη ώρα να φτιάξετε ένα λογαριασμό χρήστη με την εντολή

# adduser

Την πρώτη φορά που χρησιμοποιείτε την εντολή adduser, μπορεί να σας ρωτήσει για κάποιες προκαθορισμένες ρυθμίσεις που θα σώσει. Μπορεί για παράδειγμα να θέλετε να βάλετε τον προκαθορισμένο φλοιό (shell) να είναι csh(1) αντί για sh(1), αν σας προτείνει το sh σαν προκαθορισμένο φλοιό. Αλλιώς πατήστε απλά enter για να δεχτείτε κάθε προεπιλεγμένη τιμή. Αυτές οι προκαθορισμένες τιμές σώζονται στο αρχείο /etc/adduser.conf, που μπορείτε να τις αλλάξετε αργότερα.

Έστω οτι δημιουργείτε ένα λογαριασμό χρήστη με όνομα jack και πλήρες όνομα Jack Benimble. Ορίστε για τον jack κι ένα κωδικό χρήστη (password) αν η ασφάλεια σας ενδιαφέρει (ακόμα και παιδιά που παίζουν με το πληκτρολόγιο μπορεί να είναι επικίνδυνα). Όταν σας ρωτήσει αν θέλετε να βάλετε τον jack και σε άλλες ομάδες (groups), γράψτε wheel

Login group is ``jack''. Invite jack into other groups: wheel

Αυτό θα σας δώσει τη δυνατότητα όταν έχετε συνδεθεί στο σύστημα σαν jack και χρησιμοποιείτε την εντολή su(1) να μπορείτε να γίνετε root. Έτσι, δεν θα σας πειράξει ποτέ κάποιος επειδή κάνετε login σαν root.

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

Αφού το κάνετε αυτό, χρησιμοποιείστε την εντολή exit για να επιστρέψετε στο login prompt και συνδεθείτε σαν jack. Γενικά, είναι μια καλή ιδέα να κάνετε όσο το δυνατόν περισσότερες από τις δουλειές σας σαν ένας απλός χρήστης που δεν έχει την δύναμη-και το ρίσκο-του root.

Αν έχετε ήδη δημιουργήσει ένα λογαριασμό χρήστη και θέλετε αυτός ο χρήστης να μπορεί να κάνει su σε root, μπορείτε να μπείτε σαν root και να αλλάξετε το αρχείο /etc/group, προσθέτοντας τον jack στην πρώτη γραμμή (το group με όνομα wheel). Αλλά πρώτα πρέπει να εξασκηθείτε στην χρήση του vi(1), του επεξεργαστή κειμένου-ή να χρησιμοποιήσετε τον πιο απλό επεξεργαστή κειμένου, τον ee(1), που εγκαθίσταται σε πρόσφατες εκδόσεις του FreeBSD.

Για να σβήσετε ένα χρήστη, χρησιμοποιήστε την εντολή rmuser.

3. Δοκιμάζοντας Διάφορες Εντολές

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

Παρακάτω θα δείτε κάποιες εντολές και τι αυτές κάνουν:

id

Σας δείχνει ποιος είστε!

pwd

Σας δείχνει που είστε-τον τρέχοντα κατάλογο.

ls

Δείχνει τα αρχεία που περιέχονται στον τρέχοντα κατάλογο.

ls -F

Δείχνει τα αρχεία που περιέχει ο τρέχοντας κατάλογος τυπώνοντας μετά το όνομα * για τα εκτελέσιμα / για τους καταλόγους, και @ μετά τα symbolic links.

ls -l

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

ls -a

Δείχνει εκτός από τα κανονικά αρχεία και τα κρυφά «dot» αρχεία. Αν είστε root, τα «dot» αρχεία τα δείχνει έτσι κι αλλιώς, και χωρίς την επιλογή -a.

cd

Αλλάζει τον τρέχοντα κατάλογο. Η εντολή cd .. ανεβαίνει στον προηγούμενο κατάλογο (σημειώστε το κενό μετά την cd). Η εντολή cd /usr/local αλλάζει τον τρέχοντα κατάλογο σε αυτόν. Η εντολή cd ~ πηγαίνει στον αρχικό κατάλογο του χρήστη που έχει κάνει login-π.χ. στον /usr/home/jack. Δοκιμάστε την εντολή cd /cdrom, και μετά την ls, για να δείτε αν το CDROM σας είναι ενεργό και δουλεύει.

view filename

Ας δούμε τα περιεχόμενα ενός αρχείου (με όνομα filename) χωρίς να το αλλάξουμε. Δοκιμάστε την εντολή view /etc/fstab. Δώστε :q για να βγείτε.

cat filename

Δείχνει τα περιεχόμενα του filename στην οθόνη. Αν το αρχείο είναι πολύ μεγάλο, θα μπορείτε να δείτε μόνο το τέλος του. Πατήστε ScrollLock και χρησιμοποιείστε up-arrow για να μετακινηθείτε προς τα πίσω; το ScrollLock μπορεί να χρησιμοποιηθεί και με τις σελίδες man. Πατήστε ScrollLock πάλι για να σταματήσετε να μετακινείστε πάνω/κάτω. Ενδιαφέρον είναι να δοκιμάσετε την εντολή cat σε κάποια από τα dot αρχεία στον αρχικό σας κατάλογο- cat .cshrc, cat .login, cat .profile.

Θα παρατηρήσετε στο .cshrc συντομεύσεις για κάποιες από τις επιλογές της εντολής ls (είναι πολύ βολικές). Μπορείτε να φτιάξετε κι άλλες συντομεύσεις αλλάζοντας το αρχείο .cshrc. Μπορείτε να κάνετε αυτές τις συντομεύσεις διαθέσιμες σε όλους τους χρήστες του συστήματος αν τις βάλετε στο αρχείο με τις ρυθμίσεις συστήματος του csh, το /etc/csh.cshrc.

4. Αναζητώντας Βοήθεια και Πληροφορίες

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

apropos κείμενο

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

man κείμενο

Τυπώνει στην οθόνη την σελίδα man για το κείμενο. Η κυριότερη πηγή τεκμηρίωσης για τα συστήματα UNIX(R). Η εντολή man ls θα σας δείξει όλους τους τρόπους να χρησιμοποιήσετε την εντολή ls. Πατήστε το Enter για να μετακινηθείτε στο κείμενο, Ctrl+B για να πάτε μια σελίδα πίσω, Ctrl+F για να πάτε μπροστά, q ή Ctrl+C για να τερματίσετε την man.

which κείμενο

Σας λέει από ποιον κατάλογο του PATH η εντολή κείμενο εκτελείται.

locate κείμενο

Τυπώνει όλα τα αρχεία του δίσκου που το όνομά τους περιέχει το κείμενο.

whatis κείμενο

Σας λέει τι κάνει η εντολή κείμενο και ποια είναι η σελίδα man της. Γράφοντας whatis * θα σας δώσει αντίστοιχες πληροφορίες για όλα τα εκτελέσιμα του τρέχοντος καταλόγου.

whereis κείμενο

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

Μάλλον θα είναι ενδιαφέρον να δοκιμάσετε την εντολή whatis για κάποιες κοινές και χρήσιμες εντολές όπως οι cat, more, grep, mv, find, tar, chmod, chown, date, και script. Η εντολή more σας δίνει τη δυνατότητα να διαβάσετε μια σελίδα κάθε φορά όπως και στο DOS, π.χ. γράφοντας ls -l | more ή more filename. Ο χαρακτήρας * δουλεύει σαν μεταχαρακτήρας-π.χ., η εντολή ls w* θα σας δείξει όλα τα αρχεία που το όνομά τους ξεκινάει με w.

Μήπως κάποια από αυτά που είπαμε δεν δουλεύουν καλά; Τόσο η εντολή locate(1) όσο και η whatis(1) εξαρτώνται από μια βάση που ξαναφτιάχνεται μια φορά τη βδομάδα. Αν το μηχάνημά σας δεν παραμείνει ανοιχτό το σαββατοκύριακο (τρέχοντας το FreeBSD), μπορεί να θέλετε να τρέξετε εσείς τις εντολές για καθημερινή, εβδομαδιαία και μηνιαία συντήρηση που και που. Τρέξτε τις σαν root και δώστε τους χρόνο να τελειώσει η καθεμια πριν ξεκινήσετε την επόμενη.

# periodic daily
παραλείπεται η έξοδος της εντολής
# periodic weekly
παραλείπεται η έξοδος της εντολής
# periodic monthly
παραλείπεται η έξοδος της εντολής

Αν βαρεθείτε να περιμένετε, πατήστε Alt+F2 για να βγείτε σε ένα δεύτερο εικονικό τερματικό, και να κάνετε πάλι login. Έτσι κι αλλιώς, είναι ένα πολυχρηστικό, πολυδιεργασιακό λειτουργικό σύστημα. Μπορεί πάντως αυτές οι εντολές να στείλουν κάποια μηνύματα στην οθόνη σας όσο τρέχουν. Μπορείτε να γράψετε clear στο prompt για να καθαρίσετε την οθόνη. Μόλις τελειώσουν, μπορεί να θέλετε να κοιτάξετε τα αρχεία /var/mail/root και /var/log/messages.

Το να τρέχει κανείς τέτοιες εντολές είναι μέρος της διαχείρισης ενός συστήματος-και σαν ο μοναδικός χρήστης ενός UNIX(R) συστήματος, είστε ο διαχειριστής συστήματος του εαυτού σας. Γενικά οτιδήποτε απαιτεί να είστε root για να το κάνετε είναι διαχείριση του συστήματος. Τέτοιες υποχρεώσεις δεν καλύπτονται αρκετά καλά σε εκείνα τα τεράστια βιβλία που υπόσχονται να σας μάθουν UNIX(R), καθώς αυτά αφιερώνουν συνήθως πολύ χώρο στο πως θα χρησιμοποιήσετε κάποιο συγκεκριμένο γραφικό περιβάλλον. Καλύτερα να πάρετε κάποιο από τα δύο πιο σημαντικά βιβλία για διαχείριση συστημάτων, είτε το UNIX(R) System Administration Handbook του Evi Nemeth (εκδόσεις Prentice-Hall, 1995, ISBN 0-13-15051-7)-την δεύτερη έκδοση, με το κόκκινο εξώφυλο, ή το Essential System Administration του AEleen Frisch's (εκδόσεις O'Reilly & Associates, 2002, ISBN 0-596-00343-9). Εγώ (ΣΤΜ: η Annelise Anderson) χρησιμοποίησα το βιβλίο του Nemeth.

5. Επεξεργασία Κειμένου

Για να ρυθμίσετε το σύστημά σας, πρέπει να κάνετε αλλαγές σε αρχεία κειμένου. Τα πιο πολλά από αυτά θα είναι στον κατάλογο /etc. Επίσης θα χρειαστεί να κάνετε su σε root για να μπορέσετε να τα αλλάξετε. Μπορείτε να χρησιμοποιήσετε το εύκολο πρόγραμμα ee, αλλά τελικά θα πρέπει κάποια στιγμή να μάθετε και τον επεξεργαστή κειμένου vi. Υπάρχει ένας υπέροχος οδηγός για τη χρήση του vi στο αρχείο /usr/src/contrib/nvi/docs/tutorial αν το έχετε εγκαταστήσει.

Πριν κάνετε αλλαγές σε αρχεία ρυθμίσεων, μάλλον είναι καλή ιδέα να πάρετε κάποιο αντίγραφο ασφαλείας. Έστω ότι θέλετε να κάνετε αλλαγές στο /etc/rc.conf. Μπορείτε να χρησιμοποιήσετε την εντολή cd /etc για να πάτε στον κατάλογο /etc και να γράψετε:

# cp rc.conf rc.conf.orig

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

# mv rc.conf.orig rc.conf

για να επαναφέρετε τα πράγματα στην προηγούμενη τους κατάσταση.

Για να επεξεργαστείτε ένα αρχείο, δώστε

# vi filename

Μετακινηθείτε στο κείμενο με τα βελάκια. Το Esc (escape πλήκτρο) βάζει το vi σε κατάσταση εντολών. Ορίστε και μερικές βασικές εντολές:

x

σβήνει τον χαρακτήρα που πάνω του είναι ο δείκτης (cursor)

dd

σβήνει ολόκληρη την γραμμή (ακόμα κι αν αναδιπλώνει στο τέλος της οθόνης)

i

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

a

εισάγει κείμενο μετά τον δείκτη

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

:w

για να γράψετε τις αλλαγές σας στο δίσκο και να συνεχίσετε να επεξεργάζεστε το αρχείο

:wq

για να γράψετε τις αλλαγές και να βγείτε από το vi

:q!

για να βγείτε χωρίς να σώσετε τις αλλαγές

/κείμενο

για να μετακινηθείτε στην πρώτη γραμμή που εμφανίζεται το κείμενο-μετά μπορείτε να πατήσετε /Enter (το πλήκτρο enter) για να βρείτε την επόμενη γραμμή που εμφανίζεται το κείμενο.

G

για να πάτε στο τέλος του αρχείου

nG

για να πάτε στην γραμμή n του αρχείου, όπου n είναι αριθμός

Ctrl+L

για να ξαναζωγραφιστεί η οθόνη

Ctrl+b and Ctrl+f

για να μετακινηθείτε μια οθόνη πίσω ή μια οθόνη μπροστά, όπως και στα προγράμματα more και view.

Εξασκηθείτε με το vi στον αρχικό σας κατάλογο, δημιουργώντας ένα καινούριο αρχείο με την εντολή vi filename, προσθέτοντας και αφαιρώντας κείμενο, σώζοντας το αρχείο, και φορτώνοντάς το πάλι. Το vi μερικές φορές επιφυλλάσει εκπλήξεις, επειδή είναι αρκετά περίπλοκο πρόγραμμα, οπότε κάποια στιγμή θα κάνετε κάτι που θα κάνει κάτι αναπάντεχο. (Σε κάποιους πραγματικά αρέσει το vi-είναι πιο ευέλικτο από το EDIT του DOS-δοκιμάστε να βρείτε βοήθεια π.χ. για την εντολή :r.) Χρησιμοποιήστε το Esc μια ή περισσότερες φορές για να είστε σίγουροι ότι είστε σε κατάσταση εντολών και συνεχίστε από εκεί αν κάτι δεν σας πάει καλά, να σώζετε συχνά με την :w εντολή, και χρησιμοποιήστε την εντολή :q! για να βγείτε και να αρχίσετε πάλι από την αρχή (από εκεί που σας άφησε η τελευταία :w εντολή) όταν αυτό χρειαστεί.

Τώρα μπορείτε να κάνετε cd στον κατάλογο /etc, να γίνετε root με την su, να χρησιμοποιήσετε το vi για να αλλάξετε το αρχείο /etc/group, και να προσθέσετε ένα χρήστη στην ομάδα wheel έτσι ώστε να έχει δικαιώματα root. Απλά προσθέστε ένα κόμμα και το όνομα του χρήστη μετά το τέλος της πρώτης γραμμής του αρχείου, πατήστε Esc, και χρησιμοποιήστε :wq για να σώσετε το αρχείο στο δίσκο και να βγείτε. Ισχύει αμέσως. (Δεν βάλατε κάποιο κενό μετά το κόμμα, σωστά;)

6. Εκτυπώνοντας αρχεία από το DOS

Σε αυτό το σημείο μάλλον δεν έχετε βάλει κάποιο εκτυπωτή να δουλεύει, οπότε ας δούμε ένα τρόπο να δημιουργήσετε ένα αρχείο από μια σελίδα man, να το αντιγράψετε σε μια δισκέττα, και τότε να το τυπώσετε από το DOS. Έστω ότι θέλετε να διαβάσετε προσεκτικά για το πως αλλάζουν οι άδειες ενός αρχείου (ένα αρκετά σημαντικό θέμα). Μπορείτε να χρησιμοποιήσετε την εντολή man chmod για να διαβάσετε γι αυτό το θέμα. Η εντολή

% man chmod | col -b > chmod.txt

θα αφαιρέσει τους κωδικούς μορφοποίησης και θα στείλει την man σελίδα στο αρχείο chmod.txt αντί να την δείξει στην οθόνη σας. Τώρα βάλτε μια δισκέττα διαμορφωμένη από DOS στον οδηγό δισκέττας a, χρησιμοποιήστε την εντολή su για να γίνετε root, και δώστε

# /sbin/mount -t msdosfs /dev/fd0 /mnt

για να συνδέσετε (mount) την δισκέττα με τον κατάλογο /mnt.

Τώρα (δεν χρειάζεται πλέον να είστε root, και μπορείτε να δώσετε exit για να επιστρέψετε στα δικαιώματα του χρήστη jack) μπορείτε να πάτε στον κατάλογο που δημιουργήσατε το chmod.txt και να το αντιγράψετε στη δισκέτα γράφοντας:

% cp chmod.txt /mnt

Υστερα, χρησιμοποιώντας την εντολή ls /mnt για να δείτε τα περιεχόμενα του καταλόγου /mnt, θα πρέπει να δείτε και το αρχείο chmod.txt.

Σίγουρα θα πρέπει να φτιάξετε κι ένα αρχείο από το /sbin/dmesg γράφοντας

% /sbin/dmesg > dmesg.txt

και αντιγράφοντας το dmesg.txt στη δισκέτα. Η εντολή /sbin/dmesg τυπώνει τα μηνύματα εκκίνησης, και είναι χρήσιμο να καταλάβετε τι τυπώνει, αφού δείχνει τι αναγνώρισε το FreeBSD όταν ξεκίνησε. Αν ρωτήσετε κάτι στην <freebsd-questions@FreeBSD.org> ή σε κάποια ομάδα συζήτησης του USENET-όπως για παράδειγμα «το FreeBSD δεν βρίσκει το tape drive μου, τι να κάνω;»-θα σας ζητήσουν σίγουρα την έξοδο της εντολής dmesg.

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

# /sbin/umount /mnt

και να επανεκκινήσετε το σύστημά σας σε DOS. Αντιγράψτε αυτά τα αρχεία σε ένα DOS κατάλογο, ανοίξτε τα με το DOS EDIT, το Windows(R) Notepad ή το Wordpad, ή ένα επεξεργαστή κειμένου, κάντε μια μικρή αλλαγή έτσι ώστε να πρέπει το αρχείο να σωθεί, και τυπώστε όπως συνήθως από το DOS ή τα Windows(R). Ελπίζω να δουλέψει! Οι σελίδες man τυπώνονται πολύ όμορφα αν χρησιμοποιήσετε την εντολή print του DOS. (Η αντιγραφή αρχείων από το FreeBSD σε ένα mounted DOS τμήμα δίσκου είναι σε μερικές περιπτώσεις επικίνδυνο πράγμα.)

Το να κάνετε ένα εκτυπωτή στο FreeBSD να τυπώσει απαιτεί να φτιάξετε μια κατάλληλη εγγραφή στο αρχείο /etc/printcap και να δημιουργήσετε ένα spool κατάλογο στο /var/spool/output. Αν ο εκτυπωτής σας είναι στην θύρα lpt0 (αυτή που το DOS αποκαλεί LPT1), μπορεί απλά να χρειάζεται να πάτε στον κατάλογο /var/spool/output και (σαν root) να δημιουργήσετε ένα υποκατάλογο lpd γράφοντας: mkdir lpd, αν δεν υπάρχει ήδη. Τότε ο εκτυπωτής θα πρέπει να απαντάει αν είναι ανοιχτός όταν το σύστημα ξεκινάει, και οι εντολές lp και lpr θα πρέπει να στέλνουν ένα αρχείο στον εκτυπωτή. Αν το αρχείο θα τυπωθεί ή όχι, εξαρτάται από το αν ο εκτυπωτής έχει ρυθμιστεί σωστά, κάτι που καλύπτει το handbook του FreeBSD.

7. Άλλες Χρήσιμες Εντολές

df

Δείχνει ποιες συσκευές έχουν γίνει mount και το χώρο τους.

ps aux

Δείχνει τις διεργασίες που τρέχουν. Η εντολή ps ax τυπώνει πιο συμπαγή έξοδο.

rm αρχείο

Σβήνει το αρχείο.

rm -R dir

Σβήνει τον κατάλογο dir και όλους τους υποκαταλόγους του-προσοχή!

ls -R

Δείχνει τη λίστα των αρχείων του τρέχοντος καταλόγου, και όλων των υποκαταλόγων του. Εγώ παλιότερα χρησιμοποιούσα μια παραλλαγή, την ls -AFR > where.txt, για να παίρνω μια λίστα από όλα τα αρχεία στο / και (ξεχωριστά) στο /usr πριν ανακαλύψω καλύτερους τρόπους να βρίσκω αρχεία.

passwd

Αλλάζει τον κωδικό χρήστη σας (ή τον κωδικό χρήστη του root)

man hier

Η σελίδα man για την ιεραρχία αρχείων του UNIX(R).

Χρησιμοποιήστε την find για να βρείτε το filename στο /usr ή σε κάποιο υποκατάλογό του με την εντολή

% find /usr -name "filename"

Μπορείτε να χρησιμοποιήσετε ένα χαρακτήρα * σαν μεταχαρακτήρα στο "filename" (το οποίο θα πρέπει να είναι μέσα σε διπλά εισαγωγικά) Αν πείτε στην find να ψάξει στο / αντί για το /usr θα ψάξει για το αρχείο (ή τα αρχεία) σε όλα τα ενεργά συστήματα αρχείων, συμπεριλαμβανομένου και του CDROM ή του DOS partition.

Ένα πολύ καλό βιβλίο που εξηγεί τις εντολές και τα εργαλεία του UNIX(R) είναι το UNIX(R) for the Impatient των Abrahams & Larson (2nd ed., Addison-Wesley, 1996). Υπάρχουν επίσης πάρα πολλές πληροφορίες για το UNIX(R) στο Διαδίκτυο.

8. Επόμενα Βήματα

Τώρα πλέον θα πρέπει να έχετε τα εργαλεία για να μπορείτε να τα βγάζετε πέρα και να αλλάζετε αρχεία κειμένου, ώστε να μπορείτε να ρυθμίσετε τα πάντα και να δουλεύουν όπως θέλετε. Υπάρχουν πάρα πολλά χρήσιμα πράγματα στο handbook του FreeBSD (που υπάρχει πιθανόν και στον δίσκο σας) και στην κεντρική σελίδα του FreeBSD. Μια μεγάλη πληθώρα πακέτων και ports υπάρχουν στο CDROM και στην web σελίδα. Το handbook εξηγεί καλύτερα πως μπορείτε να τα χρησιμοποιήσετε (να πάρετε το πακέτο αν υπάρχει, με την εντολή pkg_add /cdrom/packages/All/packagename, όπου packagename είναι το όνομα αρχείου του πακέτου). Το CDROM έχει λίστες όλων των πακέτων και των ports με σύντομες περιγραφές στα αρχεία cdrom/packages/index, cdrom/packages/index.txt, και cdrom/ports/index, με πιο λεπτομερείς περιγραφές στα αρχεία /cdrom/ports/*/*/pkg/DESCR, όπου οι χαρακτήρες * αντιπροσωπεύουν υποκαταλόγους από κατηγορίες προγραμμάτων και ονόματα προγραμμάτων αντίστοιχα.

Αν βρίσκετε το handbook κάπως πολύπλοκο (με όλα εκείνα τα lndir και τα άλλα) για το πως μπορεί κάποιος να εγκαταστήσει ports από το CDROM, ας δούμε κάτι που δουλεύει:

# cp -R /cdrom/ports/comm/kermit /usr/local

Μετά από αυτό θα πρέπει ένας κατάλογος /usr/local/kermit να έχει τα ίδια αρχεία που έχει ο κατάλογος kermit στο CDROM.

Υστερα, δημιουργήστε ένα κατάλογο /usr/ports/distfiles αν δεν υπάρχει ήδη, χρησιμοποιώντας την εντολή mkdir. Μετά ελέγξτε τον κατάλογο /cdrom/ports/distfiles για ένα αρχείο με όνομα που να δείχνει ότι είναι το port που θέλετε. Αντιγράψτε αυτό το αρχείο στον κατάλογο /usr/ports/distfiles (σε πρόσφατες εκδόσεις μπορείτε να παραλείψετε αυτό το βήμα, αφού το FreeBSD θα το κάνει για εσάς). Στην περίπτωση του kermit, δεν υπάρχει κάποιο distfile.

Κατόπιν αλλάξτε με cd στον κατάλογο /usr/local/kermit που έχει το αρχείο Makefile. Τρέξτε την εντολή

# make all install

Κατά τη διάρκεια αυτής της διαδικασίας, το port θα χρησιμοποιήσει FTP για να πάρει οποιαδήποτε συμπιεσμένα αρχεία του χρειάζονται και δεν τα βρίσκει στο CDROM ή στον κατάλογο /usr/ports/distfiles. Αν δεν έχετε ρυθμίσει κάποια σύνδεση με δίκτυο ακόμα και δεν υπάρχει κάποιο αρχείο που το port χρειάζεται στο /cdrom/ports/distfiles, θα πρέπει να πάρετε το αρχείο που λείπει χρησιμοποιώντας κάποιο άλλο μηχάνημα και να το αντιγράψετε στον κατάλογο /usr/ports/distfiles με κάποια δισκέττα ή χρησιμοποιώντας το DOS partition σας. Διαβάστε το Makefile (με την εντολή cat ή την more ή την view) για να βρείτε που να πάτε (το κυρίως μέρος διανομής) για να πάρετε το αρχείο και ποιο όνομα έχει. Το όνομά του θα το αλλάξουν συνήθως τα προγράμματα του DOS, και μετά θα πρέπει όταν το αντιγράψετε στο /usr/ports/distfiles να το μετονομάσετε (με την εντολή mv) στο αρχικό του όνομα ώστε να μπορεί να βρεθεί. (Χρησιμοποιήστε binary μεταφορές!) Τότε επιστρέψτε στον κατάλογο /usr/local/kermit, βρείτε τον κατάλογο με το Makefile, και δώστε make all install πάλι.

Κάτι άλλο που γίνεται με τα ports και τα πακέτα εγκαθίστανται είναι ότι κάποιο άλλο πρόγραμμα χρειάζεται. Αν η εγκατάσταση σταματήσει με ένα μήνυμα can't find unzip ή οτιδήποτε, θα πρέπει να εγκαταστήσετε το πακέτο ή το port του unzip πριν συνεχίσετε.

Αφού εγκατασταθεί, δώστε την εντολή rehash για να κάνετε το FreeBSD να ξαναψάξει για τα προγράμματα που είναι στο path και να ξέρει ότι υπάρχει κάπου εκεί. (Αν για πολλά προγράμματα που κάνετε whereis ή which, για να βρείτε σε ποιο κατάλογο του path είναι, βλέπετε μηνύματα λάθους path not found, είναι καλή ιδέα να προσθέσετε τους αντίστοιχους καταλόγους στο path που περιέχει το .cshrc στον αρχικό σας κατάλογο. Το path στο UNIX(R) κάνει την ίδια δουλειά που κάνει και στο DOS, μόνο που ο τρέχον κατάλογος δεν είναι (συνήθως) στο path για λόγους ασφάλειας. Αν η εντολή που θέλετε να τρέξετε είναι στον τρέχοντα κατάλογο, πρέπει να γράψετε ./ για να δουλέψει-χωρίς κενό μετά την παύλα.)

Χρήσιμο επίσης είναι και το Netscape(R). Μπορείτε να πάρετε την τελευταία του έκδοση από τον εξυπηρέτη FTP του. (Το Netscape απαιτεί το X Window Σύστημα.) Υπάρχει πλέον και μια έκδοση για το FreeBSD, γι αυτό ψάξτε καλά, θα την βρείτε. Απλά χρησιμοποιήστε την εντολή gunzip filename και την tar xvf filename στο αρχείο, μετακινείστε το εκτελέσιμο στον κατάλογο /usr/local/bin ή κάποιο άλλο μέρος που βάζετε τα εκτελέσιμά σας, τρέξτε rehash, και τότε βάλτε τις εξής εντολές στο .cshrc αρχείο στον αρχικό κατάλογο κάθε χρήστη ή (πιο απλά) στο αρχείο /etc/csh.cshrc, το αρχείο ρυθμίσεων συστήματος του csh:

setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB
setenv XNLSPATH /usr/X11R6/lib/X11/nls

Αυτό υποθέτει ότι το αρχείο XKeysymDB και ο κατάλογος nls υπάρχουν στο /usr/X11R6/lib/X11. Αν δεν υπάρχουν, βρείτε τους και βάλτε τους εκεί.

Αν αρχικά εγκαταστήσατε το Netscape(R) σαν port χρησιμοποιώντας το CDROM (ή πήρατε το πακέτο μέσω FTP), μην αντικαταστήσετε το αρχείο /usr/local/bin/netscape με το νέο εκτελέσιμο του Netscape. Το αρχείο αυτό είναι ένα αρχείο φλοιού (shell script) που ρυθμίζει τις μεταβλητές περιβάλλοντος πριν τρέξει το Netscape. Αντί να το αντικαταστήσετε, μετονομάστε το νέο εκτελέσιμο σε netscape.bin και αντικαταστήστε το παλιό εκτελέσιμο, που βρίσκεται στο /usr/local/netscape/netscape.

9. Το Περιβάλλον στο Οποίο Δουλεύετε

Ο φλοιός (shell) είναι το πιο σημαντικό μέρος του περιβάλλοντος εργασίας σας. Στο DOS ο συνηθισμένος φλοιός είναι το command.com. Ο φλοιός είναι αυτός που μεταφράζει τις εντολές που γράφετε στην γραμμή εντολών, και επικοινωνεί με το υπόλοιπο λειτουργικό σύστημα. Μπορείτε να γράψετε αρχεία δέσμης, σαν τα αρχεία δέσμης του DOS: μια σειρά από εντολές που θα τρέξουν χωρίς την δική σας παρεμβολή.

Στο FreeBSD υπάρχουν δύο προεγκατεστημένοι φλοιοί: το csh και το sh. Το csh είναι καλό για να κάνετε δουλειά στην γραμμή εντολών, αλλά για αρχεία δέσμης προτιμήστε το sh (ή το bash). Μπορείτε να βρείτε ποιο φλοιό τρέχετε γράφοντας echo $SHELL.

Ο φλοιός csh είναι αρκετά καλός, αλλά ο φλοιός tcsh μπορεί να κάνει ότι και το csh κι ακόμα περισσότερα. Υποστηρίζει, για παράδειγμα, την ανάκληση εντολών από το ιστορικό με τα βελάκια και επεξεργασία των εντολών πριν τρέξουν. Υποστηρίζει την αυτόματη συμπλήρωση των εντολών και των ονομάτων των αρχείων με χρήση του πλήκτρου TAB (το csh χρησιμοποιεί το Esc για τον ίδιο σκοπό), και υποστηρίζει την γρήγορη εναλλαγή μεταξύ δύο καταλόγων με την εντολή cd -. Είναι, επίσης, πολύ πιο εύκολο να ρυθμίσετε την προτροπή του φλοιού με το tcsh. Το tcsh έχει κι άλλα χρήσιμα χαρακτηριστικά, που θα κάνουν τη ζωή σας αρκετά πιο εύκολη.

Είναι εύκολο να εγκαταστήσετε ένα καινούριο φλοιό σε τρία βήματα:

Εγκαταστήστε το φλοιό σαν port ή πακέτο, όπως θα κάνατε και για κάθε άλλο πακέτο. Χρησιμοποιήστε την εντολή rehash και την which tcsh (υποθέτοντας ότι στήνετε το tcsh) για να σιγουρευτείτε ότι εγκαταστήθηκε.

Σαν root, αλλάξτε το αρχείο /etc/shells, προσθέτοντας μια γραμμή στο αρχείο με τον καινούριο φλοιό. Σε αυτή την περίπτωση απλά προσθέστε μια γραμμή που λέει /usr/local/bin/tcsh και σώστε το αρχείο. (Κάποια ports μπορεί να το κάνουν αυτόματα αυτό για σας.)

Χρησιμοποιήστε την chsh εντολή για να αλλάξετε το φλοιό σας στο tcsh μόνιμα, ή γράψτε tcsh στο prompt για να αλλάξετε προσωρινά το φλοιό σας χωρίς να κάνετε login ξανά.

Σημείωση:

Μπορεί να είναι επικίνδυνο να αλλάξετε το φλοιό του root σε κάτι διαφορετικό από sh ή csh σε κάπως παλιότερες εκδόσεις του FreeBSD και σε πολλές άλλες εκδόσεις του UNIX(R). Μπορεί να μην έχετε ένα φλοιό που να δουλεύει όταν το σύστημα ξεκινήσει σε κατάσταση ενός χρήστη (single user mode). Η λύση είναι να χρησιμοποιείτε την εντολή su -m για να γίνετε root, που θα σας δώσει ένα tcsh φλοιό σαν root, αφού το ποιος είναι ο φλοιός είναι μέρος του περιβάλλοντος. Μπορείτε να κάνετε μόνιμη μια τέτοια αλλαγή προσθέτοντας στο .tcshrc σας μια συντόμευση

alias su su -m

Όταν το tcsh ξεκινάει, διαβάζει το αρχείο /etc/csh.cshrc και ύστερα το /etc/csh.login, όπως κάνει και το csh. Επίσης διαβάζει από τον αρχικό σας κατάλογο το αρχείο .login καθώς και το αρχείο .cshrc επίσης, εκτός κι αν υπάρχει το αρχείο .tcshrc. Αυτό μπορείτε να το φτιάξετε, αντιγράφοντας το αρχείο .cshrc στο .tcshrc.

Τώρα που εγκαταστήσατε το tcsh, μπορείτε να αλλάξετε και το prompt σας. Μπορείτε να βρείτε πιο πολλές λεπτομέρειες στην man σελίδα του tcsh, αλλά ας δούμε μια γραμμή που μπορείτε να βάλετε στο .tcshrc αρχείο σας που θα σας λέει πόσες εντολές έχετε γράψει, τι ώρα είναι, και σε ποιον κατάλογο είστε. Επίσης περιέχει ένα χαρακτήρα > αν είστε απλός χρήστης, ή ένα χαρακτήρα # αν είστε root, κάτι που έτσι κι αλλιώς το κάνει το tsch.

set prompt = "%h %t %~ %# "

Αυτό μπορεί να πάει στο ίδιο μέρος που υπάρχει η παλιά set prompt γραμμή αν υπάρχει, ή κάτω από την "if($?prompt) then" αν δεν υπάρχει. Μετατρέψτε την παλιά σε σχόλιο, ώστε να μπορείτε να επιστρέψετε στο παλιό σας prompt αν το προτιμάτε. Μην ξεχάσετε στην καινούρια γραμμή τα κενά και τα εισαγωγικά. Μπορείτε να κάνετε το tcsh να ξαναδιαβάσει το .tcshrc γράφοντας source .tcshrc.

Μπορείτε να δείτε μια λίστα με τις μεταβλητές περιβάλλοντος που υπάρχουν γράφοντας env στο prompt σας. Το αποτέλεσμα περιέχει τον προκαθορισμένο επεξεργαστή κειμένου σας, τον pager, και τον τύπο του τερματικού σας, ανάμεσα σε πολλά άλλα πράγματα. Μια χρήσιμη εντολή αν έχετε συνδεθεί από μακριά και δεν μπορείτε να τρέξετε κάποιο πρόγραμμα, επειδή ο τύπος τερματικού δεν το επιτρέπει, είναι η εντολή setenv TERM vt100.

10. Διάφορα

Σαν root, μπορείτε να αποσυνδέσετε το CDROM με την εντολή /sbin/umount /cdrom, να βγάλετε το δίσκο από τον οδηγό, να βάλετε ένα καινούριο και να το συνδέσετε με την εντολή /sbin/mount_cd9660 /dev/cd0a /cdrom υποθέτοντας ότι cd0a είναι το όνομα της συσκευής του οδηγού CDROM. Οι πιο πρόσφατες εκδόσεις του FreeBSD σας αφήνουν να συνδέσετε το CDROM γράφοντας απλά /sbin/mount /cdrom.

Το live σύστημα-το δεύτερο CDROM από τους δίσκους εγκατάστασης του FreeBSD- μπορεί να φανεί χρήσιμο αν έχετε περιορισμένο χώρο. Το τι υπάρχει στο live σύστημα διαφέρει από έκδοση σε έκδοση. Μπορείτε να δοκιμάσετε να παίξετε ακόμα και παιχνίδια από το CDROM. Αυτό απαιτεί να χρησιμοποιήσετε την εντολή lndir, που εγκαθίσταται με το σύστημα X Window, για να πείτε στα προγράμματα που να βρουν τα απαραίτητα αρχεία, γιατί βρίσκονται στο σύστημα αρχείων του /cdrom αντί για το /usr και τους υποκαταλόγους του, που συνήθως βρίσκονται. Διαβάστε την man σελίδα της lndir με man lndir.

11. Τα Σχόλιά Σας

Αν χρησιμοποιήσετε αυτό τον οδηγό θα με ενδιέφερε να ξέρω που δεν ήταν αρκετά σαφής και τι παρέλειψα το οποίο πιστεύετε ότι θα έπρεπε να περιέχει, κι ακόμη πόσο σας βοήθησε. Να ευχαριστήσω τον Eugene W. Stark, καθηγητή της επιστήμης της πληροφορικής στο SUNY-Stony Brook, και τον John Fieber για τα σχόλιά τους που με βοήθησαν πολύ.

Annelise Anderson, <andrsn@andrsn.stanford.edu>