Use correct syntax markup for shell

Approved by:	carlavilla
This commit is contained in:
Li-Wen Hsu 2021-03-14 20:08:55 +08:00
parent 55c95407aa
commit a9a9e66105
No known key found for this signature in database
GPG key ID: 8D7BCC7D012FD37E
666 changed files with 17924 additions and 17924 deletions

View file

@ -115,14 +115,14 @@ toc::[]
Για παράδειγμα το:
[source,bash]
[source,shell]
....
% diff -c παλιό_αρχείο νέο_αρχείο
....
ή το
[source,bash]
[source,shell]
....
% diff -c -r παλιός_κατάλογος νέος_κατάλογος
....
@ -131,14 +131,14 @@ toc::[]
Ομοίως το,
[source,bash]
[source,shell]
....
% diff -u παλιό_αρχείο νέο_αρχείο
....
ή το
[source,bash]
[source,shell]
....
% diff -u -r παλιός_κατάλογος νέος_κατάλογος
....

View file

@ -165,7 +165,7 @@ your options page that will email your current password to you.
* Πολλές από τις πληροφορίες που θέλετε συνήθως να στείλετε, περιλαμβάνονται στην έξοδο προγραμμάτων όπως το man:dmesg[8], ή στα μηνύματα που βλέπετε στην κονσόλα σας, τα οποία τις πιο πολλές φορές σώζονται και στο αρχείο [.filename]#/var/log/messages#. Μην δοκιμάσετε να αντιγράψετε αυτές τις πληροφορίες ξαναγράφοντάς τες. Είναι βαρετό και σχεδόν σίγουρα θα κάνετε κάποιο λάθος. Για να στείλετε τα περιεχόμενα κάποιου log αρχείου, είτε κάντε ένα αντίγραφο του αρχείου και χρησιμοποιήστε κάποιον επεξεργαστή κειμένου να κόψετε όσα κομμάτια δεν είναι σχετικά, ή αντιγράψτε και επικολλήστε ότι έχει σχέση στο μήνυμά σας. Για την έξοδο κάποιου προγράμματος, όπως π.χ. το man:dmesg[8], ανακατευθύνετε την έξοδο σε κάποιο αρχείο και χρησιμοποιήστε αυτό το αρχείο. Για παράδειγμα:
+
[source,bash]
[source,shell]
....
% dmesg > /tmp/dmesg.out
....

View file

@ -162,28 +162,28 @@ image::disklabel2.png[]
Έχοντας προετοιμάσει όλες τις απαραίτητες κατατμήσεις, είναι σχετικά απλό να ρυθμίσουμε το journaling. Θα πρέπει να μεταβούμε σε κατάσταση ενός χρήστη, για το λόγο αυτό εισέλθετε στο σύστημα ως `root` και γράψτε:
[source,bash]
[source,shell]
....
# shutdown now
....
Πιέστε kbd:[Enter] για να βγείτε στο προεπιλεγμένο κέλυφος. Θα πρέπει να αποπροσαρτήσουμε τις κατατμήσεις στις οποίες θα γίνει το journaling, στο παράδειγμα μας τις [.filename]#/usr# και [.filename]#/var#:
[source,bash]
[source,shell]
....
# umount /usr /var
....
Φορτώστε το άρθρωμα του πυρήνα που απαιτείται για το journaling:
[source,bash]
[source,shell]
....
# gjournal load
....
Χρησιμοποιήστε τώρα τις σημειώσεις σας για να καθορίσετε ποια κατάτμηση χρησιμοποιείται για κάθε ημερολόγιο. Στο παράδειγμα μας, το [.filename]#/usr# βρίσκεται στο [.filename]#ad0s1f# και το ημερολόγιο του θα είναι στο [.filename]#ad0s1g#, ενώ το [.filename]#/var# είναι στο [.filename]#ad0s1d# και το ημερολόγιο του θα είναι στο [.filename]#ad0s1h#. Θα χρειαστείτε τις παρακάτω εντολές:
[source,bash]
[source,shell]
....
# gjournal label ad0s1f ad0s1g
GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data.
@ -197,7 +197,7 @@ GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.
====
Αν ο τελευταίος τομέας κάποιας από τις κατατμήσεις είναι σε χρήση, η εντολή `gjournal` θα σας επιστρέψει ένα μήνυμα λάθους. Θα πρέπει να εκτελέσετε την εντολή χρησιμοποιώντας την παράμετρο `-F` με την οποία θα υποχρεώσετε την επανεγγραφή του τομέα, π.χ.:
[source,bash]
[source,shell]
....
# gjournal label -f ad0s1d ad0s1h
....
@ -207,7 +207,7 @@ GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.
Στο σημείο αυτό δημιουργούνται δύο νέες συσκευές, οι [.filename]#ad0s1d.journal# και [.filename]#ad0s1f.journal#. Αυτές αντιπροσωπεύουν τις κατατμήσεις [.filename]#/var# και [.filename]#/usr# που θα πρέπει να προσαρτήσουμε. Πριν τις προσαρτήσουμε ωστόσο, θα πρέπει να θέσουμε την επιλογή journal και να αναιρέσουμε την επιλογή Soft Updates:
[source,bash]
[source,shell]
....
# tunefs -J enable -n disable ad0s1d.journal
tunefs: gjournal set
@ -220,7 +220,7 @@ tunefs: soft updates cleared
Προσαρτήστε τώρα χειροκίνητα τις νέες συσκευές στα αντίστοιχα σημεία προσάρτησης (σημειώστε ότι μπορούμε πλέον να χρησιμοποιήσουμε την επιλογή `async` κατά την προσάρτηση):
[source,bash]
[source,shell]
....
# mount -o async /dev/ad0s1d.journal /var
# mount -o async /dev/ad0s1f.journal /usr
@ -248,7 +248,7 @@ geom_journal_load="YES"
Συγχαρητήρια! Το σύστημα σας είναι τώρα έτοιμο για journaling. Μπορείτε να γράψετε `exit` για να επιστρέψετε στην κανονική λειτουργία (πολλαπλών χρηστών) ή να επανεκκινήσετε το σύστημα σας (συνίσταται) για να ελέγξετε τις ρυθμίσεις σας. Κατά την εκκίνηση, θα δείτε μηνύματα όπως το παρακάτω:
[source,bash]
[source,shell]
....
ad0: 76293MB XEC XE800JD-00HBC0 08.02D08 at ata0-master SATA150
GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal.
@ -261,7 +261,7 @@ GEOM_JOURNAL: Journal ad0s1f clean.
Μετά από ένα προβληματικό τερματισμό θα δείτε μηνύματα όπως το παρακάτω:
[source,bash]
[source,shell]
....
GEOM_JOURNAL: Journal ad0s1d consistent.
....
@ -273,7 +273,7 @@ GEOM_JOURNAL: Journal ad0s1d consistent.
Αν και η παραπάνω διαδικασία είναι απαραίτητη για να χρησιμοποιήσετε journaling σε κατατμήσεις που έχουν ήδη δεδομένα, η αντίστοιχη διαδικασία για νέες κατατμήσεις είναι πιο απλή. Στην περίπτωση αυτή, μπορεί να χρησιμοποιηθεί ο ίδιος παροχέας τόσο για τα δεδομένα όσο και για το ημερολόγιο. Για παράδειγμα, υποθέστε ότι έχετε προσθέσει ένα νέο δίσκο και έχετε δημιουργήσει την κατάτμηση [.filename]#/dev/ad1s1d#. Η δημιουργία του ημερολογίου είναι αρκετά απλή και φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# gjournal label ad1s1d
....
@ -282,14 +282,14 @@ GEOM_JOURNAL: Journal ad0s1d consistent.
Για παράδειγμα, για να δημιουργήσετε ένα ημερολόγιο μεγέθους 2 GB, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# gjournal label -s 2G ad1s1d
....
Μπορείτε έπειτα να δημιουργήσετε ένα σύστημα αρχείων στη νέα σας κατάτμηση, και ταυτόχρονα να ενεργοποιήσετε το journaling, χρησιμοποιώντας την επιλογή `-J`:
[source,bash]
[source,shell]
....
# newfs -J /dev/ad1s1d.journal
....
@ -323,14 +323,14 @@ options GEOM_JOURNAL # Θα πρέπει να προσθέσετε αυτή τη
Πιθανόν ξεχάσατε να προσθέσετε (ή έχετε κάνει λάθος) την καταχώρηση στο [.filename]#/boot/loader.conf#, ή ίσως υπάρχει λάθος στο αρχείο [.filename]#/etc/fstab#. Τα λάθη αυτά συνήθως διορθώνονται εύκολα. Πιέστε kbd:[Enter] για να ξεκινήσετε το προεπιλεγμένο κέλυφος λειτουργίας ενός χρήστη. Μετά εντοπίστε την πηγή του προβλήματος:
[source,bash]
[source,shell]
....
# cat /boot/loader.conf
....
Αν λείπει ή υπάρχει λάθος στην καταχώρηση `geom_journal_load`, οι αντίστοιχες συσκευές δεν δημιουργούνται καν. Μπορείτε να φορτώσετε το άρθρωμα χειροκίνητα, να προσαρτήσετε όλες τις κατατμήσεις, και να συνεχίσετε με την κανονική εκκίνηση:
[source,bash]
[source,shell]
....
# gjournal load
@ -354,28 +354,28 @@ GEOM_JOURNAL: Journal ad0s1f clean.
Εισέλθετε ως `root` και μεταβείτε σε κατάσταση ενός χρήστη:
[source,bash]
[source,shell]
....
# shutdown now
....
Αποπροσαρτήστε τις κατατμήσεις που χρησιμοποιούν journaling:
[source,bash]
[source,shell]
....
# umount /usr /var
....
Συγχρονίστε τα ημερολόγια:
[source,bash]
[source,shell]
....
# gjournal sync
....
Σταματήστε τους παροχείς ημερολογίου:
[source,bash]
[source,shell]
....
# gjournal stop ad0s1d.journal
# gjournal stop ad0s1f.journal
@ -383,7 +383,7 @@ GEOM_JOURNAL: Journal ad0s1f clean.
Διαγράψτε τα metadata του journaling από όλες τις συσκευές που χρησιμοποιήσατε:
[source,bash]
[source,shell]
....
# gjournal clear ad0s1d
# gjournal clear ad0s1f
@ -393,7 +393,7 @@ GEOM_JOURNAL: Journal ad0s1f clean.
Αναιρέστε την επιλογή του journaling, και θέστε ξανά την επιλογή για Soft Updates:
[source,bash]
[source,shell]
....
# tunefs -J disable -n enable ad0s1d
tunefs: gjournal cleared
@ -406,7 +406,7 @@ tunefs: soft updates set
Προσαρτήστε χειροκίνητα τις κανονικές κατατμήσεις:
[source,bash]
[source,shell]
....
# mount -o rw /dev/ad0s1d /var
# mount -o rw /dev/ad0s1f /usr

View file

@ -61,7 +61,7 @@ toc::[]
Ο `{keramida}` έχει φτιάξει μια τέτοια γραμματοσειρά και μια αντιστοιχία πληκτρολογίου. Αυτά τα δύο αρχεία δεν είναι μέρος του βασικού συστήματος του FreeBSD τη στιγμή που γράφονται αυτές οι γραμμές, οπότε θα χρειαστεί να τα κατεβάσετε από το δίκτυο. Για να κατεβάσετε τα δύο αρχεία που χρειάζονται και να τα τοποθετήσετε στον κατάλληλο κατάλογο για τον τύπο του κάθε αρχείου, μπορείτε να τρέξετε τις παρακάτω εντολές:
[source,bash]
[source,shell]
....
# cd /usr/shared/syscons/fonts
# fetch 'http://people.freebsd.org/~keramida/files/grfixed-8x16.fnt'
@ -82,7 +82,7 @@ keymap="keramida.el-iso"
Με αυτές τις ρυθμίσεις, το σύστημά μας θα χρησιμοποιεί τα αρχεία που μόλις κατεβάσαμε από την επόμενη φορά που θα ξεκινήσει. Στο FreeBSD δε χρειάζεται όμως να κάνουμε επανεκκίνηση για μια τέτοια μικρή αλλαγή. Μπορούμε απλά να τρέξουμε σε μια κονσόλα τις εντολές:
[source,bash]
[source,shell]
....
% vidcontrol -f 8x16 grfixed-8x16 < /dev/ttyv0
% kbdcontrol -l keramida.el-iso < /dev/ttyv0
@ -210,7 +210,7 @@ XTerm*font: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-7
====
Μετά από αλλαγές στο αρχείο [.filename]#.Xresources#, δε χρειάζεται επανεκκίνηση του περιβάλλοντος Xorg. Αρκεί απλά να τρέξουμε την εντολή:
[source,bash]
[source,shell]
....
% xrdb -merge ~/.Xresources
....
@ -222,14 +222,14 @@ XTerm*font: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-7
Το περιβάλλον Xorg έρχεται με ένα βασικό σύνολο γραμματοσειρών σε μορφή "bitmap". Μερικές από αυτές έχουν υποστήριξη ελληνικών, είτε για την κωδικοποίηση ISO/IEC 8859-7, είτε για την κωδικοποίηση ISO/IEC 10646 (Universal Character Set). Οι βασικές bitmap γραμματοσειρές που διανέμονται με το Xorg έχουν στο τέλος από το όνομά τους την κωδικοποίηση, οπότε μπορείτε να τις βρείτε εύκολα με το εργαλείο man:xlsfonts[1]. Για να δείτε, για παράδειγμα, ποιές βασικές γραμματοσειρές υποστηρίζουν την κωδικοποίηση ISO/IEC 8859-7 μπορείτε να χρησιμοποιήσετε την εντολή:
[source,bash]
[source,shell]
....
% xlsfonts | fgrep -i iso8859-7
....
Αντίστοιχα, για να βρείτε ποιές γραμματοσειρές υποστηρίζουν την κωδικοποίηση ISO/IEC 10646, οπότε μπορούν να χρησιμοποιηθούν για την απεικόνιση κειμένων με κωδικοποίηση UTF-8, μπορείτε να χρησιμοποιήσετε την εντολή:
[source,bash]
[source,shell]
....
% xlsfonts | fgrep -i iso10646
....

View file

@ -56,14 +56,14 @@ toc::[]
Τα πακέτα είναι προ-μεταγλωττισμένες εφαρμογές, θα λέγαμε το αντίστοιχο για το FreeBSD των αρχείων [.filename]#.deb# σε συστήματα Debian/Ubuntu και των αρχείων [.filename]#.rpm# σε συστήματα Red Hat/Fedora. Τα πακέτα εγκαθίστανται χρησιμοποιώντας την εντολή man:pkg_add[1]. Για παράδειγμα, η ακόλουθη εντολή εγκαθιστά τον Apache 2.2:
[source,bash]
[source,shell]
....
# pkg_add /tmp/apache-2.2.6_2.tbz
....
Η χρήση της παραμέτρου `-r` οδηγεί την man:pkg_add[1] να κατεβάσει αυτόματα τόσο το πακέτο, όσο και τις εξαρτήσεις του, και να το εγκαταστήσει:
[source,bash]
[source,shell]
....
# pkg_add -r apache22
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/apache22.tbz... Done.
@ -91,7 +91,7 @@ in your /etc/rc.conf. Extra options can be found in startup script.
Η εγκατάσταση ενός port είναι γενικά τόσο απλή όσο το να εισέλθετε στον κατάλογο του και να ξεκινήσετε την διαδικασία μεταγλώττισης. Στο ακόλουθο παράδειγμα γίνεται εγκατάσταση του Apache 2.2 από την Συλλογή των Ports:
[source,bash]
[source,shell]
....
# cd /usr/ports/www/apache22
# make install clean
@ -99,7 +99,7 @@ in your /etc/rc.conf. Extra options can be found in startup script.
Ένα σημαντικό πλεονέκτημα της χρήσης ports στην εγκατάσταση λογισμικού είναι η ικανότητα προσαρμογής των επιλογών εγκατάστασης. Για παράδειγμα, όταν εγκαθιστάτε τον Apache 2.2 από τα ports μπορείτε να ενεργοποιήσετε την επιλογή mod_ldap θέτοντας απλώς τιμή στη μεταβλητή `WITH_LDAP` του man:make[1]:
[source,bash]
[source,shell]
....
# cd /usr/ports/www/apache22
# make WITH_LDAP="YES" install clean
@ -149,14 +149,14 @@ apache22_flags="-DSSL"
Από τη στιγμή που μια υπηρεσία ενεργοποιηθεί στο αρχείο [.filename]#/etc/rc.conf#, μπορείτε να την ξεκινήσετε απευθείας από τη γραμμή εντολών (χωρίς να χρειάζεται να επανεκκινήσετε το σύστημα σας):
[source,bash]
[source,shell]
....
# /etc/rc.d/sshd start
....
Αν μια υπηρεσία δεν έχει ενεργοποιηθεί στο αρχείο αυτό, μπορείτε να εξαναγκάσετε την εκκίνηση της από την γραμμή εντολών με την επιλογή `forcestart`:
[source,bash]
[source,shell]
....
# /etc/rc.d/sshd forcestart
....
@ -169,7 +169,7 @@ apache22_flags="-DSSL"
Αντί για το γενικό αναγνωριστικό τύπου _ethX_ που χρησιμοποιεί το Linux(R) για την αναγνώριση μιας διεπαφής δικτύου, το FreeBSD χρησιμοποιεί ως αναγνωριστικό το όνομα του προγράμματος οδήγησης ακολουθούμενο από ένα αριθμό. Η ακόλουθη έξοδος από την εντολή man:ifconfig[8] δείχνει δύο κάρτες δικτύου Intel(R) Pro 1000 (με αναγνωριστικά em0 and em1):
[source,bash]
[source,shell]
....
% ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
@ -271,7 +271,7 @@ pass in on $ext_if inet proto tcp from any to ($ext_if) port 22
Στο παράδειγμα της προώθησης IP, θα χρησιμοποιούσαμε την ακόλουθη εντολή για να καθορίσουμε αν η δυνατότητα αυτή είναι ενεργοποιημένη σε ένα FreeBSD σύστημα:
[source,bash]
[source,shell]
....
% sysctl net.inet.ip.forwarding
net.inet.ip.forwarding: 0
@ -279,7 +279,7 @@ net.inet.ip.forwarding: 0
Η επιλογή `-a` χρησιμοποιείται για να πάρουμε μια λίστα με όλες τις ρυθμίσεις του συστήματος:
[source,bash]
[source,shell]
....
% sysctl -a
kern.ostype: FreeBSD
@ -307,7 +307,7 @@ kern.posix1version: 200112
Υπάρχουν περιπτώσεις όπου απαιτείται το procfs, όπως για παράδειγμα όταν εκτελείτε παλιότερο λογισμικό, το οποίο κάνει χρήση της εντολής man:truss[1] για την ανίχνευση των κλήσεων συστήματος, και για την link:{handbook}#linuxemu[Συμβατότητα με Εκτελέσιμα του Linux(R)]. (Αν και η Συμβατότητα με Εκτελέσιμα του Linux(R) χρησιμοποιεί το δικό της procfs, το man:linprocfs[5]). Αν χρειάζεται να προσαρτήσετε το procfs, μπορείτε να προσθέσετε την ακόλουθη εγγραφή στο αρχείο [.filename]#/etc/fstab#:
[source,bash]
[source,shell]
....
proc /proc procfs rw,noauto 0 0
....
@ -319,7 +319,7 @@ proc /proc procfs rw,noauto 0 0
Προσαρτήστε κατόπιν την procfs χρησιμοποιώντας την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# mount /proc
....

View file

@ -113,7 +113,7 @@ toc::[]
* Βεβαιωθείτε ότι η ώρα και η ζώνη ώρας στον υπολογιστή σας είναι σωστά ρυθμισμένα. Αυτό μπορεί να φαίνεται κάπως ανόητο, ειδικά καθώς το μήνυμα σας θα φτάσει έτσι και αλλιώς, αλλά αρκετοί άνθρωποι σε αυτές τις λίστες λαμβάνουν εκατοντάδες μηνύματα κάθε μέρα. Συχνά τα ταξινομούν κατά θέμα και ημερομηνία, έτσι αν το μήνυμα σας έρθει μετά την πρώτη απάντηση θα θεωρήσουν ότι το έχασαν και δεν θα ασχοληθούν να το ψάξουν.
* Πολλές φορές οι πληροφορίες που πρέπει να παρέχετε περιέχουν την έξοδο προγραμμάτων όπως το man:dmesg[8], ή τα μηνύματα που εμφανίζονται στην κονσόλα, τα οποία συνήθως γράφονται στο [.filename]#/var/log/messages#. Μην προσπαθήσετε να αντιγράψετε αυτές τις πληροφορίες πληκτρολογώντας τις ξανά: όχι μόνο είναι βασανιστικό, αλλά είναι σχεδόν σίγουρο ότι θα κάνετε κάποιο λάθος. Για να στείλετε τα περιεχόμενα κάποιου αρχείου καταγραφής, είτε αντιγράψτε το αρχείο και χρησιμοποιήστε κάποιο συντάκτη κειμένου για να κόψετε τα κομμάτια που σας ενδιαφέρουν, ή κάντε αποκοπή και επικόλληση μέσα στο μήνυμα σας. Για την έξοδο προγραμμάτων όπως το `dmesg`, χρησιμοποιήστε ανακατεύθυνση της εξόδου σε ένα αρχείο και στείλτε αυτό. Για παράδειγμα:
+
[source,bash]
[source,shell]
....
% dmesg > /tmp/dmesg.out
....

View file

@ -68,7 +68,7 @@ toc::[]
[example]
====
[source,bash]
[source,shell]
....
# vi /etc/resolv.conf
[...]
@ -91,7 +91,7 @@ toc::[]
Οι απαραίτητες εντολές προκειμένου να δημιουργηθεί ένα είδωλο του NanoBSD είναι οι εξής:
[source,bash]
[source,shell]
....
# cd /usr/src/tools/tools/nanobsd <.>
# sh nanobsd.sh <.>
@ -113,7 +113,7 @@ toc::[]
Η ακόλουθη εντολή θα κάνει το [.filename]#nanobsd.sh# να διαβάσει τις ρυθμίσεις του από το αρχείο [.filename]#myconf.nano# που βρίσκεται στο τρέχοντα κατάλογο:
[source,bash]
[source,shell]
....
# sh nanobsd.sh -c myconf.nano
....
@ -264,7 +264,7 @@ customize_cmd cust_nobeastie
Αν σας ενδιαφέρει η καλή ταχύτητα μεταφοράς, χρησιμοποιήστε το FTP για τη μεταφορά του ειδώλου:
[source,bash]
[source,shell]
....
# ftp myhost
get _.disk.image "| sh updatep1"
@ -274,7 +274,7 @@ get _.disk.image "| sh updatep1"
Αν σας ενδιαφέρει η μεταφορά του ειδώλου να γίνει με ασφαλή τρόπο και δεν έχετε αφαιρέσει από το αρχικό είδωλο το man:ssh[1], προτιμήστε τη μεταφορά μέσω SSH:
[source,bash]
[source,shell]
....
# ssh myhost cat _.disk.image.gz | zcat | sh updatep1
....
@ -287,7 +287,7 @@ get _.disk.image "| sh updatep1"
====
. Πρώτα ανοίξτε ένα εξυπηρετητή `TCP` στο σύστημα το οποίο θα παρέχει το νέο είδωλο, και ορίστε το νέο είδωλο ως είσοδο για τη μεταφορά που θα γίνει αργότερα:
+
[source,bash]
[source,shell]
....
myhost# nc -l 2222 < _.disk.image
....
@ -298,7 +298,7 @@ myhost# nc -l 2222 < _.disk.image
======
. Συνδεθείτε από το NanoBSD στον εξυπηρετητή, ο οποίος είναι ήδη έτοιμος να παρέχει το νέο είδωλο, και τροφοδοτείστε το σενάριο φλοιού [.filename]#updatep1# με την έξοδο του εργαλείου man:nc[1]:
+
[source,bash]
[source,shell]
....
# nc myhost 2222 | sh updatep1
....

View file

@ -39,7 +39,7 @@ toc::[]
Για να βγείτε (και να δείτε ένα καινούριο `login:` prompt) γράψτε
[source,bash]
[source,shell]
....
# exit
....
@ -48,21 +48,21 @@ toc::[]
Για να κλείσετε το μηχάνημά σας γράψτε
[source,bash]
[source,shell]
....
# /sbin/shutdown -h now
....
Για να το επανεκκινήσετε
[source,bash]
[source,shell]
....
# /sbin/shutdown -r now
....
ή
[source,bash]
[source,shell]
....
# /sbin/reboot
....
@ -74,7 +74,7 @@ toc::[]
Αν δεν φτιάξατε κανένα λογαριασμό χρήστη όταν εγκαταστήσατε το σύστημα, και τώρα έχετε κάνει login σαν `root`, μάλλον είναι η κατάλληλη ώρα να φτιάξετε ένα λογαριασμό χρήστη με την εντολή
[source,bash]
[source,shell]
....
# adduser
....
@ -83,7 +83,7 @@ toc::[]
Έστω οτι δημιουργείτε ένα λογαριασμό χρήστη με όνομα `jack` και πλήρες όνομα __Jack Benimble__. Ορίστε για τον `jack` κι ένα κωδικό χρήστη (password) αν η ασφάλεια σας ενδιαφέρει (ακόμα και παιδιά που παίζουν με το πληκτρολόγιο μπορεί να είναι επικίνδυνα). Όταν σας ρωτήσει αν θέλετε να βάλετε τον `jack` και σε άλλες ομάδες (groups), γράψτε `wheel`
[source,bash]
[source,shell]
....
Login group is "jack". Invite jack into other groups: wheel
....
@ -161,7 +161,7 @@ Login group is "jack". Invite jack into other groups: wheel
Μήπως κάποια από αυτά που είπαμε δεν δουλεύουν καλά; Τόσο η εντολή man:locate[1] όσο και η man:whatis[1] εξαρτώνται από μια βάση που ξαναφτιάχνεται μια φορά τη βδομάδα. Αν το μηχάνημά σας δεν παραμείνει ανοιχτό το σαββατοκύριακο (τρέχοντας το FreeBSD), μπορεί να θέλετε να τρέξετε εσείς τις εντολές για καθημερινή, εβδομαδιαία και μηνιαία συντήρηση που και που. Τρέξτε τις σαν `root` και δώστε τους χρόνο να τελειώσει η καθεμια πριν ξεκινήσετε την επόμενη.
[source,bash]
[source,shell]
....
# periodic daily
παραλείπεται η έξοδος της εντολής
@ -182,14 +182,14 @@ Login group is "jack". Invite jack into other groups: wheel
Πριν κάνετε αλλαγές σε αρχεία ρυθμίσεων, μάλλον είναι καλή ιδέα να πάρετε κάποιο αντίγραφο ασφαλείας. Έστω ότι θέλετε να κάνετε αλλαγές στο [.filename]#/etc/rc.conf#. Μπορείτε να χρησιμοποιήσετε την εντολή `cd /etc` για να πάτε στον κατάλογο [.filename]#/etc# και να γράψετε:
[source,bash]
[source,shell]
....
# cp rc.conf rc.conf.orig
....
επειδή η εντολή `mv` διατηρεί την αρχική ημερομηνία και τον ιδιοκτήτη ενός αρχείου. Τώρα μπορείτε να κάνετε ότι αλλαγές θέλετε στο [.filename]#rc.conf#. Αν θέλετε το αρχικό πάλι, τότε θα εκτελέσετε `mv rc.conf rc.conf.myedit` (υποθέτοντας ότι θέλετε να κρατήσετε την αλλαγμένη έκδοση) και τότε
[source,bash]
[source,shell]
....
# mv rc.conf.orig rc.conf
....
@ -198,7 +198,7 @@ Login group is "jack". Invite jack into other groups: wheel
Για να επεξεργαστείτε ένα αρχείο, δώστε
[source,bash]
[source,shell]
....
# vi filename
....
@ -252,14 +252,14 @@ kbd:[Ctrl+b] and kbd:[Ctrl+f]::
Σε αυτό το σημείο μάλλον δεν έχετε βάλει κάποιο εκτυπωτή να δουλεύει, οπότε ας δούμε ένα τρόπο να δημιουργήσετε ένα αρχείο από μια σελίδα man, να το αντιγράψετε σε μια δισκέττα, και τότε να το τυπώσετε από το DOS. Έστω ότι θέλετε να διαβάσετε προσεκτικά για το πως αλλάζουν οι άδειες ενός αρχείου (ένα αρκετά σημαντικό θέμα). Μπορείτε να χρησιμοποιήσετε την εντολή `man chmod` για να διαβάσετε γι αυτό το θέμα. Η εντολή
[source,bash]
[source,shell]
....
% man chmod | col -b > chmod.txt
....
θα αφαιρέσει τους κωδικούς μορφοποίησης και θα στείλει την man σελίδα στο αρχείο [.filename]#chmod.txt# αντί να την δείξει στην οθόνη σας. Τώρα βάλτε μια δισκέττα διαμορφωμένη από DOS στον οδηγό δισκέττας [.filename]#a#, χρησιμοποιήστε την εντολή `su` για να γίνετε `root`, και δώστε
[source,bash]
[source,shell]
....
# /sbin/mount -t msdosfs /dev/fd0 /mnt
....
@ -268,7 +268,7 @@ kbd:[Ctrl+b] and kbd:[Ctrl+f]::
Τώρα (δεν χρειάζεται πλέον να είστε `root`, και μπορείτε να δώσετε `exit` για να επιστρέψετε στα δικαιώματα του χρήστη `jack`) μπορείτε να πάτε στον κατάλογο που δημιουργήσατε το [.filename]#chmod.txt# και να το αντιγράψετε στη δισκέτα γράφοντας:
[source,bash]
[source,shell]
....
% cp chmod.txt /mnt
....
@ -277,7 +277,7 @@ kbd:[Ctrl+b] and kbd:[Ctrl+f]::
Σίγουρα θα πρέπει να φτιάξετε κι ένα αρχείο από το [.filename]#/sbin/dmesg# γράφοντας
[source,bash]
[source,shell]
....
% /sbin/dmesg > dmesg.txt
....
@ -286,7 +286,7 @@ kbd:[Ctrl+b] and kbd:[Ctrl+f]::
Μπορείτε τώρα να αποπροσαρτήσετε τον οδηγό δισκέττας (σαν `root`) για να βγάλετε τη δισκέττα με την εντολή
[source,bash]
[source,shell]
....
# /sbin/umount /mnt
....
@ -321,7 +321,7 @@ kbd:[Ctrl+b] and kbd:[Ctrl+f]::
Χρησιμοποιήστε την `find` για να βρείτε το [.filename]#filename# στο [.filename]#/usr# ή σε κάποιο υποκατάλογό του με την εντολή
[source,bash]
[source,shell]
....
% find /usr -name "filename"
....
@ -337,7 +337,7 @@ kbd:[Ctrl+b] and kbd:[Ctrl+f]::
Αν βρίσκετε το handbook κάπως πολύπλοκο (με όλα εκείνα τα `lndir` και τα άλλα) για το πως μπορεί κάποιος να εγκαταστήσει ports από το CDROM, ας δούμε κάτι που δουλεύει:
[source,bash]
[source,shell]
....
# cp -R /cdrom/ports/comm/kermit /usr/local
....
@ -348,7 +348,7 @@ kbd:[Ctrl+b] and kbd:[Ctrl+f]::
Κατόπιν αλλάξτε με `cd` στον κατάλογο [.filename]#/usr/local/kermit# που έχει το αρχείο [.filename]#Makefile#. Τρέξτε την εντολή
[source,bash]
[source,shell]
....
# make all install
....

View file

@ -140,7 +140,7 @@ toc::[]
Το πρόγραμμα man:send-pr[1] έχει την δυνατότητα να επισυνάψει αρχεία σε μια αναφορά προβλήματος. Μπορείτε να επισυνάψετε όσα αρχεία θέλετε, αρκεί το καθένα να έχει μοναδικό βασικό όνομα (το όνομα του αρχείου χωρίς την διαδρομή). Απλά χρησιμοποιήστε την παράμετρο `-a` στην γραμμή εντολών για να καταδείξετε τα ονόματα των αρχείων που θέλετε να επισυνάψετε:
[source,bash]
[source,shell]
....
% send-pr -a /var/run/dmesg -a /tmp/errors
....
@ -217,7 +217,7 @@ toc::[]
Όταν τελειώσετε με το γράψιμο, την συμπλήρωση της φόρμας, και σώσετε το κείμενο της αναφοράς σε ένα αρχείο, το πρόγραμμα man:send-pr[1] θα σας δείξει μια προτροπή `s)end, e)dit or a)bort?`. Μπορείτε τότε να πατήσετε `s` για να συνεχίσετε και να σταλεί η αναφορά, `e` για να ξεκινήσετε πάλι τον κειμενογράφο σας, ή `a` για να εγκαταλείψετε. Αν επιλέξετε το τελευταίο, το κείμενο της αναφοράς σας θα παραμείνει στο δίσκο (η man:send-pr[1] θα γράψει το όνομα του αρχείου πριν τερματίσει), οπότε μπορείτε να το επεξεργαστείτε με την ησυχία σας αργότερα ή να το μεταφέρετε σε κάποιο σύστημα με καλύτερη σύνδεση δικτύου, πριν να το στείλετε με την επιλογή `-F` της man:send-pr[1]:
[source,bash]
[source,shell]
....
% send-pr -f ~/my-problem-report
....

View file

@ -80,21 +80,21 @@ toc::[]
Όπως περιγράψαμε στην εισαγωγή, οι κορμοί `RELENG_X_Y` είναι μια σχετικά νέα προσθήκη στην μεθοδολογία των εκδόσεών μας. Το πρώτο βήμα στην δημιουργία αυτού του κορμού είναι να βεβαιωθείτε ότι δουλεύετε με την τελευταία έκδοση του πηγαίου κώδικα από τον `RELENG_X` κορμό _από τον οποίο_ θα φτιάξετε το νέο κορμό.
[source,bash]
[source,shell]
....
/usr/src# cvs update -rRELENG_4 -P -d
....
Το επόμενο βήμα είναι να δημιουργήσετε μια _ετικέτα_ (tag) στο σημείο εκκίνησης του κορμού, ώστε να μπορείτε να δείτε τις διαφορές με την αρχή του κορμού εύκολα στο μέλλον με το CVS:
[source,bash]
[source,shell]
....
/usr/src# cvs rtag -rRELENG_4 RELENG_4_8_BP src
....
Και τότε μπορείτε να δημιουργήσετε το νέο κορμό με:
[source,bash]
[source,shell]
....
/usr/src# cvs rtag -b -rRELENG_4_8_BP RELENG_4_8 src
....
@ -148,7 +148,7 @@ __Οι ετικέτες ``RELENG_*`` είναι δεσμευμένες για χ
Όταν η τελική έκδοση είναι έτοιμη, η παρακάτω εντολή θα δημιουργήσει την ετικέτα `RELENG_4_8_0_RELEASE`.
[source,bash]
[source,shell]
....
/usr/src# cvs rtag -rRELENG_4_8 RELENG_4_8_0_RELEASE src
....
@ -177,7 +177,7 @@ __Οι ετικέτες ``RELENG_*`` είναι δεσμευμένες για χ
Υπάρχουν και πολλές άλλες μεταβλητές που μπορούν να χρησιμοποιηθούν για να παραμετροποιήσετε την έκδοσή σας. Οι πιο πολλές από αυτές τις μεταβλητές περιγράφονται στην κορυφή του αρχείου [.filename]#src/release/Makefile#. Η ακριβής εντολή που χρησιμοποιήθηκε για να φτιαχτεί η επίσημη έκδοση 4.7 του FreeBSD (x86 πλατφόρμα) ήταν:
[source,bash]
[source,shell]
....
make release CHROOTDIR=/local3/release \
BUILDNAME=4.7-RELEASE \
@ -226,7 +226,7 @@ make release CHROOTDIR=/local3/release \
Ξεκινώντας με την έκδοση 4.4 του FreeBSD, η Ομάδα Ανάπτυξης του FreeBSD αποφάσισε να διανέμει και τα τέσσερα ISO αρχεία που πρώτα πουλούσαν οι εταιρείες _BSDi/Wind River Systems/FreeBSD Mall_ στις "επίσημες" διανομές CDROM που έκαναν. Κάθε ένα από τα τέσσερα ISO αρχεία πρέπει να περιέχει ένα αρχείο [.filename]#README.TXT# που περιγράφει τα περιεχόμενα του δίσκου, κι ένα αρχείο [.filename]#CDROM.INF# που περιέχει μετα-πληροφορίες για να μπορεί το πρόγραμμα man:sysinstall[8] να ελέγξει και να χρησιμοποιήσει αυτό το δίσκο, καθώς κι ένα αρχείο [.filename]#filename.txt# που παρέχει μια λίστα αρχείων του CDROM. Αυτή η λίστα μπορεί να δημιουργηθεί πολύ απλά, ως εξής:
[source,bash]
[source,shell]
....
/stage/cdrom# find . -type f | sed -e 's/^\.\///' | sort > filename.txt
....

View file

@ -352,14 +352,14 @@ H {re} δίνει στην κυκλοφορία μια καινούρια έκδ
Αν το ξέρετε αυτό μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να εγκαταστήσετε το πακέτο του Αγγλικού PDF FAQ:
[source,bash]
[source,shell]
....
# pkg_add ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/packages/faq.en_US.ISO8859-1.pdf.tgz
....
Αφού το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε την εντολή man:pkg_info[1] για να βρείτε που έχει εγκατασταθεί το αρχείο.
[source,bash]
[source,shell]
....
# pkg_info -f faq.en_US.ISO8859-1.pdf
Information for faq.en_US.ISO8859-1.pdf:
@ -379,7 +379,7 @@ File: +DESC (ignored)
Για παράδειγμα, η έκδοση του FAQ σε συνδεδεμένα αρχεία HTML, συμπιεσμένη με χρήση του man:bzip2[1], μπορεί να βρεθεί στο αρχείο [.filename]#doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2#. Για να κατεβάσετε και να αποσυμπιέσετε αυτό το αρχείο θα πρέπει να κάνετε το παρακάτω:
[source,bash]
[source,shell]
....
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2
# bzip2 -d book.html-split.tar.bz2
@ -478,7 +478,7 @@ File: +DESC (ignored)
* Εκτελώντας το DOS, μετακινηθείτε στον κατάλογο tools/ της FreeBSD διανομής σας, και ψάξτε για το αρχείο [.filename]#bootinst.exe#. Εκτελέστε το όπως φαίνεται παρακάτω:
+
[source,bash]
[source,shell]
....
...\TOOLS> bootinst.exe boot.bin
....
@ -487,7 +487,7 @@ File: +DESC (ignored)
* Ξεκινήστε ξανά χρησιμοποιώντας τη δισκέτα εκκίνησης του FreeBSD και πηγαίνετε στην επιλογή Custom Installation του μενού. Επιλέξτε Partition. Επιλέξτε τον οδηγό που κανονικά θα περιείχε τον διαχειριστή εκκίνησης σας (φυσιολογικά τον πρώτο) και όταν φτάσετε στον επεξεργαστή κατατμήσεων (partition editor) για τον οδηγό αυτό, το πρώτο πράγμα που θα κάνετε (χωρίς άλλες αλλαγές), είναι να επιλέξετε (W)rite. Επιλέξτε yes στην επιβεβαίωση που θα εμφανιστεί και όταν φτάσετε στην προτροπή επιλογής Διαχειριστή Εκκίνησης, επιλέξτε "Boot Manager". Με τον τρόπο αυτό ο διαχειριστής εκκίνησης θα γραφεί ξανά στο δίσκο. Μπορείτε τώρα να βγείτε από το μενού της εγκατάστασης και να επανεκκινήσετε από το σκληρό δίσκο, όπως συνήθως.
* Ξεκινήστε με τη βοήθεια της δισκέτας εκκίνησης (ή του CD) του FreeBSD και επιλέξτε "Fixit" από το μενού. Επιλέξτε είτε τη δισκέτα Fixit είτε το CD #2 (το "live" σύστημα αρχείων) και θα εισέλθετε στο κέλυφος fixit. Εκτελέστε έπειτα την ακόλουθη εντολή:
+
[source,bash]
[source,shell]
....
Fixit# fdisk -B -b /boot/boot0 bootdevice
....
@ -545,7 +545,7 @@ Fixit# fdisk -B -b /boot/boot0 bootdevice
. Γράψτε τα αρχεία [.filename]#boot1# και [.filename]#boot2# στο τοπικό σύστημα αρχείων.
. Χρησιμοποιήστε το man:disklabel[8] για να γράψετε τα [.filename]#boot1# και [.filename]#boot2# στο slice του FreeBSD.
+
[source,bash]
[source,shell]
....
# disklabel -B -b boot1 -s boot2 ad0sn
....
@ -721,21 +721,21 @@ options PAE
Δοκιμάστε να απενεργοποιήσετε την υποστήριξη ACPI. Μόλις ξεκινήσει ο φορτωτής εκκίνησης, πιέστε το πλήκτρο space. To σύστημα σας θα εμφανίσει
[source,bash]
[source,shell]
....
OK
....
. Γράψτε
[source,bash]
[source,shell]
....
unset acpi_load
....
και κατόπιν
[source,bash]
[source,shell]
....
boot
....
@ -839,14 +839,14 @@ OK
Αν θέλετε να χρησιμοποιήσετε το USB πληκτρολόγιο στην κονσόλα, θα πρέπει να δηλώσετε συγκεκριμένα στον οδηγό της κονσόλας να χρησιμοποιήσει το υπάρχον USB πληκτρολόγιο. Αυτό μπορεί να γίνει εκτελώντας την ακόλουθη εντολή ως μέρος της διαδικασίας αρχικοποίησης του συστήματος:
[source,bash]
[source,shell]
....
# kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null
....
Παρατηρήστε ότι αν το πληκτρολόγιο USB είναι το μοναδικό πληκτρολόγιο, θα είναι διαθέσιμο ως [.filename]#/dev/ukbd0#, και η εντολή θα δείχνει όπως παρακάτω:
[source,bash]
[source,shell]
....
# kbdcontrol -k /dev/ukbd0 < /dev/ttyv0 > /dev/null
....
@ -883,7 +883,7 @@ device psm0 at atkbdc? irq 12
Μόλις ο πυρήνας ανιχνεύσει σωστά τη συσκευή [.filename]#psm0# κατά την εκκίνηση, βεβαιωθείτε ότι υπάρχει η αντίστοιχη καταχώρηση για το [.filename]#psm0# στον κατάλογο [.filename]#/dev#. Μπορείτε να το δημιουργήσετε γράφοντας:
[source,bash]
[source,shell]
....
# cd /dev; sh MAKEDEV psm0
....
@ -900,7 +900,7 @@ device psm0 at atkbdc? irq 12
Αν χρησιμοποιείτε το προεπιλεγμένο πρόγραμμα οδήγησης κονσόλας, man:syscons[4], μπορείτε να χρησιμοποιήσετε το δείκτη του ποντικιού σας σε κονσόλες κειμένου για να κάνετε αποκοπή και επικόλληση κειμένου. Εκτελέστε τον δαίμονα του ποντικιού, man:moused[8], και ενεργοποιήστε το δείκτη του ποντικιού στην εικονική κονσόλα:
[source,bash]
[source,shell]
....
# moused -p /dev/xxxx -t yyyy
# vidcontrol -m on
@ -999,7 +999,7 @@ To FreeBSD υποστηρίζει αρκετά software modems με την βο
Κάποιες κάρτες ήχου, όπως η es1370, μηδενίζουν την ένταση του ήχου σε κάθε εκκίνηση. Πρέπει να εκτελείτε την ακόλουθη εντολή κάθε φορά που ξεκινά το μηχάνημα:
[source,bash]
[source,shell]
....
# mixer pcm 100 vol 100 cd 100
....
@ -1021,7 +1021,7 @@ To FreeBSD υποστηρίζει αρκετά software modems με την βο
Προσθέστε τη γραμμή
[source,bash]
[source,shell]
....
hint.acpi.0.disabled="1"
....
@ -1086,7 +1086,7 @@ device card 1
Για να ενεργοποιήσετε την επανατοποθέτηση χαλασμένων τομέων, επεξεργαστείτε την πρώτη σελίδα κατάστασης της συσκευής (modepage), δίνοντας την παρακάτω εντολή (ως `root`):
[source,bash]
[source,shell]
....
# camcontrol modepage sd0 -m 1 -e -P 3
....
@ -1231,7 +1231,7 @@ quit
Αν σας συμβεί αυτό, επανεκκινήστε σε κατάσταση ενός χρήστη (single user) και γράψτε:
[source,bash]
[source,shell]
....
# rm /var/db/kvm_*.db
....
@ -1288,7 +1288,7 @@ quit
Αν το πρόβλημα δεν μπορεί να λυθεί με διαφορετικό τρόπο, η λύση είναι να ορίσετε την παρακάτω μεταβλητή του sysctl:
[source,bash]
[source,shell]
....
# sysctl -w kern.timecounter.method=1
....
@ -1319,7 +1319,7 @@ ____
Για να λειτουργήσει ξανά η συσκευή, πρέπει να βρεθεί το PNP id της και να προστεθεί στη λίστα των ανιχνεύσεων ISA που χρησιμοποιούνται για την αναγνώριση PnP συσκευών. Αυτό μπορεί να γίνει με τη χρήση της man:pnpinfo[8] για την ανίχνευση της συσκευής, για παράδειγμα αυτή είναι η έξοδος της man:pnpinfo[8] για ένα εσωτερικό modem:
[source,bash]
[source,shell]
....
# pnpinfo
Checking for Plug-n-Play devices...
@ -1339,7 +1339,7 @@ TAG Start DF
[παραλείπονται οι υπόλοιπες γραμμές TAG]
[source,bash]
[source,shell]
....
TAG End DF
End Tag
@ -1360,7 +1360,7 @@ IO range check 0x00 activate 0x01
Εναλλακτικά, αν το man:pnpinfo[8] δεν δείχνει την ζητούμενη κάρτα, μπορείτε να χρησιμοποιήσετε το man:pciconf[8]. Παρακάτω φαίνεται ένα μέρος της εξόδου της `pciconf -vl` για ένα κύκλωμα ήχου ενσωματωμένου στη μητρική:
[source,bash]
[source,shell]
....
# pciconf -vl
chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02 hdr=0x00
@ -1435,7 +1435,7 @@ static struct isa_pnp_id sio_ids[] = {
Εκτελέστε την man:dmesg[8], και ελέγξτε για γραμμές που περιέχουν την λέξη `Timecounter`. Η τελευταία από τις γραμμές που θα εκτυπωθεί δείχνει το ρολόι που επιλέχθηκε από το FreeBSD και σχεδόν σίγουρα θα είναι το `TSC`.
[source,bash]
[source,shell]
....
# dmesg | grep Timecounter
Timecounter "i8254" frequency 1193182 Hz
@ -1444,7 +1444,7 @@ Timecounter "TSC" frequency 595573479 Hz
Μπορείτε να το επιβεβαιώσετε αυτό, ελέγχοντας την τιμή του `kern.timecounter.hardware` man:sysctl[3].
[source,bash]
[source,shell]
....
# sysctl kern.timecounter.hardware
kern.timecounter.hardware: TSC
@ -1454,7 +1454,7 @@ kern.timecounter.hardware: TSC
Στο παράδειγμα μας, είναι επίσης διαθέσιμο το ρολόι `i8254` και μπορείτε να το επιλέξετε γράφοντας το όνομα του στο man:sysctl[3] `kern.timecounter.hardware`.
[source,bash]
[source,shell]
....
# sysctl -w kern.timecounter.hardware=i8254
kern.timecounter.hardware: TSC -> i8254
@ -1690,7 +1690,7 @@ FreeBSD does not include a port upgrading tool, but it does have some tools to m
The man:pkg_version[1] command can generate a script that will update installed ports to the latest version in the ports tree.
[source,bash]
[source,shell]
....
# pkg_version -c > /tmp/myscript
....
@ -1728,7 +1728,7 @@ If you only update parts of the Ports Collection, using one of its CVSup subcoll
To create audio CDs from MIDI files, first install package:audio/timidity[] from ports then install manually the GUS patches set by Eric A. Welsh, available at http://www.stardate.bc.ca/eawpatches/html/default.htm[http://www.stardate.bc.ca/eawpatches/html/default.htm]. After timidity++ has been installed properly, midi files may be converted to wav files with the following command line:
[source,bash]
[source,shell]
....
% timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.mid
....
@ -1796,7 +1796,7 @@ There are a number of possible causes for this problem. They are, in no particul
If you are running FreeBSD version 5.2.1 or earlier, check for the existence of the `kern.quantum` sysctl. If you have it, you should see something like this:
[source,bash]
[source,shell]
....
% sysctl kern.quantum
kern.sched.quantum: 99960
@ -1804,7 +1804,7 @@ kern.sched.quantum: 99960
If the `kern.quantum` sysctl exists, you are using the 4BSD scheduler. If not, you will get an error printed by man:sysctl[8] (which you can safely ignore):
[source,bash]
[source,shell]
....
% sysctl kern.sched.quantum
sysctl: unknown oid 'kern.sched.quantum'
@ -1812,7 +1812,7 @@ sysctl: unknown oid 'kern.sched.quantum'
In FreeBSD version 5.3-RELEASE and later, the name of the scheduler currently being used is directly available as the value of the `kern.sched.name` sysctl:
[source,bash]
[source,shell]
....
% sysctl kern.sched.name
kern.sched.name: 4BSD
@ -1849,7 +1849,7 @@ You should never use anything but man:dump[8] and man:restore[8] to move the roo
For example, if you are going to move root to [.filename]#/dev/ad1s1a#, with [.filename]#/mnt# as the temporary mount point, it is:
[source,bash]
[source,shell]
....
# newfs /dev/ad1s1a
# mount /dev/ad1s1a /mnt
@ -1859,7 +1859,7 @@ For example, if you are going to move root to [.filename]#/dev/ad1s1a#, with [.f
Rearranging your partitions with dump takes a bit more work. To merge a partition like [.filename]#/var# into its parent, create the new partition large enough for both, move the parent partition as described above, then move the child partition into the empty directory that the first move created:
[source,bash]
[source,shell]
....
# newfs /dev/ad1s1a
# mount /dev/ad1s1a /mnt
@ -1871,7 +1871,7 @@ Rearranging your partitions with dump takes a bit more work. To merge a partitio
To split a directory from its parent, say putting [.filename]#/var# on its own partition when it was not before, create both partitions, then mount the child partition on the appropriate directory in the temporary mount point, then move the old single partition:
[source,bash]
[source,shell]
....
# newfs /dev/ad1s1a
# newfs /dev/ad1s1d
@ -1904,14 +1904,14 @@ Once you have got the BIOS and FreeBSD agreeing about the geometry of the disk,
To return a "dangerously dedicated" disk for normal PC use, there are basically two options. The first is, you write enough NULL bytes over the MBR to make any subsequent installation believe this to be a blank disk. You can do this for example with
[source,bash]
[source,shell]
....
# dd if=/dev/zero of=/dev/rda0 count=15
....
Alternatively, the undocumented DOS "feature"
[source,bash]
[source,shell]
....
C:\> fdisk /mbr
....
@ -1938,7 +1938,7 @@ Vital information on the root partition changes very rarely. Files such as [.fil
The symptom of this is:
[source,bash]
[source,shell]
....
# ccdconfig -C
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
@ -1950,7 +1950,7 @@ This usually happens when you are trying to concatenate the `c` partitions, whic
The symptom of this is:
[source,bash]
[source,shell]
....
# disklabel ccd0
(it prints something sensible here, so let us try to edit it)
@ -1962,7 +1962,7 @@ use "disklabel -r" to install initial label
This is because the disklabel returned by ccd is actually a "fake" one that is not really on the disk. You can solve this problem by writing it back explicitly, as in:
[source,bash]
[source,shell]
....
# disklabel ccd0 > /tmp/disklabel.tmp
# disklabel -Rr ccd0 /tmp/disklabel.tmp
@ -1995,7 +1995,7 @@ FreeBSD also supports network filesystems such as NFS (see man:mount_nfs[8]), Ne
The secondary DOS partitions are found after ALL the primary partitions. For example, if you have an "E" partition as the second DOS partition on the second SCSI drive, you need to create the special files for "slice 5" in [.filename]#/dev#, then mount [.filename]#/dev/da1s5#:
[source,bash]
[source,shell]
....
# cd /dev
# sh MAKEDEV da1s5
@ -2065,7 +2065,7 @@ other=/dev/dab4
In some cases you may need to specify the BIOS drive number to the FreeBSD boot loader to successfully boot off the second disk. For example, if your FreeBSD SCSI disk is probed by BIOS as BIOS disk 1, at the FreeBSD boot loader prompt you need to specify:
[source,bash]
[source,shell]
....
Boot: 1:da(0,a)/kernel
....
@ -2105,14 +2105,14 @@ Whether it is a removable drive like a Zip(R) or an EZ drive (or even a floppy,
If it is a ZIP drive or a floppy, you have already got a DOS filesystem on it, you can use a command like this:
[source,bash]
[source,shell]
....
# mount -t msdosfs /dev/fd0c /floppy
....
if it is a floppy, or this:
[source,bash]
[source,shell]
....
# mount -t msdosfs /dev/da2s4 /zip
....
@ -2125,7 +2125,7 @@ The rest of the examples will be for a ZIP drive on da2, the third SCSI disk.
Unless it is a floppy, or a removable you plan on sharing with other people, it is probably a better idea to stick a BSD filesystem on it. You will get long filename support, at least a 2X improvement in performance, and a lot more stability. First, you need to redo the DOS-level partitions/filesystems. You can either use man:fdisk[8] or [.filename]#/stand/sysinstall#, or for a small drive that you do not want to bother with multiple operating system support on, just blow away the whole FAT partition table (slices) and just use the BSD partitioning:
[source,bash]
[source,shell]
....
# dd if=/dev/zero of=/dev/rda2 count=2
# disklabel -Brw da2 auto
@ -2135,14 +2135,14 @@ You can use disklabel or [.filename]#/stand/sysinstall# to create multiple BSD p
Finally, create a new filesystem, this one is on our ZIP drive using the whole disk:
[source,bash]
[source,shell]
....
# newfs /dev/rda2c
....
and mount it:
[source,bash]
[source,shell]
....
# mount /dev/da2c /zip
....
@ -2191,7 +2191,7 @@ Ordinary users can be permitted to mount devices. Here is how:
. As `root` set the sysctl variable `vfs.usermount` to `1`.
+
[source,bash]
[source,shell]
....
# sysctl -w vfs.usermount=1
....
@ -2200,14 +2200,14 @@ Ordinary users can be permitted to mount devices. Here is how:
+
For example, to allow users to mount the first floppy drive, use:
+
[source,bash]
[source,shell]
....
# chmod 666 /dev/fd0
....
+
To allow users in the group `operator` to mount the CDROM drive, use:
+
[source,bash]
[source,shell]
....
# chgrp operator /dev/acd0c
# chmod 640 /dev/acd0c
@ -2238,7 +2238,7 @@ perm /dev/acd0 0660
All users can now mount the floppy [.filename]#/dev/fd0# onto a directory that they own:
[source,bash]
[source,shell]
....
% mkdir ~/my-mount-point
% mount -t msdosfs /dev/fd0 ~/my-mount-point
@ -2246,7 +2246,7 @@ All users can now mount the floppy [.filename]#/dev/fd0# onto a directory that t
Users in group `operator` can now mount the CDROM [.filename]#/dev/acd0c# onto a directory that they own:
[source,bash]
[source,shell]
....
% mkdir ~/my-mount-point
% mount -t cd9660 /dev/acd0c ~/my-mount-point
@ -2254,7 +2254,7 @@ Users in group `operator` can now mount the CDROM [.filename]#/dev/acd0c# onto a
Unmounting the device is simple:
[source,bash]
[source,shell]
....
% umount ~/my-mount-point
....
@ -2300,7 +2300,7 @@ The primary configuration file is [.filename]#/etc/defaults/rc.conf# (see man:rc
For example, if you wish to start named, the included DNS server, all you need to do is:
[source,bash]
[source,shell]
....
# echo named_enable="YES" >> /etc/rc.conf
....
@ -2317,7 +2317,7 @@ To remove the user, use the man:rmuser[8] command or, if necessary, man:pw[8].
This is normally caused by editing the system crontab ([.filename]#/etc/crontab#) and then using man:crontab[1] to install it:
[source,bash]
[source,shell]
....
# crontab /etc/crontab
....
@ -2326,7 +2326,7 @@ This is not the correct way to do things. The system crontab has a different for
If this is what you did, the extra crontab is simply a copy of [.filename]#/etc/crontab# in the wrong format it. Delete it with the command:
[source,bash]
[source,shell]
....
# crontab -r
....
@ -2436,7 +2436,7 @@ in the configuration file. If you use the PCVT console driver, use the following
This can also be done by setting the following sysctl which does not require a reboot or kernel recompile:
[source,bash]
[source,shell]
....
# sysctl hw.syscons.kbd_reboot=0
....
@ -2450,7 +2450,7 @@ options PCVT_CTRL_ALT_DEL
Use this perl command:
[source,bash]
[source,shell]
....
% perl -i.bak -npe 's/\r\n/\n/g' file ...
....
@ -2459,7 +2459,7 @@ file is the file(s) to process. The modification is done in-place, with the orig
Alternatively you can use the man:tr[1] command:
[source,bash]
[source,shell]
....
% tr -d '\r' < dos-text-file > unix-file
....
@ -2478,7 +2478,7 @@ The error comes from the Kerberos distributed authentication system. The problem
To remove Kerberos from the system, reinstall the bin distribution for the release you are running. If you have the CDROM, you can mount the cd (we will assume on /cdrom) and run
[source,bash]
[source,shell]
....
# cd /cdrom/bin
# ./install.sh
@ -2509,7 +2509,7 @@ pseudo-device pty 256
in the configuration file.
. Run the commands
+
[source,bash]
[source,shell]
....
# cd /dev
# sh MAKEDEV pty{1,2,3,4,5,6,7}
@ -2533,7 +2533,7 @@ There is no [.filename]#snd# device. The name is used as a shorthand for the var
To create these devices you should
[source,bash]
[source,shell]
....
# cd /dev
# sh MAKEDEV snd0
@ -2550,7 +2550,7 @@ Go into single user mode and then back to multi user mode.
On the console do:
[source,bash]
[source,shell]
....
# shutdown now
(Note: without -r or -h)
@ -2575,7 +2575,7 @@ Short answer: You are probably at security level greater than 0. Reboot directly
Long answer: FreeBSD disallows changing system flags at security levels greater than 0. You can check your security level with the command:
[source,bash]
[source,shell]
....
# sysctl kern.securelevel
....
@ -2588,7 +2588,7 @@ Short answer: You are probably at security level greater than 1. Reboot directly
Long answer: FreeBSD disallows changing the time by more that one second at security levels greater than 1. You can check your security level with the command:
[source,bash]
[source,shell]
....
# sysctl kern.securelevel
....
@ -2718,7 +2718,7 @@ Section "InputDevice"
Some people prefer to use [.filename]#/dev/mouse# under X. To make this work, [.filename]#/dev/mouse# should be linked to [.filename]#/dev/sysmouse# (see man:sysmouse[4]):
[source,bash]
[source,shell]
....
# cd /dev
# rm -f mouse
@ -2766,7 +2766,7 @@ For security reasons, the default setting is to not allow a machine to remotely
To enable this feature, simply start X with the optional `-listen_tcp` argument:
[source,bash]
[source,shell]
....
% startx -listen_tcp
....
@ -2845,7 +2845,7 @@ ttyvb "/usr/libexec/getty Pc" cons25 off secure
Next, the easiest (and cleanest) way to activate the virtual consoles is to reboot. However, if you really do not want to reboot, you can just shut down the X Window system and execute (as `root`):
[source,bash]
[source,shell]
....
# kill -HUP 1
....
@ -2918,14 +2918,14 @@ and notice that your mouse does not work properly.
If this happens, disable the synchronization check code by setting the driver flags for the PS/2 mouse driver to 0x100. Enter _UserConfig_ by giving the `-c` option at the boot prompt:
[source,bash]
[source,shell]
....
boot: -c
....
Then, in the _UserConfig_ command line, type:
[source,bash]
[source,shell]
....
UserConfig> flags psm0 0x100
UserConfig> quit
@ -2937,14 +2937,14 @@ There have been some reports that certain model of PS/2 mouse from MouseSystems
Specify the flags 0x04 to the PS/2 mouse driver to put the mouse into the high resolution mode. Enter _UserConfig_ by giving the `-c` option at the boot prompt:
[source,bash]
[source,shell]
....
boot: -c
....
Then, in the _UserConfig_ command line, type:
[source,bash]
[source,shell]
....
UserConfig> flags psm0 0x04
UserConfig> quit
@ -3012,7 +3012,7 @@ Assuming all "Windows(R)" keyboards are standard then the keycodes for the 3 key
To have the left Windows(R) key print a comma, try this.
[source,bash]
[source,shell]
....
# xmodmap -e "keycode 115 = comma"
....
@ -3096,14 +3096,14 @@ Because they are not necessary. In the Berkeley networking framework, network in
If the alias is on the same subnet as an address already configured on the interface, then add `netmask 0xffffffff` to your man:ifconfig[8] command-line, as in the following:
[source,bash]
[source,shell]
....
# ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff
....
Otherwise, just specify the network address and netmask as usual:
[source,bash]
[source,shell]
....
# ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00
....
@ -3122,7 +3122,7 @@ See link:{handbook}#network-nfs/[ the Handbook entry on NFS] for more informatio
Some versions of the Linux(R) NFS code only accept mount requests from a privileged port; try
[source,bash]
[source,shell]
....
# mount -o -P linuxbox:/blah /mnt
....
@ -3131,7 +3131,7 @@ Some versions of the Linux(R) NFS code only accept mount requests from a privile
Sun(TM) workstations running SunOS(TM) 4.X only accept mount requests from a privileged port; try
[source,bash]
[source,shell]
....
# mount -o -P sunbox:/blah /mnt
....
@ -3246,7 +3246,7 @@ If you have compiled your kernel with the `IPFIREWALL` option, you need to be aw
If you had unintentionally misconfigured your system for firewalling, you can restore network operability by typing the following while logged in as `root`:
[source,bash]
[source,shell]
....
# ipfw add 65534 allow all from any to any
....
@ -3263,7 +3263,7 @@ Please see the Handbook's link:{handbook}#firewalls/[Firewalls] section, specifi
Possibly because you want to do network address translation (NAT) and not just forward packets. A "fwd" rule does exactly what it says; it forwards packets. It does not actually change the data inside the packet. Say we have a rule like:
[source,bash]
[source,shell]
....
01000 fwd`10.0.0.1`
from any to`foo 21`
@ -3299,7 +3299,7 @@ pseudo-device bpf # Berkeley Packet Filter
On FreeBSD 4.X and earlier, you must also create the device node. After rebooting, go to the [.filename]#/dev# directory and run:
[source,bash]
[source,shell]
....
# sh MAKEDEV bpf0
....
@ -3319,14 +3319,14 @@ This is the kernel telling you that some activity is provoking it to send more I
The first number in the message tells you how many packets the kernel would have sent if the limit was not in place, and the second number tells you the limit. You can control the limit using the `net.inet.icmp.icmplim` sysctl variable like this, where `300` is the limit in packets per second:
[source,bash]
[source,shell]
....
# sysctl -w net.inet.icmp.icmplim=300
....
If you do not want to see messages about this in your log files, but you still want the kernel to do response limiting, you can use the `net.inet.icmp.icmplim_output` sysctl variable to disable the output like this:
[source,bash]
[source,shell]
....
# sysctl -w net.inet.icmp.icmplim_output=0
....
@ -3386,7 +3386,7 @@ The securelevel is a security mechanism implemented in the kernel. Basically, wh
To check the status of the securelevel on a running system, simply execute the following command:
[source,bash]
[source,shell]
....
# sysctl kern.securelevel
....
@ -3438,7 +3438,7 @@ Some people use `toor` for day-to-day `root` tasks with a non-standard shell, le
For security reasons, `suidperl` is installed without the suid bit by default. The system administrator can enable suid behavior with the following command.
[source,bash]
[source,shell]
....
# chmod u+s /usr/bin/suidperl
....
@ -3793,7 +3793,7 @@ ATDT1234567
Ppp (or any other program for that matter) should never dump core. Because man:ppp[8] runs with an effective user id of 0, the operating system will not write man:ppp[8]'s core image to disk before terminating it. If, however man:ppp[8] is actually terminating due to a segmentation violation or some other signal that normally causes core to be dumped, _and_ you are sure you are using the latest version (see the start of this section), then you should do the following:
[source,bash]
[source,shell]
....
% tar xfz ppp-*.src.tar.gz
% cd ppp*/ppp
@ -3809,7 +3809,7 @@ You will now have a debuggable version of man:ppp[8] installed. You will have to
Now, if and when man:ppp[8] receives the segmentation violation, it will dump a core file called [.filename]#ppp.core#. You should then do the following:
[source,bash]
[source,shell]
....
% su
# gdb /usr/sbin/ppp ppp.core
@ -3947,7 +3947,7 @@ This section answers common questions about serial communications with FreeBSD.
As the FreeBSD kernel boots, it will probe for the serial ports in your system for which the kernel was configured. You can either watch your system closely for the messages it prints or run the command
[source,bash]
[source,shell]
....
% dmesg | grep sio
....
@ -4003,14 +4003,14 @@ Not yet. You will have to use a different irq for each card.
The [.filename]#ttydX# (or [.filename]#cuaaX#) device is the regular device you will want to open for your applications. When a process opens the device, it will have a default set of terminal I/O settings. You can see these settings with the command
[source,bash]
[source,shell]
....
# stty -a -f /dev/ttyd1
....
When you change the settings to this device, the settings are in effect until the device is closed. When it is reopened, it goes back to the default set. To make changes to the default set, you can open and adjust the settings of the "initial state" device. For example, to turn on CLOCAL mode, 8 bits, and XON/XOFF flow control by default for ttyd5, do:
[source,bash]
[source,shell]
....
# stty -f /dev/ttyid5 clocal cs8 ixon ixoff
....
@ -4019,7 +4019,7 @@ A good place to do this is in [.filename]#/etc/rc.serial#. Now, an application w
You can also prevent certain settings from being changed by an application by making adjustments to the "lock state" device. For example, to lock the speed of [.filename]#ttyd5# to 57600 bps, do
[source,bash]
[source,shell]
....
# stty -f /dev/ttyld5 57600
....
@ -4054,14 +4054,14 @@ It is common practice to use `dialup` as the terminal type. Many users set up in
After making modifications to [.filename]#/etc/ttys#, you need to send a hangup or HUP signal to the man:init[8] process:
[source,bash]
[source,shell]
....
# kill -HUP 1
....
This forces the man:init[8] process to reread [.filename]#/etc/ttys#. The init process will then start getty processes on all `on` ports. You can find out if logins are available for your port by typing
[source,bash]
[source,shell]
....
% ps -ax | grep '[t]tyd1'
....
@ -4092,7 +4092,7 @@ On your system, the programs man:tip[1] and man:cu[1] are probably executable on
Alternatively, you can let everyone on your system run man:tip[1] and man:cu[1] by typing:
[source,bash]
[source,shell]
....
# chmod 4511 /usr/bin/cu
# chmod 4511 /usr/bin/tip
@ -4123,7 +4123,7 @@ Use the highest bps rate your modem supports in the br capability. Then, type `t
If there is no [.filename]#/dev/cuaa0# on your system, do this:
[source,bash]
[source,shell]
....
# cd /dev
# sh MAKEDEV cuaa0
@ -4131,7 +4131,7 @@ If there is no [.filename]#/dev/cuaa0# on your system, do this:
Or use cu as `root` with the following command:
[source,bash]
[source,shell]
....
# cu -lline -sspeed
....
@ -4278,7 +4278,7 @@ The simple answer is that free memory is wasted memory. Any memory that your pro
Symlinks do not have permissions, and by default, man:chmod[1] will not follow symlinks to change the permissions on the target file. So if you have a file, [.filename]#foo#, and a symlink to that file, [.filename]#bar#, then this command will always succeed.
[source,bash]
[source,shell]
....
% chmod g-w bar
....
@ -4292,7 +4292,7 @@ You have to use either `-H` or `-L` together with the `-R` option to make this w
The `-R` option does a _RECURSIVE_ man:chmod[1]. Be careful about specifying directories or symlinks to directories to man:chmod[1]. If you want to change the permissions of a directory referenced by a symlink, use man:chmod[1] without any options and follow the symlink with a trailing slash ([.filename]#/#). For example, if [.filename]#foo# is a symlink to directory [.filename]#bar#, and you want to change the permissions of [.filename]#foo# (actually [.filename]#bar#), you would do something like:
[source,bash]
[source,shell]
....
% chmod 555 foo/
....
@ -4635,14 +4635,14 @@ What you should do is this:
. Write down the instruction pointer value. Note that the `0x8:` part at the beginning is not significant in this case: it is the `0xf0xxxxxx` part that we want.
. When the system reboots, do the following:
+
[source,bash]
[source,shell]
....
% nm -n /kernel.that.caused.the.panic | grep f0xxxxxx
....
+
where `f0xxxxxx` is the instruction pointer value. The odds are you will not get an exact match since the symbols in the kernel symbol table are for the entry points of functions and the instruction pointer address will be somewhere inside a function, not at the start. If you do not get an exact match, omit the last digit from the instruction pointer value and try again, i.e.:
+
[source,bash]
[source,shell]
....
% nm -n /kernel.that.caused.the.panic | grep f0xxxxx
....
@ -4676,7 +4676,7 @@ FreeBSD crash dumps are usually the same size as the physical RAM size of your m
Once you have recovered the crash dump, you can get a stack trace with man:gdb[1] as follows:
[source,bash]
[source,shell]
....
% gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0
(gdb) where

View file

@ -78,7 +78,7 @@ For one machine to be able to find another over a network, there must be a mecha
To illustrate different aspects of routing, we will use the following example from `netstat`:
[source,bash]
[source,shell]
....
% netstat -r
Routing tables
@ -201,7 +201,7 @@ defaultrouter="10.20.30.1"
It is also possible to do it directly from the command line with the man:route[8] command:
[source,bash]
[source,shell]
....
# route add default 10.20.30.1
....
@ -244,7 +244,7 @@ In this scenario, `RouterA` is our FreeBSD machine that is acting as a router to
If we look at the routing table for `RouterA` we would see something like the following:
[source,bash]
[source,shell]
....
% netstat -nr
Routing tables
@ -259,7 +259,7 @@ default 10.0.0.1 UGS 0 49378 xl0
With the current routing table `RouterA` will not be able to reach our Internal Net 2. It does not have a route for `192.168.2.0/24`. One way to alleviate this is to manually add the route. The following command would add the Internal Net 2 network to ``RouterA``'s routing table using `192.168.1.2` as the next hop:
[source,bash]
[source,shell]
....
# route add -net 192.168.2.0/24 192.168.1.2
....
@ -279,7 +279,7 @@ route_internalnet2="-net 192.168.2.0/24 192.168.1.2"
The `static_routes` configuration variable is a list of strings separated by a space. Each string references to a route name. In our above example we only have one string in `static_routes`. This string is _internalnet2_. We then add a configuration variable called `route_internalnet2` where we put all of the configuration parameters we would give to the man:route[8] command. For our example above we would have used the command:
[source,bash]
[source,shell]
....
# route add -net 192.168.2.0/24 192.168.1.2
....
@ -402,7 +402,7 @@ With this information in the kernel configuration file, recompile the kernel and
When the system is up, we could find some information about the wireless device in the boot messages, like this:
[source,bash]
[source,shell]
....
ath0: <Atheros 5212> mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2
ath0: Ethernet address: 00:11:95:d5:43:62
@ -419,7 +419,7 @@ The infrastructure mode or BSS mode is the mode that is typically used. In this
To scan for networks, use the `ifconfig` command. This request may take a few moments to complete as it requires that the system switches to each available wireless frequency and probes for available access points. Only the super-user can initiate such a scan:
[source,bash]
[source,shell]
....
# ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
@ -451,7 +451,7 @@ Short slot time. Indicates that the 802.11g network is using a short slot time b
One can also display the current list of known networks with:
[source,bash]
[source,shell]
....
# ifconfig ath0 list scan
....
@ -523,14 +523,14 @@ ifconfig_ath0="DHCP"
At this point, you are ready to bring up the wireless interface:
[source,bash]
[source,shell]
....
# /etc/rc.d/netif start
....
Once the interface is running, use `ifconfig` to see the status of the interface [.filename]#ath0#:
[source,bash]
[source,shell]
....
# ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
@ -593,7 +593,7 @@ ifconfig_ath0="WPA DHCP"
Then, we can bring up the interface:
[source,bash]
[source,shell]
....
# /etc/rc.d/netif start
Starting wpa_supplicant.
@ -616,7 +616,7 @@ ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
Or you can try to configure it manually using the same [.filename]#/etc/wpa_supplicant.conf# <<network-wireless-wpa-wpa-psk,above>>, and run:
[source,bash]
[source,shell]
....
# wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz)
@ -626,7 +626,7 @@ WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP]
The next operation is the launch of the `dhclient` command to get the IP address from the DHCP server:
[source,bash]
[source,shell]
....
# dhclient ath0
DHCPREQUEST on ath0 to 255.255.255.255 port 67
@ -651,7 +651,7 @@ If the [.filename]#/etc/rc.conf# is set up with the line `ifconfig_ath0="DHCP"`
In the case where the use of DHCP is not possible, you can set a static IP address after `wpa_supplicant` has authenticated the station:
[source,bash]
[source,shell]
....
# ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0
# ifconfig ath0
@ -668,7 +668,7 @@ ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
When DHCP is not used, you also have to manually set up the default gateway and the nameserver:
[source,bash]
[source,shell]
....
# route add default your_default_router
# echo "nameserver your_DNS_server" >> /etc/resolv.conf
@ -727,7 +727,7 @@ ifconfig_ath0="WPA DHCP"
The next step is to bring up the interface with the help of the [.filename]#rc.d# facility:
[source,bash]
[source,shell]
....
# /etc/rc.d/netif start
Starting wpa_supplicant.
@ -788,7 +788,7 @@ ifconfig_ath0="WPA DHCP"
The next step is to bring up the interface:
[source,bash]
[source,shell]
....
# /etc/rc.d/netif start
Starting wpa_supplicant.
@ -853,7 +853,7 @@ ifconfig_ath0="WPA DHCP"
Then, we can bring up the interface:
[source,bash]
[source,shell]
....
# /etc/rc.d/netif start
Starting wpa_supplicant.
@ -880,7 +880,7 @@ WEP (Wired Equivalent Privacy) is part of the original 802.11 standard. There is
WEP can be set up with `ifconfig`:
[source,bash]
[source,shell]
....
# ifconfig ath0 inet 192.168.1.100 netmask 255.255.255.0 ssid my_net \
wepmode on weptxkey 3 wepkey 3:0x3456789012
@ -910,7 +910,7 @@ network={
Then:
[source,bash]
[source,shell]
....
# wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz)
@ -923,7 +923,7 @@ IBSS mode, also called ad-hoc mode, is designed for point to point connections.
On the box `A`:
[source,bash]
[source,shell]
....
# ifconfig ath0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc
# ifconfig ath0
@ -941,7 +941,7 @@ The `adhoc` parameter indicates the interface is running in the IBSS mode.
On `B`, we should be able to detect `A`:
[source,bash]
[source,shell]
....
# ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
@ -950,7 +950,7 @@ On `B`, we should be able to detect `A`:
The `I` in the output confirms the machine `A` is in ad-hoc mode. We just have to configure `B` with a different IP address:
[source,bash]
[source,shell]
....
# ifconfig ath0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc
# ifconfig ath0
@ -977,7 +977,7 @@ If you are having trouble with wireless networking, there are a number of steps
The `wpa_supplicant` has much debugging support; try running it manually with the `-dd` option and look at the system logs.
* There are also many lower-level debugging tools. You can enable debugging messages in the 802.11 protocol support layer using the `wlandebug` program found in [.filename]#/usr/src/tools/tools/net80211#. For example:
+
[source,bash]
[source,shell]
....
# wlandebug -i ath0 +scan+auth+debug+assoc
net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan>
@ -1002,7 +1002,7 @@ The Bluetooth stack in FreeBSD is implemented using the Netgraph framework (see
By default Bluetooth device drivers are available as kernel modules. Before attaching a device, you will need to load the driver into the kernel:
[source,bash]
[source,shell]
....
# kldload ng_ubt
....
@ -1016,7 +1016,7 @@ ng_ubt_load="YES"
Plug in your USB dongle. The output similar to the following will appear on the console (or in syslog):
[source,bash]
[source,shell]
....
ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
@ -1030,7 +1030,7 @@ The Bluetooth stack has to be started manually on FreeBSD 6.0, and on FreeBSD 5.
Copy [.filename]#/usr/shared/examples/netgraph/bluetooth/rc.bluetooth# into some convenient place, like [.filename]#/etc/rc.bluetooth#. This script is used to start and stop the Bluetooth stack. It is a good idea to stop the stack before unplugging the device, but it is not (usually) fatal. When starting the stack, you will receive output similar to the following:
[source,bash]
[source,shell]
....
# /etc/rc.bluetooth start ubt0
BD_ADDR: 00:02:72:00:d4:1a
@ -1056,7 +1056,7 @@ A single Netgraph node of type _hci_ is created for a single Bluetooth device. T
One of the most common tasks is discovery of Bluetooth devices in RF proximity. This operation is called _inquiry_. Inquiry and other HCI related operations are done with the man:hccontrol[8] utility. The example below shows how to find out which Bluetooth devices are in range. You should receive the list of devices in a few seconds. Note that a remote device will only answer the inquiry if it put into _discoverable_ mode.
[source,bash]
[source,shell]
....
% hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
@ -1072,7 +1072,7 @@ Inquiry complete. Status: No error [00]
`BD_ADDR` is unique address of a Bluetooth device, similar to MAC addresses of a network card. This address is needed for further communication with a device. It is possible to assign human readable name to a BD_ADDR. The [.filename]#/etc/bluetooth/hosts# file contains information regarding the known Bluetooth hosts. The following example shows how to obtain human readable name that was assigned to the remote device:
[source,bash]
[source,shell]
....
% hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4
BD_ADDR: 00:80:37:29:19:a4
@ -1083,7 +1083,7 @@ If you perform an inquiry on a remote Bluetooth device, it will find your comput
The Bluetooth system provides a point-to-point connection (only two Bluetooth units involved), or a point-to-multipoint connection. In the point-to-multipoint connection the connection is shared among several Bluetooth devices. The following example shows how to obtain the list of active baseband connections for the local device:
[source,bash]
[source,shell]
....
% hccontrol -n ubt0hci read_connection_list
Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State
@ -1092,7 +1092,7 @@ Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State
A _connection handle_ is useful when termination of the baseband connection is required. Note, that it is normally not required to do it by hand. The stack will automatically terminate inactive baseband connections.
[source,bash]
[source,shell]
....
# hccontrol -n ubt0hci disconnect 41
Connection handle: 41
@ -1111,7 +1111,7 @@ A single Netgraph node of type _l2cap_ is created for a single Bluetooth device.
A useful command is man:l2ping[8], which can be used to ping other devices. Some Bluetooth implementations might not return all of the data sent to them, so `0 bytes` in the following example is normal.
[source,bash]
[source,shell]
....
# l2ping -a 00:80:37:29:19:a4
0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0
@ -1122,7 +1122,7 @@ A useful command is man:l2ping[8], which can be used to ping other devices. Some
The man:l2control[8] utility is used to perform various operations on L2CAP nodes. This example shows how to obtain the list of logical connections (channels) and the list of baseband connections for the local device:
[source,bash]
[source,shell]
....
% l2control -a 00:02:72:00:d4:1a read_channel_list
L2CAP channels:
@ -1136,7 +1136,7 @@ Remote BD_ADDR Handle Flags Pending State
Another diagnostic tool is man:btsockstat[1]. It does a job similar to as man:netstat[1] does, but for Bluetooth network-related data structures. The example below shows the same logical connection as man:l2control[8] above.
[source,bash]
[source,shell]
....
% btsockstat
Active L2CAP sockets
@ -1207,7 +1207,7 @@ Normally, a SDP client searches for services based on some desired characteristi
The Bluetooth SDP server man:sdpd[8] and command line client man:sdpcontrol[8] are included in the standard FreeBSD installation. The following example shows how to perform a SDP browse query.
[source,bash]
[source,shell]
....
% sdpcontrol -a 00:01:03:fc:6e:ec browse
Record Handle: 00000000
@ -1235,7 +1235,7 @@ Bluetooth Profile Descriptor List:
... and so on. Note that each service has a list of attributes (RFCOMM channel for example). Depending on the service you might need to make a note of some of the attributes. Some Bluetooth implementations do not support service browsing and may return an empty list. In this case it is possible to search for the specific service. The example below shows how to search for the OBEX Object Push (OPUSH) service:
[source,bash]
[source,shell]
....
% sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH
....
@ -1249,14 +1249,14 @@ sdpd_enable="YES"
Then the sdpd daemon can be started with:
[source,bash]
[source,shell]
....
# /etc/rc.d/sdpd start
....
On FreeBSD 6.0, and on FreeBSD 5.X before 5.5, sdpd is not integrated into the system startup scripts. It has to be started manually with:
[source,bash]
[source,shell]
....
# sdpd
....
@ -1265,7 +1265,7 @@ The local server application that wants to provide Bluetooth service to the remo
The list of services registered with the local SDP server can be obtained by issuing SDP browse query via local control channel:
[source,bash]
[source,shell]
....
# sdpcontrol -l browse
....
@ -1287,14 +1287,14 @@ In FreeBSD both profiles are implemented with man:ppp[8] and man:rfcomm_pppd[8]
In the following example man:rfcomm_pppd[8] will be used to open RFCOMM connection to remote device with BD_ADDR 00:80:37:29:19:a4 on DUN RFCOMM channel. The actual RFCOMM channel number will be obtained from the remote device via SDP. It is possible to specify RFCOMM channel by hand, and in this case man:rfcomm_pppd[8] will not perform SDP query. Use man:sdpcontrol[8] to find out RFCOMM channel on the remote device.
[source,bash]
[source,shell]
....
# rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup
....
In order to provide Network Access with PPP (LAN) service the man:sdpd[8] server must be running. A new entry for LAN clients must be created in the [.filename]#/etc/ppp/ppp.conf# file. Consult man:rfcomm_pppd[8] manual page for examples. Finally, start RFCOMM PPP server on valid RFCOMM channel number. The RFCOMM PPP server will automatically register Bluetooth LAN service with the local SDP daemon. The example below shows how to start RFCOMM PPP server.
[source,bash]
[source,shell]
....
# rfcomm_pppd -s -C 7 -l rfcomm-server
....
@ -1307,7 +1307,7 @@ The OBEX server and client are implemented as a third-party package obexapp, whi
OBEX client is used to push and/or pull objects from the OBEX server. An object can, for example, be a business card or an appointment. The OBEX client can obtain RFCOMM channel number from the remote device via SDP. This can be done by specifying service name instead of RFCOMM channel number. Supported service names are: IrMC, FTRN and OPUSH. It is possible to specify RFCOMM channel as a number. Below is an example of an OBEX session, where device information object is pulled from the cellular phone, and a new object (business card) is pushed into the phone's directory.
[source,bash]
[source,shell]
....
% obexapp -a 00:80:37:29:19:a4 -C IrMC
obex> get telecom/devinfo.txt devinfo-t39.txt
@ -1320,7 +1320,7 @@ Success, response: OK, Success (0x20)
In order to provide OBEX Object Push service, man:sdpd[8] server must be running. A root folder, where all incoming objects will be stored, must be created. The default path to the root folder is [.filename]#/var/spool/obex#. Finally, start OBEX server on valid RFCOMM channel number. The OBEX server will automatically register OBEX Object Push service with the local SDP daemon. The example below shows how to start OBEX server.
[source,bash]
[source,shell]
....
# obexapp -s -C 10
....
@ -1331,7 +1331,7 @@ The Serial Port Profile (SPP) allows Bluetooth devices to perform RS232 (or simi
The man:rfcomm_sppd[1] utility implements the Serial Port profile. A pseudo tty is used as a virtual serial port abstraction. The example below shows how to connect to a remote device Serial Port service. Note that you do not have to specify a RFCOMM channel - man:rfcomm_sppd[1] can obtain it from the remote device via SDP. If you would like to override this, specify a RFCOMM channel on the command line.
[source,bash]
[source,shell]
....
# rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6
rfcomm_sppd[94692]: Starting on /dev/ttyp6...
@ -1339,7 +1339,7 @@ rfcomm_sppd[94692]: Starting on /dev/ttyp6...
Once connected, the pseudo tty can be used as serial port:
[source,bash]
[source,shell]
....
# cu -l ttyp6
....
@ -1350,7 +1350,7 @@ Once connected, the pseudo tty can be used as serial port:
Some older Bluetooth devices do not support role switching. By default, when FreeBSD is accepting a new connection, it tries to perform a role switch and become master. Devices, which do not support this will not be able to connect. Note that role switching is performed when a new connection is being established, so it is not possible to ask the remote device if it does support role switching. There is a HCI option to disable role switching on the local side:
[source,bash]
[source,shell]
....
# hccontrol -n ubt0hci write_node_role_switch 0
....
@ -1431,7 +1431,7 @@ Note that these options will make the firewall seem completely transparent; any
The third option is to apply the following man:ipfw[8] rule:
[source,bash]
[source,shell]
....
# ipfw add allow mac-type arp layer2
....
@ -1628,7 +1628,7 @@ For our setup, we shall use a boot floppy. For other methods (PROM, or MS-DOS(R)
To make a boot floppy, insert a floppy in the drive on the machine where you installed Etherboot, then change your current directory to the [.filename]#src# directory in the Etherboot tree and type:
[source,bash]
[source,shell]
....
# gmake bin32/devicetype.fd0
@ -1666,7 +1666,7 @@ It appears that at least some PXE versions want the TCP version of TFTP. In this
. Tell inetd to reread its configuration file. The `inetd_enable="YES"` must be in the [.filename]#/etc/rc.conf# file for this command to execute correctly:
+
[source,bash]
[source,shell]
....
# /etc/rc.d/inetd restart
....
@ -1693,7 +1693,7 @@ nfs_server_enable="YES"
. Tell mountd to reread its configuration file. If you actually needed to enable NFS in [.filename]#/etc/rc.conf# at the first step, you probably want to reboot instead.
+
[source,bash]
[source,shell]
....
# /etc/rc.d/mountd restart
....
@ -1758,7 +1758,7 @@ If needed, a swap file located on the server can be accessed via NFS.
The kernel does not support enabling NFS swap at boot time. Swap must be enabled by the startup scripts, by mounting a writable file system and creating and enabling a swap file. To create a swap file of appropriate size, you can do like this:
[source,bash]
[source,shell]
....
# dd if=/dev/zero of=/path/to/swapfile bs=1k count=1 oseek=100000
....
@ -2214,7 +2214,7 @@ BUSY
First, you have to get a laplink cable. Then, confirm that both computers have a kernel with man:lpt[4] driver support:
[source,bash]
[source,shell]
....
# grep lp /var/run/dmesg.boot
lpt0: <Printer> on ppbus0
@ -2231,7 +2231,7 @@ hint.ppc.0.irq="7"
Then check if the kernel configuration file has a `device plip` line or if the [.filename]#plip.ko# kernel module is loaded. In both cases the parallel networking interface should appear when you use the man:ifconfig[8] command to display it:
[source,bash]
[source,shell]
....
# ifconfig plip0
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
@ -2249,14 +2249,14 @@ IP Address 10.0.0.1 10.0.0.2
Configure the interface on `host1` by doing:
[source,bash]
[source,shell]
....
# ifconfig plip0 10.0.0.1 10.0.0.2
....
Configure the interface on `host2` by doing:
[source,bash]
[source,shell]
....
# ifconfig plip0 10.0.0.2 10.0.0.1
....
@ -2274,7 +2274,7 @@ You should also add both hosts to [.filename]#/etc/hosts#:
To confirm the connection works, go to each host and ping the other. For example, on `host1`:
[source,bash]
[source,shell]
....
# ifconfig plip0
plip0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
@ -2401,7 +2401,7 @@ A third form is to write the last 32 Bit part in the well known (decimal) IPv4 s
By now the reader should be able to understand the following:
[source,bash]
[source,shell]
....
# ifconfig
....
@ -2598,7 +2598,7 @@ To build a fully meshed net we need one ATM connection between each pair of mach
The VPI and VCI values at each end of the connection may of course differ, but for simplicity we assume that they are the same. Next we need to configure the ATM interfaces on each host:
[source,bash]
[source,shell]
....
hostA# ifconfig hatm0 192.168.173.1 up
hostB# ifconfig hatm0 192.168.173.2 up
@ -2608,7 +2608,7 @@ hostD# ifconfig hatm0 192.168.173.4 up
assuming that the ATM interface is [.filename]#hatm0# on all hosts. Now the PVCs need to be configured on `hostA` (we assume that they are already configured on the ATM switches, you need to consult the manual for the switch on how to do this).
[source,bash]
[source,shell]
....
hostA# atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
hostA# atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
@ -2629,7 +2629,7 @@ hostD# atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr
Of course other traffic contracts than UBR can be used given the ATM adapter supports those. In this case the name of the traffic contract is followed by the parameters of the traffic. Help for the man:atmconfig[8] tool can be obtained with:
[source,bash]
[source,shell]
....
# atmconfig help natm add
....
@ -2650,7 +2650,7 @@ route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"
The current state of all CLIP routes can be obtained with:
[source,bash]
[source,shell]
....
hostA# atmconfig natm show
....
@ -2669,7 +2669,7 @@ device carp
CARP functionality should now be available and may be tuned via several `sysctl` OIDs. Devices themselves may be loaded via the `ifconfig` command:
[source,bash]
[source,shell]
....
# ifconfig carp0 create
....
@ -2722,7 +2722,7 @@ Having the two [.filename]#carp# devices will allow `provider.example.org` to no
====
The default FreeBSD kernel _may_ have preemption enabled. If so, `provider.example.org` may not relinquish the IP address back to the original content server. In this case, an administrator may "nudge" the interface. The following command should be issued on `provider.example.org`:
[source,bash]
[source,shell]
....
# ifconfig carp0 down && ifconfig carp0 up
....

View file

@ -229,7 +229,7 @@ Audit trails are stored in the BSM binary format, so tools must be used to modif
For example, the `praudit` utility will dump the entire contents of a specified audit log in plain text:
[source,bash]
[source,shell]
....
# praudit /var/audit/AUDITFILE
....
@ -255,7 +255,7 @@ This audit represents a successful `execve` call, in which the command `finger d
Since audit logs may be very large, an administrator will likely want to select a subset of records for using, such as records associated with a specific user:
[source,bash]
[source,shell]
....
# auditreduce -u trhodes /var/audit/AUDITFILE | praudit
....
@ -270,7 +270,7 @@ Members of the `audit` group are given permission to read audit trails in [.file
Audit pipes are cloning pseudo-devices in the device file system which allow applications to tap the live audit record stream. This is primarily of interest to authors of intrusion detection and system monitoring applications. However, for the administrator the audit pipe device is a convenient way to allow live monitoring without running into problems with audit trail file ownership or log rotation interrupting the event stream. To track the live audit event stream, use the following command line
[source,bash]
[source,shell]
....
# praudit /dev/auditpipe
....
@ -294,7 +294,7 @@ It is easy to produce audit event feedback cycles, in which the viewing of each
Audit trails are written to only by the kernel, and managed only by the audit daemon, auditd. Administrators should not attempt to use man:newsyslog.conf[5] or other tools to directly rotate audit logs. Instead, the `audit` management tool may be used to shut down auditing, reconfigure the audit system, and perform log rotation. The following command causes the audit daemon to create a new audit log and signal the kernel to switch to using the new log. The old log will be terminated and renamed, at which point it may then be manipulated by the administrator.
[source,bash]
[source,shell]
....
# audit -n
....

View file

@ -74,7 +74,7 @@ toc::[]
Εάν δεν έχετε ρυθμίσει το FreeBSD να ξεκινά αυτόματα κάποιο γραφικό περιβάλλον εργασίας, τότε αμέσως μετά την εκκίνηση του συστήματος και την ολοκλήρωση των σεναρίων εκκίνησης (startup scripts) θα εμφανιστεί η προτροπή σύνδεσης (login prompt). Θα δείτε κάτι παρόμοιο στην οθόνη σας:
[source,bash]
[source,shell]
....
Additional ABI support:.
Local package initialization:.
@ -114,14 +114,14 @@ login:
Αμέσως μετά την ολοκλήρωση των διεργασιών εκκίνησης του FreeBSD και των σεναρίων εκκίνησης (startup scripts) , θα εμφανιστεί το σύμβολο της προτροπής (prompt) και θα σας ζητηθεί ένα έγκυρο όνομα χρήστη:
[source,bash]
[source,shell]
....
login:
....
Για παράδειγμα, ας υποθέσουμε πως το όνομα χρήστη σας είναι `john`. Πληκτρολογήστε `john` στην προτροπή και πατήστε kbd:[Enter]. Θα ακολουθήσει μια νέα προτροπή για να δώσετε τον "κωδικό πρόσβασης (password)":
[source,bash]
[source,shell]
....
login: john
Password:
@ -203,14 +203,14 @@ options SC_PIXEL_MODE
Μετά τη μεταγλώττιση του πυρήνα με τις παραπάνω δύο επιλογές, μπορείτε να βρείτε ποιες αναλύσεις υποστηρίζονται από το υλικό σας, χρησιμοποιώντας το βοηθητικό πρόγραμμα man:vidcontrol[1]. Για να δείτε μια λίστα από τις υποστηριζόμενες αναλύσεις, δώστε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# vidcontrol -i mode
....
Η έξοδος της εντολής αυτής, είναι μια λίστα από αναλύσεις οθόνης που υποστηρίζονται από το υλικό σας. Μπορείτε έπειτα να επιλέξετε μια νέα ανάλυση, δίνοντας την ως όρισμα στην man:vidcontrol[1] σε μια κονσόλα που έχετε συνδεθεί ως `root`:
[source,bash]
[source,shell]
....
# vidcontrol MODE_279
....
@ -271,7 +271,7 @@ allscreens_flags="MODE_279"
Μπορείτε να χρησιμοποιήσετε την εντολή man:ls[1] με πρόθεμα `-l` στην γραμμή εντολών για να δείτε τα περιεχόμενα καταλόγου και παρατηρήστε πως περιέχεται μια στήλη με τις άδειες των αρχείων για τον ιδιοκτήτη, την ομάδα, και για όλους τους άλλους. Για παράδειγμα, αν δώσουμε `ls -l` σε ένα τυχαίο κατάλογο:
[source,bash]
[source,shell]
....
% ls -l
total 530
@ -283,7 +283,7 @@ total 530
Η πρώτη στήλη που παίρνουμε με την εντολή `ls -l` διαχωρίζεται ως εξής:
[source,bash]
[source,shell]
....
-rw-r--r--
....
@ -360,14 +360,14 @@ total 530
Οι τιμές εισάγονται με την εντολή man:chmod[1] όπως πριν, αλλά με γράμματα. Για παράδειγμα, θα μπορούσατε να χρησιμοποιήσετε την ακόλουθη εντολή για να απαγορεύσετε σε άλλους χρήστες την πρόσβαση στο _FILE_:
[source,bash]
[source,shell]
....
% chmod go= FILE
....
Μπορούν να γίνουν πάνω από μία αλλαγές στις άδειες ενός αρχείου ταυτόχρονα διαχωρίζοντας τις αλλαγές με κόμμα. Για παράδειγμα, η ακόλουθη εντολή θα αφαιρέσει στην ομάδα και στον "υπόλοιπο κόσμο" την άδεια εγγραφής, και στη συνέχεια θα προσθέσει άδεια εκτέλεσης σε όλους.
[source,bash]
[source,shell]
....
% chmod go-w,a+x FILE
....
@ -380,21 +380,21 @@ total 530
Η μετατροπή των file flags γίνεται με την man:chflags[1], χρησιμοποιώντας μια απλή διασύνδεση. Για παράδειγμα, για να ενεργοποιήσουμε το flag του συστήματος μη διαγραφής αρχείου στο αρχείο [.filename]#file1#, δίνουμε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# chflags sunlink file1
....
Για να απενεργοποιήσουμε το flag του συστήματος μη διαγραφής αρχείου, απλά δίνουμε την προηγούμενη εντολή με "no" μπροστά από το `sunlink`. Παρατηρήστε:
[source,bash]
[source,shell]
....
# chflags nosunlink file1
....
Για να δείτε τα flags ενός αρχείου, χρησιμοποιήστε την εντολή man:ls[1] με το πρόθεμα `-lo`:
[source,bash]
[source,shell]
....
# ls -lo file1
....
@ -423,7 +423,7 @@ total 530
Μπορείτε να καθορίσετε την άδεια setuid, τοποθετώντας τον αριθμό τέσσερα (4) μπροστά από το γενικό σετ των αδειών, όπως φαίνεται στο ακόλουθο παράδειγμα:
[source,bash]
[source,shell]
....
# chmod 4755 suidexample.sh
....
@ -441,7 +441,7 @@ total 530
Στο τερματικό Α:
[source,bash]
[source,shell]
....
Changing local password for trhodes
Old Password:
@ -449,12 +449,12 @@ Old Password:
Στο τερματικό Β:
[source,bash]
[source,shell]
....
# ps aux | grep passwd
....
[source,bash]
[source,shell]
....
trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd
@ -466,14 +466,14 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd
Για να θέσετε την άδεια `setgid` σε ένα αρχείο, θα πρέπει να τοποθετήσετε τον αριθμό δύο (2) μπροστά από το σύνολο αδειών, στην εντολή `chmod`. Δείτε το παρακάτω παράδειγμα:
[source,bash]
[source,shell]
....
# chmod 2755 sgidexample.sh
....
Όπως και πριν, θα παρατηρήσετε τη νέα άδεια `s`, αλλά αυτή τη φορά στο σετ των αδειών της ομάδας:
[source,bash]
[source,shell]
....
-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 sgidexample.sh
....
@ -487,19 +487,19 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd
Όταν θέσετε το `sticky bit` σε ένα κατάλογο, επιτρέπεται η διαγραφή ενός αρχείου μόνο από τον ιδιοκτήτη του. Η άδεια αυτή είναι χρήσιμη για να αποφεύγεται η διαγραφή ενός αρχείου από κοινόχρηστους καταλόγους, όπως για παράδειγμα ο [.filename]#/tmp#, από κάποιο χρήστη που δεν είναι ο ιδιοκτήτης του. Για να θέσετε αυτή την άδεια, τοποθετήστε τον αριθμό ένα (1) στην αρχή του σετ αδειών:
[source,bash]
[source,shell]
....
# chmod 1777 /tmp
....
Μπορείτε τώρα να δείτε το αποτέλεσμα, χρησιμοποιώντας την εντολή `ls`:
[source,bash]
[source,shell]
....
# ls -al / | grep tmp
....
[source,bash]
[source,shell]
....
drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp
....
@ -832,7 +832,7 @@ device /mount-point fstype options dumpfreq passno
Η βασική μορφή της είναι:
[source,bash]
[source,shell]
....
# mount device mountpoint
....
@ -894,7 +894,7 @@ To FreeBSD είναι ένα λειτουργικό σύστημα multi-tasking
Η `ps`, από προεπιλογή, εμφανίζει μόνο τις εντολές που τρέχουν και ανήκουν σε εσάς. Για παράδειγμα:
[source,bash]
[source,shell]
....
% ps
PID TT STAT TIME COMMAND
@ -922,7 +922,7 @@ To FreeBSD είναι ένα λειτουργικό σύστημα multi-tasking
Η έξοδος της man:top[1] είναι παρόμοια. Ένα δείγμα εργασίας της μοιάζει σαν αυτή:
[source,bash]
[source,shell]
....
% top
last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
@ -979,7 +979,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
. Βρείτε το PID της διεργασίας, της οποίας επιθυμείτε να στείλετε το σήμα. Ενεργήστε χρησιμοποιώντας τις εντολές man:ps[1] και man:grep[1]. Η εντολή man:grep[1] χρησιμοποιείται για να ψάξει στην έξοδο μιας εντολής, για τους αλφαριθμητικούς χαρακτήρες που έχετε ορίσει. Η εντολή εκτελείται από έναν απλό χρήστη, ενώ η man:inetd[8] εκτελείται από τον `root`, επομένως θα πρέπει να προσθέσετε την επιλογή `ax` στην man:ps[1].
+
[source,bash]
[source,shell]
....
% ps -ax | grep inetd
198 ?? IWs 0:00.00 inetd -wW
@ -989,7 +989,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
+
. Χρησιμοποιήστε την man:kill[1] για να στείλετε το σήμα. Επειδή η man:inetd[8] τρέχει από τον `root` θα πρέπει πρώτα να χρησιμοποιήσετε man:su[1] για να γίνετε πρώτα `root`.
+
[source,bash]
[source,shell]
....
% su
Password:
@ -1069,14 +1069,14 @@ Password:
Ο ορισμός μιας μεταβλητής περιβάλλοντος διαφέρει κάπως από κέλυφος σε κέλυφος. Για παράδειγμα στα κελύφη τύπου-C, όπως τα `tcsh` και `csh`, θα πρέπει να χρησιμοποιήσετε την `setenv` για να ορίσετε μεταβλητές περιβάλλοντος. Σε κελύφη Bourne όπως τα `sh` και `bash`, θα πρέπει να χρησιμοποιείτε την `export` για να θέσετε τις τρέχουσες μεταβλητές περιβάλλοντος. Για παράδειγμα, για να ορίσετε ή να μετατρέψετε την μεταβλητή περιβάλλοντος `EDITOR`, σε `csh` ή `tcsh` θα πρέπει να δώσετε μια εντολή που να θέτει τη μεταβλητή `EDITOR` στο [.filename]#/usr/local/bin/emacs#:
[source,bash]
[source,shell]
....
% setenv EDITOR /usr/local/bin/emacs
....
Για κελύφη Bourne:
[source,bash]
[source,shell]
....
% export EDITOR="/usr/local/bin/emacs"
....
@ -1094,7 +1094,7 @@ Password:
Μπορείτε επίσης να δώσετε στην `chsh` την επιλογή `-s`, αυτή θα θέσει το κέλυφος για σας, δίχως να χρειαστεί να χρησιμοποιήσετε τον κειμενογράφο. Για παράδειγμα, αν θέλετε να αλλάξετε το κέλυφος σας σε `bash`, η ακόλουθη εντολή είναι ακριβώς αυτό που χρειάζεστε:
[source,bash]
[source,shell]
....
% chsh -s /usr/local/bin/bash
....
@ -1105,7 +1105,7 @@ Password:
Αν για παράδειγμα, εγκαταστήσατε το `bash` μόνοι σας και το τοποθετήσατε στον [.filename]#/usr/local/bin#, τότε θα πρέπει να δώσετε:
[source,bash]
[source,shell]
....
# echo "/usr/local/bin/bash" >> /etc/shells
....
@ -1182,14 +1182,14 @@ Password:
Η πιο κατανοητή τεκμηρίωση στο FreeBSD προσφέρεται με τη μορφή των σελίδων βοηθείας (manual pages). Σχεδόν για κάθε πρόγραμμα του συστήματος δίνεται μια σύντομη αναφορά που εξηγεί τις βασικές λειτουργίες και διάφορα άλλα θέματα. Αυτές οι σελίδες προβάλλονται με την εντολή `man`. Η χρήση της εντολής `man` είναι απλή:
[source,bash]
[source,shell]
....
% man command
....
όπου `command` είναι το όνομα της εντολής για την οποία επιθυμείτε να μάθετε περισσότερες πληροφορίες. Για παράδειγμα, για να μάθετε περισσότερα για την εντολή `ls` πληκτρολογήστε:
[source,bash]
[source,shell]
....
% man ls
....
@ -1208,7 +1208,7 @@ Password:
Σε μερικές περιπτώσεις, το ίδιο θέμα μπορεί να εμφανίζεται σε περισσότερες ενότητες των σελίδων βοηθείας. Για παράδειγμα, υπάρχει η εντολή χρήστη `chmod` και η κλήση συστήματος `chmod()`. Σε αυτή τη περίπτωση, μπορείτε να πείτε στην εντολή `man` ποια ακριβώς θέλετε επιλέγοντας την ενότητα:
[source,bash]
[source,shell]
....
% man 1 chmod
....
@ -1217,7 +1217,7 @@ Password:
Αυτό είναι χρήσιμο όταν γνωρίζουμε το όνομα της εντολής και απλά επιθυμούμε να μάθουμε πως να την χρησιμοποιήσουμε, αλλά τι γίνεται αν δεν γνωρίζουμε το όνομα της; Μπορείτε να χρησιμοποιήσετε το `man` για να αναζητήσετε λέξεις κλειδιά από τις περιγραφές των εντολών χρησιμοποιώντας την επιλογή `-k`:
[source,bash]
[source,shell]
....
% man -k mail
....
@ -1226,7 +1226,7 @@ Password:
Επομένως, βλέπετε όλες αυτές τις γουστόζικες εντολές στον [.filename]#/usr/bin# αλλά δεν έχετε την παραμικρή ιδέα του τι πραγματικά κάνουν; Απλά πληκτρολογήστε:
[source,bash]
[source,shell]
....
% cd /usr/bin
% man -f *
@ -1234,7 +1234,7 @@ Password:
ή
[source,bash]
[source,shell]
....
% cd /usr/bin
% whatis *
@ -1249,7 +1249,7 @@ Password:
Για να χρησιμοποιήσετε την εντολή man:info[1], απλά πληκτρολογήστε:
[source,bash]
[source,shell]
....
% info
....

View file

@ -98,7 +98,7 @@ toc::[]
[example]
====
[source,bash]
[source,shell]
....
F1 DOS
F2 FreeBSD
@ -113,7 +113,7 @@ Default: F2
Άλλα λειτουργικά συστήματα, και ειδικότερα τα Windows(R), είναι γνωστό ότι γράφουν το δικό τους MBR πάνω σε κάποιο ήδη υπάρχον. Αν σας συμβεί αυτό, ή αν θέλετε να αντικαταστήσετε το υπάρχον MBR σας με αυτό του FreeBSD, χρησιμοποιήστε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# fdisk -B -b /boot/boot0 device
....
@ -150,7 +150,7 @@ label=FreeBSD
[example]
====
[source,bash]
[source,shell]
....
>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader
@ -161,7 +161,7 @@ boot:
Αν χρειαστεί ποτέ να αντικαταστήσετε τα εγκατεστημένα [.filename]#boot1# και [.filename]#boot2# χρησιμοποιήστε το man:bsdlabel[8]:
[source,bash]
[source,shell]
....
# bsdlabel -B diskslice
....
@ -241,14 +241,14 @@ unload::
* Για να ξεκινήσετε το συνηθισμένο πυρήνα σας, αλλά σε κατάσταση ενός χρήστη:
+
[source,bash]
[source,shell]
....
boot -s
....
* Για να αποφορτώσετε το συνηθισμένο πυρήνα σας και να φορτώσετε τον παλιό σας (ή κάποιο άλλο):
+
[source,bash]
[source,shell]
....
unload
load kernel.old
@ -261,7 +261,7 @@ unload::
====
Χρησιμοποιήστε το παρακάτω για να φορτώσετε τα συνηθισμένα σας αρθρώματα σε κάποιο άλλο πυρήνα:
[source,bash]
[source,shell]
....
unload
set kernel="kernel.old"
@ -272,7 +272,7 @@ boot-conf
* Για να φορτώσετε ένα script ρύθμισης πυρήνα (ένα αυτοματοποιημένο πρόγραμμα το οποίο εκτελεί τις λειτουργίες που κανονικά θα κάνατε μέσω κάποιου προγράμματος ρύθμισης πυρήνα κατά την εκκίνηση):
+
[source,bash]
[source,shell]
....
load -t userconfig_script /boot/kernel.conf
....
@ -398,14 +398,14 @@ bitmap_name="/boot/splash.bin"
Το συντακτικό του αρχείου [.filename]#/boot/device.hints# είναι μια μεταβλητή ανά γραμμή, και χρησιμοποιείται το τυποποιημένο "#" για γραμμές που δηλώνονται ως σχόλια. Οι γραμμές δημιουργούνται όπως φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
hint.driver.unit.keyword="value"
....
Η σύνταξη για το Στάδιο 3 του boot loader είναι:
[source,bash]
[source,shell]
....
set hint.driver.unit.keyword=value
....

View file

@ -246,7 +246,7 @@ toc::[]
+
Το αρχείο [.filename]#.img#_δεν_ είναι ένα συνηθισμένο αρχείο. Είναι ένα αρχείο _εικόνας (image)_ με όλο το περιεχόμενο που χρειάζεται η μνήμη USB. _Δεν μπορείτε_ να το αντιγράψετε ως ένα κανονικό αρχείο, θα χρειαστεί να το γράψετε απευθείας στη συσκευή προορισμού χρησιμοποιώντας την εντολή man:dd[1]:
+
[source,bash]
[source,shell]
....
# dd if=FreeBSD-9.0-RELEASE-i386-memstick.img of=/dev/da0 bs=64k
....
@ -313,7 +313,7 @@ commit your changes?
. Θα αρχίσει η εκκίνηση του FreeBSD. Αν ξεκινάτε από CDROM, θα δείτε μια οθόνη σαν την παρακάτω (έχουμε παραλείψει τις πληροφορίες έκδοσης):
+
[source,bash]
[source,shell]
....
Booting from CD-ROM...
645MB medium detected
@ -350,7 +350,7 @@ image::bsdinstall-boot-loader-menu.png[]
Στα περισσότερα μηχανήματα, μπορείτε να κρατήσετε πιεσμένο το πλήκτρο kbd:[C] κατά την εκκίνηση και θα ξεκινήσετε από το CD. Σε διαφορετική περίπτωση, κρατήστε πιεσμένα τα πλήκτρα kbd:[Command+Option+O+F], ή kbd:[Windows+Alt+O+F] αν χρησιμοποιείτε πληκτρολόγιο που δεν είναι Apple(R). Στην προτροπή `0 >` γράψτε:
[source,bash]
[source,shell]
....
boot cd:,\ppc\loader cd:0
....
@ -363,7 +363,7 @@ image::bsdinstall-boot-loader-menu.png[]
Για να γίνει αυτό, επανεκκινήστε το σύστημα και περιμένετε μέχρι να εμφανιστεί το μήνυμα εκκίνησης. Το ακριβές μήνυμα εξαρτάται από το μοντέλο, αλλά γενικά θα δείχνει όπως το παρακάτω:
[source,bash]
[source,shell]
....
Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved.
@ -373,7 +373,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
Αν μετά από αυτό το σημείο το σύστημα σας συνεχίζει με εκκίνηση από το σκληρό δίσκο, θα πρέπει να πιέσετε kbd:[L1+A] ή kbd:[Stop+A] στο πληκτρολόγιο, ή να στείλετε σήμα `BREAK` μέσω της σειριακής κονσόλας (χρησιμοποιώντας π.χ. το `~#` στο man:tip[1] ή man:cu[1]) για να βγείτε στην προτροπή της PROM η οποία μοιάζει με την παρακάτω:
[source,bash]
[source,shell]
....
ok <.>
ok {0} <.>
@ -983,7 +983,7 @@ image::bsdinstall-mainexit.png[]
Τυπικά μηνύματα εκκίνησης (έχουν παραλειφθεί οι πληροφορίες έκδοσης):
[source,bash]
[source,shell]
....
Copyright (c) 1992-2011 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
@ -1186,7 +1186,7 @@ login:
Το FreeBSD κάνει εκτεταμένη χρήση των υπηρεσιών ACPI (εφόσον υπάρχει) στις αρχιτεκτονικές i386, amd64 και ia64 ώστε να ρυθμίσει σωστά τις συσκευές κατά την εκκίνηση. Δυστυχώς υπάρχουν ακόμα κάποια προβλήματα τόσο στο ACPI όσο και στο BIOS firmware αρκετών μητρικών. Μπορείτε να απενεργοποιήσετε το ACPI θέτοντας `hint.acpi.0.disabled` στο τρίτο στάδιο του φορτωτή εκκίνησης:
[source,bash]
[source,shell]
....
set hint.acpi.0.disabled="1"
....

View file

@ -198,7 +198,7 @@ exit 0
Μπορεί να εκκινηθεί χειρωνακτικά κάνοντας:
[source,bash]
[source,shell]
....
# /usr/local/etc/rc.d/utility.sh start
....
@ -309,7 +309,7 @@ HOME=/var/log
Για να εγκαταστήσετε ένα νέο [.filename]#crontab# χρήστη, πρώτα χρησιμοποιήστε τον αγαπημένο σας κειμενογράφο για να δημιουργήσετε ένα αρχείο με το απαιτούμενο τύπο, και τότε χρησιμοποιήστε το `crontab`. Η πιο κοινή χρήση του είναι:
[source,bash]
[source,shell]
....
% crontab crontab-file
....
@ -327,7 +327,7 @@ HOME=/var/log
Το 2002 το FreeBSD ενσωμάτωσε το σύστημα [.filename]#rc.d# του NetBSD για την εκκίνηση του συστήματος. Οι χρήστες θα πρέπει να έχουν αντιληφθεί τα αρχεία που βρίσκονται στον κατάλογο [.filename]#/etc/rc.d#. Πολλά απο αυτά τα αρχεία είναι για τις βασικές υπηρεσίες και μπορούν να ελεγθούν με τις επιλογές `start`, `stop`, και `restart`. Για παράδειγμα, το man:sshd[8] μπορεί να ελεγθεί χρησιμοποιώντας την εξής εντολή:
[source,bash]
[source,shell]
....
# /etc/rc.d/sshd restart
....
@ -343,14 +343,14 @@ natd_enable="YES"
Μιας και το σύστημα [.filename]#rc.d# είναι κυρίως για την εκκίνηση και τον τερματισμό υπηρεσιών κατα την εκκίνηση και τον τερματισμό του συστήματος αντίστοιχα, οι προκαθορισμένες επιλογές `start`, `stop` και `restart` θα πραγματοποιήσουν τις αντίστοιχες ενέργειες αν η κατάλληλες μεταβλητές είναι καθορισμένες στο [.filename]#/etc/rc.conf#. Για παράδειγμα η παραπάνω εντολή `sshd restart` θα δουλέψει μόνο αν η μεταβλητή `sshd_enable` έχει τεθεί σε `YES` μέσα στο [.filename]#/etc/rc.conf#. Για να εκτελέσετε τις επιλογές `start`, `stop` ή `restart` μιας υπηρεσίας ανεξάρτητα απο τις ρυθμίσεις της στο [.filename]#/etc/rc.conf#, η εντολή πρέπει να έχει χαρακτηριστεί με "one". Για παράδειγμα για την επανεκκίνηση του `sshd` ανεξάρτητα απο τις τρέχουσες ρυθμίσεις στο [.filename]#/etc/rc.conf#, εκτελείτε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# /etc/rc.d/sshd onerestart
....
Είναι εύκολο να ελέγξετε αν η υπηρεσία είναι ενεργοποιημένη στο [.filename]#/etc/rc.conf# τρέχοντας το κατάλληλο σενάριο [.filename]#rc.d# με την παράμετρο `rcvar`. Κατά συνέπεια, ένας διαχειριστής μπορεί να ελέγξει αν το `sshd` είναι όντως ενεργοποιημένο στο [.filename]#/etc/rc.conf# εκτελώντας:
[source,bash]
[source,shell]
....
# /etc/rc.d/sshd rcvar
# sshd
@ -364,7 +364,7 @@ $sshd_enable=YES
Για να ελέγξετε αν μια υπηρεσία τρέχει, η επιλογή `status` είναι διαθέσιμη. Για παράδειγμα για να επιβεβαιώστε ότι η υπηρεσία `sshd` τρέχει:
[source,bash]
[source,shell]
....
# /etc/rc.d/sshd status sshd is
running as pid 433.
@ -374,7 +374,7 @@ $sshd_enable=YES
Το σύστημα [.filename]#rc.d# δεν χρησιμοποιείτε μόνο για τις υπηρεσίες δικτύου, αλλά επίσης συμβάλει και κατα την εκκίνηση του συστήματος. Για παράδειγμα, σκεφτείτε το αρχείο [.filename]#bgfsck#. Όταν ένα σενάριο εκτελείτε, θα εκτυπώνει το ακόλουθο μήνυμα:
[source,bash]
[source,shell]
....
Starting background file system checks in 60 seconds.
....
@ -404,7 +404,7 @@ Starting background file system checks in 60 seconds.
Αν έχετε μια συνηθισμένη κάρτα, κατα πάσα πιθανότητα δεν θα χρειαστεί να ψάξετε πολύ για τον οδηγό. Οι οδηγοί για τις συνηθισμένες κάρτες δικτύου υπάρχουν στον πυρήνα [.filename]#GENERIC#, έτσι ώστε και θα εμφανιστεί κατα την διάρκεια της εκκίνησης, για παράδειγμα:
[source,bash]
[source,shell]
....
dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
000ff irq 15 at device 11.0 on pci0
@ -454,21 +454,21 @@ ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
Το επόμενο βήμα είναι να μεταγλωττίσετε τον δυαδικό οδηγό μέσα σε ένα φορτώσιμο άρθρωμα του πυρήνα. Για να το επιτύχετε αυτό, θα πρέπει σαν `root`, να χρησιμοποιήσετε το man:ndisgen[8]:
[source,bash]
[source,shell]
....
# ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS
....
Το βοηθητικό πρόγραμμα man:ndisgen[8] είναι διαδραστικό και θα σας ενημερώσει για οποιαδήποτε επιπλέον πληροφορία μπορεί να χρειαστεί; θα παράγει ένα άρθρωμα του πυρήνα στον τρέχωντα κατάλογο και μπορεί να φορτωθεί ως εξής:
[source,bash]
[source,shell]
....
# kldload ./W32DRIVER.ko
....
Επιπλέον του παραχθέντος αρθρώματος, θα πρέπει να φορτώσετε τα αρθρώματα [.filename]#ndis.ko# και [.filename]#if_ndis.ko#. Αυτό θα πρέπει να γίνει αυτόματα όταν φορτώνετε οποιαδήποτε εξαρτάται απο το man:ndis[4]. Αν θέλετε να το κάνετε χειρωνακτικά, θα πρέπει να χρησιμοποιήσετε τις ακόλουθες εντολές:
[source,bash]
[source,shell]
....
# kldload ndis
# kldload if_ndis
@ -478,7 +478,7 @@ ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
Τώρα, ελέγξτε το man:dmesg[8] για να δείτε αν υπάρχουν σφάλματα κατα την φόρτωση. Αν όλα πήγαν καλά, θα πρέπει να δείτε μια παρόμοια έξοδο με την επόμενη:
[source,bash]
[source,shell]
....
ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1
ndis0: NDIS API version: 5.0
@ -502,7 +502,7 @@ W32DRIVER_load="YES"
Για να εμφανίσετε τις κάρτες δικτύου που έχετε στο σύστημα σας, πληκτρολογήστε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
% ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
@ -548,7 +548,7 @@ tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
Αν το man:ifconfig[8] εμφανίζει κάτι παρόμοιο με αυτό:
[source,bash]
[source,shell]
....
dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:a0:cc:da:da:da
@ -584,7 +584,7 @@ ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"
Πρώτα δοκιμάστε στην τοπική κάρτα:
[source,bash]
[source,shell]
....
% ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes
@ -601,7 +601,7 @@ round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms
Τώρα δοκιμάστε σε ένα άλλο μηχάνημα στο LAN:
[source,bash]
[source,shell]
....
% ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
@ -898,14 +898,14 @@ At its core, man:sysctl[8] serves two functions: to read and to modify system se
To view all readable variables:
[source,bash]
[source,shell]
....
% sysctl -a
....
To read a particular variable, for example, `kern.maxproc`:
[source,bash]
[source,shell]
....
% sysctl kern.maxproc
kern.maxproc: 1044
@ -913,7 +913,7 @@ kern.maxproc: 1044
To set a particular variable, use the intuitive _variable_=_value_ syntax:
[source,bash]
[source,shell]
....
# sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000
@ -930,7 +930,7 @@ In some cases it may be desirable to modify read-only man:sysctl[8] values. Whil
For instance on some laptop models the man:cardbus[4] device will not probe memory ranges, and fail with errors which look similar to:
[source,bash]
[source,shell]
....
cbb0: Could not map register memory
device_probe_and_attach: cbb0 attach returned 12
@ -978,7 +978,7 @@ The `SCSI_DELAY` kernel config may be used to reduce system boot times. The defa
The man:tunefs[8] program can be used to fine-tune a file system. This program has many different options, but for now we are only concerned with toggling Soft Updates on and off, which is done by:
[source,bash]
[source,shell]
....
# tunefs -n enable /filesystem
# tunefs -n disable /filesystem
@ -1114,14 +1114,14 @@ device md # Memory "disks"
. Create a swapfile ([.filename]#/usr/swap0#):
+
[source,bash]
[source,shell]
....
# dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
....
. Set proper permissions on ([.filename]#/usr/swap0#):
+
[source,bash]
[source,shell]
....
# chmod 0600 /usr/swap0
....
@ -1135,7 +1135,7 @@ swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
. Reboot the machine or to enable the swap file immediately, type:
+
[source,bash]
[source,shell]
....
# mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0
....
@ -1177,7 +1177,7 @@ ACPI and APM cannot coexist and should be used separately. The last one to load
ACPI can be used to put the system into a sleep mode with man:acpiconf[8], the `-s` flag, and a `1-5` option. Most users will only need `1` or `3` (suspend to RAM). Option `5` will do a soft-off which is the same action as:
[source,bash]
[source,shell]
....
# halt -p
....
@ -1208,7 +1208,7 @@ For those of you that want to submit a problem right away, please send the follo
* URL where your _ACPI Source Language_ (ASL) can be found. Do _not_ send the ASL directly to the list as it can be very large. Generate a copy of your ASL by running this command:
+
[source,bash]
[source,shell]
....
# acpidump -dt > name-system.asl
....
@ -1242,7 +1242,7 @@ ACPI has three suspend to RAM (STR) states, `S1`-`S3`, and one suspend to disk s
Start by checking `sysctl hw.acpi` for the suspend-related items. Here are the results for a Thinkpad:
[source,bash]
[source,shell]
....
hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.s4bios: 0
@ -1285,7 +1285,7 @@ If you have other problems with ACPI (working with a docking station, devices no
The most common problem is the BIOS vendors providing incorrect (or outright buggy!) bytecode. This is usually manifested by kernel console messages like this:
[source,bash]
[source,shell]
....
ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
(Node 0xc3f6d160), AE_NOT_FOUND
@ -1295,7 +1295,7 @@ Often, you can resolve these problems by updating your BIOS to the latest revisi
The simplest first check you can do is to recompile your ASL to check for errors. Warnings can usually be ignored but errors are bugs that will usually prevent ACPI from working correctly. To recompile your ASL, issue the following command:
[source,bash]
[source,shell]
....
# iasl your.asl
....
@ -1319,7 +1319,7 @@ Some methods do not explicitly return a value as the standard requires. While AC
After you customize [.filename]#your.asl#, you will want to compile it, run:
[source,bash]
[source,shell]
....
# iasl your.asl
....
@ -1343,7 +1343,7 @@ The ACPI driver has a very flexible debugging facility. It allows you to specify
Debugging output is not enabled by default. To enable it, add `options ACPI_DEBUG` to your kernel configuration file if ACPI is compiled into the kernel. You can add `ACPI_DEBUG=1` to your [.filename]#/etc/make.conf# to enable it globally. If it is a module, you can recompile just your [.filename]#acpi.ko# module as follows:
[source,bash]
[source,shell]
....
# cd /sys/modules/acpi/acpi
&& make clean &&

View file

@ -83,7 +83,7 @@ toc::[]
Αν υπάρχει κάποιο `crontab` που χρησιμοποιεί τις δυνατότητες του `freebsd-update`, θα πρέπει να απενεργοποιηθεί πριν ξεκινήσει η παρακάτω διαδικασία. Μπορείτε να εγκαταστήσετε την τελευταία έκδοση του `freebsd-update` κατεβάζοντας το συμπιεσμένο πακέτο από το παραπάνω URL και εκτελώντας τις παρακάτω εντολές:
[source,bash]
[source,shell]
....
# gunzip -c freebsd-update-upgrade.tgz | tar xvf -
# mv freebsd-update.sh /usr/sbin/freebsd-update
@ -160,7 +160,7 @@ MergeChanges /etc/ /var/named/etc/
Τα patches που σχετίζονται με την ασφάλεια, αποθηκεύονται σε ένα απομακρυσμένο μηχάνημα και μπορούν να μεταφορτωθούν και να εγκατασταθούν με την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# freebsd-update fetch
# freebsd-update install
@ -177,7 +177,7 @@ MergeChanges /etc/ /var/named/etc/
Αν οτιδήποτε πάει στραβά, το `freebsd-update` έχει την ικανότητα να επιστρέφει στην προηγούμενη σταθερή κατάσταση, αναιρώντας το τελευταίο σετ αλλαγών με την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# freebsd-update rollback
....
@ -203,7 +203,7 @@ MergeChanges /etc/ /var/named/etc/
Η διαδικασία αυτή θα απομακρύνει τα παλιά αρχεία αντικειμενικού κώδικα (object files) καθώς και τις παλιές βιβλιοθήκες, κάνοντας τις περισσότερες εφαρμογές τρίτων κατασκευαστών να μη λειτουργούν. Σας συνιστούμε είτε να απεγκαταστήσετε όλα τα εγκατεστημένα ports και να τα εγκαταστήσετε ξανά, ή να τα αναβαθμίσετε αργότερα, χρησιμοποιώντας το βοηθητικό πρόγραμμα package:ports-mgmt/portupgrade[]. Οι περισσότεροι χρήστες θα θέλουν να κάνουν μια δοκιμαστική μεταγλώττιση χρησιμοποιώντας την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# portupgrade -af
....
@ -215,7 +215,7 @@ MergeChanges /etc/ /var/named/etc/
* Αν έχετε μεταγλωττίσει προσαρμοσμένο πυρήνα μόνο μια φορά, ο πυρήνας στον κατάλογο [.filename]#/boot/kernel.old# είναι στην πραγματικότητα ο [.filename]#GENERIC#. Απλώς μετονομάστε τον κατάλογο σε [.filename]#/boot/GENERIC#.
* Αν έχετε φυσική πρόσβαση στο μηχάνημα, μπορείτε να εγκαταστήσετε ένα αντίγραφο του πυρήνα [.filename]#GENERIC# από το CD-ROM της εγκατάστασης. Τοποθετήστε το CD-ROM στον οδηγό και χρησιμοποιήστε τις παρακάτω εντολές:
+
[source,bash]
[source,shell]
....
# mount /cdrom
# cd /cdrom/X.Y-RELEASE/kernels
@ -225,7 +225,7 @@ MergeChanges /etc/ /var/named/etc/
Αντικαταστήστε το [.filename]#X.Y-RELEASE# με τους πραγματικούς αριθμούς της έκδοσης που χρησιμοποιείτε. Ο πυρήνας [.filename]#GENERIC# θα εγκατασταθεί από προεπιλογή στον κατάλογο [.filename]#/boot/GENERIC#.
* Αν δεν έχετε κάποια από τις παραπάνω επιλογές, μπορείτε να μεταγλωττίσετε και να εγκαταστήσετε τον πυρήνα [.filename]#GENERIC# μέσω του πηγαίου κώδικα:
+
[source,bash]
[source,shell]
....
# cd /usr/src/
# env DESTDIR=/boot/GENERIC make kernel
@ -239,14 +239,14 @@ MergeChanges /etc/ /var/named/etc/
Είναι δυνατές οι αναβαθμίσεις τόσο σε μικρές όσο και σε μεγάλες εκδόσεις, δίνοντας στην εντολή `freebsd-update` τον επιθυμητό αριθμό έκδοσης. Για παράδειγμα, η ακόλουθη εντολή θα αναβαθμίσει το σύστημα σε FreeBSD 8.1:
[source,bash]
[source,shell]
....
# freebsd-update -r 8.1-RELEASE upgrade
....
Μετά τη λήψη της εντολής, το `freebsd-update` θα αξιολογήσει την κατάσταση του συστήματος και του αρχείου ρυθμίσεων του, σε μια απόπειρα να μαζέψει τις απαραίτητες πληροφορίες για την αναβάθμιση του συστήματος. Οι πληροφορίες που ανιχνεύθηκαν θα εμφανιστούν στην οθόνη με τη μορφή μιας λίστας εγκατεστημένων προγραμμάτων. Για παράδειγμα:
[source,bash]
[source,shell]
....
Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching metadata signature for 8.0-RELEASE from update1.FreeBSD.org... done.
@ -270,7 +270,7 @@ Does this look reasonable (y/n)? y
Όταν χρησιμοποιείται προσαρμοσμένος πυρήνας, το παραπάνω βήμα θα προκαλέσει την εμφάνιση της παρακάτω προειδοποίησης:
[source,bash]
[source,shell]
....
WARNING: This system is running a "MYKERNEL" kernel, which is not a
kernel configuration distributed as part of FreeBSD 8.0-RELEASE.
@ -289,14 +289,14 @@ before running "/usr/sbin/freebsd-update install"
Με το τέλος αυτής τη διαδικασίας, η αναβάθμιση μπορεί να οριστικοποιηθεί στο δίσκο, με τη χρήση της ακόλουθης εντολής:
[source,bash]
[source,shell]
....
# freebsd-update install
....
Στην πρώτη φάση, θα αλλαχθεί ο πυρήνας και τα σχετικά αρθρώματα. Στο σημείο αυτό, θα πρέπει να γίνει επανεκκίνηση του μηχανήματος. Σε μηχάνημα με προσαρμοσμένο πυρήνα, χρησιμοποιήστε την εντολή man:nextboot[8] ώστε να θέσετε τον πυρήνα για την επόμενη εκκίνηση στον [.filename]#/boot/GENERIC# (ο οποίος έχει ήδη αναβαθμιστεί):
[source,bash]
[source,shell]
....
# nextboot -k GENERIC
....
@ -309,14 +309,14 @@ before running "/usr/sbin/freebsd-update install"
Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να επανεκκινήσετε το μηχάνημα με τον νέο πυρήνα:
[source,bash]
[source,shell]
....
# shutdown -r now
....
Μόλις το σύστημα επανέλθει σε λειτουργία, θα πρέπει να εκτελέσετε ξανά το `freebsd-update`. Η προηγούμενη λειτουργία έχει αποθηκευθεί, και έτσι το `freebsd-update` δεν θα ξεκινήσει από την αρχή, αλλά θα απομακρύνει όλες τις παλιές κοινόχρηστες βιβλιοθήκες και τα αρχεία αντικειμενικού κώδικα. Για να συνεχίσετε σε αυτό το στάδιο, δώστε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# freebsd-update install
....
@ -328,7 +328,7 @@ before running "/usr/sbin/freebsd-update install"
Όλο το λογισμικό τρίτου κατασκευαστή θα πρέπει τώρα να μεταγλωττιστεί και να επανεγκατασταθεί από την αρχή. Αυτό απαιτείται καθώς το εγκατεστημένο λογισμικό ίσως εξαρτάται από βιβλιοθήκες οι οποίες αφαιρέθηκαν κατά τη διαδικασία της αναβάθμισης. Μπορείτε να χρησιμοποιήσετε την εντολή package:ports-mgmt/portupgrade[] για να αυτοματοποιήσετε αυτή τη διαδικασία. Για να ξεκινήσετε, δώστε τις παρακάτω εντολές:
[source,bash]
[source,shell]
....
# portupgrade -f ruby
# rm /var/db/pkg/pkgdb.db
@ -339,7 +339,7 @@ before running "/usr/sbin/freebsd-update install"
Μόλις ολοκληρωθεί το παραπάνω, ολοκληρώστε τη διαδικασία αναβάθμισης με μια τελευταία κλήση της εντολής `freebsd-update`. Δώστε την παρακάτω εντολή για να ολοκληρώσετε οτιδήποτε έχει απομείνει στη διαδικασία αναβάθμισης:
[source,bash]
[source,shell]
....
# freebsd-update install
....
@ -353,7 +353,7 @@ before running "/usr/sbin/freebsd-update install"
Το βοηθητικό πρόγραμμα `freebsd-update` μπορεί να χρησιμοποιηθεί για να ελέγξετε την κατάσταση της εγκατεστημένης έκδοσης του FreeBSD σε σχέση με μια γνωστή και σωστή εγκατάσταση. Η επιλογή αυτή συγκρίνει και αξιολογεί την τρέχουσα έκδοση των προγραμμάτων συστήματος, των βιβλιοθηκών και των αρχείων ρύθμισης. Για να ξεκινήσετε τη σύγκριση, δώστε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# freebsd-update IDS >> outfile.ids
....
@ -368,7 +368,7 @@ before running "/usr/sbin/freebsd-update install"
Οι γραμμές αυτές έχουν γενικά μεγάλο μήκος, αλλά είναι εύκολο να επεξεργαστούμε την έξοδο. Για παράδειγμα, για να δείτε μια λίστα όλων των αρχείων που διαφέρουν από αυτά της επίσημης έκδοσης, δώστε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# cat outfile.ids | awk '{ print $1 }' | more
/etc/master.passwd
@ -386,7 +386,7 @@ before running "/usr/sbin/freebsd-update install"
Το βασικό σύστημα του FreeBSD περιλαμβάνει επίσης ένα βοηθητικό πρόγραμμα για την ενημέρωση της Συλλογής των Ports. Πρόκειται για το man:portsnap[8]. Όταν το εκτελέσετε, θα συνδεθεί σε ένα απομακρυσμένο διακομιστή, θα επαληθεύσει το κλειδί του πηγαίου κώδικα, και θα κατεβάσει ένα νέο αντίγραφο της Συλλογής των Ports. Το κλειδί χρησιμοποιείται για να επαληθεύσει την ακεραιότητα όλων των αρχείων που μεταφορτώνονται, εξασφαλίζοντας ότι δεν έχουν αλλοιωθεί κατά την μεταφορά. Για να κατεβάσετε τα τελευταία αρχεία της Συλλογής των Ports, εκτελέστε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 9 mirrors found.
@ -405,7 +405,7 @@ Fetching 133 new ports or files... done.
Όταν το man:portsnap[8] εκτελέσει επιτυχώς τη λειτουργία `fetch`, η Συλλογή των Ports και τα αντίστοιχα patches έχουν αποθηκευθεί στο τοπικό σύστημα και έχει γίνει η επαλήθευση τους. Την πρώτη φορά που θα εκτελέσετε το `portsnap`, θα πρέπει να χρησιμοποιήσετε το `extract` για να εγκαταστήσετε τα ενημερωμένα αρχεία:
[source,bash]
[source,shell]
....
# portsnap extract
/usr/ports/.cvsignore
@ -424,7 +424,7 @@ Fetching 133 new ports or files... done.
Αν έχετε ήδη εγκατεστημένη την Συλλογή των Ports, χρησιμοποιήστε την εντολή `portsnap update` για να την ενημέρωσετε:
[source,bash]
[source,shell]
....
# portsnap update
....
@ -433,7 +433,7 @@ Fetching 133 new ports or files... done.
Μπορείτε να εκτελέσετε τις διαδικασίες `fetch` και `extract` ή `update` διαδοχικά, όπως φαίνεται στο παρακάτω παράδειγμα:
[source,bash]
[source,shell]
....
# portsnap fetch update
....
@ -473,7 +473,7 @@ Fetching 133 new ports or files... done.
Το βοηθητικό πρόγραμμα CVSup μπορεί να κατεβάσει ένα καθαρό αντίγραφο του πηγαίου κώδικα της τεκμηρίωσης, χρησιμοποιώντας το [.filename]#/usr/shared/examples/cvsup/doc-supfile# ως πρότυπο αρχείο ρυθμίσεων. Ο προεπιλεγμένος υπολογιστής ενημερώσεων στο παραπάνω αρχείο είναι ρυθμισμένος σε πλασματική τιμή. Ωστόσο, η man:cvsup[1] δέχεται όνομα υπολογιστή μέσω της γραμμής εντολών, έτσι μπορείτε να ανακτήσετε τον πηγαίο κώδικα της τεκμηρίωσης μέσω κάποιου εξυπηρετητή CVSup γράφοντας:
[source,bash]
[source,shell]
....
# cvsup -h cvsup.FreeBSD.org -g -L 2 /usr/shared/examples/cvsup/doc-supfile
....
@ -486,7 +486,7 @@ Fetching 133 new ports or files... done.
Μετά την αρχική ανάκτηση του πηγαίου κώδικα, ένας εναλλακτικός τρόπος ενημέρωσης της τεκμηρίωσης είναι μέσω του αρχείου [.filename]#Makefile# στον κατάλογο [.filename]#/usr/doc#. Θέτοντας τις μεταβλητές `SUP_UPDATE`, `SUPHOST` και `DOCSUPFILE` στο αρχείο [.filename]#/etc/make.conf#, μπορείτε να εκτελέσετε:
[source,bash]
[source,shell]
....
# cd /usr/doc
# make update
@ -536,7 +536,7 @@ DOCSUPFILE?= /usr/shared/examples/cvsup/doc-supfile
Μπορείτε να προχωρήσετε σε πλήρη ενημέρωση όλων των γλωσσών που ορίζονται στην επιλογή `DOC_LANG` του Makefile, γράφοντας:
[source,bash]
[source,shell]
....
# cd /usr/doc
# make install clean
@ -544,7 +544,7 @@ DOCSUPFILE?= /usr/shared/examples/cvsup/doc-supfile
Αν έχετε ρυθμίσει το [.filename]#make.conf# με τις σωστές τιμές για τις επιλογές `DOCSUPFILE`, `SUPHOST` και `SUP_UPDATE`, μπορείτε να συνδυάσετε τα βήματα ενημέρωσης και εγκατάστασης του πηγαίου κώδικα σε ένα, γράφοντας:
[source,bash]
[source,shell]
....
# cd /usr/doc
# make update install clean
@ -552,7 +552,7 @@ DOCSUPFILE?= /usr/shared/examples/cvsup/doc-supfile
Αν επιθυμείτε την ενημέρωση μιας μόνο συγκεκριμένης γλώσσας, μπορείτε να καλέσετε την man:make[1] σε ένα συγκεκριμένο υποκατάλογο του [.filename]#/usr/doc#, π.χ.:
[source,bash]
[source,shell]
....
# cd /usr/doc/en_US.ISO8859-1
# make update install clean
@ -560,7 +560,7 @@ DOCSUPFILE?= /usr/shared/examples/cvsup/doc-supfile
Μπορείτε να καθορίσετε τη μορφή της τεκμηρίωσης που θα εγκατασταθεί, ρυθμίζοντας τη μεταβλητή `FORMATS` του make, π.χ.:
[source,bash]
[source,shell]
....
# cd /usr/doc
# make FORMATS='html html-split' install clean
@ -594,7 +594,7 @@ DOCSUPFILE?= /usr/shared/examples/cvsup/doc-supfile
Για να εγκαταστήσετε ένα port τεκμηρίωσης από τον πηγαίο κώδικα, εκτελέστε τις παρακάτω εντολές (ως `root`):
[source,bash]
[source,shell]
....
# cd /usr/ports/misc/freebsd-doc-en
# make install clean
@ -624,7 +624,7 @@ DOCSUPFILE?= /usr/shared/examples/cvsup/doc-supfile
Παρακάτω θα βρείτε ένα σύντομο παράδειγμα σχετικό με τη χρήση των μεταβλητών για την εγκατάσταση της Αγγλικής τεκμηρίωσης σε μορφή PDF:
[source,bash]
[source,shell]
....
# cd /usr/ports/misc/freebsd-doc-en
# make -DWITH_PDF DOCBASE=share/doc/freebsd/en install clean
@ -644,7 +644,7 @@ H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακ
Για παράδειγμα, η παρακάτω εντολή θα εγκαταστήσει την τελευταία έκδοση του έτοιμου πακέτου της Ελληνικής τεκμηρίωσης:
[source,bash]
[source,shell]
....
# pkg_add -r el-freebsd-doc
....
@ -659,7 +659,7 @@ H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακ
Για να ενημερώσετε ένα ήδη εγκατεστημένο port τεκμηρίωσης, μπορείτε να χρησιμοποιήσετε οποιοδήποτε εργαλείο αναβάθμισης ports. Για παράδειγμα, η παρακάτω εντολή ενημερώνει την εγκατεστημένη Ελληνική τεκμηρίωση μέσω του εργαλείου package:ports-mgmt/portupgrade[] με τη χρήση μόνο έτοιμων πακέτων:
[source,bash]
[source,shell]
....
# portupgrade -PP el-freebsd-doc
....
@ -870,7 +870,7 @@ H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακ
Ανακεφαλαιώνοντας όλα τα βήματα τα οποία περιγράψαμε παραπάνω, η προτεινόμενη διαδικασία αναβάθμισης του FreeBSD από τον πηγαίο κώδικα του συστήματος είναι:
[source,bash]
[source,shell]
....
# cd /usr/src
# make buildworld
@ -886,7 +886,7 @@ H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακ
Μετά την επιτυχή ολοκλήρωση του `installkernel`, θα πρέπει να επανεκκινήσετε σε κατάσταση ενός χρήστη (π.χ. χρησιμοποιώντας την εντολή `boot -s` στην προτροπή του φορτωτή εκκίνησης). Έπειτα εκτελέστε:
[source,bash]
[source,shell]
....
# mount -u /
# mount -a -t ufs
@ -937,7 +937,7 @@ H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακ
Η λύση είναι να εκτελέσετε το man:mergemaster[8] σε κατάσταση προ-εγκατάστασης, δίνοντας την επιλογή `-p`. Αυτή θα συγκρίνει μόνο τα αρχεία που είναι απαραίτητα για την επιτυχία εκτέλεσης του `buildworld` ή του `installworld`.
[source,bash]
[source,shell]
....
# cd /usr/src/usr.sbin/mergemaster
# ./mergemaster.sh -p
@ -948,7 +948,7 @@ H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακ
Αν αισθάνεστε ιδιαίτερα παρανοϊκός, μπορείτε να ελέγξετε το σύστημα σας για να δείτε ποια αρχεία ανήκουν στην ομάδα που μετονομάζετε ή διαγράφετε:
[source,bash]
[source,shell]
....
# find / -group GID -print
....
@ -965,7 +965,7 @@ H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακ
Ως υπερχρήστης μπορείτε να εκτελέσετε:
[source,bash]
[source,shell]
....
# shutdown now
....
@ -974,7 +974,7 @@ H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακ
Εναλλακτικά, επανεκκινήστε το σύστημα και στην προτροπή του φορτωτή εκκίνησης, επιλέξτε "single user". Το σύστημα θα ξεκινήσει σε κατάσταση ενός χρήστη. Στην προτροπή της γραμμής εντολών θα πρέπει να γράψετε:
[source,bash]
[source,shell]
....
# fsck -p
# mount -u /
@ -988,7 +988,7 @@ H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακ
====
Αν το CMOS ρολόι του υπολογιστή σας είναι ρυθμισμένο σε τοπική ώρα και όχι σε GMT (αυτό είναι αλήθεια αν η έξοδος της εντολής man:date[1] δεν δείχνει σωστή ημερομηνία και ώρα), ίσως χρειαστεί να εκτελέσετε επίσης την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# adjkerntz -i
....
@ -1005,7 +1005,7 @@ H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακ
Κάποια αρχεία σε υποκαταλόγους του [.filename]#/usr/obj# μπορεί να έχουν χαρακτηριστεί ως immutable μέσω του αντίστοιχου flag (για περισσότερες λεπτομέρειες δείτε το man:chflags[1]). Πριν διαγράψετε αυτά τα αρχεία, θα πρέπει πρώτα να καταργήσετε αυτό το flag.
[source,bash]
[source,shell]
....
# cd /usr/obj
# chflags -R noschg *
@ -1021,7 +1021,7 @@ H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακ
Ο ευκολότερος τρόπος για να γίνει αυτό, είναι χρησιμοποιώντας την εντολή man:script[1] με μια παράμετρο που να καθορίζει το όνομα του αρχείου στο οποίο θα αποθηκευτεί η έξοδος. Θα πρέπει να το εκτελέσετε αμέσως πριν ξεκινήσετε την μεταγλώττιση του βασικού συστήματος, και να γράψετε `exit` μόλις η διαδικασία ολοκληρωθεί.
[source,bash]
[source,shell]
....
# script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
@ -1038,7 +1038,7 @@ Script done, ...
Θα πρέπει να βρίσκεστε στον κατάλογο [.filename]#/usr/src#:
[source,bash]
[source,shell]
....
# cd /usr/src
....
@ -1049,7 +1049,7 @@ Script done, ...
Η γενική μορφή της εντολής που θα πληκτρολογήσετε είναι η παρακάτω:
[source,bash]
[source,shell]
....
# make -x -DVARIABLE target
....
@ -1058,7 +1058,7 @@ Script done, ...
Η επιλογή `-D__VARIABLE__` περνάει μια μεταβλητή στο [.filename]#Makefile#. Η συμπεριφορά του [.filename]#Makefile# ελέγχεται από τέτοιου είδους μεταβλητές. Πρόκειται για τις ίδιες μεταβλητές που καθορίζονται και στο [.filename]#/etc/make.conf#, και αυτός είναι ένας ακόμα τρόπος καθορισμού τους.
[source,bash]
[source,shell]
....
# make -DNO_PROFILE target
....
@ -1076,7 +1076,7 @@ NO_PROFILE= true # Avoid compiling profiled libraries
Στις περισσότερες περιπτώσεις δεν θα χρειαστεί να δώσετε καμία παράμετρο στο man:make[1], και έτσι η εντολή σας θα μοιάζει με την παρακάτω:
[source,bash]
[source,shell]
....
# make target
....
@ -1093,7 +1093,7 @@ NO_PROFILE= true # Avoid compiling profiled libraries
Εκτελέστε την εντολή:
[source,bash]
[source,shell]
....
# make buildworld
....
@ -1102,7 +1102,7 @@ NO_PROFILE= true # Avoid compiling profiled libraries
Σε ένα τυπικό μηχάνημα με μια CPU, θα μπορούσατε να δώσετε:
[source,bash]
[source,shell]
....
# make -j4 buildworld
....
@ -1128,7 +1128,7 @@ NO_PROFILE= true # Avoid compiling profiled libraries
====
Αν θέλετε να μεταγλωττίσετε νέο πυρήνα, και έχετε ήδη ένα αρχείο με προσαρμοσμένες ρυθμίσεις, χρησιμοποιήστε απλώς την επιλογή `KERNCONF=MYKERNEL` με τον τρόπο που φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# cd /usr/src
# make buildkernel KERNCONF=MYKERNEL
@ -1151,7 +1151,7 @@ NO_PROFILE= true # Avoid compiling profiled libraries
Εκτελέστε τις παρακάτω εντολές:
[source,bash]
[source,shell]
....
# cd /usr/src
# make installworld
@ -1163,14 +1163,14 @@ NO_PROFILE= true # Avoid compiling profiled libraries
Για παράδειγμα αν εκτελέσετε:
[source,bash]
[source,shell]
....
# make -DNO_PROFILE buildworld
....
Θα πρέπει να εγκαταστήσετε το αποτέλεσμα χρησιμοποιώντας:
[source,bash]
[source,shell]
....
# make -DNO_PROFILE installworld
....
@ -1217,7 +1217,7 @@ NO_PROFILE= true # Avoid compiling profiled libraries
====
Αν και θεωρητικά, τίποτα δεν πρόκειται να πειράξει αυτό τον κατάλογο αυτόματα, είναι πάντα καλύτερα να είμαστε σίγουροι. Για το λόγο αυτό, αντιγράψτε τον υπάρχοντα κατάλογο [.filename]#/etc# σε κάποιο ασφαλές μέρος. Χρησιμοποιήστε μια εντολή όπως η παρακάτω:
[source,bash]
[source,shell]
....
# cp -Rp /etc /etc.old
....
@ -1227,7 +1227,7 @@ NO_PROFILE= true # Avoid compiling profiled libraries
θα πρέπει να δημιουργήσετε μια ψευτο-δομή καταλόγων για να εγκαταστήσετε το νέο κατάλογο [.filename]#/etc# και άλλα αρχεία. Μια λογική επιλογή είναι ο κατάλογος [.filename]#/var/tmp/root#, και κάτω από αυτόν, θα πρέπει επίσης να δημιουργήσετε και μια ολόκληρη σειρά από τους υποκαταλόγους που απαιτούνται.
[source,bash]
[source,shell]
....
# mkdir /var/tmp/root
# cd /usr/src/etc
@ -1236,7 +1236,7 @@ NO_PROFILE= true # Avoid compiling profiled libraries
Οι παραπάνω εντολές θα δημιουργήσουν την απαιτούμενη δομή καταλόγων και θα εγκαταστήσουν τα αρχεία. Μεγάλο μέρος των υποκαταλόγων που έχουν δημιουργηθεί κάτω από τον [.filename]#/var/tmp/root# είναι άδειοι, και πρέπει να διαγραφούν. Ο απλούστερος τρόπος για να γίνει αυτό, φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# cd /var/tmp/root
# find -d . -type d | xargs rmdir 2/dev/null
@ -1250,7 +1250,7 @@ NO_PROFILE= true # Avoid compiling profiled libraries
Ο απλούστερος τρόπος για να συγκρίνετε δύο αρχεία, είναι να χρησιμοποιήσετε την εντολή man:diff[1]:
[source,bash]
[source,shell]
....
# diff /etc/shells /var/tmp/root/etc/shells
....
@ -1267,7 +1267,7 @@ NO_PROFILE= true # Avoid compiling profiled libraries
[.procedure]
. Μεταγλωττίστε το βασικό σύστημα όπως κάνετε συνήθως. Όταν θέλετε να ενημερώσετε τον [.filename]#/etc# και τους άλλους καταλόγους, δώστε στον κατάλογο προορισμού ένα όνομα βασισμένο στην τρέχουσα ημερομηνία. Αν το κάνατε αυτό στις 14 Φεβρουαρίου 1998, θα γράφατε κάτι σαν το παρακάτω:
+
[source,bash]
[source,shell]
....
# mkdir /var/tmp/root-19980214
# cd /usr/src/etc
@ -1281,7 +1281,7 @@ _Μην διαγράψετε_ τον κατάλογο [.filename]#/var/tmp/root-
. Όταν κατεβάσετε την τελευταία έκδοση του πηγαίου κώδικα και τον μεταγλωττίσετε ξανά, ακολουθήστε το βήμα 1. Αυτό θα σας δώσει ένα κατάλογο που μπορεί να ονομάζεται [.filename]#/var/tmp/root-19980221# (αν ανάμεσα στις δύο μεταγλωττίσεις παρεμβάλλεται διάστημα μιας εβδομάδας).
. Μπορείτε τώρα να δείτε τις διαφορές που υπάρχουν ανάμεσα στις δύο εβδομάδες, χρησιμοποιώντας την εντολή man:diff[1] σε αναδρομική λειτουργία για να δημιουργήσετε τις διαφορές μεταξύ των δύο καταλόγων:
+
[source,bash]
[source,shell]
....
# cd /var/tmp
# diff -r root-19980214 root-19980221
@ -1290,7 +1290,7 @@ _Μην διαγράψετε_ τον κατάλογο [.filename]#/var/tmp/root-
Τυπικά, αυτό το σετ αλλαγών θα είναι πολύ μικρότερο από αυτό μεταξύ του [.filename]#/var/tmp/root-19980221/etc# και του [.filename]#/etc#. Καθώς αυτό το σετ αλλαγών είναι μικρότερο, είναι και πιο εύκολο να εφαρμόσετε αυτές τις αλλαγές στον κατάλογο [.filename]#/etc#.
. Μπορείτε τώρα να διαγράψετε τον παλιότερο από τους δύο καταλόγους [.filename]#/var/tmp/root-*#:
+
[source,bash]
[source,shell]
....
# rm -rf /var/tmp/root-19980214
....
@ -1299,7 +1299,7 @@ _Μην διαγράψετε_ τον κατάλογο [.filename]#/var/tmp/root-
Μπορείτε επίσης να χρησιμοποιήσετε την εντολή man:date[1] για να αυτοματοποιήσετε την δημιουργία των ονομάτων καταλόγων:
[source,bash]
[source,shell]
....
# mkdir /var/tmp/root-`date "+%Y%m%d"`
....
@ -1311,7 +1311,7 @@ _Μην διαγράψετε_ τον κατάλογο [.filename]#/var/tmp/root-
Η διαδικασία έχει πλέον ολοκληρωθεί. Αφού επαληθεύσετε ότι όλα βρίσκονται στις σωστές θέσεις, μπορείτε να επανεκκινήσετε το σύστημα. Μια απλή εντολή man:shutdown[8] είναι επαρκής:
[source,bash]
[source,shell]
....
# shutdown -r now
....
@ -1322,7 +1322,7 @@ _Μην διαγράψετε_ τον κατάλογο [.filename]#/var/tmp/root-
Αν τα πράγματα δεν πήγαν εντελώς σωστά, είναι εύκολο να μεταγλωττίσετε ξανά οποιοδήποτε τμήμα του συστήματος. Για παράδειγμα, αν διαγράψετε κατά λάθος το [.filename]#/etc/magic# ως μέρος μιας αναβάθμισης ή συγχώνευσης του [.filename]#/etc#, η εντολή man:file[1] θα σταματήσει να λειτουργεί. Στην περίπτωση αυτή, η διόρθωση είναι να εκτελέσετε:
[source,bash]
[source,shell]
....
# cd /usr/src/usr.bin/file
# make all install
@ -1335,7 +1335,7 @@ _Μην διαγράψετε_ τον κατάλογο [.filename]#/var/tmp/root-
Δεν υπάρχει εύκολη απάντηση σε αυτό το ερώτημα, καθώς εξαρτάται από τη φύση της αλλαγής. Για παράδειγμα, αν εκτελέσετε το CVSup, και δείτε ότι ενημερώθηκαν τα παρακάτω αρχεία:
[source,bash]
[source,shell]
....
src/games/cribbage/instr.c
src/games/sail/pl_main.c
@ -1374,7 +1374,7 @@ _Σε γενικές γραμμές_ (και αυτός δεν είναι καν
Αν βρίσκεστε στο τελευταίο στάδιο, το οποίο θα το γνωρίζετε κοιτάζοντας την έξοδο που έχετε αποθηκεύσει, είναι σχετικά ασφαλές να κάνετε:
[source,bash]
[source,shell]
....
... fix the problem ...
# cd /usr/src
@ -1385,7 +1385,7 @@ _Σε γενικές γραμμές_ (και αυτός δεν είναι καν
Αν δείτε το μήνυμα:
[source,bash]
[source,shell]
....
--------------------------------------------------------------
Building everything..
@ -1406,7 +1406,7 @@ Building everything..
* Χρησιμοποιήστε την επιλογή `-j__n__` στο man:make[1] ώστε να εκτελούνται παράλληλα πολλαπλές διεργασίες μεταγλώττισης. Αυτό συνήθως βοηθάει ακόμα και σε περίπτωση που έχετε μηχάνημα με ένα επεξεργαστή.
* Μπορείτε να προσαρτήσετε (ή να επαναπροσαρτήσετε) το σύστημα αρχείων στο οποίο είναι αποθηκευμένο το [.filename]#/usr/src# με την επιλογή `noatime`. Αυτό αποτρέπει την καταγραφή ημερομηνίας / ώρας πρόσβασης στο σύστημα αρχείων. Κατά πάσα πιθανότητα, δεν χρειάζεστε αυτή την πληροφορία έτσι και αλλιώς.
+
[source,bash]
[source,shell]
....
# mount -u -o noatime /usr/src
....
@ -1427,7 +1427,7 @@ Building everything..
Αν το σύστημα αρχείων περιέχει μόνο το [.filename]#/usr/obj#, το παραπάνω δεν είναι πρόβλημα. Αν ωστόσο έχετε και άλλα πολύτιμα δεδομένα στο ίδιο σύστημα αρχείων, σιγουρευτείτε ότι έχετε ενημερωμένα αντίγραφα ασφαλείας πριν ενεργοποιήσετε αυτή την επιλογή.
====
+
[source,bash]
[source,shell]
....
# mount -u -o async /usr/obj
....
@ -1442,7 +1442,7 @@ Building everything..
Σιγουρευτείτε ότι το περιβάλλον σας δεν έχει υπολείμματα από προηγούμενες μεταγλωττίσεις. Αυτό είναι αρκετά απλό.
[source,bash]
[source,shell]
....
# chflags -R noschg /usr/obj/usr
# rm -rf /usr/obj/usr
@ -1464,7 +1464,7 @@ Building everything..
Υποθέτουμε ότι χρησιμοποιείτε τα βήματα που περιγράφονται στο <<canonical-build>>. Μετά την επιτυχή εκτέλση της εντολής `make installworld` και του `mergemaster` που ακολουθεί, θα πρέπει να ελέγξετε για παρωχημένα αρχεία και βιβλιοθήκες όπως φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# cd /usr/src
# make check-old
@ -1472,7 +1472,7 @@ Building everything..
Αν βρεθούν παρωχημένα αρχεία, μπορείτε να τα διαγράψετε με τις παρακάτω εντολές:
[source,bash]
[source,shell]
....
# make delete-old
....
@ -1485,7 +1485,7 @@ Building everything..
Για κάθε αρχείο που θα διαγραφεί, θα σας ζητηθεί να επιβεβαιώσετε την ενέργεια. Μπορείτε να παραλείψετε την ερώτηση και να αφήσετε το σύστημα να διαγράψει αυτά τα αρχεία αυτόματα χρησιμοποιώντας την μεταβλητή του make `BATCH_DELETE_OLD_FILES` με τον τρόπο που φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# make -DBATCH_DELETE_OLD_FILES delete-old
....
@ -1499,7 +1499,7 @@ Building everything..
Οι παρωχημένες κοινόχρηστες βιβλιοθήκες μπορούν να δημιουργήσουν προβλήματα λόγω συγκρούσεων με νεώτερες εκδόσεις. Σε αυτές τις περιπτώσεις, θα δείτει μηνύματα όπως τα παρακάτω:
[source,bash]
[source,shell]
....
/usr/bin/ld: warning libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5
/usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so may conflict with librpcsvc.so.5
@ -1507,7 +1507,7 @@ Building everything..
Για να επιλύσετε τέτοιου είδους προβλήματα, βρείτε ποιο port εγκατέστησε την βιβλιοθήκη:
[source,bash]
[source,shell]
....
# pkg_info -W /usr/local/lib/libtiff.so
/usr/local/lib/libtiff.so was installed by package tiff-3.9.4
@ -1517,7 +1517,7 @@ Building everything..
Έπειτα, απεγκαταστήστε, επαναμεταγλωττίστε και επανεγκατασήστε το port. Για να αυτοματοποιήσετε αυτή τη διαδικασία μπορείτε να χρησιμοποιήσετε τα βοηθητικά προγράμματα package:ports-mgmt/portmaster[] και package:ports-mgmt/portupgrade[]. Αφού βεβαιωθείτε ότι οι παλιές βιβλιοθήκες δεν χρησιμοποιούνται πλέον από κανένα πρόγραμμα, μπορείτε να τις διαγράψετε με την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# make delete-old-libs
....

View file

@ -114,21 +114,21 @@ toc::[]
Εγκαταστήστε το πακέτο γράφοντας:
[source,bash]
[source,shell]
....
# pkg_add -r firefox
....
Η παραπάνω εντολή θα εγκαταστήσει την τελευταία σταθερή έκδοση του Firefox. Αν θέλετε να εγκαταστήσετε την παλιά έκδοση εκτεταμένης υποστήριξης (Extended Support Release, ESR), πληκτρολογήστε:
[source,bash]
[source,shell]
....
# pkg_add -r firefox-esr
....
Μπορείτε επίσης να χρησιμοποιήσετε την Συλλογή των Ports αν προτιμάτε να μεταγλωττίσετε από τον πηγαίο κώδικα:
[source,bash]
[source,shell]
....
# cd /usr/ports/www/firefox
# make install clean
@ -146,7 +146,7 @@ toc::[]
Εγκαταστήστε το OpenJDK 6 από τη Συλλογή των Ports, πληκτρολογώντας:
[source,bash]
[source,shell]
....
# cd /usr/ports/java/openjdk6
# make install clean
@ -154,7 +154,7 @@ toc::[]
Εγκαταστήστε έπειτα το port package:java/icedtea-web[]:
[source,bash]
[source,shell]
....
# cd /usr/ports/java/icedtea-web
# make install clean
@ -166,7 +166,7 @@ toc::[]
Αν ο φυλλομετρητής δεν καταφέρει να εντοπίσει το πρόσθετο, κάθε χρήστης θα χρειαστεί να εκτελέσει την παρακάτω εντολή και να επανεκκινήσει το φυλλομετρητή του:
[source,bash]
[source,shell]
....
% ln -s /usr/local/lib/IcedTeaPlugin.so \
$HOME/.mozilla/plugins/
@ -200,7 +200,7 @@ toc::[]
+
Για να λειτουργήσει σωστά αυτή η έκδοση, θα χρειαστεί να δημιουργήσετε τον συμβολικό σύνδεσμο που φαίνεται παρακάτω:
+
[source,bash]
[source,shell]
....
# ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \
/usr/local/lib/browser_plugins/
@ -211,7 +211,7 @@ toc::[]
Μετά την εγκατάσταση του σωστού (σύμφωνα με την έκδοση του FreeBSD) Flash(TM) port, ο κάθε χρήστης θα πρέπει να ολοκληρώσει την προσωπική του εγκατάσταση του plugin εκτελώντας την παρακάτω εντολή του `nspluginwrapper`:
[source,bash]
[source,shell]
....
% nspluginwrapper -v -a -i
....
@ -225,14 +225,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Αν δεν μπορείτε ή δεν θέλετε να το μεταγλωττίσετε, απλώς εγκαταστήστε το πακέτο από το δίκτυο:
[source,bash]
[source,shell]
....
# pkg_add -r swfdec-plugin
....
Αν το πακέτο δεν είναι διαθέσιμο, μπορείτε να το μεταγλωττίσετε και να το εγκαταστήσετε από τη Συλλογή των Ports:
[source,bash]
[source,shell]
....
# cd /usr/ports/www/swfdec-plugin
# make install clean
@ -246,14 +246,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Για να χρησιμοποιήσετε την FreeBSD έκδοση του Opera, εγκαταστήστε το πακέτο:
[source,bash]
[source,shell]
....
# pkg_add -r opera
....
Ορισμένες τοποθεσίες FTP δεν διαθέτουν όλα τα πακέτα, αλλά μπορείτε να έχετε το ίδιο αποτέλεσμα μέσω της συλλογής των Ports, γράφοντας:
[source,bash]
[source,shell]
....
# cd /usr/ports/www/opera
# make install clean
@ -263,7 +263,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Το πρόσθετο Adobe(R) Flash(TM) δεν είναι διαθέσιμο για το FreeBSD. Διατίθεται ωστόσο μια έκδοση κατάλληλη για το Linux(R). Για να την χρησιμοποιήσετε θα πρέπει αρχικά να εγκαταστήσετε το port package:www/linux-f10-flashplugin11[] και έπειτα το port package:www/opera-linuxplugins[]:
[source,bash]
[source,shell]
....
# cd /usr/ports/www/linux-f11-flashplugin10
# make install clean
@ -283,7 +283,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Ο Konqueror υποστηρίζει τόσο το WebKit όσο και το δικό του KHTML. Το WebKit χρησιμοποιείται από πολλούς σύγχρονους φυλλομετρητές, συμπεριλαμβανομένου και του Chromium. Για να χρησιμοποιήσετε το WebKit με τον Konqueror στο FreeBSD:
[source,bash]
[source,shell]
....
# cd /usr/ports/www/kwebkitpart
# make install clean
@ -299,14 +299,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Ο Chromium μπορεί να εγκατασταθεί από πακέτο, με την εντολή:
[source,bash]
[source,shell]
....
# pkg_add -r chromium
....
Εναλλακτικά, μπορείτε να μεταγλωττίσετε τον Chromium χρησιμοποιώντας τη Συλλογή των Ports:
[source,bash]
[source,shell]
....
# cd /usr/ports/www/chromium
# make install clean
@ -327,7 +327,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Εγκαταστήστε το OpenJDK 6 μέσω της Συλλογής των Ports, γράφοντας:
[source,bash]
[source,shell]
....
# cd /usr/ports/java/openjdk6
# make install clean
@ -335,7 +335,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Έπειτα, εγκαταστήστε το package:java/icedtea-web[] από τη Συλλογή των Ports:
[source,bash]
[source,shell]
....
# cd /usr/ports/java/icedtea-web
# make install clean
@ -345,7 +345,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Αν το πρόσθετο δεν εμφανίζεται στον Chromium, εκτελέστε τις παρακάτω εντολές και επανεκκινήστε το φυλλομετρητή σας:
[source,bash]
[source,shell]
....
# mkdir -p /usr/local/shared/chromium/plugins
# ln -s /usr/local/lib/IcedTeaPlugin.so \
@ -411,14 +411,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Για να εγκαταστήσετε το KOffice για το KDE4 ως πακέτο, δώστε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# pkg_add -r koffice-kde4
....
Αν το πακέτο δεν είναι διαθέσιμο, μπορείτε να χρησιμοποιήσετε την Συλλογή των Ports. Για παράδειγμα, για να εγκαταστήσετε το KOffice για το KDE4, πληκτρολογήστε:
[source,bash]
[source,shell]
....
# cd /usr/ports/editors/koffice-kde4
# make install clean
@ -432,14 +432,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Το AbiWord είναι διαθέσιμο ως πακέτο. Μπορείτε να το εγκαταστήσετε γράφοντας:
[source,bash]
[source,shell]
....
# pkg_add -r abiword
....
Αν το πακέτο δεν είναι διαθέσιμο για κάποιο λόγο, μπορείτε να το μεταγλωττίσετε από την Συλλογή των Ports. Σε αυτή την περίπτωση πιθανώς να εγκαταστήσετε νεώτερη έκδοση σε σχέση με το έτοιμο πακέτο. Μπορείτε να το κάνετε ως εξής:
[source,bash]
[source,shell]
....
# cd /usr/ports/editors/abiword
# make install clean
@ -451,14 +451,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Μπορείτε να εγκαταστήσετε το πακέτο δίνοντας την εντολή:
[source,bash]
[source,shell]
....
# pkg_add -r gimp
....
Αν η τοποθεσία FTP που χρησιμοποιείτε δεν διαθέτει αυτό το πακέτο, μπορείτε να χρησιμοποιήσετε την Συλλογή των Ports. Ο κατάλογος http://www.FreeBSD.org/ports/[graphics] της Συλλογής των Ports περιέχει επίσης και το The Gimp Manual (εγχειρίδιο χρήσης). Δείτε παρακάτω πως να το εγκαταστήσετε:
[source,bash]
[source,shell]
....
# cd /usr/ports/graphics/gimp
# make install clean
@ -479,7 +479,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Για να εγκαταστήσετε το OpenOffice.org, γράψτε:
[source,bash]
[source,shell]
....
# pkg_add -r openoffice.org
....
@ -491,7 +491,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Από τη στιγμή που το πακέτο εγκατασταθεί, πρέπει να γράψετε απλώς την παρακάτω εντολή για να εκτελέσετε το OpenOffice.org:
[source,bash]
[source,shell]
....
% openoffice.org
....
@ -503,7 +503,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Αν τα πακέτα του OpenOffice.org δεν είναι διαθέσιμα, έχετε πάντα την επιλογή να μεταγλωττίσετε το αντίστοιχο port. Ωστόσο, να έχετε υπόψη σας ότι αυτό απαιτεί αρκετό χώρο στο δίσκο και θα χρειαστεί και πάρα πολύ χρόνο για να ολοκληρωθεί.
[source,bash]
[source,shell]
....
# cd /usr/ports/editors/openoffice.org-3
# make install clean
@ -513,7 +513,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
====
Αν θέλετε να δημιουργήσετε μια έκδοση με τις δικές σας τοπικές ρυθμίσεις, αντικαταστήστε την προηγούμενη γραμμή εντολών με την επόμενη:
[source,bash]
[source,shell]
....
# make LOCALIZED_LANG=your_language install clean
....
@ -523,7 +523,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Μόλις γίνει αυτό, μπορείτε να ξεκινήσετε την εφαρμογή OpenOffice.org δίνοντας την εντολή:
[source,bash]
[source,shell]
....
% openoffice.org
....
@ -536,7 +536,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Για να εγκαταστήσετε το LibreOffice από έτοιμο πακετό, γράψτε:
[source,bash]
[source,shell]
....
# pkg_add -r libreoffice
....
@ -548,7 +548,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Μετά την εγκατάσταση του πακέτου, πληκτρολογήστε το παρακάτω για να εκτελέσετε το LibreOffice:
[source,bash]
[source,shell]
....
% libreoffice
....
@ -560,7 +560,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Αν δεν υπάρχουν διαθέσιμα πακέτα για το LibreOffice, έχετε επίσης την επιλογή να το μεταγλωττίσετε από το αντίστοιχο port. Θα πρέπει ωστόσο να γνωρίζετε ότι απαιτείται αρκετός χώρος στο δίσκο και αρκετός χρόνος για τη μεταγλώττιση.
[source,bash]
[source,shell]
....
# cd /usr/ports/editors/libreoffice
# make install clean
@ -570,7 +570,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
====
Αν θέλετε να δημιουργήσετε μια έκδοση με υποστήριξη κάποιας συγκεκριμένης γλώσσας, αντικαταστήστε την προηγούμενη εντολή με:
[source,bash]
[source,shell]
....
# make LOCALIZED_LANG=your_language install clean
....
@ -580,7 +580,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Μπορείτε έπειτα να εκτελέσετε το LibreOffice χρησιμοποιώντας την παρακάτω εντολή:
[source,bash]
[source,shell]
....
% libreoffice
....
@ -627,7 +627,7 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Για να εγκαταστήσετε το Acrobat Reader(R) 8 από τη Συλλογή των Ports, γράψτε:
[source,bash]
[source,shell]
....
# cd /usr/ports/print/acroread8
# make install clean
@ -641,14 +641,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Για να εγκαταστήσετε το gv ως πακέτο, γράψτε:
[source,bash]
[source,shell]
....
# pkg_add -r gv
....
Αν το πακέτο δεν είναι διαθέσιμο, μπορείτε να χρησιμοποιήσετε την Συλλογή των Ports:
[source,bash]
[source,shell]
....
# cd /usr/ports/print/gv
# make install clean
@ -660,14 +660,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Για να εγκαταστήσετε το Xpdf ως πακέτο, δώστε την εντολή:
[source,bash]
[source,shell]
....
# pkg_add -r xpdf
....
Αν το πακέτο δεν είναι διαθέσιμο ή προτιμάτε να χρησιμοποιήσετε την Συλλογή των Ports, γράψτε:
[source,bash]
[source,shell]
....
# cd /usr/ports/graphics/xpdf
# make install clean
@ -681,14 +681,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Αν θέλετε να εγκαταστήσετε το GQview ως πακέτο, γράψτε:
[source,bash]
[source,shell]
....
# pkg_add -r gqview
....
Αν το πακέτο δεν είναι διαθέσιμο, ή προτιμάτε να χρησιμοποιήσετε την Συλλογή των Ports, γράψτε:
[source,bash]
[source,shell]
....
# cd /usr/ports/graphics/gqview
# make install clean
@ -738,14 +738,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Για να εγκαταστήσετε το GnuCash στο σύστημα σας, γράψτε:
[source,bash]
[source,shell]
....
# pkg_add -r gnucash
....
Αν το πακέτο δεν είναι διαθέσιμο, μπορείτε να χρησιμοποιήσετε την Συλλογή των Ports:
[source,bash]
[source,shell]
....
# cd /usr/ports/finance/gnucash
# make install clean
@ -757,14 +757,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Για να εγκαταστήσετε το Gnumeric ως πακέτο, γράψτε:
[source,bash]
[source,shell]
....
# pkg_add -r gnumeric
....
Αν το πακέτο δεν είναι διαθέσιμο, μπορείτε να χρησιμοποιήσετε την Συλλογή των Ports, γράφοντας:
[source,bash]
[source,shell]
....
# cd /usr/ports/math/gnumeric
# make install clean
@ -776,14 +776,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Για να εγκαταστήσετε το Abacus ως πακέτο, γράψτε:
[source,bash]
[source,shell]
....
# pkg_add -r abacus
....
Αν το πακέτο δεν είναι διαθέσιμο, μπορείτε να χρησιμοποιήσετε την Συλλογή των Ports, γράφοντας:
[source,bash]
[source,shell]
....
# cd /usr/ports/deskutils/abacus
# make install clean
@ -795,14 +795,14 @@ To Swfdec είναι μια βιβλιοθήκη για αποκωδικοποί
Για να εγκαταστήσετε το KMyMoney ως πακέτο, εκτελέστε την εντολή:
[source,bash]
[source,shell]
....
# pkg_add -r kmymoney2
....
Αν το πακέτο δεν είναι διαθέσιμο, μπορείτε να χρησιμοποιήσετε την Συλλογή των Ports, όπως φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# cd /usr/ports/finance/kmymoney2
# make install clean

View file

@ -131,7 +131,7 @@ If the disk to be added is not blank, old partition information can be removed w
The partition scheme is created, and then a single partition is added:
[source,bash]
[source,shell]
....
# gpart create -s GPT ada1
# gpart add -t freebsd-ufs ada1
@ -141,14 +141,14 @@ Depending on use, several smaller partitions may be desired. See man:gpart[8] fo
A file system is created on the new blank disk:
[source,bash]
[source,shell]
....
# newfs -U /dev/ada1p1
....
An empty directory is created as a _mountpoint_, a location for mounting the new disk in the original disk's file system:
[source,bash]
[source,shell]
....
# mkdir /newdisk
....
@ -162,7 +162,7 @@ Finally, an entry is added to [.filename]#/etc/fstab# so the new disk will be mo
The new disk can be mounted manually, without restarting the system:
[source,bash]
[source,shell]
....
# mount /newdisk
....
@ -206,7 +206,7 @@ Since the burner is seen as a SCSI drive, the driver man:atapicam[4] should not
To test the USB configuration, plug in the USB device. In the system message buffer, man:dmesg[8], the drive should appear as something like:
[source,bash]
[source,shell]
....
umass0: USB Solid state disk, rev 1.10/1.00, addr 2
GEOM: create disk da0 dp=0xc2d74850
@ -220,7 +220,7 @@ The brand, device node ([.filename]#da0#), and other details will differ accordi
Since the USB device is seen as a SCSI one, `camcontrol` can be used to list the USB storage devices attached to the system:
[source,bash]
[source,shell]
....
# camcontrol devlist
<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)
@ -272,7 +272,7 @@ Since this only takes effect after the next reboot use man:sysctl[8] to set this
The final step is to create a directory where the file system is to be mounted. This directory needs to be owned by the user that is to mount the file system. One way to do that is for `root` to create a subdirectory owned by that user as [.filename]#/mnt/username#. In the following example, replace _username_ with the login name of the user and _usergroup_ with the user's primary group:
[source,bash]
[source,shell]
....
# mkdir /mnt/username
# chown username:usergroup /mnt/username
@ -280,14 +280,14 @@ The final step is to create a directory where the file system is to be mounted.
Suppose a USB thumbdrive is plugged in, and a device [.filename]#/dev/da0s1# appears. If the device is preformatted with a FAT file system, it can be mounted using:
[source,bash]
[source,shell]
....
% mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/username
....
Before the device can be unplugged, it _must_ be unmounted first. After device removal, the system message buffer will show messages similar to the following:
[source,bash]
[source,shell]
....
umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
@ -322,7 +322,7 @@ For CD burning software with a graphical user interface, consider X-CD-Roast or
The package:sysutils/cdrtools[] port also installs man:mkisofs[8], which produces an ISO 9660 file system that is an image of a directory tree in the UNIX(R) file system name space. The simplest usage is:
[source,bash]
[source,shell]
....
# mkisofs -o imagefile.iso /path/to/tree
....
@ -335,14 +335,14 @@ For CDs that are going to be used only on FreeBSD systems, `-U` can be used to d
The last option of general use is `-b`. This is used to specify the location of the boot image for use in producing an "El Torito" bootable CD. This option takes an argument which is the path to a boot image from the top of the tree being written to the CD. By default, man:mkisofs[8] creates an ISO image in "floppy disk emulation" mode, and thus expects the boot image to be exactly 1200, 1440 or 2880 KB in size. Some boot loaders, like the one used by the FreeBSD distribution disks, do not use emulation mode. In this case, `-no-emul-boot` should be used. So, if [.filename]#/tmp/myboot# holds a bootable FreeBSD system with the boot image in [.filename]#/tmp/myboot/boot/cdboot#, this command would produce the image of an ISO 9660 file system as [.filename]#/tmp/bootable.iso#:
[source,bash]
[source,shell]
....
# mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot
....
If [.filename]#md# is configured in the kernel, the file system can be mounted as a memory disk with:
[source,bash]
[source,shell]
....
# mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
# mount -t cd9660 /dev/md0 /mnt
@ -357,7 +357,7 @@ There are many other options available for man:mkisofs[8] to fine-tune its behav
For an ATAPI CD burner, `burncd` can be used to burn an ISO image onto a CD. `burncd` is part of the base system, installed as [.filename]#/usr/sbin/burncd#. Usage is very simple, as it has few options:
[source,bash]
[source,shell]
....
# burncd -f cddevice data imagefile.iso fixate
....
@ -371,14 +371,14 @@ For systems without an ATAPI CD burner, `cdrecord` can be used to burn CDs. `cdr
While `cdrecord` has many options, basic usage is simple. Burning an ISO 9660 image is done with:
[source,bash]
[source,shell]
....
# cdrecord dev=device imagefile.iso
....
The tricky part of using `cdrecord` is finding the `dev` to use. To find the proper setting, use `-scanbus` which might produce results like this:
[source,bash]
[source,shell]
....
# cdrecord -scanbus
Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 J"org Schilling
@ -415,7 +415,7 @@ To duplicate an audio CD, extract the audio data from the CD to a series of file
. Use `cdda2wav` to extract the audio:
+
[source,bash]
[source,shell]
....
% cdda2wav -vall -D2,0 -B -Owav
....
@ -423,7 +423,7 @@ To duplicate an audio CD, extract the audio data from the CD to a series of file
. Use `cdrecord` to write the [.filename]#.wav# files:
+
[source,bash]
[source,shell]
....
% cdrecord -v dev=2,0 -dao -useinfo *.wav
....
@ -443,14 +443,14 @@ With the help of the <<atapicam,ATAPI/CAM module>>, `cdda2wav` can also be used
+
Make sure the appropriate files exist in [.filename]#/dev#. If the entries are missing, force the system to retaste the media:
+
[source,bash]
[source,shell]
....
# dd if=/dev/acd0 of=/dev/null count=1
....
. Extract each track using man:dd[1], making sure to specify a block size when extracting the files:
+
[source,bash]
[source,shell]
....
# dd if=/dev/acd0t01 of=track1.cdr bs=2352
# dd if=/dev/acd0t02 of=track2.cdr bs=2352
@ -459,7 +459,7 @@ Make sure the appropriate files exist in [.filename]#/dev#. If the entries are m
. Burn the extracted files to disk using `burncd`. Specify that these are audio files, and that `burncd` should fixate the disk when finished:
+
[source,bash]
[source,shell]
....
# burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate
....
@ -470,7 +470,7 @@ Make sure the appropriate files exist in [.filename]#/dev#. If the entries are m
It is possible to copy a data CD to an image file that is functionally equivalent to the image file created with man:mkisofs[8], and then use it to duplicate any data CD. The example given here assumes that the CD-ROM device is [.filename]#acd0#. Substitute the correct CD-ROM device.
[source,bash]
[source,shell]
....
# dd if=/dev/acd0 of=file.iso bs=2048
....
@ -482,21 +482,21 @@ Now that there is an image, it can be burned to CD as described above.
It is possible to mount and read the data on a standard data CD. By default, man:mount[8] assumes that a file system is of type `ufs`. Running this command:
[source,bash]
[source,shell]
....
# mount /dev/cd0 /mnt
....
will generate an error about `Incorrect super block`, and will fail to mount the CD. The CD does not use the `UFS` file system, so attempts to mount it as such will fail. Instead, tell man:mount[8] that the file system is of type `ISO9660` by specifying `-t cd9660` to man:mount[8]. For example, to mount the CD-ROM device, [.filename]#/dev/cd0#, under [.filename]#/mnt#, use:
[source,bash]
[source,shell]
....
# mount -t cd9660 /dev/cd0 /mnt
....
Replace [.filename]#/dev/cd0# with the device name for the CD device. Also, `-t cd9660` executes man:mount_cd9660[8], meaning the above command is equivalent to:
[source,bash]
[source,shell]
....
# mount_cd9660 /dev/cd0 /mnt
....
@ -531,14 +531,14 @@ This tells the SCSI bus to pause 15 seconds during boot, to give the CD-ROM driv
It is possible to burn a file directly to CD, without creating an ISO 9660 file system. Some people do this for backup purposes. This command runs more quickly than burning a standard CD:
[source,bash]
[source,shell]
....
# burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate
....
In order to retrieve the data burned to such a CD, the data must be read from the raw device node:
[source,bash]
[source,shell]
....
# tar xzvf /dev/acd1
....
@ -583,7 +583,7 @@ Then rebuild, install the new kernel, and reboot the machine.
During the boot process, the burner should show up, like so:
[source,bash]
[source,shell]
....
acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4
cd0 at ata1 bus 0 target 0 lun 0
@ -594,14 +594,14 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
The drive can now be accessed via the [.filename]#/dev/cd0# device name. For example, to mount a CD-ROM on [.filename]#/mnt#, type the following:
[source,bash]
[source,shell]
....
# mount -t cd9660 /dev/cd0 /mnt
....
As `root`, run the following command to get the SCSI address of the burner:
[source,bash]
[source,shell]
....
# camcontrol devlist
<MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)
@ -659,7 +659,7 @@ Since man:growisofs[1] is a front-end to <<mkisofs,mkisofs>>, it will invoke man
To burn to a DVD+R or a DVD-R the data in [.filename]#/path/to/data#, use the following command:
[source,bash]
[source,shell]
....
# growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/data
....
@ -670,7 +670,7 @@ For the initial session recording, `-Z` is used for both single and multiple ses
To burn a pre-mastered image, such as _imagefile.iso_, use:
[source,bash]
[source,shell]
....
# growisofs -dvd-compat -Z /dev/cd0=imagefile.iso
....
@ -683,14 +683,14 @@ In order to support working files larger than 4.38GB, an UDF/ISO-9660 hybrid fil
To create this type of ISO file:
[source,bash]
[source,shell]
....
% mkisofs -R -J -udf -iso-level 3 -o imagefile.iso /path/to/data
....
To burn files directly to a disk:
[source,bash]
[source,shell]
....
# growisofs -dvd-compat -udf -iso-level 3 -Z /dev/cd0 -J -R /path/to/data
....
@ -706,7 +706,7 @@ A DVD-Video is a specific file layout based on the ISO 9660 and micro-UDF (M-UDF
If an image of the DVD-Video file system already exists, it can be burned in the same way as any other image. If `dvdauthor` was used to make the DVD and the result is in [.filename]#/path/to/video#, the following command should be used to burn the DVD-Video:
[source,bash]
[source,shell]
....
# growisofs -Z /dev/cd0 -dvd-video /path/to/video
....
@ -717,7 +717,7 @@ If an image of the DVD-Video file system already exists, it can be burned in the
Unlike CD-RW, a virgin DVD+RW needs to be formatted before first use. It is _recommended_ to let man:growisofs[1] take care of this automatically whenever appropriate. However, it is possible to use `dvd+rw-format` to format the DVD+RW:
[source,bash]
[source,shell]
....
# dvd+rw-format /dev/cd0
....
@ -726,7 +726,7 @@ Only perform this operation once and keep in mind that only virgin DVD+RW medias
To burn a totally new file system and not just append some data onto a DVD+RW, the media does not need to be blanked first. Instead, write over the previous recording like this:
[source,bash]
[source,shell]
....
# growisofs -Z /dev/cd0 -J -R /path/to/newdata
....
@ -735,7 +735,7 @@ The DVD+RW format supports appending data to a previous recording. This operatio
For example, to append data to a DVD+RW, use the following:
[source,bash]
[source,shell]
....
# growisofs -M /dev/cd0 -J -R /path/to/nextdata
....
@ -749,7 +749,7 @@ Use `-dvd-compat` for better media compatibility with DVD-ROM drives. When using
To blank the media, use:
[source,bash]
[source,shell]
....
# growisofs -Z /dev/cd0=/dev/zero
....
@ -762,7 +762,7 @@ A virgin DVD-RW can be directly written without being formatted. However, a non-
To blank a DVD-RW in sequential mode:
[source,bash]
[source,shell]
....
# dvd+rw-format -blank=full /dev/cd0
....
@ -771,7 +771,7 @@ To blank a DVD-RW in sequential mode:
====
A full blanking using `-blank=full` will take about one hour on a 1x media. A fast blanking can be performed using `-blank`, if the DVD-RW will be recorded in Disk-At-Once (DAO) mode. To burn the DVD-RW in DAO mode, use the command:
[source,bash]
[source,shell]
....
# growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.iso
....
@ -783,7 +783,7 @@ One should instead use restricted overwrite mode with any DVD-RW as this format
To write data on a sequential DVD-RW, use the same instructions as for the other DVD formats:
[source,bash]
[source,shell]
....
# growisofs -Z /dev/cd0 -J -R /path/to/data
....
@ -794,14 +794,14 @@ A DVD-RW in restricted overwrite format does not need to be blanked before a new
To put a DVD-RW in restricted overwrite format, the following command must be used:
[source,bash]
[source,shell]
....
# dvd+rw-format /dev/cd0
....
To change back to sequential format, use:
[source,bash]
[source,shell]
....
# dvd+rw-format -blank=full /dev/cd0
....
@ -812,7 +812,7 @@ Few DVD-ROM drives support multi-session DVDs and most of the time only read the
Using the following command after an initial non-closed session on a DVD+R, DVD-R, or DVD-RW in sequential format, will add a new session to the disc:
[source,bash]
[source,shell]
....
# growisofs -M /dev/cd0 -J -R /path/to/nextdata
....
@ -851,7 +851,7 @@ hw.ata.atapi_dma="1"
A DVD-RAM can be seen as a removable hard drive. Like any other hard drive, the DVD-RAM must be formatted before it can be used. In this example, the whole disk space will be formatted with a standard UFS2 file system:
[source,bash]
[source,shell]
....
# dd if=/dev/zero of=/dev/acd0 bs=2k count=1
# bsdlabel -Bw acd0
@ -864,7 +864,7 @@ The DVD device, [.filename]#acd0#, must be changed according to the configuratio
Once the DVD-RAM has been formatted, it can be mounted as a normal hard drive:
[source,bash]
[source,shell]
....
# mount /dev/acd0 /mnt
....
@ -896,7 +896,7 @@ Make note of any error messages, as these can help determine if the disk is good
To format the floppy, insert a new 3.5inch floppy disk into the first floppy drive and issue:
[source,bash]
[source,shell]
....
# /usr/sbin/fdformat -f 1440 /dev/fd0
....
@ -909,7 +909,7 @@ The new disk label will take over the whole disk and will contain all the proper
To write the disk label, use man:bsdlabel[8]:
[source,bash]
[source,shell]
....
# /sbin/bsdlabel -B -w /dev/fd0 fd1440
....
@ -922,7 +922,7 @@ The floppy's file system can be either UFS or FAT. FAT is generally a better cho
To put a new file system on the floppy, issue:
[source,bash]
[source,shell]
....
# /sbin/newfs_msdos /dev/fd0
....
@ -949,7 +949,7 @@ man:mt[1] is the FreeBSD utility for controlling other operations of the tape dr
For example, the first three files on a tape can be preserved by skipping past them before writing a new file:
[source,bash]
[source,shell]
....
# mt -f /dev/nsa0 fsf 3
....
@ -958,14 +958,14 @@ For example, the first three files on a tape can be preserved by skipping past t
An example of writing a single file to tape using man:tar[1]:
[source,bash]
[source,shell]
....
# tar cvf /dev/sa0 file
....
Recovering files from a man:tar[1] archive on tape into the current directory:
[source,bash]
[source,shell]
....
# tar xvf /dev/sa0
....
@ -974,14 +974,14 @@ Recovering files from a man:tar[1] archive on tape into the current directory:
A simple backup of [.filename]#/usr# with man:dump[8]:
[source,bash]
[source,shell]
....
# dump -0aL -b64 -f /dev/nsa0 /usr
....
Interactively restoring files from a man:dump[8] file on tape into the current directory:
[source,bash]
[source,shell]
....
# restore -i -f /dev/nsa0
....
@ -1030,7 +1030,7 @@ If `dump` is used on the root directory, it will not back up [.filename]#/home#,
It is also possible to backup data across the network to a tape drive attached to another computer with `rdump` and `rrestore`. Both programs rely upon man:rcmd[3] and man:ruserok[3] to access the remote tape drive. Therefore, the user performing the backup must be listed in [.filename]#.rhosts# on the remote computer. The arguments to `rdump` and `rrestore` must be suitable to use on the remote computer. For example, to `rdump` from a FreeBSD computer to an Exabyte tape drive connected to a host called `komodo`, use:
[source,bash]
[source,shell]
....
# /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1
....
@ -1043,7 +1043,7 @@ It is also possible to use `dump` and `restore` in a more secure fashion over `s
[example]
====
[source,bash]
[source,shell]
....
# /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz
@ -1057,7 +1057,7 @@ Or, use the built-in `RSH`:
[example]
====
[source,bash]
[source,shell]
....
# env RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usr
....
@ -1070,7 +1070,7 @@ man:tar[1] also dates back to Version 6 of AT&T UNIX(R), circa 1975. `tar` opera
To `tar` to an Exabyte tape drive connected to a host called `komodo`:
[source,bash]
[source,shell]
....
# tar cf - . | rsh komodo dd of=tape-device obs=20b
....
@ -1083,7 +1083,7 @@ man:cpio[1] is the original UNIX(R) file interchange tape program for magnetic m
Since `cpio` does not support backups across the network, use a pipeline and `ssh` to send the data to a remote tape drive.
[source,bash]
[source,shell]
....
# for f in directory_list; do
@ -1185,7 +1185,7 @@ To mount an existing file system image:
[example]
====
[source,bash]
[source,shell]
....
# mdconfig -a -t vnode -f diskimage -u 0
# mount /dev/md0 /mnt
@ -1199,7 +1199,7 @@ To create a new file system image with man:mdconfig[8]:
[example]
====
[source,bash]
[source,shell]
....
# dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
@ -1227,7 +1227,7 @@ While man:mdconfig[8] is useful, it takes several command lines to create a file
[example]
====
[source,bash]
[source,shell]
....
# dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
@ -1251,7 +1251,7 @@ For a memory-based file system, "swap backing" should normally be used. This doe
[example]
====
[source,bash]
[source,shell]
....
# mdconfig -a -t swap -s 5m -u 1
# newfs -U md1
@ -1272,7 +1272,7 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
[example]
====
[source,bash]
[source,shell]
....
# mdmfs -s 5m md2 /mnt
# df /mnt
@ -1288,7 +1288,7 @@ When a memory-based or file-based file system is no longer in use, its resources
For example, to detach and free all resources used by [.filename]#/dev/md4#:
[source,bash]
[source,shell]
....
# mdconfig -d -u 4
....
@ -1306,21 +1306,21 @@ The un-alterable `snapshot` file flag is set by man:mksnap_ffs[8] after initial
Snapshots are created using man:mount[8]. To place a snapshot of [.filename]#/var# in the file [.filename]#/var/snapshot/snap#, use the following command:
[source,bash]
[source,shell]
....
# mount -u -o snapshot /var/snapshot/snap /var
....
Alternatively, use man:mksnap_ffs[8] to create the snapshot:
[source,bash]
[source,shell]
....
# mksnap_ffs /var /var/snapshot/snap
....
One can find snapshot files on a file system, such as [.filename]#/var#, using man:find[1]:
[source,bash]
[source,shell]
....
# find /var -flags snapshot
....
@ -1333,7 +1333,7 @@ Once a snapshot has been created, it has several uses:
* The snapshot can be mounted as a frozen image of the file system. To man:mount[8] the snapshot [.filename]#/var/snapshot/snap# run:
+
[source,bash]
[source,shell]
....
# mdconfig -a -t vnode -f /var/snapshot/snap -u 4
# mount -r /dev/md4 /mnt
@ -1341,7 +1341,7 @@ Once a snapshot has been created, it has several uses:
The frozen [.filename]#/var# is now available through [.filename]#/mnt#. Everything will initially be in the same state it was during the snapshot creation time. The only exception is that any earlier snapshots will appear as zero length files. To unmount the snapshot, use:
[source,bash]
[source,shell]
....
# umount /mnt
# mdconfig -d -u 4
@ -1405,7 +1405,7 @@ In the normal course of operations, there should be no need to manually run man:
Once the system has been configured to enable quotas, verify they really are enabled by running:
[source,bash]
[source,shell]
....
# quota -v
....
@ -1422,7 +1422,7 @@ Soft limits can be exceeded for a limited amount of time, known as the grace per
The following is an example output from man:edquota[8]. When man:edquota[8] is invoked, the editor specified by `EDITOR` is opened in order to edit the quota limits. The default editor is set to vi.
[source,bash]
[source,shell]
....
# edquota -u test
....
@ -1454,7 +1454,7 @@ The new quota limits take affect upon exiting the editor.
Sometimes it is desirable to set quota limits on a range of UIDs. This can be done by passing `-p` to man:edquota[8]. First, assign the desired quota limit to a user, then run `edquota -p protouser startuid-enduid`. For example, if `test` has the desired quota limits, the following command will duplicate those quota limits for UIDs 10,000 through 19,999:
[source,bash]
[source,shell]
....
# edquota -p test 10000-19999
....
@ -1492,7 +1492,7 @@ rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
Now restart `inetd`:
[source,bash]
[source,shell]
....
# service inetd restart
....
@ -1509,7 +1509,7 @@ Regardless of how an attacker may have come into possession of a hard drive or p
[.procedure]
. Configuring gbde requires superuser privileges.
+
[source,bash]
[source,shell]
....
% su -
Password:
@ -1521,7 +1521,7 @@ Password:
+
If the kernel already contains this support, use `kldload` to load man:gbde[4]:
+
[source,bash]
[source,shell]
....
# kldload geom_bde
....
@ -1535,7 +1535,7 @@ The following example demonstrates adding a new hard drive to a system that will
+
Install the new drive to the system as explained in <<disks-adding>>. For the purposes of this example, a new hard drive partition has been added as [.filename]#/dev/ad4s1c# and [.filename]#/dev/ad0s1*# represents the existing standard FreeBSD partitions.
+
[source,bash]
[source,shell]
....
# ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
@ -1545,7 +1545,7 @@ Install the new drive to the system as explained in <<disks-adding>>. For the pu
. Create a Directory to Hold `gbde` Lock Files
+
[source,bash]
[source,shell]
....
# mkdir /etc/gbde
....
@ -1555,7 +1555,7 @@ The gbde lock file contains information that gbde requires to access encrypted p
+
A gbde partition must be initialized before it can be used. This initialization needs to be performed only once:
+
[source,bash]
[source,shell]
....
# gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock
....
@ -1587,14 +1587,14 @@ gbde lock files _must_ be backed up together with the contents of any encrypted
. Attach the Encrypted Partition to the Kernel
+
[source,bash]
[source,shell]
....
# gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock
....
+
This command will prompt to input the passphrase that was selected during the initialization of the encrypted partition. The new encrypted device will appear in [.filename]#/dev# as [.filename]#/dev/device_name.bde#:
+
[source,bash]
[source,shell]
....
# ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
@ -1606,7 +1606,7 @@ This command will prompt to input the passphrase that was selected during the in
+
Once the encrypted device has been attached to the kernel, a file system can be created on the device using man:newfs[8]. This example creates a UFS2 file system with soft updates enabled.
+
[source,bash]
[source,shell]
....
# newfs -U /dev/ad4s1c.bde
....
@ -1620,14 +1620,14 @@ man:newfs[8] must be performed on an attached gbde partition which is identified
+
Create a mount point for the encrypted file system:
+
[source,bash]
[source,shell]
....
# mkdir /private
....
+
Mount the encrypted file system:
+
[source,bash]
[source,shell]
....
# mount /dev/ad4s1c.bde /private
....
@ -1636,7 +1636,7 @@ Mount the encrypted file system:
+
The encrypted file system should now be visible to man:df[1] and be available for use.
+
[source,bash]
[source,shell]
....
% df -H
Filesystem Size Used Avail Capacity Mounted on
@ -1655,7 +1655,7 @@ After each boot, any encrypted file systems must be re-attached to the kernel, c
[.procedure]
. Attach the `gbde` Partition to the Kernel
+
[source,bash]
[source,shell]
....
# gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock
....
@ -1665,14 +1665,14 @@ This command will prompt for the passphrase that was selected during initializat
+
Since encrypted file systems cannot yet be listed in [.filename]#/etc/fstab# for automatic mounting, the file systems must be checked for errors by running man:fsck[8] manually before mounting:
+
[source,bash]
[source,shell]
....
# fsck -p -t ffs /dev/ad4s1c.bde
....
. Mount the Encrypted File System
+
[source,bash]
[source,shell]
....
# mount /dev/ad4s1c.bde /private
....
@ -1702,7 +1702,7 @@ man:gbde[8] encrypts the sector payload using 128-bit AES in CBC mode. Each sect
man:sysinstall[8] is incompatible with gbde-encrypted devices. All [.filename]#*.bde# devices must be detached from the kernel before starting man:sysinstall[8] or it will crash during its initial probing for devices. To detach the encrypted device used in the example, use the following command:
[source,bash]
[source,shell]
....
# gbde detach /dev/ad4s1c
....
@ -1754,7 +1754,7 @@ It is recommended to use a bigger sector size, such as 4kB, for better performan
+
The master key will be protected with a passphrase and the data source for the key file will be [.filename]#/dev/random#. The sector size of the provider [.filename]#/dev/da2.eli# will be 4kB.
+
[source,bash]
[source,shell]
....
# dd if=/dev/random of=/root/da2.key bs=64 count=1
# geli init -s 4096 -K /root/da2.key /dev/da2
@ -1766,14 +1766,14 @@ It is not mandatory to use both a passphrase and a key file as either method of
+
If the key file is given as "-", standard input will be used. This example shows how more than one key file can be used:
+
[source,bash]
[source,shell]
....
# cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2
....
. Attaching the Provider with the Generated Key
+
[source,bash]
[source,shell]
....
# geli attach -k /root/da2.key /dev/da2
Enter passphrase:
@ -1781,7 +1781,7 @@ Enter passphrase:
+
The new plaintext device will be named [.filename]#/dev/da2.eli#.
+
[source,bash]
[source,shell]
....
# ls /dev/da2*
/dev/da2 /dev/da2.eli
@ -1789,7 +1789,7 @@ The new plaintext device will be named [.filename]#/dev/da2.eli#.
. Creating the New File System
+
[source,bash]
[source,shell]
....
# dd if=/dev/random of=/dev/da2.eli bs=1m
# newfs /dev/da2.eli
@ -1798,7 +1798,7 @@ The new plaintext device will be named [.filename]#/dev/da2.eli#.
+
The encrypted file system should now be visible to man:df[1] and be available for use:
+
[source,bash]
[source,shell]
....
# df -H
Filesystem Size Used Avail Capacity Mounted on
@ -1814,7 +1814,7 @@ Filesystem Size Used Avail Capacity Mounted on
+
Once the work on the encrypted partition is done, and the [.filename]#/private# partition is no longer needed, it is prudent to consider unmounting and detaching the `geli` encrypted partition from the kernel:
+
[source,bash]
[source,shell]
....
# umount /private
# geli detach da2.eli
@ -1850,7 +1850,7 @@ For the remainder of this section, [.filename]#ad0s1b# will be the swap partitio
Swap partitions are not encrypted by default and should be cleared of any sensitive data before continuing. To overwrite the current swap parition with random garbage, execute the following command:
[source,bash]
[source,shell]
....
# dd if=/dev/random of=/dev/ad0s1b bs=1m
....
@ -1890,7 +1890,7 @@ Once the system has rebooted, proper operation of the encrypted swap can be veri
If man:gbde[8] is being used:
[source,bash]
[source,shell]
....
% swapinfo
Device 1K-blocks Used Avail Capacity
@ -1899,7 +1899,7 @@ Device 1K-blocks Used Avail Capacity
If man:geli[8] is being used:
[source,bash]
[source,shell]
....
% swapinfo
Device 1K-blocks Used Avail Capacity
@ -2010,7 +2010,7 @@ It is also possible to use host names in the `remote` statements. In such a case
Now that the configuration exists on both nodes, the HAST pool can be created. Run these commands on both nodes to place the initial metadata onto the local disk and to start man:hastd[8]:
[source,bash]
[source,shell]
....
# hastctl create test
# service hastd onestart
@ -2023,14 +2023,14 @@ It is _not_ possible to use GEOM providers with an existing file system or to co
A HAST node's `primary` or `secondary` role is selected by an administrator, or software like Heartbeat, using man:hastctl[8]. On the primary node, `hasta`, issue this command:
[source,bash]
[source,shell]
....
# hastctl role primary test
....
Similarly, run this command on the secondary node, `hastb`:
[source,bash]
[source,shell]
....
# hastctl role secondary test
....
@ -2043,7 +2043,7 @@ When the nodes are unable to communicate with each other, and both are configure
Verify the result by running man:hastctl[8] on each node:
[source,bash]
[source,shell]
....
# hastctl status test
....
@ -2052,7 +2052,7 @@ The important text is the `status` line, which should say `complete` on each of
The next step is to create a filesystem on the [.filename]#/dev/hast/test# GEOM provider and mount it. This must be done on the `primary` node, as [.filename]#/dev/hast/test# appears only on the `primary` node. Creating the filesystem can take a few minutes, depending on the size of the hard drive:
[source,bash]
[source,shell]
....
# newfs -U /dev/hast/test
# mkdir /hast/test
@ -2097,7 +2097,7 @@ notify 30 {
Restart man:devd[8] on both nodes to put the new configuration into effect:
[source,bash]
[source,shell]
....
# service devd restart
....
@ -2232,7 +2232,7 @@ When troubleshooting HAST problems, the debugging level of man:hastd[8] should b
The administrator must decide which node has more important changes (or merge them manually) and let HAST perform full synchronization of the node which has the broken data. To do this, issue these commands on the node which needs to be resynchronized:
[source,bash]
[source,shell]
....
# hastctl role init <resource>
# hastctl create <resource>

View file

@ -111,7 +111,7 @@ options KDTRACE_FRAME
Όλος ο πηγαίος κώδικας θα πρέπει να μεταγλωττιστεί ξανά με τις επιλογές CTF. Για να γίνει αυτό, μεταγλωττίστε ξανά το FreeBSD χρησιμοποιώντας:
[source,bash]
[source,shell]
....
# cd /usr/src
@ -129,14 +129,14 @@ options KDTRACE_FRAME
Πριν χρησιμοποιήσετε τις λειτουργίες του DTrace, θα πρέπει να υπάρχει η αντίστοιχη συσκευή. Για να φορτώσετε τη συσκευή, θα πρέπει να δώσετε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# kldload dtraceall
....
Θα πρέπει να έχετε πλέον υποστήριξη DTrace. Για να δείτε όλα τα probes, θα πρέπει να εκτελέσετε ως διαχειριστής την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# dtrace -l | more
....
@ -145,7 +145,7 @@ options KDTRACE_FRAME
Η σειρά των εργαλείων είναι μια συλλογή από έτοιμα scripts που εκτελούνται με το DTrace ώστε να συλλέξουν πληροφορίες σχετικά με το σύστημα. Υπάρχουν scripts που ελέγχουν για ανοικτά αρχεία, τη μνήμη, τη χρήση της CPU και πολλά ακόμα. Κάντε εξαγωγή των scripts με την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# gunzip -c DTraceToolkit* | tar xvf -
....
@ -163,7 +163,7 @@ options KDTRACE_FRAME
Το [.filename]#hotkernel# έχει σχεδιαστεί να αναγνωρίζει ποια συνάρτηση καταναλώνει το μεγαλύτερο χρόνο στον πυρήνα. Εκτελώντας το υπό κανονικές συνθήκες, θα δείτε έξοδο παρόμοια με την παρακάτω:
[source,bash]
[source,shell]
....
# ./hotkernel
Sampling... Hit Ctrl-C to end.
@ -171,7 +171,7 @@ Sampling... Hit Ctrl-C to end.
Ο διαχειριστής του συστήματος θα πρέπει να χρησιμοποιήσει το συνδυασμό πλήκτρων kbd:[Ctrl+C] για να σταματήσει τη διεργασία. Με τον τερματισμό του, το script θα απεικονίσει μια σειρά από συναρτήσεις του πυρήνα και πληροφορίες σχετικά με το χρόνο τους, ταξινομώντας τις σε αύξουσα σειρά ανάλογα με το χρόνο:
[source,bash]
[source,shell]
....
kernel`_thread_lock_flags 2 0.0%
0xc1097063 2 0.0%
@ -203,7 +203,7 @@ kernel`sched_idletd 137 0.3%
Το script αυτό λειτουργεί επίσης με αρθρώματα του πυρήνα. Για να χρησιμοποιήσετε αυτό το χαρακτηριστικό, εκτελέστε το με την επιλογή `-m`:
[source,bash]
[source,shell]
....
# ./hotkernel -m
Sampling... Hit Ctrl-C to end.
@ -225,7 +225,7 @@ kernel 874 0.4%
Το [.filename]#procsystime# script συλλαμβάνει και τυπώνει τον χρόνο των κλήσεων συστήματος για μια συγκεκριμένη διεργασία μέσω του PID ή του ονόματος της. Στο παρακάτω παράδειγμα έχουμε ξεκινήσει μια νέα διεργασία του [.filename]#/bin/csh#. Εκτελέσαμε το [.filename]#procsystime# και το αφήσαμε στην αναμονή καθώς γράφαμε μερικές εντολές στο `csh` που είχαμε ανοίξει. Αυτά είναι τα αποτελέσματα της δοκιμής μας:
[source,bash]
[source,shell]
....
# ./procsystime -n csh
Tracing... Hit Ctrl-C to end...

View file

@ -113,7 +113,7 @@ vfs.zfs.vdev.cache.size="5M"
Υπάρχει ένας μηχανισμός εκκίνησης που επιτρέπει στο FreeBSD να προσαρτήσει ZFS pools κατά τη διάρκεια της εκκίνησης του συστήματος. Για να τον ρυθμίσετε, εκτελέστε τις ακόλουθες εντολές:
[source,bash]
[source,shell]
....
# echo 'zfs_enable="YES"' >> /etc/rc.conf
# /etc/rc.d/zfs start
@ -125,14 +125,14 @@ vfs.zfs.vdev.cache.size="5M"
Για την δημιουργία ενός ZFS pool με ένα μόνο δίσκο (χωρίς δυνατότητα ανοχής σφαλμάτων), χρησιμοποιήστε την εντολή `zpool`:
[source,bash]
[source,shell]
....
# zpool create example /dev/da0
....
Για να δείτε το νέο pool, εξετάστε την έξοδο της εντολής `df`:
[source,bash]
[source,shell]
....
# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
@ -144,7 +144,7 @@ example 17547136 0 17547136 0% /example
Η έξοδος αυτή δείχνει καθαρά ότι το `example` pool όχι μόνο έχει δημιουργηθεί, αλλά έχει επίσης _προσαρτηθεί_ κιόλας. Είναι επίσης διαθέσιμο ως κανονικό σύστημα αρχείων, μπορείτε να δημιουργήσετε αρχεία σε αυτό, και άλλοι χρήστες μπορούν επίσης να το δουν, όπως φαίνεται στο παρακάτω παράδειγμα:
[source,bash]
[source,shell]
....
# cd /example
# ls
@ -158,7 +158,7 @@ drwxr-xr-x 21 root wheel 512 Aug 29 23:12 ..
Δυστυχώς αυτό το pool δεν χρησιμοποιεί κάποιο από τα πλεονεκτήματα του ZFS. Δημιουργήστε ένα σύστημα αρχείων σε αυτό το pool και ενεργοποιήστε σε αυτό τη συμπίεση:
[source,bash]
[source,shell]
....
# zfs create example/compressed
# zfs set compression=gzip example/compressed
@ -168,14 +168,14 @@ drwxr-xr-x 21 root wheel 512 Aug 29 23:12 ..
Μπορείτε τώρα να απενεργοποιήσετε τη συμπίεση γράφοντας:
[source,bash]
[source,shell]
....
# zfs set compression=off example/compressed
....
Για να αποπροσαρτήσετε το σύστημα αρχείων, εκτελέστε την ακόλουθη εντολή και επαληθεύστε το αποτέλεσμα μέσω του βοηθητικού προγράμματος `df`:
[source,bash]
[source,shell]
....
# zfs umount example/compressed
# df
@ -188,7 +188,7 @@ example 17547008 0 17547008 0% /example
Προσαρτήστε ξανά το σύστημα αρχείων, ώστε να είναι και πάλι προσβάσιμο, και επαληθεύστε το χρησιμοποιώντας όπως και πριν, την εντολή `df`:
[source,bash]
[source,shell]
....
# zfs mount example/compressed
# df
@ -202,7 +202,7 @@ example/compressed 17547008 0 17547008 0% /example/compressed
Μπορείτε επίσης να δείτε το pool και το σύστημα αρχείων εξετάζοντας την έξοδο της εντολής `mount`:
[source,bash]
[source,shell]
....
# mount
/dev/ad0s1a on / (ufs, local)
@ -215,7 +215,7 @@ example/compressed on /example/compressed (zfs, local)
Όπως παρατηρούμε, το σύστημα αρχείων ZFS μπορεί να χρησιμοποιηθεί ως κοινό σύστημα αρχείων μετά τη δημιουργία του. Ωστόσο, διαθέτει πολλές ακόμα λειτουργίες. Στο παρακάτω παράδειγμα δημιουργούμε ένα νέο σύστημα αρχείων, το `data`. θα αποθηκεύσουμε σημαντικά δεδομένα σε αυτό, και έτσι το ρυθμίζουμε ώστε να κρατάει δύο αντίγραφα από κάθε μπλοκ δεδομένων:
[source,bash]
[source,shell]
....
# zfs create example/data
# zfs set copies=2 example/data
@ -223,7 +223,7 @@ example/compressed on /example/compressed (zfs, local)
Μπορούμε τώρα να δούμε τα δεδομένα και την κατανάλωση χώρου δίνοντας ξανά την εντολή `df`:
[source,bash]
[source,shell]
....
# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
@ -237,7 +237,7 @@ example/data 17547008 0 17547008 0% /example/data
Παρατηρήστε ότι κάθε σύστημα αρχείων στο pool δείχνει το ίδιο μέγεθος διαθέσιμου χώρου. Αυτός είναι και ο λόγος που χρησιμοποιούμε την εντολή `df` σε όλα τα παραδείγματα, για να δείξουμε ότι τα συστήματα αρχείων χρησιμοποιούν μόνο το χώρο που χρειάζονται και ότι όλα μοιράζονται τον ίδιο χώρο (το κοινόχρηστο απόθεμα - pool). Στο σύστημα αρχείων ZFS έννοιες όπως οι τόμοι (volumes) και οι κατατμήσεις (partitions) δεν έχουν νόημα. Αντίθετα, πολλά συστήματα αρχείων μοιράζονται τον ίδιο χώρο, το pool. Μπορείτε να καταργήσετε το σύστημα αρχείων και κατόπιν το ίδιο το pool όταν δεν τα χρειάζεστε πλέον:
[source,bash]
[source,shell]
....
# zfs destroy example/compressed
# zfs destroy example/data
@ -250,7 +250,7 @@ example/data 17547008 0 17547008 0% /example/data
Όπως αναφέραμε προηγουμένως, η ενότητα αυτή προϋποθέτει ότι χρησιμοποιούμε τρεις συσκευές SCSI με ονόματα συσκευών [.filename]#da0#, [.filename]#da1# και [.filename]#da2#. Για να δημιουργήσουμε ένα pool τύπου RAID-Z, εκτελούμε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# zpool create storage raidz da0 da1 da2
....
@ -262,14 +262,14 @@ example/data 17547008 0 17547008 0% /example/data
Θα δημιουργηθεί το `storage` zpool. Μπορείτε να επαληθεύσετε το αποτέλεσμα χρησιμοποιώντας, όπως και προηγουμένως, τις εντολές man:mount[8] και man:df[1]. Θα μπορούσαμε να χρησιμοποιήσουμε περισσότερους δίσκους, προσθέτοντας τα ονόματα συσκευών τους στο τέλος της παραπάνω λίστας. Δημιουργήστε ένα νέο σύστημα αρχείων στο pool, το οποίο θα ονομάζεται `home` και όπου θα αποθηκεύονται τελικά τα αρχεία των χρηστών:
[source,bash]
[source,shell]
....
# zfs create storage/home
....
Μπορούμε τώρα να ενεργοποιήσουμε την συμπίεση και να κρατάμε επιπλέον αντίγραφα των καταλόγων και των δεδομένων των χρηστών. Όπως και προηγουμένως, μπορούμε να το επιτύχουμε χρησιμοποιώντας τις παρακάτω εντολές:
[source,bash]
[source,shell]
....
# zfs set copies=2 storage/home
# zfs set compression=gzip storage/home
@ -277,7 +277,7 @@ example/data 17547008 0 17547008 0% /example/data
Για να γίνει αυτός ο νέος κατάλογος των χρηστών, αντιγράψτε τα δεδομένα τους σε αυτόν και δημιουργήστε τους κατάλληλους συμβολικούς δεσμούς:
[source,bash]
[source,shell]
....
# cp -rp /home/* /storage/home
# rm -rf /home /usr/home
@ -289,42 +289,42 @@ example/data 17547008 0 17547008 0% /example/data
Δοκιμάστε να δημιουργήσετε ένα στιγμιότυπο (snapshot) στο οποίο θα μπορείτε να επανέλθετε αργότερα:
[source,bash]
[source,shell]
....
# zfs snapshot storage/home@08-30-08
....
Σημειώστε ότι η επιλογή δημιουργίας στιγμιότυπου λειτουργεί μόνο σε πραγματικό σύστημα αρχείων, και όχι σε κάποιο μεμονωμένο κατάλογο ή αρχείο. Ο χαρακτήρας `@` χρησιμοποιείται ως διαχωριστικό μεταξύ του συστήματος αρχείων και του ονόματος τόμου. Αν καταστραφεί ο κατάλογος δεδομένων κάποιου χρήστη αποκαταστήστε τον με την εντολή:
[source,bash]
[source,shell]
....
# zfs rollback storage/home@08-30-08
....
Για να δείτε μια λίστα των διαθέσιμων στιγμιότυπων, εκτελέστε την εντολή `ls` στον κατάλογο [.filename]#.zfs/snapshot# του συστήματος αρχείων. Για παράδειγμα, για να δείτε το στιγμιότυπο που δημιουργήσαμε προηγουμένως, εκτελέστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# ls /storage/home/.zfs/snapshot
....
Είναι δυνατόν να γράψετε κάποιο script που να δημιουργεί μηνιαία στιγμιότυπα των δεδομένων των χρηστών. Ωστόσο, με την πάροδο του χρόνου, τα στιγμιότυπα θα καταναλώσουν μεγάλο ποσοστό του χώρου στο δίσκο. Μπορείτε να διαγράψετε το προηγούμενο στιγμιότυπο χρησιμοποιώντας την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# zfs destroy storage/home@08-30-08
....
Δεν υπάρχει λόγος, μετά από όλες αυτές τις δοκιμές, να κρατήσουμε το [.filename]#/storage/home# στην παρούσα κατάσταση του. Μετατρέψτε το στο πραγματικό σύστημα αρχείων [.filename]#/home#:
[source,bash]
[source,shell]
....
# zfs set mountpoint=/home storage/home
....
Χρησιμοποιώντας τις εντολές `df` και `mount` θα δούμε ότι το σύστημα χειρίζεται πλέον αυτό το σύστημα αρχείων ως το πραγματικό [.filename]#/home#:
[source,bash]
[source,shell]
....
# mount
/dev/ad0s1a on / (ufs, local)
@ -343,7 +343,7 @@ storage/home 26320512 0 26320512 0% /home
Εδώ ολοκληρώνεται η ρύθμιση του RAID-Z. Για να δέχεστε αναφορές κατάστασης σχετικά με τα συστήματα αρχείων κατά τη νυκτερινή εκτέλεση του man:periodic[8], δώστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf
....
@ -352,21 +352,21 @@ storage/home 26320512 0 26320512 0% /home
Κάθε λογισμικό RAID έχει μια μέθοδο για επίβλεψη της κατάστασής του, και το ZFS δεν αποτελεί εξαίρεση. Μπορείτε να δείτε την κατάσταση των συσκευών του RAID-Z χρησιμοποιώντας την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# zpool status -x
....
Αν όλα τα pools είναι σε υγιή κατάσταση, θα πάρετε το ακόλουθο μήνυμα:
[source,bash]
[source,shell]
....
all pools are healthy
....
Αν υπάρχει κάποιο πρόβλημα, π.χ. κάποιος δίσκος έχει βγει εκτός λειτουργίας, θα δείτε την περιγραφή της κατάστασης σε ένα μήνυμα όπως το παρακάτω:
[source,bash]
[source,shell]
....
pool: storage
state: DEGRADED
@ -390,21 +390,21 @@ errors: No known data errors
Το παραπάνω δείχνει ότι η συσκευή τέθηκε εκτός λειτουργίας από τον διαχειριστή. Αυτό είναι αλήθεια για το συγκεκριμένο παράδειγμα. Για να τεθεί ο δίσκος εκτός, χρησιμοποιήθηκε η παρακάτω εντολή:
[source,bash]
[source,shell]
....
# zpool offline storage da1
....
Μπορούμε τώρα να αντικαταστήσουμε το δίσκο [.filename]#da1# μετά την απενεργοποίηση του συστήματος. Όταν το σύστημα επανέλθει σε λειτουργία, μπορούμε να χρησιμοποιήσουμε την ακόλουθη εντολή για να ενημερώσουμε το σύστημα για την αντικατάσταση του δίσκου:
[source,bash]
[source,shell]
....
# zpool replace storage da1
....
Από εδώ, μπορούμε να ελέγξουμε ξανά την κατάσταση, αυτή τη φορά χωρίς την επιλογή `-x`:
[source,bash]
[source,shell]
....
# zpool status storage
pool: storage
@ -428,21 +428,21 @@ errors: No known data errors
Όπως αναφέραμε προηγουμένως, το ZFS χρησιμοποιεί `checksums` (αθροίσματα ελέγχου) για να επαληθεύσει την ακεραιότητα των αποθηκευμένων δεδομένων. Τα αθροίσματα ελέγχου ενεργοποιούνται αυτόματα κατά την δημιουργία των συστημάτων αρχείων, και μπορούν να απενεργοποιηθούν μέσω της επόμενης εντολής:
[source,bash]
[source,shell]
....
# zfs set checksum=off storage/home
....
Αυτό δεν είναι γενικά καλή ιδέα, καθώς τα checksums καταλαμβάνουν ελάχιστο αποθηκευτικό χώρο, και είναι πολύ πιο χρήσιμο να τα έχουμε ενεργοποιημένα. Επίσης δεν φαίνεται να προκαλούν κάποια σημαντική καθυστέρηση ή επιβάρυνση. Με τα checksums ενεργοποιημένα, μπορούμε να ζητήσουμε από το ZFS να ελέγξει την ακεραιότητα των δεδομένων χρησιμοποιώντας τα για επαλήθευση. Η διαδικασία αυτή είναι γνωστή ως "scrubbing." Για να ελέγξετε την ακεραιότητα δεδομένων του pool `storage`, χρησιμοποιήστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# zpool scrub storage
....
Η διαδικασία αυτή μπορεί να πάρει αρκετή ώρα, ανάλογα με την ποσότητα των αποθηκευμένων δεδομένων. Επίσης χρησιμοποιεί πάρα πολύ το δίσκο (I/O), τόσο ώστε σε κάθε δεδομένη στιγμή μπορεί να εκτελείται μόνο μια τέτοια διαδικασία. Μετά την ολοκλήρωση του scrub, θα ανανεωθεί και η αναφορά κατάστασης, την οποία μπορείτε να δείτε ζητώντας την με την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# zpool status storage
pool: storage
@ -479,7 +479,7 @@ errors: No known data errors
Για να επιβάλετε γενικό quota 10 GB για το [.filename]#storage/home/bob#, χρησιμοποιήστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# zfs set quota=10G storage/home/bob
....
@ -493,14 +493,14 @@ errors: No known data errors
Για παράδειγμα, για να επιβάλετε quota 50 GB για ένα χρήστη με όνομα _joe_, χρησιμοποιήστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# zfs set userquota@joe=50G
....
Για να αφαιρέσετε το quota ή να βεβαιωθείτε ότι δεν έχει τεθεί, χρησιμοποιήστε την εντολή:
[source,bash]
[source,shell]
....
# zfs set userquota@joe=none
....
@ -511,14 +511,14 @@ errors: No known data errors
Για να θέσετε quota για την ομάδα χρηστών _firstgroup_ τα 50 GB, χρησιμοποιήστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# zfs set groupquota@firstgroup=50G
....
Για να αφαιρέσετε το quota ή να βεβαιωθείτε ότι δεν έχει τεθεί, χρησιμοποιήστε την εντολή:
[source,bash]
[source,shell]
....
# zfs set groupquota@firstgroup=none
....
@ -529,7 +529,7 @@ errors: No known data errors
Για να δειτε το quota για το [.filename]#storage/home/bob#, αν έχετε τα σωστά προνόμια ή είστε ο `root`, χρησιμοποιήστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# zfs get quota storage/home/bob
....
@ -544,14 +544,14 @@ errors: No known data errors
Η γενική μορφή της ιδιότητας `reservation` είναι `reservation=size`. Για να θέσετε κράτηση 10 GB στο [.filename]#storage/home/bob# χρησιμοποιήστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# zfs set reservation=10G storage/home/bob
....
Για να αφαιρέσετε ένα reservation ή να βεβαιωθείτε ότι δεν έχει τεθεί, εκτελέστε την εντολή:
[source,bash]
[source,shell]
....
# zfs set reservation=none storage/home/bob
....
@ -560,7 +560,7 @@ errors: No known data errors
Για να ελέγξετε αν υπάρχουν reservations ή refreservations στο [.filename]#storage/home/bob#, εκτελέστε μια από τις παρακάτω εντολές:
[source,bash]
[source,shell]
....
# zfs get reservation storage/home/bob
# zfs get refreservation storage/home/bob
@ -579,14 +579,14 @@ errors: No known data errors
Αρχικά, φορτώστε το άρθρωμα στον πυρήνα:
[source,bash]
[source,shell]
....
# kldload ext2fs
....
Για να προσαρτήσετε έπειτα ένα τόμο man:ext2fs[5] που βρίσκεται στο [.filename]#/dev/ad1s1#:
[source,bash]
[source,shell]
....
# mount -t ext2fs /dev/ad1s1 /mnt
....
@ -597,7 +597,7 @@ errors: No known data errors
Για να φορτώσετε το XFS ως άρθρωμα στον πυρήνα:
[source,bash]
[source,shell]
....
# kldload xfs
....
@ -606,7 +606,7 @@ errors: No known data errors
Για να προσαρτήσετε ένα τόμο man:xfs[5] που βρίσκεται στο [.filename]#/dev/ad1s1#, εκτελέστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# mount -t xfs /dev/ad1s1 /mnt
....
@ -623,14 +623,14 @@ To σύστημα αρχείων Reiser, ReiserFS, μεταφέρθηκε στο
Φορτώστε αρχικά το άρθρωμα του πυρήνα:
[source,bash]
[source,shell]
....
# kldload reiserfs
....
Για να προσαρτήσετε ένα τόμο ReiserFS από το [.filename]#/dev/ad1s1#:
[source,bash]
[source,shell]
....
# mount -t reiserfs /dev/ad1s1 /mnt
....

View file

@ -113,7 +113,7 @@ pf_enable="YES"
Εκτελέστε έπειτα το script εκκίνησης για να φορτώσετε το άρθρωμα:
[source,bash]
[source,shell]
....
# /etc/rc.d/pf start
....
@ -129,7 +129,7 @@ pf_rules="/path/to/pf.conf"
Το άρθρωμα PF μπορεί επίσης να φορτωθεί χειροκίνητα από την γραμμή εντολών:
[source,bash]
[source,shell]
....
# kldload pf.ko
....
@ -143,7 +143,7 @@ pflog_enable="YES"
Εκτελέστε έπειτα το script εκκίνησης για να φορτώσετε το άρθρωμα:
[source,bash]
[source,shell]
....
# /etc/rc.d/pflog start
....
@ -329,7 +329,7 @@ ipnat_rules="/etc/ipnat.rules" # rules definition file for ipnat
Η εντολή man:ipf[8] χρησιμοποιείται για να φορτώσει το αρχείο των κανόνων. Φυσιολογικά, θα δημιουργήσετε ένα αρχείο με τους δικούς σας προσαρμοσμένους κανόνες και θα αντικαταστήσετε με αυτό εξ'ολοκλήρου τους ενσωματωμένους κανόνες του firewall:
[source,bash]
[source,shell]
....
# ipf -Fa -f /etc/ipf.rules
....
@ -354,7 +354,7 @@ ipnat_rules="/etc/ipnat.rules" # rules definition file for ipnat
Η προεπιλεγμένη έξοδος της εντολής man:ipfstat[8] θα μοιάζει με την παρακάτω:
[source,bash]
[source,shell]
....
input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0
output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0
@ -383,7 +383,7 @@ input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0
Η έξοδος θα μοιάζει με την παρακάτω:
[source,bash]
[source,shell]
....
@1 pass out on xl0 from any to any
@2 block out on dc0 from any to any
@ -396,7 +396,7 @@ input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0
Η έξοδος θα μοιάζει με την παρακάτω:
[source,bash]
[source,shell]
....
2451423 pass out on xl0 from any to any
354727 block out on dc0 from any to any
@ -429,7 +429,7 @@ ipmon_flags="-Ds" # D = start as daemon
Το syslogd χρησιμοποιεί τη δική του ειδική μέθοδο για το διαχωρισμό των δεδομένων καταγραφής. Διαθέτει ειδικές ομαδοποιήσεις που ονομάζονται "facility" και "level". Όταν το IPMON χρησιμοποιείται με την επιλογή `-Ds`, χρησιμοποιεί από προεπιλογή το `local0` ως όνομα "facility". Αν το επιθυμείτε, μπορείτε να χρησιμοποιήσετε τα παρακάτω επίπεδα για περαιτέρω διαχωρισμό των δεδομένων καταγραφής:
[source,bash]
[source,shell]
....
LOG_INFO - packets logged using the "log" keyword as the action rather than pass or block.
LOG_NOTICE - packets logged which are also passed
@ -439,7 +439,7 @@ LOG_ERR - packets which have been logged and which can be considered short
Για να ρυθμίσετε το IPFILTER να καταγράφει όλα τα δεδομένα στο [.filename]#/var/log/ipfilter.log#, θα χρειαστεί να δημιουργήσετε από πριν το αρχείο. Αυτό μπορεί να γίνει με την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# touch /var/log/ipfilter.log
....
@ -530,7 +530,7 @@ EOF
Αυτό είναι όλο. Στο παραπάνω παράδειγμα δεν είναι σημαντικοί οι κανόνες, αλλά ο τρόπος με τον οποίο λειτουργούν και παίρνουν τιμές τα πεδία υποκατάστασης. Αν το παραπάνω παράδειγμα βρίσκονταν σε ένα αρχείο με το όνομα [.filename]#/etc/ipf.rules.script#, θα μπορούσατε να επαναφορτώσετε αυτούς τους κανόνες με την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# sh /etc/ipf.rules.script
....
@ -554,7 +554,7 @@ sh /etc/ipf.rules.script
Οι άδειες σε αυτό το αρχείο, θα πρέπει να επιτρέπουν ανάγνωση, εγγραφή και εκτέλεση για τον χρήστη `root`.
+
[source,bash]
[source,shell]
....
# chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh
....
@ -938,28 +938,28 @@ block in log first quick on dc0 all
Για να φορτώσετε τους κανόνες του NAT από την αρχή, εκτελέστε μια εντολή όπως την παρακάτω:
[source,bash]
[source,shell]
....
# ipnat -CF -f /etc/ipnat.rules
....
Για να δείτε κάποια στατιστικά σχετικά με το NAT, χρησιμοποιήστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# ipnat -s
....
Για να δείτε μια λίστα με τις τρέχουσες καταχωρίσεις του πίνακα NAT, χρησιμοποιήστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# ipnat -l
....
Για να ενεργοποιήσετε την λεπτομερή απεικόνιση μηνυμάτων και να δείτε πληροφορίες που σχετίζονται με την επεξεργασία των κανόνων και τους ενεργούς κανόνες και καταχωρίσεις στον πίνακα, γράψτε:
[source,bash]
[source,shell]
....
# ipnat -v
....
@ -1157,7 +1157,7 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state
Αφού επανεκκινήσετε το σύστημα σας με την καταχώριση `firewall_enable="YES"` στο [.filename]#rc.conf#, θα δείτε με άσπρα έντονα γράμματα το ακόλουθο μήνυμα κατά τη διαδικασία της εκκίνησης:
[source,bash]
[source,shell]
....
ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled
....
@ -1296,49 +1296,49 @@ net.inet.ip.fw.verbose_limit=5
Για να δείτε όλους τους κανόνες με τη σειρά:
[source,bash]
[source,shell]
....
# ipfw list
....
Για να δείτε μια λίστα όλων των κανόνων, μαζί με την ώρα που ενεργοποιήθηκε τελευταία φορά ο κάθε κανόνας, γράψτε:
[source,bash]
[source,shell]
....
# ipfw -t list
....
Το επόμενο παράδειγμα δείχνει τον αριθμό των πακέτων που ταίριαξαν μαζί με τον αντίστοιχο κανόνα. Η πρώτη στήλη δείχνει τον αριθμό του κανόνα, ακολουθείται από τον αριθμό πακέτων που ταίριαξαν (πρώτα τα εξερχόμενα και μετά τα εισερχόμενα) και τέλος από τον ίδιο τον κανόνα.
[source,bash]
[source,shell]
....
# ipfw -a list
....
Για να δείτε μια λίστα που να περιλαμβάνει τόσο τους δυναμικούς όσο και τους στατικούς κανόνες:
[source,bash]
[source,shell]
....
# ipfw -d list
....
Για να δείτε και τους δυναμικούς κανόνες που έχουν λήξει:
[source,bash]
[source,shell]
....
# ipfw -d -e list
....
Για να μηδενίσετε τους μετρητές:
[source,bash]
[source,shell]
....
# ipfw zero
....
Για να μηδενίσετε τους μετρητές μόνο για τον κανόνα με τον αριθμό _NUM_:
[source,bash]
[source,shell]
....
# ipfw zero NUM
....
@ -1502,7 +1502,7 @@ $cmd 00611 allow udp from any to $odns 53 out via $oif $ks
Αν το παραπάνω παράδειγμα ήταν στο αρχείο [.filename]#/etc/ipfw.rules# θα μπορούσατε να φορτώσετε αυτούς τους κανόνες, γράφοντας την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# sh /etc/ipfw.rules
....
@ -1511,7 +1511,7 @@ $cmd 00611 allow udp from any to $odns 53 out via $oif $ks
Θα μπορούσατε να επιτύχετε το ίδιο πράγμα, εκτελώντας τις παρακάτω εντολές χειροκίνητα:
[source,bash]
[source,shell]
....
# ipfw -q -f flush
# ipfw -q add check-state

View file

@ -84,21 +84,21 @@ image::striping.png[Διάγραμμα Disk Striping]
. Φορτώστε το άρθρωμα [.filename]#geom_stripe.ko#:
+
[source,bash]
[source,shell]
....
# kldload geom_stripe
....
. Εξασφαλίστε ότι υπάρχει κατάλληλο σημείο προσάρτησης. Αν ο τόμος πρόκειται να γίνει κατάτμηση root, προσαρτήστε τον προσωρινά σε κάποιο άλλο σημείο προσάρτησης, όπως το [.filename]#/mnt#:
+
[source,bash]
[source,shell]
....
# mkdir /mnt
....
. Καθορίστε τα ονόματα των συσκευών για τους δίσκους που πρόκειται να γίνουν stripe, και δημιουργήστε τη νέα συσκευή stripe. Για παράδειγμα, για να δημιουργήσετε ένα stripe από δύο αχρησιμοποίητους και χωρίς κατατμήσεις δίσκους ATA, όπως π.χ. τους [.filename]#/dev/ad2# και [.filename]#/dev/ad3#:
+
[source,bash]
[source,shell]
....
# gstripe label -v st0 /dev/ad2 /dev/ad3
Metadata value stored on /dev/ad2.
@ -108,14 +108,14 @@ Done.
. Γράψτε ένα τυποποιημένο label (πίνακα κατατμήσεων) στο νέο τόμο, και εγκαταστήστε τον προεπιλεγμένο κώδικα εκκίνησης (bootstrap):
+
[source,bash]
[source,shell]
....
# bsdlabel -wB /dev/stripe/st0
....
. Η διαδικασία αυτή θα δημιουργήσει τη συσκευή [.filename]#st0#, καθώς και δύο ακόμα συσκευές στον κατάλογο [.filename]#/dev/stripe#. Οι συσκευές αυτές θα ονομάζονται [.filename]#st0a# και [.filename]#st0c#. Στο σημείο αυτό, μπορείτε πλέον να δημιουργήσετε σύστημα αρχείων στη συσκευή [.filename]#st0a# χρησιμοποιώντας το βοηθητικό πρόγραμμα `newfs`:
+
[source,bash]
[source,shell]
....
# newfs -U /dev/stripe/st0a
....
@ -125,14 +125,14 @@ Done.
Για να προσαρτήσετε χειροκίνητα το stripe που δημιουργήσατε:
[source,bash]
[source,shell]
....
# mount /dev/stripe/st0a /mnt
....
Για να γίνεται αυτόματα η προσάρτηση αυτού του συστήματος αρχείων κατά την διαδικασία εκκίνησης, τοποθετήστε τις πληροφορίες του τόμου στο αρχείο [.filename]#/etc/fstab#. Για το σκοπό αυτό, δημιουργούμε ένα μόνιμο σημείο προσάρτησης, το [.filename]#stripe#:
[source,bash]
[source,shell]
....
# mkdir /stripe
# echo "/dev/stripe/st0a /stripe ufs rw 2 2" \
@ -141,7 +141,7 @@ Done.
Το άρθρωμα [.filename]#geom_stripe.ko# θα πρέπει να φορτώνεται αυτόματα κατά την εκκίνηση του συστήματος. Εκτελέστε την παρακάτω εντολή, για να προσθέσετε την κατάλληλη ρύθμιση στο [.filename]#/boot/loader.conf#:
[source,bash]
[source,shell]
....
# echo 'geom_stripe_load="YES"' >> /boot/loader.conf
....
@ -159,7 +159,7 @@ Done.
Πριν δημιουργήσετε το mirror, ενεργοποιήστε την δυνατότητα εμφάνισης περισσότερων λεπτομερειών (που μπορεί να σας βοηθήσουν σε περίπτωση προβλήματος) και επιτρέψτε την απευθείας πρόσβαση στη συσκευή δίσκου. Για το σκοπό αυτό θέστε τη μεταβλητή `kern.geom.debugflags` του man:sysctl[8] στην παρακάτω τιμή:
[source,bash]
[source,shell]
....
# sysctl kern.geom.debugflags=17
....
@ -172,14 +172,14 @@ Done.
Η δημιουργία mirror στο δίσκο εκκίνησης μπορεί να έχει ως αποτέλεσμα την απώλεια δεδομένων, αν ο τελευταίος τομέας του δίσκου έχει ήδη χρησιμοποιηθεί. Η πιθανότητα αυτή είναι πολύ μικρότερη αν το mirror δημιουργηθεί αμέσως μετά από μια νέα εγκατάσταση του FreeBSD. Η παρακάτω διαδικασία είναι επίσης ασύμβατη με τις προεπιλεγμένες ρυθμίσεις εγκατάστασης του FreeBSD 9._X_ στις οποίες χρησιμοποιείται το σύστημα κατατμήσεων GPT. To GEOM καταστρέφει τα μεταδεδομένα του GPT, και θα προκαλέσει απώλεια δεδομένων και πιθανή αδυναμία εκκίνησης του συστήματος.
====
[source,bash]
[source,shell]
....
# gmirror label -vb round-robin gm0 /dev/da0
....
Το σύστημα θα ανταποκριθεί με το παρακάτω μήνυμα:
[source,bash]
[source,shell]
....
Metadata value stored on /dev/da0.
Done.
@ -187,7 +187,7 @@ Done.
Αρχικοποιήστε το GEOM. Η παρακάτω εντολή θα φορτώσει το άρθρωμα [.filename]#/boot/kernel/geom_mirror.ko# στον πυρήνα:
[source,bash]
[source,shell]
....
# gmirror load
....
@ -199,7 +199,7 @@ Done.
Ενεργοποιήστε το φόρτωμα του αρθρώματος [.filename]#geom_mirror.ko# κατά την εκκίνηση του συστήματος:
[source,bash]
[source,shell]
....
# echo 'geom_mirror_load="YES"' >> /boot/loader.conf
....
@ -210,7 +210,7 @@ Done.
====
Αν χρησιμοποιείτε το man:vi[1], μπορείτε να ακολουθήσετε τα παρακάτω βήματα για να ολοκληρώσετε εύκολα αυτή τη διαδικασία:
[source,bash]
[source,shell]
....
# vi /etc/fstab
....
@ -234,14 +234,14 @@ Done.
Επανεκκινήστε το σύστημα:
[source,bash]
[source,shell]
....
# shutdown -r now
....
Κατά την εκκίνηση του συστήματος, θα πρέπει πλέον να χρησιμοποιείται η συσκευή [.filename]#gm0# αντί για την [.filename]#da0#. Μετά το τέλος της εκκίνησης, μπορείτε να ελέγξετε ότι όλα λειτουργούν σωστά, εξετάζοντας την έξοδο της εντολής `mount`:
[source,bash]
[source,shell]
....
# mount
Filesystem 1K-blocks Used Avail Capacity Mounted on
@ -255,21 +255,21 @@ devfs 1 1 0 100% /var/named/dev
Η έξοδος φαίνεται σωστή, όπως αναμενόταν. Τελικά, για να ξεκινήσει ο συγχρονισμός, εισάγετε και την συσκευή [.filename]#da1# στο mirror, χρησιμοποιώντας την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# gmirror insert gm0 /dev/da1
....
Κατά τη διάρκεια του συγχρονισμού του mirror, μπορείτε να δείτε την πρόοδο της διαδικασίας με την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# gmirror status
....
Μετά το τέλος της δόμησης του mirror, και αφού έχουν συγχρονιστεί όλα τα δεδομένα, η έξοδος της παραπάνω εντολής θα μοιάζει με την ακόλουθη:
[source,bash]
[source,shell]
....
Name Status Components
mirror/gm0 COMPLETE da0
@ -293,7 +293,7 @@ mountroot>
Επανεκκινήστε το σύστημα σας μέσω του διακόπτη τροφοδοσίας ή του πλήκτρου reset. Στο μενού εκκίνησης, επιλέξτε το (6). Με τον τρόπο αυτό θα βρεθείτε στην προτροπή του man:loader[8]. Φορτώστε χειροκίνητα το άρθρωμα στον πυρήνα:
[source,bash]
[source,shell]
....
OK? load geom_mirror
OK? boot
@ -314,12 +314,12 @@ options GEOM_MIRROR
Υποθέτοντας ότι χρησιμοποιούμε τις ρυθμίσεις RAID1 που δείξαμε προηγουμένως, ας θεωρήσουμε ότι χάλασε ο δίσκος [.filename]#da1# και πρέπει να αντικατασταθεί. Για να τον αντικαταστήσετε, βρείτε ποιος δίσκος είναι και απενεργοποιήστε το σύστημα. Στο σημείο αυτό, μπορείτε πλέον να ανταλλάξετε το δίσκο με ένα νέο και να ενεργοποιήσετε ξανά το σύστημα. Μετά την επανενεργοποίηση του συστήματος, μπορείτε να χρησιμοποιήσετε τις παρακάτω εντολές για να θέσετε σε λειτουργία το νέο δίσκο:
[source,bash]
[source,shell]
....
# gmirror forget gm0
....
[source,bash]
[source,shell]
....
# gmirror insert gm0 /dev/da1
....
@ -345,28 +345,28 @@ options GEOM_MIRROR
[.procedure]
. Αρχικά, φορτώστε το [.filename]#geom_rai3.ko# άρθρωμα του πυρήνα μέσω της ακόλουθης εντολής:
+
[source,bash]
[source,shell]
....
# graid3 load
....
+
Εναλλακτικά, είναι δυνατόν να φορτώσετε το άρθρωμα χειροκίνητα:
+
[source,bash]
[source,shell]
....
# kldload geom_raid3.ko
....
. Εξασφαλίστε ότι υπάρχει κατάλληλο σημείο προσάρτησης, ή δημιουργήστε ένα καινούριο:
+
[source,bash]
[source,shell]
....
# mkdir /multimedia
....
. Προσδιορίστε τα ονόματα συσκευών των δίσκων που θα προστεθούν στη συστοιχία και δημιουργήστε τη νέα συσκευή RAID3. Στο παράδειγμα μας χρησιμοποιούμε τρεις οδηγούς ATA οι οποίοι δεν περιέχουν κατατμήσεις: [.filename]#ada1# και [.filename]#ada2# για τα δεδομένα και [.filename]#ada3# για το parity.
+
[source,bash]
[source,shell]
....
# graid3 label -v gr0 /dev/ada1 /dev/ada2 /dev/ada3
Metadata value stored on /dev/ada1
@ -377,7 +377,7 @@ Done.
. Δημιουργήστε κατατμήσεις στη νέα συσκευή [.filename]#gr0# και διαμορφώστε την με σύστημα αρχείων UFS:
+
[source,bash]
[source,shell]
....
# gpart create -s GPT /dev/raid3/gr0
# gpart add -t freebsd-ufs /dev/raid3/gr0
@ -387,7 +387,7 @@ Done.
Θα δείτε μεγάλο πλήθος αριθμών να περνάει από την οθόνη σας και μετά από λίγο η διαδικασία θα ολοκληρωθεί. Ο τόμος έχει πλέον δημιουργηθεί και είναι έτοιμος να προσαρτηθεί.
. Το τελευταίο βήμα είναι η προσάρτηση του συστήματος αρχείων:
+
[source,bash]
[source,shell]
....
# mount /dev/raid3/gr0p1 /multimedia
....
@ -427,14 +427,14 @@ geom_raid3_load="YES"
Για να διαμοιράσετε αυτή τη συσκευή, βεβαιωθείτε ότι δεν είναι προσαρτημένη τη δεδομένη στιγμή, και ξεκινήστε το δαίμονα εξυπηρετητή man:ggated[8]:
[source,bash]
[source,shell]
....
# ggated
....
Για να προσαρτήσετε την συσκευή στο μηχάνημα πελάτη, χρησιμοποιήστε τις ακόλουθες εντολές:
[source,bash]
[source,shell]
....
# ggatec create -o rw 192.168.1.1 /dev/da0s4d
ggate0
@ -472,7 +472,7 @@ ggate0
Για να δημιουργήσετε μια μόνιμη ετικέτα για ένα σύστημα αρχείων UFS2, χωρίς να καταστρέψετε τα δεδομένα που περιέχει, χρησιμοποιήστε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# tunefs -L home /dev/da3
....
@ -497,7 +497,7 @@ ggate0
Μπορείτε τώρα να προσαρτήσετε το σύστημα αρχείων με το συνήθη τρόπο:
[source,bash]
[source,shell]
....
# mount /home
....
@ -508,7 +508,7 @@ ggate0
Μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή για να καταστρέψετε μια ετικέτα:
[source,bash]
[source,shell]
....
# glabel destroy home
....
@ -522,7 +522,7 @@ ggate0
Επανεκκινήστε το σύστημα, και όταν εμφανιστεί η προτροπή του man:loader[8], πιέστε το kbd:[4] για να πραγματοποιηθεί εκκίνηση σε κατάσταση ενός χρήστη. Έπειτα, δώστε τις ακόλουθες εντολές:
[source,bash]
[source,shell]
....
# glabel label rootfs /dev/ad0s1a
GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs
@ -551,7 +551,7 @@ GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap
Μπορείτε τώρα να επανεκκινήσετε το σύστημα. Αν όλα πήγαν καλά, η εκκίνηση θα είναι κανονική, και η εντολή `mount` θα δείξει:
[source,bash]
[source,shell]
....
# mount
/dev/label/rootfs on / (ufs, local)
@ -565,7 +565,7 @@ devfs on /dev (devfs, local)
Ξεκινώντας από το FreeBSD 7.2, το man:glabel[8] υποστηρίζει ένα νέο είδος ετικέτας για συστήματα αρχείων UFS, που βασίζεται σε ένα μοναδιαίο αναγνωριστικό τους, το `ufsid`. Οι ετικέτες αυτές βρίσκονται στον κατάλογο [.filename]#/dev/ufsid#, δημιουργούνται αυτόματα κατά την εκκίνηση του συστήματος και είναι δυνατόν να χρησιμοποιηθούν για την προσάρτηση κατατμήσεων μέσω του [.filename]#/etc/fstab#. Μπορείτε να χρησιμοποιήσετε την εντολή `glabel status` για να λάβετε μια λίστα των συστημάτων αρχείων με τις αντίστοιχες `ufsid` ετικέτες τους:
[source,bash]
[source,shell]
....
% glabel status
Name Status Components
@ -617,7 +617,7 @@ options GEOM_JOURNAL
Η δημιουργία journal σε ένα ελεύθερο σύστημα αρχείων, μπορεί τώρα να γίνει με τα ακόλουθα βήματα, θεωρώντας ότι η συσκευή [.filename]#da4# είναι ένας νέος δίσκος SCSI:
[source,bash]
[source,shell]
....
# gjournal load
# gjournal label /dev/da4
@ -625,7 +625,7 @@ options GEOM_JOURNAL
Στο σημείο αυτό θα υπάρχει μια συσκευή [.filename]#/dev/da4# καθώς και μια συσκευή [.filename]#/dev/da4.journal#. Στη συσκευή αυτή μπορείτε τώρα να δημιουργήσετε σύστημα αρχείων:
[source,bash]
[source,shell]
....
# newfs -O 2 -J /dev/da4.journal
....
@ -634,7 +634,7 @@ options GEOM_JOURNAL
Μπορείτε να χρησιμοποιήσετε την εντολή `mount` για να προσαρτήσετε την συσκευή στο επιθυμητό σημείο προσάρτησης, όπως φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# mount /dev/da4.journal /mnt
....

View file

@ -316,7 +316,7 @@ toc::[]
+
Το αρχείο [.filename]#.img#_δεν_ είναι ένα κανονικό αρχείο που μπορείτε απλώς να αντιγράψετε στη μνήμη flash. Πρόκειται στην πραγματικότητα για μια εικόνα των περιεχομένων ολόκληρου του δίσκου. Αυτό σημαίνει ότι _δεν_ μπορείτε απλώς να αντιγράψετε τα δεδομένα από τον ένα δίσκο στον άλλο. Θα πρέπει να χρησιμοποιήσετε την εντολή man:dd[1] για να γράψετε το αρχείο εικόνας απευθείας στο δίσκο:
+
[source,bash]
[source,shell]
....
# dd if=FreeBSD-{rel112-current}-RELEASE-i386-memstick.img of=/dev/da0 bs=64k
....
@ -378,7 +378,7 @@ H εφαρμογή Image Writer για Windows είναι ελεύθερο λο
+
Αν χρησιμοποιείτε τα images των δισκετών από το CDROM και ο οδηγός σας CDROM είναι στο γράμμα [.filename]#E:#, θα εκτελέσετε την εξής εντολή:
+
[source,bash]
[source,shell]
....
E:\> tools\fdimage floppies\boot.flp A:
@ -388,7 +388,7 @@ E:\> tools\fdimage floppies\boot.flp A:
+
Αν γράφετε τις δισκέτες σε ένα σύστημα UNIX(R) (όπως κάποιο σύστημα FreeBSD) μπορείτε να χρησιμοποιήσετε την εντολή man:dd[1] για να γράψετε τα image αρχεία απευθείας στις δισκέτες. Στο FreeBSD θα γράφατε:
+
[source,bash]
[source,shell]
....
# dd if=boot.flp of=/dev/fd0
....
@ -448,7 +448,7 @@ We can take no responsibility for lost disk contents!
. Θα αρχίσει η εκκίνηση του FreeBSD. Αν ξεκινάτε από το CDROM θα δείτε μια εικόνα όπως την επόμενη (έχουν παραλειφθεί οι πληροφορίες έκδοσης):
+
[source,bash]
[source,shell]
....
Booting from CD-Rom...
CD Loader 1.2
@ -475,7 +475,7 @@ x88e9d]
+
Αν κάνετε εκκίνηση από μονάδα δισκέτας, θα δείτε μια οθόνη όμοια με την παρακάτω (έχουν παραλειφθεί οι πληροφορίες έκδοσης):
+
[source,bash]
[source,shell]
....
Booting from Floppy...
Uncompressing ... done
@ -509,7 +509,7 @@ image::boot-loader-menu.png[]
Για το σκοπό αυτό, επανεκκινήστε το σύστημα και περιμένετε μέχρι να εμφανιστεί το μήνυμα εκκίνησης (boot). Αυτό εξαρτάται από το μοντέλο, αλλά γενικά μοιάζει με:
[source,bash]
[source,shell]
....
Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved.
@ -519,7 +519,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
Αν το σύστημα σας συνεχίζει με εκκίνηση από το σκληρό δίσκο, πρέπει να πιέσετε: kbd:[L1+A] ή kbd:[Stop+A] στο πληκτρολόγιο, ή να στείλετε `BREAK` μέσω της σειριακής κονσόλας (χρησιμοποιώντας για παράδειγμα `~#` στο man:tip[1] ή στο man:cu[1]) για να φτάσετε στην προτροπή της PROM. Φαίνεται όπως παρακάτω:
[source,bash]
[source,shell]
....
ok <.>
ok {0} <.>
@ -688,7 +688,7 @@ O Bill διαλύει ένα παλιό μηχάνημα Wintel για να φτ
Αφού επιλέξετε να ξεκινήσετε μια τυπική εγκατάσταση (standard installation) στο sysinstall θα δείτε το παρακάτω μήνυμα:
[source,bash]
[source,shell]
....
Message
In the next menu, you will need to set up a DOS-style ("fdisk")
@ -853,7 +853,7 @@ image::fdisk-drive2.png[]
Έχοντας αποφασίσει την διάταξη των κατατμήσεων σας, μπορείτε τώρα να την δημιουργήσετε χρησιμοποιώντας το sysinstall. Θα δείτε το παρακάτω μήνυμα:
[source,bash]
[source,shell]
....
Message
Now, you need to create BSD partitions inside of the fdisk
@ -953,7 +953,7 @@ image::dist-set.png[]
Το πρόγραμμα εγκατάστασης δεν ελέγχει αν υπάρχει αρκετός ελεύθερος χώρος. Κάντε την επιλογή αυτή μόνο αν υπάρχει αρκετός χώρος. Από την έκδοση του FreeBSD {rel120-current}, η συλλογή ports του FreeBSD καταλαμβάνει περίπου {ports-size} χώρο στο δίσκο. Μπορείτε με ασφάλεια να θεωρήσετε ότι ο χώρος αυτός θα είναι μεγαλύτερος για πιο καινούριες εκδόσεις του FreeBSD.
[source,bash]
[source,shell]
....
User Confirmation Requested
Would you like to install the FreeBSD ports collection?
@ -1022,7 +1022,7 @@ FTP μέσω HTTP μεσολάβησης: [.guimenuitem]#Install from an FTP ser
Η εγκατάσταση μπορεί τώρα να προχωρήσει, εφόσον το επιθυμείτε. Αυτή είναι επίσης η τελευταία σας ευκαιρία να την ακυρώσετε εμποδίζοντας έτσι και τις αλλαγές που πρόκειται να γίνουν στο σκληρό σας δίσκο.
[source,bash]
[source,shell]
....
User Confirmation Requested
Last Chance! Are you SURE you want to continue the installation?
@ -1041,7 +1041,7 @@ FTP μέσω HTTP μεσολάβησης: [.guimenuitem]#Install from an FTP ser
Η εγκατάσταση θα έχει ολοκληρωθεί όταν δείτε το ακόλουθο μήνυμα:
[source,bash]
[source,shell]
....
Message
@ -1062,7 +1062,7 @@ do so by typing: /usr/sbin/sysinstall.
Αν επιλέξετε btn:[no] και πιέσετε kbd:[Enter] θα ακυρώσετε την εγκατάσταση και δεν θα γίνει καμιά αλλαγή στο σύστημα σας. Θα εμφανιστεί το ακόλουθο μήνυμα:
[source,bash]
[source,shell]
....
Message
Installation complete with some errors. You may wish to scroll
@ -1087,7 +1087,7 @@ installation menus to retry whichever operations have failed.
Για λεπτομερείς πληροφορίες σχετικά με Τοπικά Δίκτυα (LAN) και για ρύθμιση του FreeBSD ως πύλη / δρομολογητή (gateway/router), ανατρέξτε στο κεφάλαιο crossref:advanced-networking[advanced-networking,Advanced Networking].
[source,bash]
[source,shell]
....
User Confirmation Requested
Would you like to configure any Ethernet or PPP network devices?
@ -1103,7 +1103,7 @@ image::ed0-conf.png[]
Επιλέξτε το interface που θα ρυθμίσετε με τα βελάκια, και πιέστε kbd:[Enter].
[source,bash]
[source,shell]
....
User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
@ -1115,7 +1115,7 @@ image::ed0-conf.png[]
Αν είστε συνδεμένοι σε ένα υπάρχον IPv6 δίκτυο με ένα διακομιστή RA, επιλέξτε btn:[yes] και πιέστε kbd:[Enter]. Θα χρειαστούν αρκετά δευτερόλεπτα για την ανίχνευση διακομιστών RA.
[source,bash]
[source,shell]
....
User Confirmation Requested
Do you want to try DHCP configuration of the interface?
@ -1158,7 +1158,7 @@ Extra options to ifconfig (Επιπλέον επιλογές για την ifcon
Χρησιμοποιήστε το kbd:[Tab] για να επιλέξετε btn:[OK] όταν τελειώσετε, και πιέστε kbd:[Enter].
[source,bash]
[source,shell]
....
User Confirmation Requested
Would you like to bring the ed0 interface up right now?
@ -1171,7 +1171,7 @@ Extra options to ifconfig (Επιπλέον επιλογές για την ifcon
[[gateway]]
=== Ρύθμισης Πύλης (Gateway)
[source,bash]
[source,shell]
....
User Confirmation Requested
Do you want this machine to function as a network gateway?
@ -1184,7 +1184,7 @@ Extra options to ifconfig (Επιπλέον επιλογές για την ifcon
[[inetd-services]]
=== Ρύθμιση Υπηρεσιών Internet (Internet Services)
[source,bash]
[source,shell]
....
User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
@ -1198,7 +1198,7 @@ Do you want to configure inetd and the network services that it provides?
Επιλέξτε btn:[yes] αν θέλετε να ρυθμίσετε τις υπηρεσίες αυτές κατά την εγκατάσταση. Θα ερωτηθείτε για μια ακόμα επιβεβαίωση:
[source,bash]
[source,shell]
....
User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
@ -1213,7 +1213,7 @@ With this in mind, do you wish to enable inetd?
Επιλέξτε btn:[yes] για να συνεχίσετε.
[source,bash]
[source,shell]
....
User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
@ -1240,7 +1240,7 @@ image::edit-inetd-conf.png[]
[[ssh-login]]
=== Ενεργοποίηση Εισόδου μέσω SSH
[source,bash]
[source,shell]
....
User Confirmation Requested
Would you like to enable SSH login?
@ -1252,7 +1252,7 @@ image::edit-inetd-conf.png[]
[[ftpanon]]
=== Ανώνυμο FTP
[source,bash]
[source,shell]
....
User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
@ -1272,7 +1272,7 @@ image::edit-inetd-conf.png[]
Για να επιτρέψετε το ανώνυμο FTP, χρησιμοποιήστε τα βελάκια για να επιλέξετε btn:[yes] και να πιέσετε kbd:[Enter]. Θα χρειαστεί να επιβεβαιώσετε ξανά την επιλογή σας:
[source,bash]
[source,shell]
....
User Confirmation Requested
Anonymous FTP permits un-authenticated users to connect to the system
@ -1320,7 +1320,7 @@ Upload Subdirectory::
Όταν είστε ικανοποιημένος με τις τιμές, πιέστε kbd:[Enter] για να συνεχίσετε.
[source,bash]
[source,shell]
....
User Confirmation Requested
Create a welcome message file for anonymous FTP users?
@ -1346,7 +1346,7 @@ image::ftp-anon2.png[]
[[nsf-server-options]]
==== Διακομιστής NFS
[source,bash]
[source,shell]
....
User Confirmation Requested
Do you want to configure this machine as an NFS server?
@ -1358,7 +1358,7 @@ image::ftp-anon2.png[]
Αν επιλέξετε btn:[yes] θα εμφανιστεί ένα αναδυόμενο μήνυμα που σας πληροφορεί ότι πρέπει να δημιουργηθεί το αρχείο [.filename]#exports#.
[source,bash]
[source,shell]
....
Message
Operating as an NFS server means that you must first configure an
@ -1383,7 +1383,7 @@ image::nfs-server-edit.png[]
Ο πελάτης NFS επιτρέπει στο μηχάνημα σας να έχει πρόσβαση σε εξυπηρετητές NFS.
[source,bash]
[source,shell]
....
User Confirmation Requested
Do you want to configure this machine as an NFS client?
@ -1398,7 +1398,7 @@ image::nfs-server-edit.png[]
Υπάρχουν διάφορες διαθέσιμες επιλογές για τη ρύθμιση της κονσόλας του συστήματος.
[source,bash]
[source,shell]
....
User Confirmation Requested
Would you like to customize your system console settings?
@ -1441,7 +1441,7 @@ image::console-saver4.png[]
Το παράδειγμα που φαίνεται είναι για ένα μηχάνημα που βρίσκεται στις Ανατολικές Ηνωμένες Πολιτείες. Οι επιλογές σας θα διαφέρουν ανάλογα με τη γεωγραφική σας θέση.
[source,bash]
[source,shell]
....
User Confirmation Requested
Would you like to set this machine's time zone now?
@ -1451,7 +1451,7 @@ image::console-saver4.png[]
Επιλέξτε btn:[yes] και πιέστε kbd:[Enter] για να ρυθμίσετε τη ζώνη ώρας.
[source,bash]
[source,shell]
....
User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
@ -1480,7 +1480,7 @@ image::timezone3.png[]
Επιλέξτε την κατάλληλη ζώνη ώρας με τα βελάκια και πιέστε kbd:[Enter].
[source,bash]
[source,shell]
....
Confirmation
Does the abbreviation 'EDT' look reasonable?
@ -1498,7 +1498,7 @@ image::timezone3.png[]
Η ενότητα αυτή ισχύει μόνο για την εγκατάσταση FreeBSD της σειράς 7._X_. Αν εγκαταστήσετε FreeBSD 8._X_ η οθόνη αυτή δεν θα εμφανιστεί.
====
[source,bash]
[source,shell]
....
User Confirmation Requested
Would you like to enable Linux binary compatibility?
@ -1515,7 +1515,7 @@ image::timezone3.png[]
Η επιλογή αυτή θα σας επιτρέψει να κάνετε αποκοπή και επικόλληση κειμένου στην κονσόλα και σε προγράμματα χρησιμοποιώντας ένα ποντίκι τριών πλήκτρων. Αν χρησιμοποιείτε ποντίκι δύο πλήκτρων, ανατρέξτε στη σελίδα βοήθειας, man:moused[8], μετά την εγκατάσταση για να δείτε πως μπορείτε να εξομοιώσετε ποντίκι τριών πλήκτρων. Στο παράδειγμα αυτό φαίνεται η ρύθμιση ενός μη-USB ποντικιού (π.χ. PS/2 η σειριακού - COM - ποντικιού):
[source,bash]
[source,shell]
....
User Confirmation Requested
Does this system have a non-USB mouse attached to it?
@ -1570,7 +1570,7 @@ image::mouse6.png[]
Θα σας δείξουμε την εγκατάσταση ενός πακέτου ως παράδειγμα. Μπορείτε επίσης να εγκαταστήσετε τώρα και όποια άλλα πρόσθετα πακέτα επιθυμείτε. Μετά την εγκατάσταση, μπορείτε να χρησιμοποιήσετε το `sysinstall` για να εγκαταστήσετε πρόσθετα πακέτα.
[source,bash]
[source,shell]
....
User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
@ -1623,7 +1623,7 @@ image::pkg-confirm.png[]
Θα πρέπει να προσθέσετε τουλάχιστον ένα χρήστη κατά τη διάρκεια της εγκατάστασης, ώστε να μπορείτε να χρησιμοποιήσετε το σύστημα χωρίς να εισέρχεστε ως `root`. Η root κατάτμηση είναι γενικά μικρή, και εκτελώντας εφαρμογές ως `root` μπορεί γρήγορα να γεμίσει. Παρακάτω φαίνεται και ένας πιο σοβαρός κίνδυνος:
[source,bash]
[source,shell]
....
User Confirmation Requested
Would you like to add any initial user accounts to the system? Adding
@ -1689,7 +1689,7 @@ image::adduser3.png[]
[[rootpass]]
=== Ορισμός του Κωδικού για το Χρήστη `root`
[source,bash]
[source,shell]
....
Message
Now you must set the system manager's password.
@ -1704,7 +1704,7 @@ image::adduser3.png[]
Θα πρέπει να πληκτρολογήσετε δύο φορές τον κωδικό σωστά. Δεν χρειάζεται να πούμε ότι πρέπει να έχετε τρόπο να βρείτε τον κωδικό αν τον ξεχάσετε. Παρατηρήστε ότι ο κωδικός δεν εμφανίζεται καθώς τον πληκτρολογείτε, ούτε και εμφανίζονται αστεράκια στη θέση του.
[source,bash]
[source,shell]
....
Changing local password for root.
New password :
@ -1718,7 +1718,7 @@ Retype new password :
Αν χρειάζεται να ρυθμίσετε πρόσθετες δικτυακές υπηρεσίες, ή κάποια άλλη ρύθμιση, μπορείτε να το κάνετε τώρα ή μετά την εγκατάσταση με τη χρήση της εντολής `sysinstall`.
[source,bash]
[source,shell]
....
User Confirmation Requested
Visit the general configuration menu for a chance to set any last
@ -1735,7 +1735,7 @@ image::mainexit.png[]
Επιλέξτε btn:[X Exit Install] με τα βελάκια και πιέστε kbd:[Enter]. Θα κληθείτε να επιβεβαιώσετε την έξοδο από την εγκατάσταση:
[source,bash]
[source,shell]
....
User Confirmation Requested
Are you sure you wish to exit? The system will reboot.
@ -1745,7 +1745,7 @@ image::mainexit.png[]
Επιλέξτε btn:[yes]. Αν είχατε ξεκινήσει από το CDROM, θα δείτε το παρακάτω μήνυμα για να σας υπενθυμίσει να αφαιρέσετε το CD:
[source,bash]
[source,shell]
....
Message
Be sure to remove the media from the drive.
@ -1777,7 +1777,7 @@ image::net-config-menu1.png[]
Αμέσως μετά βρίσκεται η επιλογή [.guimenuitem]#AMD Flags#. Όταν την επιλέξετε θα εμφανιστεί ένα αναδυόμενο μενού για να μπορέσετε να εισάγετε συγκεκριμένες παραμέτρους (flags) για την υπηρεσία AMD. Το μενού περιέχει ήδη ένα σύνολο από προεπιλογές:
[source,bash]
[source,shell]
....
-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map
....
@ -1848,7 +1848,7 @@ image::net-config-menu2.png[]
Τυπικά μηνύματα εκκίνησης (έχουν παραλειφθεί οι πληροφορίες έκδοσης):
[source,bash]
[source,shell]
....
Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
@ -1987,7 +1987,7 @@ Password:
Είναι πολύ σημαντικό να τερματίζετε σωστά το λειτουργικό σύστημα. Μην σβήνετε απλώς τον υπολογιστή από το διακόπτη ρεύματος. Πρώτα από όλα, γίνετε υπερχρήστης (superuser) χρησιμοποιώντας την εντολή `su` στη γραμμή εντολών και δίνοντας τον κωδικό του `root`. Αυτό μπορεί να γίνει μόνο αν ο χρήστης ανήκει στην ομάδα `wheel`. Διαφορετικά, κάντε κανονικά login σαν `root` και χρησιμοποιήστε την εντολή `shutdown -h now`.
[source,bash]
[source,shell]
....
The operating system has halted.
Please press any key to reboot.
@ -2037,7 +2037,7 @@ Please press any key to reboot.
Παρακάτω φαίνεται μια τυπική κλήση στην man:mount[8] για την προσάρτηση ενός συστήματος αρχείων MS-DOS(R):
[source,bash]
[source,shell]
....
# mount -t msdosfs /dev/ad0s1 /mnt
....
@ -2057,7 +2057,7 @@ Please press any key to reboot.
Στο FreeBSD γίνεται εκτεταμένη χρήση του ACPI (εφόσον ανιχνευθεί στην εκκίνηση) στις πλατφόρμες i386, amd64 και ia64 για διευκόλυνσης της ρύθμισης υλικού. Δυστυχώς υπάρχουν ακόμα κάποια προβλήματα τόσο στο πρόγραμμα οδήγησης του ACPI όσο και στα BIOS και τις μητρικές. Μπορείτε να απενεργοποιήσετε το ACPI, με την ρύθμιση `hint.acpi.0.disabled` στο τρίτο στάδιο του συστήματος εκκίνησης (boot loader):
[source,bash]
[source,shell]
....
set hint.acpi.0.disabled="1"
....
@ -2074,7 +2074,7 @@ Please press any key to reboot.
Το FreeBSD βρίσκεται στο δίσκο 1 του BIOS, τύπου `ad` ενώ στο FreeBSD φαίνεται ως δίσκος 2, άρα πρέπει να δώσετε:
[source,bash]
[source,shell]
....
1:ad(2,a)kernel
....
@ -2083,7 +2083,7 @@ Please press any key to reboot.
Η δεύτερη περίπτωση περιλαμβάνει την εκκίνηση από δίσκο SCSI, όταν έχετε επίσης ένα ή περισσότερους IDE δίσκους στο σύστημα. Στην περίπτωση αυτή ο αριθμός του δίσκου στο FreeBSD είναι χαμηλότερος από τον αντίστοιχο του BIOS. Αν έχετε δύο δίσκους IDE και το SCSI δίσκο, ο SCSI δίσκος φαίνεται στο BIOS ως δίσκος 2, τύπου `da` και αναγνωρίζεται στο FreeBSD ως δίσκος 0, θα γράφατε:
[source,bash]
[source,shell]
....
2:da(0,a)kernel
....
@ -2132,7 +2132,7 @@ Please press any key to reboot.
+
Αν επρόκειτο να εκκινήσετε από το USB flash που μόλις φτιάξατε, το FreeBSD θα ξεκίναγε στην κανονική κατάσταση εγκατάστασης. Θέλουμε το FreeBSD να ξεκινήσει σε σειριακή κονσόλα για την εγκατάσταση μας. Για να το κάνετε αυτό, θα πρέπει να προσαρτήσετε το USB flash στο FreeBSD σύστημα σας, χρησιμοποιώντας την εντολή man:mount[8].
+
[source,bash]
[source,shell]
....
# mount /dev/da0a /mnt
....
@ -2144,14 +2144,14 @@ Please press any key to reboot.
+
Τώρα που έχετε προσαρτήσει τη μνήμη USB, θα πρέπει να τη ρυθμίσετε ώστε να εκκινεί στη σειριακή κονσόλα. Θα πρέπει να προσθέσετε μια γραμμή στο αρχείο [.filename]#loader.conf# που περιέχεται στο σύστημα αρχείων της USB μνήμης, ώστε να ορίσετε τη σειριακή κονσόλα ως κονσόλα συστήματος:
+
[source,bash]
[source,shell]
....
# echo 'console="comconsole"' /mnt/boot/loader.conf
....
+
Τώρα που έχετε ρυθμίσει σωστά τη μνήμη USB, πρέπει να την αποπροσαρτήσετε, χρησιμοποιώντας την εντολή man:umount[8]:
+
[source,bash]
[source,shell]
....
# umount /mnt
....
@ -2163,7 +2163,7 @@ Please press any key to reboot.
+
Στο FreeBSD σύστημα που έχετε αποθηκεύσει το αρχικό ISO, π.χ. [.filename]#FreeBSD-{rel120-current}-RELEASE-i386-disc1.iso# χρησιμοποιήστε την εντολή man:tar[1] για να κάνετε εξαγωγή των αρχείων που περιέχει:
+
[source,bash]
[source,shell]
....
# mkdir /path/to/headless-iso
# tar -C /path/to/headless-iso -pxvf FreeBSD-{rel120-current}-RELEASE-i386-disc1.iso
@ -2171,14 +2171,14 @@ Please press any key to reboot.
+
Θα πρέπει τώρα να αλλάξουμε το μέσο εγκατάστασης ώστε να ξεκινάει σε σειριακή κονσόλα. Θα πρέπει να προσθέσετε μια γραμμή στο αρχείο [.filename]#loader.conf# που ανακτήσατε από το αρχείο ISO, ώστε να ενεργοποιήσετε την σειριακή κονσόλα ως κονσόλα συστήματος:
+
[source,bash]
[source,shell]
....
# echo 'console="comconsole"' /path/to/headless-iso/boot/loader.conf
....
+
Μπορούμε έπειτα να δημιουργήσουμε ένα νέο αρχείο ISO που να περιλαμβάνει τις τροποποιήσεις μας. Για το σκοπό αυτό θα χρησιμοποιήσουμε το εργαλείο man:mkisofs[8] το οποίο περιλαμβάνεται στο port package:sysutils/cdrtools[]:
+
[source,bash]
[source,shell]
....
# mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "Headless_install" \
-o Headless-FreeBSD-{rel120-current}-RELEASE-i386-disc1.iso /path/to/headless-iso
@ -2195,14 +2195,14 @@ Please press any key to reboot.
+
Θα πρέπει τώρα να συνδεθείτε με το μηχάνημα σας, χρησιμοποιώντας την man:cu[1]:
+
[source,bash]
[source,shell]
....
# cu -l /dev/cuau0
....
+
Στο FreeBSD 7._X_ χρησιμοποιήστε την παρακάτω εντολή:
+
[source,bash]
[source,shell]
....
# cu -l /dev/cuad0
....
@ -2300,7 +2300,7 @@ Please press any key to reboot.
[.procedure]
. Στο FreeBSD μηχάνημα που θα φιλοξενήσει την FTP τοποθεσία, βεβαιωθείτε ότι το CD-ROM είναι μέσα στον οδηγό και έχει γίνει προσάρτηση του στον κατάλογο [.filename]#/cdrom#.
+
[source,bash]
[source,shell]
....
# mount /cdrom
....
@ -2337,7 +2337,7 @@ ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
Αν δημιουργείτε τις δισκέτες σε άλλο μηχάνημα FreeBSD η διαμόρφωση δεν είναι άσχημη ιδέα, αν και δε χρειάζεται να δημιουργήσετε σύστημα αρχείων MS-DOS(R) σε κάθε μια. Μπορείτε αντί για αυτό, να χρησιμοποιήσετε τις εντολές `bsdlabel` και `newfs` για να δημιουργήσετε σύστημα αρχείων UFS σε αυτές, όπως φαίνεται από την παρακάτω ακολουθία εντολών:
[source,bash]
[source,shell]
....
# fdformat -f 1440 fd0.1440
# bsdlabel -w fd0.1440 floppy3
@ -2360,7 +2360,7 @@ ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
Για να προετοιμαστείτε για μια εγκατάσταση από κατάτμηση MS-DOS(R), αντιγράψτε τα αρχεία της διανομής σε ένα κατάλογο που θα ονομάσετε [.filename]#freebsd# στο ριζικό κατάλογο της κατάτμησης. Για παράδειγμα, [.filename]#c:\freebsd#. Η δομή των καταλόγων του CDROM ή της τοποθεσίας FTP θα πρέπει να αναπαραχθεί μερικώς μέσα σε αυτό τον κατάλογο, για το λόγο αυτό σας συνιστούμε να χρησιμοποιήσετε την εντολή `xcopy` αν κάνετε την αντιγραφή από CD. Για παράδειγμα, για να προετοιμάσετε μια ελάχιστη εγκατάσταση του FreeBSD:
[source,bash]
[source,shell]
....
C:\> md c:\freebsd
C:\> xcopy e:\bin c:\freebsd\bin\ /s
@ -2377,7 +2377,7 @@ C:\> xcopy e:\manpages c:\freebsd\manpages\ /s
Η εγκατάσταση από ταινία, είναι ίσως η ευκολότερη μέθοδος εκτός από την εγκατάσταση μέσω FTP ή CDROM. Το πρόγραμμα εγκατάστασης απλώς αναμένει τα αρχεία να έχουν γραφτεί στην ταινία με μορφή tar. Αφού επιλέξετε τα σετ εγκατάστασης που σας ενδιαφέρουν, απλώς κάντε τα tar στην ταινία:
[source,bash]
[source,shell]
....
# cd /freebsd/distdir
# tar cvf /dev/rwt0 dist1 ... dist2

View file

@ -111,7 +111,7 @@ hosted (σύστημα (system), διεργασία (process), χρήστης (u
Μερικοί διαχειριστές συστημάτων κατηγοριοποιούν τα jails σε δύο ενότητες: τα "complete (πλήρη)" jails, τα οποία μιμούνται ένα πραγματικό σύστημα FreeBSD, και τα "service" jails, τα οποία χρησιμοποιούνται για μια εφαρμογή ή υπηρεσία, που πιθανόν εκτελείται με ειδικά προνόμια. Αυτός είναι ένας νοητικός διαχωρισμός και δεν επιδρά στη διαδικασία δημιουργίας ενός jail. Η σελίδα manual του man:jail[8] περιέχει κατατοπιστικές πληροφορίες για τη διαδικασία δημιουργίας ενός jail:
[source,bash]
[source,shell]
....
# setenv D /here/is/the/jail
# mkdir -p $D <.>
@ -172,7 +172,7 @@ jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail
Το script [.filename]#/etc/rc.d/jail# μπορεί να χρησιμοποιηθεί για να ξεκινήσει ή να σταματήσει κάποιο jail χειροκίνητα. Πρέπει όμως να υπάρχει η αντίστοιχη καταχώρηση στο [.filename]#rc.conf#:
[source,bash]
[source,shell]
....
# /etc/rc.d/jail start www
# /etc/rc.d/jail stop www
@ -180,7 +180,7 @@ jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail
Για την ώρα δεν υπάρχει κάποιος απόλυτα σωστός τρόπος για να τερματίσετε κάποιο man:jail[8]. Αυτό συμβαίνει, διότι οι εντολές που χρησιμοποιούνται συνήθως για να τερματίσουν με ασφάλεια ένα σύστημα, δεν μπορούν να χρησιμοποιηθούν μέσα στο περιβάλλον ενός jail. Ο καλύτερος τρόπος για να τερματίσετε ένα jail είναι με την εκτέλεση της ακόλουθης εντολής μέσα από το ίδιο το jail ή με χρήση του βοηθητικού προγράμματος man:jexec[8] έξω από αυτό:
[source,bash]
[source,shell]
....
# sh /etc/rc.shutdown
....
@ -216,7 +216,7 @@ jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail
* Προσκόλληση σε κάποιο ενεργό jail, από το host system, και εκτέλεση κάποιας εντολής μέσα στο jail ή εκτέλεση εργασιών διαχείρισης μέσα στο jail. Κάτι τέτοιο είναι ιδιαίτερα χρήσιμο όταν ο χρήστης `root` επιθυμεί να τερματίσει με ασφάλεια κάποιο jail. Μπορεί επίσης να χρησιμοποιηθεί η εντολή man:jexec[8] για την εκτέλεση κάποιου shell μέσα στο jail προκειμένου να εκτελεστούν εργασίες διαχείρισης, για παράδειγμα:
+
[source,bash]
[source,shell]
....
# jexec 1 tcsh
....
@ -287,7 +287,7 @@ jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail
[.procedure]
. Αρχικά, δημιουργήστε μια δομή καταλόγων για το σύστημα αρχείων το οποίο θα είναι μόνο για ανάγνωση, και το οποίο θα περιέχει τα εκτελέσιμα (binaries) του FreeBSD για τα jails. Στη συνέχεια πηγαίνετε στον κατάλογο όπου βρίσκονται τα αρχεία πηγαίου κώδικα (source tree) του FreeBSD και εγκαταστήστε τα αντίστοιχα αρχεία στο jail template:
+
[source,bash]
[source,shell]
....
# mkdir /home/j /home/j/mroot
# cd /usr/src
@ -296,7 +296,7 @@ jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail
. Επόμενο βήμα είναι να προετοιμάσετε τη συλλογή των Ports του FreeBSD για τα jails όπως επίσης και ένα FreeBSD source tree, το οποίο θα χρειαστεί για το mergemaster:
+
[source,bash]
[source,shell]
....
# cd /home/j/mroot
# mkdir usr/ports
@ -306,7 +306,7 @@ jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail
. Δημιουργήστε το σκελετό για το τμήμα του συστήματος όπου προορίζεται για ανάγνωση και εγγραφή:
+
[source,bash]
[source,shell]
....
# mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles
# mv etc /home/j/skel
@ -318,7 +318,7 @@ jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail
. Χρησιμοποιήστε το mergemaster για να εγκαταστήσετε τα αρχεία ρυθμίσεων που λείπουν. Στη συνέχεια διαγράψτε όλους τους έξτρα καταλόγους που δημιουργεί το mergemaster:
+
[source,bash]
[source,shell]
....
# mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i
# cd /home/j/skel
@ -327,7 +327,7 @@ jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail
. Τώρα, δημιουργήστε συνδέσμους από το σύστημα αρχείων στο οποίο επιτρέπεται η εγγραφή, προς το σύστημα αρχείων που είναι μόνο για ανάγνωση. Βεβαιωθείτε ότι οι σύνδεσμοι έχουν δημιουργηθεί στις σωστές θέσεις [.filename]#s/#. Η ύπαρξη πραγματικών καταλόγων ή η δημιουργία καταλόγων σε λάθος θέσεις θα οδηγήσουν την εγκατάσταση σε αποτυχία.
+
[source,bash]
[source,shell]
....
# cd /home/j/mroot
# mkdir s
@ -402,14 +402,14 @@ jail_www_devfs_enable="YES"
. Δημιουργήστε τα απαραίτητα σημεία προσαρτήσεων για το σύστημα αρχείων μόνο ανάγνωσης του κάθε jail:
+
[source,bash]
[source,shell]
....
# mkdir /home/j/ns /home/j/mail /home/j/www
....
. Εγκαταστήστε το εγγράψιμο template μέσα στο κάθε jail. Προσέξτε εδώ τη χρήση του package:sysutils/cpdup[], το οποίο επιβεβαιώνει ότι δημιουργείται το σωστό αντίγραφο του κάθε καταλόγου:
+
[source,bash]
[source,shell]
....
# mkdir /home/js
# cpdup /home/j/skel /home/js/ns
@ -419,7 +419,7 @@ jail_www_devfs_enable="YES"
. Σε αυτή τη φάση, τα jails έχουν δημιουργηθεί και είναι έτοιμα να ξεκινήσουν. Προσαρτήστε το σωστό σύστημα αρχείων για το κάθε jail, και στη συνέχεια εκκινήστε τα, χρησιμοποιώντας το script [.filename]#/etc/rc.d/jail#:
+
[source,bash]
[source,shell]
....
# mount -a
# /etc/rc.d/jail start
@ -427,7 +427,7 @@ jail_www_devfs_enable="YES"
Τα jails θα πρέπει τώρα να εκτελούνται κανονικά. Γα να ελέγξετε αν έχουν ξεκινήσει σωστά, χρησιμοποιείστε την εντολή man:jls[8]. Θα πρέπει να δείτε κάτι αντίστοιχο με το παρακάτω:
[source,bash]
[source,shell]
....
# jls
JID IP Address Hostname Path
@ -438,7 +438,7 @@ jail_www_devfs_enable="YES"
Σε αυτό το σημείο, θα πρέπει να μπορείτε να συνδεθείτε σε κάθε jail, να προσθέσετε νέους χρήστες ή να ρυθμίσετε υπηρεσίες. Η στήλη `JID` δηλώνει το χαρακτηριστικό αναγνωριστικό αριθμό κάθε ενεργού jail. Χρησιμοποιήστε την παρακάτω εντολή προκειμένου να εκτελέσετε εργασίες διαχείρισης του jail, με `JID` 3:
[source,bash]
[source,shell]
....
# jexec 3 tcsh
....
@ -451,7 +451,7 @@ jail_www_devfs_enable="YES"
[.procedure]
. Το πρώτο βήμα είναι να αναβαθμίσετε το σύστημα στο οποίο φιλοξενούνται τα jails, με το συνήθη τρόπο. Στη συνέχεια δημιουργήστε ένα νέο προσωρινό template κατάλογο, μόνο για ανάγνωση, στο [.filename]#/home/j/mroot2#.
+
[source,bash]
[source,shell]
....
# mkdir /home/j/mroot2
# cd /usr/src
@ -463,7 +463,7 @@ jail_www_devfs_enable="YES"
+
Το `installworld` δημιουργεί μερικούς καταλόγους που δε χρειάζονται, και θα πρέπει να διαγραφούν:
+
[source,bash]
[source,shell]
....
# chflags -R 0 var
# rm -R etc var root usr/local tmp
@ -471,7 +471,7 @@ jail_www_devfs_enable="YES"
. Δημιουργήστε ξανά τους συνδέσμους για το σύστημα αρχείων ανάγνωσης - εγγραφής:
+
[source,bash]
[source,shell]
....
# ln -s s/etc etc
# ln -s s/root root
@ -484,14 +484,14 @@ jail_www_devfs_enable="YES"
. Τώρα είναι η σωστή στιγμή για να σταματήσετε τα jails:
+
[source,bash]
[source,shell]
....
# /etc/rc.d/jail stop
....
. Αποπροσαρτήστε τα αρχικά συστήματα αρχείων:
+
[source,bash]
[source,shell]
....
# umount /home/j/ns/s
# umount /home/j/ns
@ -508,7 +508,7 @@ jail_www_devfs_enable="YES"
. Μετακινήστε τον παλιό μόνο για ανάγνωση κατάλογο, και αντικαταστήστε τον με τον καινούργιο. Ο παλιός θα παραμείνει ως αντίγραφο ασφαλείας του παλιού συστήματος σε περίπτωση προβλήματος. Ο τρόπος ονομασίας που ακολουθήσαμε εδώ αντιστοιχεί στη χρονική στιγμή δημιουργίας του νέου συστήματος αρχείων μόνο ανάγνωσης. Μετακινήστε την αρχική συλλογή των Ports του FreeBSD στο νέο σύστημα, αρχείων προκειμένου να εξοικονομήσετε χώρο και inodes:
+
[source,bash]
[source,shell]
....
# cd /home/j
# mv mroot mroot.20060601
@ -518,7 +518,7 @@ jail_www_devfs_enable="YES"
. Σε αυτό το σημείο το μόνο για ανάγνωση template είναι έτοιμο, οπότε το μόνο που απομένει είναι να προσαρτήσετε ξανά τα συστήματα αρχείων και να ξεκινήσετε τα jails:
+
[source,bash]
[source,shell]
....
# mount -a
# /etc/rc.d/jail start

View file

@ -114,7 +114,7 @@ subclass = ethernet
Μπορείτε επίσης να πάρετε χρήσιμες πληροφορίες από την εντολή man:man[1], αν δώσετε την επιλογή `-k`. Στο παραπάνω παράδειγμα, δίνοντας:
[source,bash]
[source,shell]
....`Atheros`
....
@ -169,7 +169,7 @@ following line in man:loader.conf[5]:
====
Αν δεν υπάρχει ο κατάλογος [.filename]#/usr/src/# στο σύστημα σας (ή αν είναι άδειος), τότε δεν έχετε εγκαταστήσει τον πηγαίο κώδικα. Ο ευκολότερος τρόπος για να εγκαταστήσετε τον πλήρη πηγαίο κώδικα, είναι να μέσω του man:csup[1] όπως περιγράφεται στο crossref:cutting-edge[synching,Συγχρονίζοντας τον Πηγαίο σας Κώδικα]. Θα πρέπει επίσης να δημιουργήσετε ένα συμβολικό δεσμό προς τον κατάλογο [.filename]#/usr/src/sys/#:
[source,bash]
[source,shell]
....
# ln -s /usr/src/sys /sys
....
@ -178,7 +178,7 @@ following line in man:loader.conf[5]:
Έπειτα, μετακινηθείτε στον κατάλογο [.filename]#arch/conf# και αντιγράψτε το αρχείο ρυθμίσεων [.filename]#GENERIC# στο όνομα το οποίο θέλετε να δώσετε στο νέο σας πυρήνα. Για παράδειγμα:
[source,bash]
[source,shell]
....
# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
@ -195,7 +195,7 @@ following line in man:loader.conf[5]:
Για παράδειγμα:
[source,bash]
[source,shell]
....
# cd /usr/src/sys/i386/conf
# mkdir /root/kernels
@ -225,21 +225,21 @@ following line in man:loader.conf[5]:
======
. Μετακινηθείτε στον κατάλογο [.filename]#/usr/src#:
+
[source,bash]
[source,shell]
....
# cd /usr/src
....
. Μεταγλωττίστε τον πυρήνα:
+
[source,bash]
[source,shell]
....
# make buildkernel KERNCONF=MYKERNEL
....
. Εγκαταστήστε το νέο πυρήνα:
+
[source,bash]
[source,shell]
....
# make installkernel KERNCONF=MYKERNEL
....
@ -296,7 +296,7 @@ options IPDIVERT
====
Για να δημιουργήσετε ένα αρχείο το οποίο να περιέχει όλες τις διαθέσιμες επιλογές, όπως γίνεται συνήθως για δοκιμές, εκτελέστε την ακόλουθη εντολή ως `root`:
[source,bash]
[source,shell]
....
# cd /usr/src/sys/i386/conf && make LINT
....
@ -1143,7 +1143,7 @@ options PAE
Αποτυχία της εντολής `config`:::
Αν η εντολή man:config[8] αποτυγχάνει όταν της δίνετε την περιγραφή του πυρήνα σας, έχετε κατά πάσα πιθανότητα, κάνει κάποιο απλό λάθος. Ευτυχώς, η man:config[8] θα σας δείξει τον αριθμό γραμμής στον οποίο συνάντησε το πρόβλημα, και έτσι θα μπορέσετε εύκολα να το εντοπίσετε. Για παράδειγμα, αν δείτε:
+
[source,bash]
[source,shell]
....
config: line 17: syntax error
....
@ -1162,7 +1162,7 @@ config: line 17: syntax error
====
Αν έχετε πρόβλημα στη δημιουργία πυρήνα, βεβαιωθείτε ότι έχετε κρατήσει ένα πυρήνα [.filename]#GENERIC#, ή κάποιο άλλο που γνωρίζετε ότι λειτουργεί, χρησιμοποιώντας ένα διαφορετικό όνομα ώστε να μη διαγραφεί στην επόμενη μεταγλώττιση. Δεν μπορείτε να βασιστείτε στον πυρήνα [.filename]#kernel.old#, γιατί κάθε φορά που εγκαθιστάτε νέο πυρήνα, το [.filename]#kernel.old# αντικαθίσταται με τον τελευταίο εγκατεστημένο πυρήνα, ο οποίος μπορεί να μην λειτουργεί. Επίσης, όσο το δυνατόν πιο σύντομα, μετακινήστε τον πυρήνα που λειτουργεί στην σωστή θέση, [.filename]#/boot/kernel#, διαφορετικά εντολές όπως η man:ps[1] ίσως να μη λειτουργούν σωστά. Για να το κάνετε αυτό, απλώς μετονομάστε τον κατάλογο που περιέχει τον καλό πυρήνα, π.χ:
[source,bash]
[source,shell]
....
# mv /boot/kernel /boot/kernel.bad
# mv /boot/kernel.good /boot/kernel

View file

@ -212,7 +212,7 @@ german|German Users Accounts:\
Πριν κάνετε αλλαγές στις Κλάσεις Εισόδου (Login Classes) των χρηστών, εκτελέστε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# cap_mkdb /etc/login.conf
....
@ -235,7 +235,7 @@ user:password:1111:11:language:0:0:User Name:/home/user:/bin/sh
* Θέστε το `defaultclass = language` στο [.filename]#/etc/adduser.conf#. Να έχετε υπόψη σας ότι σε αυτή την περίπτωση, θα πρέπει να ορίσετε μια κλάση `default` για όλους τους χρήστες άλλων γλωσσών.
* Μια εναλλακτική λύση, είναι να απαντάτε κάθε φορά στην ερώτηση
+
[source,bash]
[source,shell]
....
Enter login class: default []:
....
@ -243,7 +243,7 @@ Enter login class: default []:
που εμφανίζεται από την man:adduser[8].
* Ακόμα μια εναλλακτική λύση, είναι να χρησιμοποιήσετε το παρακάτω σε κάθε χρήστη που θέλετε να προσθέσετε και ο οποίος χρησιμοποιεί διαφορετική γλώσσα:
+
[source,bash]
[source,shell]
....
# adduser -class language
....
@ -252,7 +252,7 @@ Enter login class: default []:
Αν χρησιμοποιείτε την man:pw[8] για να προσθέσετε νέους χρήστες, καλέστε την με τον παρακάτω τρόπο:
[source,bash]
[source,shell]
....
# pw useradd user_name -L language
....

View file

@ -70,7 +70,7 @@ toc::[]
Η συμβατότητα με εκτελέσιμα του Linux δεν είναι ενεργή εξ' αρχής. Ο ευκολότερος τρόπος για να ενεργοποιήσετε αυτή τη λειτουργία είναι να φορτώσετε το KLD (άρθρωμα) `linux` ("Kernel LoaDable object"). Μπορείτε να φορτώσετε αυτό το άρθρωμα στον πυρήνα δίνοντας τη παρακάτω εντολή ως `root`:
[source,bash]
[source,shell]
....
# kldload linux
....
@ -84,7 +84,7 @@ linux_enable="YES"
Η εντολή man:kldstat[8] μπορεί να χρησιμοποιηθεί για να ελεγχθεί αν το KLD είναι φορτωμένο:
[source,bash]
[source,shell]
....
% kldstat
Id Refs Address Size Name
@ -103,7 +103,7 @@ Id Refs Address Size Name
Αυτός είναι κατά γενική ομολογία ο ευκολότερος τρόπος για την εγκατάσταση των runtime libraries. Είναι η ίδια διαδικασία εγκατάστασης που ακολουθείται και για οποιοδήποτε άλλο port από τη crossref:ports[ports,Συλλογή των Ports]. Απλά κάντε το παρακάτω:
[source,bash]
[source,shell]
....
# cd /usr/ports/emulators/linux_base-f10
# make install distclean
@ -136,7 +136,7 @@ Id Refs Address Size Name
Ας υποθέσουμε ότι κατεβάσατε μέσω FTP το εκτελέσιμο του Doom για το Linux, και το βάλατε στο Linux σύστημα στο οποίο έχετε πρόσβαση. Μπορείτε στη συνέχεια να ελέγξετε ποια shared libraries χρειάζεται η εφαρμογή με την εντολή `ldd linuxdoom`, όπως:
[source,bash]
[source,shell]
....
% ldd linuxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
@ -146,7 +146,7 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
Θα χρειαστεί να πάρετε όλα τα αρχεία από τη τελευταία στήλη, και να τα αντιγράψετε στον κατάλογο [.filename]#/compat/linux#, και να δημιουργήσετε προς αυτά τους αντίστοιχους συμβολικούς δεσμούς (symbolic links) με τα ονόματα της πρώτης στήλης. Αυτό σημαίνει ότι πρακτικά, θα έχετε αυτά τα αρχεία στο σύστημα σας:
[source,bash]
[source,shell]
....
/compat/linux/usr/X11/lib/libXt.so.3.1.0
/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
@ -160,7 +160,7 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
====
Σημειώστε ότι αν έχετε ήδη κάποιο Linux shared library που ο αριθμός έκδοσης είναι ο ίδιος με αυτόν της πρώτης στήλης του `ldd`, δε θα χρειαστεί να αντιγράψετε το αρχείο όπως αυτό ονομάζεται στη τελευταία στήλη, τα υπάρχοντα αρχεία θα πρέπει να κάνουν τη δουλειά τους. Σας συμβουλεύουμε όμως να αντιγράψετε το shared library αν είναι κάποια νεότερη έκδοση. Μπορείτε να διαγράψετε τα παλιά αρχεία, αρκεί όμως να ανανεώσετε τους συμβολικούς δεσμούς ώστε να οδηγούν στα νέα αρχεία. Επομένως, αν έχετε τις παρακάτω βιβλιοθήκες στο σύστημά σας:
[source,bash]
[source,shell]
....
/compat/linux/lib/libc.so.4.6.27
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27
@ -168,14 +168,14 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
και βρείτε μια εφαρμογή η οποία ζητάει μια νεότερη έκδοση μέσω του `ldd`:
[source,bash]
[source,shell]
....
libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29
....
Αν η διαφορά της έκδοσης στο τελευταία ψηφίο είναι μόνο μίας ή δύο εκδόσεων, τότε μην σας απασχολεί η αντιγραφή του [.filename]#/lib/libc.so.4.6.29#, γιατί το πρόγραμμα θα πρέπει να τρέχει κανονικά και με τη λίγο παλαιότερη έκδοση. Παρ' όλα αυτά, αν θέλετε, μπορείτε να αντικαταστήσετε το [.filename]#libc.so# και έτσι θα έχετε το παρακάτω:
[source,bash]
[source,shell]
....
/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
@ -192,7 +192,7 @@ libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29
Τα ELF binaries χρειάζονται μερικές φορές ένα ακόμα βήμα, το "branding". Αν προσπαθήσετε να τρέξετε ένα εκτελέσιμο ELF χωρίς branding, τότε θα σας εμφανιστεί το παρακάτω σφάλμα:
[source,bash]
[source,shell]
....
% ./my-linux-elf-binary
ELF binary type not known
@ -201,7 +201,7 @@ Abort
Για να βοηθήσετε τον πυρήνα του FreeBSD να ξεχωρίσει ένα ELF του FreeBSD από ένα του Linux, χρησιμοποιήστε την εντολή man:brandelf[1].
[source,bash]
[source,shell]
....
% brandelf -t Linux my-linux-elf-binary
....
@ -214,7 +214,7 @@ To GNU toolchain, ομάδα πρόγραμμα GNU, τοποθετεί πλέο
Αν ωστόσο χρειάζεται να εγκαταστήσετε μια οποιαδήποτε εφαρμογή του Linux(R) που βασίζεται σε πακέτο RPM, μπορείτε να το επιτύχετε με τον παρακάτω τρόπο:
[source,bash]
[source,shell]
....
# cd /compat/linux
# rpm2cpio -q < /path/to/linux.archive.rpm | cpio -id
@ -226,7 +226,7 @@ To GNU toolchain, ομάδα πρόγραμμα GNU, τοποθετεί πλέο
Αν το DNS δε δουλεύει ή αν σας εμφανίζεται το παρακάτω σφάλμα:
[source,bash]
[source,shell]
....
resolv+: "bind" is an invalid keyword resolv+:
"hosts" is an invalid keyword
@ -253,7 +253,7 @@ multi on
Αρχικά, θα πρέπει να πείτε στο FreeBSD ότι τα εκτελέσιμα για Linux του Mathematica(R) κάνουν χρήση του Linux ABI. Ο ευκολότερος τρόπος για να το κάνετε αυτό είναι να ορίσετε τον τύπο του ELF ως Linux σε όλες τις εφαρμογές που δεν είναι ήδη branded, κάνοντας χρήση της εντολής:
[source,bash]
[source,shell]
....
# sysctl kern.fallback_elf_brand=3
....
@ -262,7 +262,7 @@ multi on
Τώρα, αντιγράψτε το αρχείο [.filename]#MathInstaller# στον σκληρό σας δίσκο:
[source,bash]
[source,shell]
....
# mount /cdrom
# cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/
@ -300,7 +300,7 @@ done
Ο δεύτερος τρόπος είναι να αντιγράψετε τους παραπάνω καταλόγους μέσα στο [.filename]#/usr/X11R6/lib/X11/fonts#:
[source,bash]
[source,shell]
....
# cd /usr/X11R6/lib/X11/fonts
# mkdir X
@ -316,7 +316,7 @@ done
Τώρα προσθέστε τους νέους καταλόγους με τις γραμματοσειρές στο font path:
[source,bash]
[source,shell]
....
# xset fp+ /usr/X11R6/lib/X11/fonts/X
# xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
@ -397,7 +397,7 @@ exit 0
. Δοκιμή του Maple(TM):
+
[source,bash]
[source,shell]
....
% cd /usr/local/maple/bin
% ./xmaple
@ -450,7 +450,7 @@ FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \
. Εισάγετε το CD και προσαρτήστε το στο σύστημα σας. Συνδεθείτε ως χρήστης `root`, όπως συνιστά το script της εγκατάστασης. Για να ξεκινήσετε το script της εγκατάστασης δώστε την εντολή:
+
[source,bash]
[source,shell]
....
# /compat/linux/bin/sh /cdrom/install
....
@ -488,7 +488,7 @@ FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \
. Δημιουργία συμβολικών συνδέσμων για τα scripts του license manager:
+
[source,bash]
[source,shell]
....
# ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
# ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW
@ -524,7 +524,7 @@ exit 0
====
Το αρχείο πρέπει να είναι εκτελέσιμο:
[source,bash]
[source,shell]
....
# chmod +x /usr/local/etc/rc.d/flexlm.sh
....
@ -535,7 +535,7 @@ exit 0
. Εκκινήστε τον license manager με την εντολή:
+
[source,bash]
[source,shell]
....
# /usr/local/etc/rc.d/flexlm.sh start
....
@ -545,7 +545,7 @@ exit 0
Αλλάξτε τον σύνδεσμο τουJava(TM) Runtime Environment (JRE) σε έναν ο οποίος θα δουλεύει στο FreeBSD:
[source,bash]
[source,shell]
....
# cd $MATLAB/sys/java/jre/glnx86/
# unlink jre; ln -s ./jre1.1.8 ./jre
@ -620,7 +620,7 @@ exit 0
. Κάντε το αρχείο εκτελέσιμο:
+
[source,bash]
[source,shell]
....
# chmod +x $MATLAB/bin/finish.sh
....
@ -643,7 +643,7 @@ exit 0
Αν θέλετε να τρέξετε τον intelligent agent, θα χρειαστεί να εγκαταστήσετε και το πακέτο Red Hat Tcl: [.filename]#tcl-8.0.3-20.i386.rpm#. Η εντολή για την εγκατάσταση μέσω του επίσημου RPM port (package:archivers/rpm[]) είναι:
[source,bash]
[source,shell]
....
# rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package
....
@ -730,7 +730,7 @@ export PATH
Ένα συχνό πρόβλημα είναι ότι δεν γίνεται σωστή εγκατάσταση του προσαρμογέα του πρωτοκόλλου TCP. Αυτό έχει ως αποτέλεσμα να μην μπορείτε να ξεκινήσετε τους TCP listeners. Οι ακόλουθες οδηγίες θα σας βοηθήσουν να λύσετε αυτό το πρόβλημα.:
[source,bash]
[source,shell]
....
# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk ntcontab.o
@ -827,7 +827,7 @@ To script `genclntsh` χρησιμοποιείται για να δημιουρ
Για να λειτουργήσουν τα εκτελέσιμα του Linux, θα πρέπει να γίνουν _branded_ (μαρκαριστούν) ως `Linux` μέσω της man:brandelf[1]:
[source,bash]
[source,shell]
....
# brandelf -t Linux file
....

View file

@ -156,14 +156,14 @@ Virtually all aspects of label policy module configuration will be performed usi
All configuration may be done by use of the man:setfmac[8] and man:setpmac[8] utilities. The `setfmac` command is used to set MAC labels on system objects while the `setpmac` command is used to set the labels on system subjects. Observe:
[source,bash]
[source,shell]
....
# setfmac biba/high test
....
If no errors occurred with the command above, a prompt will be returned. The only time these commands are not quiescent is when an error occurred; similarly to the man:chmod[1] and man:chown[8] commands. In some cases this error may be a `Permission denied` and is usually obtained when the label is being set or modified on an object which is restricted. The system administrator may use the following commands to overcome this:
[source,bash]
[source,shell]
....
# setfmac biba/high test
Permission denied
@ -255,7 +255,7 @@ Labels may also be set on network interfaces to help control the flow of data ac
The `maclabel` may be passed to `ifconfig` when setting the MAC label on network interfaces. For example:
[source,bash]
[source,shell]
....
# ifconfig bge0 maclabel biba/equal
....
@ -284,7 +284,7 @@ It should also be noted that using `multilabel` with a partition and establishin
The following command will set `multilabel` on the file systems to have multiple labels. This may only be done in single user mode:
[source,bash]
[source,shell]
....
# tunefs -l enable /
....
@ -359,7 +359,7 @@ Extreme caution should be taken when working with this module; incorrect use cou
After the man:mac_bsdextended[4] module has been loaded, the following command may be used to list the current rule configuration:
[source,bash]
[source,shell]
....
# ugidfw list
0 slots, 0 rules
@ -367,7 +367,7 @@ After the man:mac_bsdextended[4] module has been loaded, the following command m
As expected, there are no rules defined. This means that everything is still completely accessible. To create a rule which will block all access by users but leave `root` unaffected, simply run the following command:
[source,bash]
[source,shell]
....
# ugidfw add subject not uid root new object not uid root mode n
....
@ -379,7 +379,7 @@ In releases prior to FreeBSD 5.3, the [parameter]#add# parameter did not exist.
This is a very bad idea as it will block all users from issuing even the most simple commands, such as `ls`. A more patriotic list of rules might be:
[source,bash]
[source,shell]
....
# ugidfw set 2 subject uid user1 object uid user2 mode n
# ugidfw set 3 subject uid user1 object gid user2 mode n
@ -448,7 +448,7 @@ See the examples below or review the man:mac_portacl[4] manual page for further
The following examples should illuminate the above discussion a little better:
[source,bash]
[source,shell]
....
# sysctl security.mac.portacl.port_high=1023
# sysctl net.inet.ip.portrange.reservedlow=0 net.inet.ip.portrange.reservedhigh=0
@ -456,21 +456,21 @@ The following examples should illuminate the above discussion a little better:
First we set man:mac_portacl[4] to cover the standard privileged ports and disable the normal UNIX(R) bind restrictions.
[source,bash]
[source,shell]
....
# sysctl security.mac.portacl.suser_exempt=1
....
The `root` user should not be crippled by this policy, thus set the `security.mac.portacl.suser_exempt` to a non-zero value. The man:mac_portacl[4] module has now been set up to behave the same way UNIX(R)-like systems behave by default.
[source,bash]
[source,shell]
....
# sysctl security.mac.portacl.rules=uid:80:tcp:80
....
Allow the user with UID 80 (normally the `www` user) to bind to port 80. This can be used to allow the `www` user to run a web server without ever having `root` privilege.
[source,bash]
[source,shell]
....
# sysctl security.mac.portacl.rules=uid:1001:tcp:110,uid:1001:tcp:995
....
@ -498,7 +498,7 @@ When this policy is enabled, users will only be permitted to see their processes
To set or drop utilities into a partition label, use the `setpmac` utility:
[source,bash]
[source,shell]
....
# setpmac partition/13 top
....
@ -509,14 +509,14 @@ This will add the `top` command to the label set on users in the `insecure` clas
The following command will show you the partition label and the process list:
[source,bash]
[source,shell]
....
# ps Zax
....
This next command will allow the viewing of another user's process partition label and that user's currently running processes:
[source,bash]
[source,shell]
....
# ps -ZU trhodes
....
@ -568,14 +568,14 @@ The following `sysctl` tunables are available for the configuration of special s
To manipulate the MLS labels, the man:setfmac[8] command has been provided. To assign a label to an object, issue the following command:
[source,bash]
[source,shell]
....
# setfmac mls/5 test
....
To get the MLS label for the file [.filename]#test# issue the following command:
[source,bash]
[source,shell]
....
# getfmac test
....
@ -624,7 +624,7 @@ The following `sysctl` tunables can be used to manipulate the Biba policy.
To access the Biba policy setting on system objects, use the `setfmac` and `getfmac` commands:
[source,bash]
[source,shell]
....
# setfmac biba/low test
# getfmac test
@ -660,7 +660,7 @@ The MAC LOMAC policy relies on the ubiquitous labeling of all system objects wit
Like the Biba and MLS policies; the `setfmac` and `setpmac` utilities may be used to place labels on system objects:
[source,bash]
[source,shell]
....
# setfmac /usr/home/trhodes lomac/high[low]
# getfmac /usr/home/trhodes
@ -716,7 +716,7 @@ And adding the following line to the default user class:
Once this is completed, the following command must be issued to rebuild the database:
[source,bash]
[source,shell]
....
# cap_mkdb /etc/login.conf
....
@ -735,14 +735,14 @@ mac_seeotheruids_load="YES"
Set the `root` user to the default class using:
[source,bash]
[source,shell]
....
# pw usermod root -L default
....
All user accounts that are not `root` or system users will now require a login class. The login class is required otherwise users will be refused access to common commands such as man:vi[1]. The following `sh` script should do the trick:
[source,bash]
[source,shell]
....
# for x in `awk -F: '($3 >= 1001) && ($3 != 65534) { print $1 }' \
@ -751,12 +751,12 @@ All user accounts that are not `root` or system users will now require a login c
Drop the `nagios` and `www` users into the insecure class:
[source,bash]
[source,shell]
....
# pw usermod nagios -L insecure
....
[source,bash]
[source,shell]
....
# pw usermod www -L insecure
....
@ -807,7 +807,7 @@ This policy will enforce security by setting restrictions on the flow of informa
This file may now be read into our system by issuing the following command:
[source,bash]
[source,shell]
....
# setfsmac -ef /etc/policy.contexts /
# setfsmac -ef /etc/policy.contexts /
@ -850,7 +850,7 @@ Ensure that the web server and Nagios will not be started on system initializati
If all seems well, Nagios, Apache, and Sendmail can now be started in a way fitting of the security policy. The following commands will make this happen:
[source,bash]
[source,shell]
....
# cd /etc/mail && make stop && \
setpmac biba/equal make start && setpmac biba/10\(10-10\) apachectl start && \
@ -863,7 +863,7 @@ Double check to ensure that everything is working properly. If not, check the lo
====
The `root` user can change the security enforcement and edit the configuration files without fear. The following command will permit the degradation of the security policy to a lower grade for a newly spawned shell:
[source,bash]
[source,shell]
....
# setpmac biba/10 csh
....

View file

@ -108,7 +108,7 @@ toc::[]
Μπορείτε να δείτε τις εγγραφές MX για οποιοδήποτε τομέα, χρησιμοποιώντας την εντολή man:host[1], όπως φαίνεται στο παρακάτω παράδειγμα:
[source,bash]
[source,shell]
....
% host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org
@ -323,7 +323,7 @@ sendmail_enable="NO"
Το νέο σας MTA θα ξεκινάει κατά την εκκίνηση, αν προσθέσετε μια κατάλληλη γραμμή στο αρχείο [.filename]#/etc/rc.conf#. Δείτε το παρακάτω παράδειγμα για το postfix:
[source,bash]
[source,shell]
....
# echo 'postfix_enable="YES"' >> /etc/rc.conf
....
@ -493,7 +493,7 @@ hostname.customer.com στο DNS. Απλώς προσθέστε μια εγγρ
Υπάρχουν διάφοροι τρόποι για να ξεπεράσετε το πρόβλημα. Ο πλέον απλός είναι να βάλετε τη διεύθυνση του ISP σας σε ένα αρχείο relay-domains, [.filename]#/etc/mail/relay-domains#. Ένας γρήγορος τρόπος για να το κάνετε αυτό είναι:
[source,bash]
[source,shell]
....
# echo "your.isp.example.com" > /etc/mail/relay-domains
....
@ -532,7 +532,7 @@ www.example.org
Δοκιμάστε αυτό:
[source,bash]
[source,shell]
....
# hostname
example.FreeBSD.org
@ -544,7 +544,7 @@ example.FreeBSD.org has address 204.216.27.XX
Αν αντί για αυτό δείτε κάτι σαν το παρακάτω:
[source,bash]
[source,shell]
....
# host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
@ -618,7 +618,7 @@ customer1.org MX 10 mail.myhost.com
Θα πρέπει αρχικά να δημιουργήσετε το αρχείο [.filename]#.mc#. Θα βρείτε μερικά παραδείγματα στον κατάλογο [.filename]#/usr/shared/sendmail/cf/cf#. Υποθέτοντας ότι έχετε ονομάσει το αρχείο σας [.filename]#foo.mc#, το μόνο που χρειάζεται να κάνετε για να το μετατρέψετε σε ένα έγκυρο αρχείο [.filename]#sendmail.cf# είναι:
[source,bash]
[source,shell]
....
# cd /etc/mail
# make foo.cf
@ -680,7 +680,7 @@ if-bus.UUCP uucp-dom:if-bus
Μια τελευταία υπόδειξη: αν δεν είστε βέβαιοι για το αν θα λειτουργήσει κάποια συγκεκριμένη δρομολόγηση mail, θυμηθείτε την επιλογή `-bt` του sendmail. Αυτή ξεκινάει το sendmail σε _κατάσταση δοκιμής διευθύνσεων_. Γράψτε `3,0`, ακολουθούμενο από τη διεύθυνση που θέλετε να ελέγξετε για δρομολόγηση mail. Η τελευταία γραμμή θα σας πει τον εσωτερικό αντιπρόσωπο mail που χρησιμοποιήθηκε, τη διεύθυνση προορισμού με την οποία κλήθηκε, καθώς και την (πιθανώς μεταφρασμένη) διεύθυνση. Μπορείτε να βγείτε από αυτή την κατάσταση, πληκτρολογώντας kbd:[Ctrl+D].
[source,bash]
[source,shell]
....
% sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
@ -706,7 +706,7 @@ parse returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . co
Ο ευκολότερος τρόπος για να εκπληρώσετε αυτές τις ανάγκες είναι να εγκαταστήσετε το port package:mail/ssmtp[] Εκτελέστε τις ακόλουθες εντολές ως `root`:
[source,bash]
[source,shell]
....
# cd /usr/ports/mail/ssmtp
# make install replace clean
@ -812,7 +812,7 @@ saslauthd_enable="YES"
Τέλος, ξεκινήστε το δαίμονα saslauthd:
+
[source,bash]
[source,shell]
....
# /usr/local/etc/rc.d/saslauthd start
....
@ -833,7 +833,7 @@ SENDMAIL_LDADD=-lsasl2
. Επαναμεταγλωττίστε το sendmail εκτελώντας τις παρακάτω εντολές:
+
[source,bash]
[source,shell]
....
# cd /usr/src/lib/libsmutil
# make cleandir && make obj && make
@ -876,14 +876,14 @@ define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
Για την αποστολή και λήψη email, εκτελέστε την εντολή `mail`:
[source,bash]
[source,shell]
....
% mail
....
Τα περιεχόμενα της θυρίδας του χρήστη στον κατάλογο [.filename]#/var/mail# θα διαβαστούν αυτόματα από το πρόγραμμα `mail`. Αν η θυρίδα ταχυδρομείου είναι άδεια, το πρόγραμμα τερματίζεται με το μήνυμα ότι δεν βρέθηκε αλληλογραφία. Μετά την ανάγνωση της θυρίδας, ξεκινά η διεπαφή της εφαρμογής και εμφανίζεται μια λίστα με μηνύματα. Τα μηνύματα αριθμούνται αυτόματα, όπως φαίνεται στο παρακάτω παράδειγμα:
[source,bash]
[source,shell]
....
Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
@ -894,7 +894,7 @@ Mail version 8.1 6/6/93. Type ? for help.
Τα μηνύματα μπορούν πλέον να διαβαστούν με την εντολή kbd:[t] της εντολής `mail`, ακολουθούμενη με τον αριθμό του mail που θέλετε να εμφανιστεί. Στο παράδειγμα αυτό θα διαβάσουμε το πρώτο μήνυμα:
[source,bash]
[source,shell]
....
& t 1
Message 1:
@ -913,7 +913,7 @@ This is a test message, please reply if you receive it.
Αν το mail απαιτεί απάντηση, μπορείτε να χρησιμοποιήσετε την εντολή `mail` χρησιμοποιώντας τις ενσωματωμένες εντολές kbd:[R] ή kbd:[r]. Το πλήκτρο kbd:[R] οδηγεί το `mail` να απαντήσει μόνο στον αποστολέα του μηνύματος, ενώ το kbd:[r] απαντάει όχι μόνο στον αποστολέα, αλλά σε όλους τους παραλήπτες του μηνύματος. Μπορείτε επίσης να προσθέσετε μετά από τις εντολές αυτές, τον αριθμό του μηνύματος στο οποίο θέλετε να απαντήσετε. Αφού το κάνετε αυτό, θα πρέπει να γράψετε την απάντηση σας και να σημειώσετε το τέλος της γράφοντας μια μόνο kbd:[.] σε μια νέα γραμμή. Μπορείτε να δείτε ένα παράδειγμα παρακάτω:
[source,bash]
[source,shell]
....
& R 1
To: root@localhost
@ -926,7 +926,7 @@ EOT
Για να στείλετε νέο mail, θα πρέπει να χρησιμοποιήσετε το πλήκτρο kbd:[m], ακολουθούμενο από την διεύθυνση του παραλήπτη. Μπορείτε να δώσετε πολλαπλούς παραλήπτες, χωρίζοντας μεταξύ τους τις διευθύνσεις με kbd:[,]. Μπορείτε έπειτα να βάλετε το θέμα του μηνύματος και να συνεχίσετε με το περιεχόμενο. Το τέλος του μηνύματος καθορίζεται γράφοντας μια μοναδική kbd:[.] σε μια νέα γραμμή.
[source,bash]
[source,shell]
....
& mail root@localhost
Subject: I mastered mail
@ -958,7 +958,7 @@ EOT
Μπορείτε να εγκαταστήσετε τη σταθερή έκδοση του mutt μέσω του port package:mail/mutt[], ενώ και η τρέχουσα υπό εξέλιξη έκδοση είναι διαθέσιμη μέσω του port package:mail/mutt-devel[]. Μετά την εγκατάσταση του port, μπορείτε να εκτελέσετε το mutt, με την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
% mutt
....
@ -997,7 +997,7 @@ image::mutt3.png[]
Η τρέχουσα έκδοση του alpine μπορεί να εγκατασταθεί χρησιμοποιώντας το port package:mail/alpine[]. Μετά την εγκατάσταση του port το alpine μπορεί να ξεκινήσει χρησιμοποιώντας την παρακάτω εντολή:
[source,bash]
[source,shell]
....
% alpine
....
@ -1038,7 +1038,7 @@ image::pine5.png[]
Αν και είναι έξω από τους σκοπούς αυτού του κειμένου να εξηγήσει όλες τις δυνατότητες του fetchmail, θα αναφερθούμε σε κάποιες βασικές λειτουργίες. Το fetchmail χρησιμοποιεί ένα αρχείο ρυθμίσεων γνωστό ως [.filename]#.fetchmailrc#, για να λειτουργήσει σωστά. Το αρχείο αυτό περιέχει τις πληροφορίες του εξυπηρετητή αλλά και τα στοιχεία εισόδου του χρήστη. Λόγω των ευαίσθητων πληροφοριών του αρχείου αυτού, σας συμβουλεύουμε να χρησιμοποιήσετε την παρακάτω εντολή ώστε η ανάγνωση του να επιτρέπεται μόνο από τον ιδιοκτήτη του:
[source,bash]
[source,shell]
....
% chmod 600 .fetchmailrc
....
@ -1063,7 +1063,7 @@ user "john", with password "XXXXX", is "myth" here;
Το βοηθητικό πρόγραμμα fetchmail μπορεί να λειτουργήσει σε κατάσταση δαίμονα, αν το εκτελέσετε με την επιλογή `-d`, ακολουθούμενη από ένα διάστημα (σε δευτερόλεπτα) το οποίο θα χρησιμοποιηθεί για να ερωτώνται οι εξυπηρετητές που είναι καταχωρημένοι στο αρχείο [.filename]#.fetchmailrc#. Το παρακάτω παράδειγμα οδηγεί το fetchmail να ανιχνεύει για νέο mail κάθε 600 δευτερόλεπτα:
[source,bash]
[source,shell]
....
% fetchmail -d 600
....

View file

@ -512,7 +512,7 @@ SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_
[example]
====
[source,bash]
[source,shell]
....
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
@ -526,7 +526,7 @@ SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_
[example]
====
[source,bash]
[source,shell]
....
% cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established.
@ -541,7 +541,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
[example]
====
[source,bash]
[source,shell]
....
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
@ -555,7 +555,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
[example]
====
[source,bash]
[source,shell]
....
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
@ -569,7 +569,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
[example]
====
[source,bash]
[source,shell]
....
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
@ -640,7 +640,7 @@ link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CT
Για να εφαρμόσετε τα deltas, απλώς γράψτε:
[source,bash]
[source,shell]
....
# cd /where/ever/you/want/the/stuff
# ctm -v -v /where/you/store/your/deltas/src-xxx.*
@ -684,7 +684,7 @@ link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CT
Για παράδειγμα, για να εξάγετε ένα ανανεωμένο αντίγραφο του αρχείου [.filename]#lib/libc/Makefile# από την συλλογή σας των αποθηκευμένων CTM deltas, εκτελέστε τις εντολές:
[source,bash]
[source,shell]
....
# cd /where/ever/you/want/to/extract/it/
# ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*
@ -886,7 +886,7 @@ src-all
Το αρχείο [.filename]#refuse# έχει ιδιαίτερα απλή μορφή. Απλώς περιέχει τα ονόματα των αρχείων και καταλόγων τα οποία δεν επιθυμείτε να κατεβάσετε. Για παράδειγμα, αν δεν μιλάτε γλώσσες εκτός από Αγγλικά και λίγα Γερμανικά, και δεν αισθάνεστε την ανάγκη να διαβάσετε την Γερμανική μετάφραση της τεκμηρίωσης, μπορείτε να βάλετε τα ακόλουθα στο δικό σας αρχείο [.filename]#refuse#:
[source,bash]
[source,shell]
....
doc/bn_*
doc/da_*
@ -914,7 +914,7 @@ doc/zh_*
Είστε τώρα έτοιμοι να δοκιμάσετε μια ανανέωση. Η γραμμή εντολής για το σκοπό αυτό είναι ιδιαίτερα απλή:
[source,bash]
[source,shell]
....
# cvsup supfile
....
@ -923,7 +923,7 @@ doc/zh_*
Καθώς στην περίπτωση μας ανανεώνεται το πραγματικό δέντρο [.filename]#/usr/src#, θα χρειαστεί να εκτελέσετε το πρόγραμμα ως `root` ώστε η `cvsup` να έχει τα δικαιώματα που χρειάζεται για να ανανεώσει τα αρχεία σας. Καθώς μόλις έχετε δημιουργήσει το αρχείο ρυθμίσεων, και δεν έχετε ποτέ πριν χρησιμοποιήσει το πρόγραμμα, ίσως αισθάνεστε λίγο άβολα. Υπάρχει εύκολος τρόπος να κάνετε δοκιμαστική εκτέλεση χωρίς να πειράξετε τα πολύτιμα αρχεία σας. Απλώς δημιουργήστε ένα άδειο κατάλογο σε ένα βολικό μέρος, και δώστε το σαν έξτρα παράμετρο στην γραμμή εντολών:
[source,bash]
[source,shell]
....
# mkdir /var/tmp/dest
# cvsup supfile /var/tmp/dest
@ -933,7 +933,7 @@ doc/zh_*
Αν δεν εκτελείτε τα X11 ή απλώς δεν σας αρέσουν τα γραφικά περιβάλλοντα, μπορείτε να δώσετε κάποιες επιλογές στην γραμμή εντολών όταν εκτελείτε την `cvsup`:
[source,bash]
[source,shell]
....
# cvsup -g -L 2 supfile
....

View file

@ -87,7 +87,7 @@ toc::[]
Για να χρησιμοποιήσετε την συσκευή ήχου που διαθέτετε, θα πρέπει να φορτώσετε τον κατάλληλο οδηγό συσκευής. Αυτό μπορεί να επιτευχθεί με δύο τρόπους. Ο ευκολότερος είναι απλώς να φορτώσετε ένα module (άρθρωμα) για την κάρτα ήχου στον πυρήνα, χρησιμοποιώντας την εντολή man:kldload[8], με τη βοήθεια της γραμμής εντολών:
[source,bash]
[source,shell]
....
# kldload snd_emu10k1
....
@ -101,7 +101,7 @@ snd_emu10k1_load="YES"
Τα παραπάνω παραδείγματα είναι για μια κάρτα ήχου Creative SoundBlaster(R) Live!. Υπάρχουν διαθέσιμα και άλλα modules για κάρτες ήχου και μπορείτε να τα δείτε στο αρχείο [.filename]#/boot/defaults/loader.conf#. Αν δεν είστε σίγουρος για το πρόγραμμα οδήγησης που πρέπει να χρησιμοποιήσετε, μπορείτε να προσπαθήσετε να φορτώσετε το module [.filename]#snd_driver#:
[source,bash]
[source,shell]
....
# kldload snd_driver
....
@ -160,7 +160,7 @@ hint.sbc.0.flags="0x15"
Αφού κάνετε επανεκκίνηση με τον νέο πυρήνα (ή αφού φορτώσετε το απαραίτητο module), Θα πρέπει να δείτε μηνύματα σχετικά με την κάρτα ήχου στην προσωρινή μνήμη (buffer) καταγραφής του συστήματος (man:dmesg[8]) αντίστοιχα με τα παρακάτω:
[source,bash]
[source,shell]
....
pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
@ -169,7 +169,7 @@ pcm0: <Cirrus Logic CS4205 AC97 Codec>
Η κατάσταση της κάρτας ήχου μπορεί να ελεγχθεί μέσω του αρχείου [.filename]#/dev/sndstat#:
[source,bash]
[source,shell]
....
# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
@ -182,7 +182,7 @@ kld snd_ich (1p/2r/0v channels duplex default)
Αν όλα πάνε καλά, η κάρτα ήχου σας θα λειτουργεί. Αν ο οδηγός CD ή DVD που διαθέτετε είναι συνδεμένος με την κάρτα ήχου μέσω της αναλογικής του εξόδου, μπορείτε να βάλετε ένα μουσικό CD και να το αναπαράγετε με το πρόγραμμα man:cdcontrol[1]:
[source,bash]
[source,shell]
....
% cdcontrol -f /dev/acd0 play 1
....
@ -191,7 +191,7 @@ kld snd_ich (1p/2r/0v channels duplex default)
Ένας άλλος γρήγορος τρόπος για να ελέγξετε την κάρτα ήχου σας, είναι να στείλετε δεδομένα στην συσκευή [.filename]#/dev/dsp#, όπως παρακάτω:
[source,bash]
[source,shell]
....
% cat filename > /dev/dsp
....
@ -260,7 +260,7 @@ pcm7: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1
Στο παράδειγμα μας, η κάρτα γραφικών (`NVidia`) εντοπίστηκε πριν την κανονική κάρτα ήχου (`Realtek ALC889`). Για να χρησιμοποιήσετε την πραγματική κάρτα ήχου ως την προεπιλεγμένη συσκευή ήχου, αλλάξτε το `hw.snd.default_unit` όπως φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# sysctl hw.snd.default_unit=n
....
@ -281,7 +281,7 @@ hw.snd.default_unit=4
Για να ρυθμίσετε το πλήθος των εικονικών καναλιών, υπάρχουν τρεις ρυθμίσεις sysctl που μπορούν να γίνουν αν είστε ο χρήστης `root`, όπως φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# sysctl dev.pcm.0.play.vchans=4
# sysctl dev.pcm.0.rec.vchans=4
@ -326,7 +326,7 @@ hint.pcm.0.vol="50"
Το mpg123 μπορεί να εκτελεστεί καθορίζοντας τη συσκευή ήχου και το αρχείο MP3 στη γραμμή εντολών. Θεωρώντας ότι η συσκευή ήχου είναι το [.filename]#/dev/dsp1.0# και θέλετε να αναπαράγετε το αρχείο _Foobar-GreatestHits.mp3_, θα χρησιμοποιήσετε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
@ -348,14 +348,14 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
Έχοντας το μουσικό CD στον οδηγό, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή (ως `root`) για να αποθηκεύσετε ένα ολόκληρο CD σε χωριστά (ανά κομμάτι) αρχεία WAV:
[source,bash]
[source,shell]
....
# cdda2wav -D 0,1,0 -B
....
Το cdda2wav υποστηρίζει οδηγούς CDROM τύπου ATAPI (IDE). Για να διαβάσετε δεδομένα από μια συσκευή IDE, χρησιμοποιήστε το όνομα συσκευής αντί για τον αριθμό μονάδας SCSI. Για παράδειγμα, για να αποθηκεύσετε το κομμάτι 7 από ένα οδηγό IDE:
[source,bash]
[source,shell]
....
# cdda2wav -D /dev/acd0 -t 7
....
@ -364,14 +364,14 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
Για να διαβάσετε μεμονωμένα κομμάτια, χρησιμοποιήστε την επιλογή `-t` όπως φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# cdda2wav -D 0,1,0 -t 7
....
Το παράδειγμα αυτό διαβάζει το κομμάτι επτά του μουσικού CD. Για να διαβάσετε μια σειρά από κομμάτια, για παράδειγμα από το ένα ως το επτά, καθορίστε μια περιοχή:
[source,bash]
[source,shell]
....
# cdda2wav -D 0,1,0 -t 1+7
....
@ -385,7 +385,7 @@ MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
Χρησιμοποιώντας τα αρχεία WAV που έχετε αποθηκεύσει, μπορείτε να μετατρέψετε το αρχείο [.filename]#audio01.wav# σε [.filename]#audio01.mp3# με την εντολή:
[source,bash]
[source,shell]
....
# lame -h -b 128 \
--tt "Foo Song Title" \
@ -424,7 +424,7 @@ audio01.wav audio01.mp3
Το XMMS γράφει αρχεία σε μορφή WAV, ενώ το mpg123 μετατρέπει το MP3 σε μη- επεξεργασμένα (raw) δεδομένα ήχου PCM. Και οι δύο αυτές μορφές μπορούν να χρησιμοποιηθούν με την εφαρμογή cdrecord για τη δημιουργία μουσικών CD. Για την εφαρμογή man:burncd[8] θα πρέπει να χρησιμοποιήσετε δεδομένα PCM. Αν χρησιμοποιήσετε αρχεία WAV θα παρατηρήσετε ένα μικρό ήχο (tick) στην αρχή κάθε κομματιού. Ο ήχος αυτός προέρχεται από την επικεφαλίδα (header) του αρχείου WAV. Μπορείτε να αφαιρέσετε την επικεφαλίδα με τη βοήθεια του προγράμματος SoX (μπορείτε να το εγκαταστήσετε από το port package:audio/sox[] ή το αντίστοιχο πακέτο):
[source,bash]
[source,shell]
....
% sox -t wav -r 44100 -s -w -c 2 track.wav track.raw
....
@ -440,7 +440,7 @@ audio01.wav audio01.mp3
Είναι γενικά καλή ιδέα να έχετε ένα μικρό αρχείο MPEG το οποίο μπορεί να χρησιμοποιηθεί για δοκιμές διαφορετικών επιλογών και προγραμμάτων αναπαραγωγής. Κάποια προγράμματα αναπαραγωγής DVD αναζητούν από προεπιλογή το δίσκο DVD στη συσκευή [.filename]#/dev/dvd#. Σε ορισμένα το όνομα της συσκευής είναι ενσωματωμένο στον κώδικα του προγράμματος. Για το λόγο αυτό, ίσως είναι χρήσιμο να φτιάξετε συμβολικές συνδέσεις προς τις πραγματικές συσκευές:
[source,bash]
[source,shell]
....
# ln -sf /dev/acd0 /dev/dvd
# ln -sf /dev/acd0 /dev/rdvd
@ -484,14 +484,14 @@ kern.ipc.shmall=32768
Για να δείτε αν χρησιμοποιείται η επέκταση, χρησιμοποιήστε την εντολή `xvinfo`:
[source,bash]
[source,shell]
....
% xvinfo
....
Το XVideo υποστηρίζεται από την κάρτα σας αν το αποτέλεσμα δείχνει όπως παρακάτω:
[source,bash]
[source,shell]
....
X-Video Extension version 2.2
screen #0
@ -567,7 +567,7 @@ screen #0
Αν το αποτέλεσμα δείχνει κάπως έτσι:
[source,bash]
[source,shell]
....
X-Video Extension version 2.2
screen #0
@ -624,7 +624,7 @@ no adaptors present
Ο MPlayer βρίσκεται στο package:multimedia/mplayer[]. Ο MPlayer κάνει πλήθος ελέγχων του υλικού κατά τη διαδικασία της μεταγλώττισης, φτιάχνοντας έτσι ένα εκτελέσιμο το οποίο δεν έχει φορητότητα από ένα σύστημα σε ένα άλλο. Για το σκοπό αυτό, είναι σημαντικό να τον εγκαταστήσετε από τα ports και όχι από έτοιμο πακέτο. Επιπρόσθετα, μπορείτε να καθορίσετε πλήθος επιλογών στην γραμμή εντολών του `make` όπως περιγράφεται στο [.filename]#Makefile# και κατά την έναρξη της διαδικασίας μεταγλώττισης:
[source,bash]
[source,shell]
....
# cd /usr/ports/multimedia/mplayer
# make
@ -652,7 +652,7 @@ http://www.mplayerhq.hu/homepage/dload.html
Κάθε χρήστης του MPlayer πρέπει να δημιουργήσει ένα υποκατάλογο [.filename]#.mplayer# μέσα στον προσωπικό του κατάλογο. Για να δημιουργήσετε τον απαραίτητο υποκατάλογο, μπορείτε να γράψετε το παρακάτω:
[source,bash]
[source,shell]
....
% cd /usr/ports/multimedia/mplayer
% make install-user
@ -662,27 +662,27 @@ http://www.mplayerhq.hu/homepage/dload.html
Για να αναπαράγετε ένα αρχείο, όπως το [.filename]#testfile.avi#, μέσω ενός από τα αρκετά video interfaces χρησιμοποιήστε την επιλογή `-vo`:
[source,bash]
[source,shell]
....
% mplayer -vo xv testfile.avi
....
[source,bash]
[source,shell]
....
% mplayer -vo sdl testfile.avi
....
[source,bash]
[source,shell]
....
% mplayer -vo x11 testfile.avi
....
[source,bash]
[source,shell]
....
# mplayer -vo dga testfile.avi
....
[source,bash]
[source,shell]
....
# mplayer -vo 'sdl:dga' testfile.avi
....
@ -691,7 +691,7 @@ http://www.mplayerhq.hu/homepage/dload.html
Για αναπαραγωγή από DVD, αντικαταστήστε το [.filename]#testfile.avi# με `dvd://_N_ -dvd-device _DEVICE_` όπου το _N_ είναι ο αριθμός του τίτλου (title number) που επιθυμείτε να αναπαράγετε και [.filename]#DEVICE# είναι το όνομα συσκευής του DVD-ROM. Για παράδειγμα, για να αναπαράγετε τον τίτλο 3 από τη συσκευή [.filename]#/dev/dvd#:
[source,bash]
[source,shell]
....
# mplayer -vo xv dvd://3 -dvd-device /dev/dvd
....
@ -716,7 +716,7 @@ zoom=yes
Τέλος, ο `mplayer` μπορεί να χρησιμοποιηθεί για την εξαγωγή (rip) ενός τίτλου DVD σε ένα αρχείο [.filename]#.vob# file. Για την εξαγωγή του δεύτερου τίτλου από ένα DVD, γράψτε:
[source,bash]
[source,shell]
....
# mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd
....
@ -728,7 +728,7 @@ zoom=yes
Πριν χρησιμοποιήσετε το `mencoder` είναι καλή ιδέα να εξοικειωθείτε με τις επιλογές που αναφέρονται στην τεκμηρίωση HTML. Υπάρχει σελίδα manual, αλλά δεν είναι πολύ χρήσιμη χωρίς την HTML τεκμηρίωση. Υπάρχουν πάρα πολλοί τρόποι για να βελτιώσετε την ποιότητα, να μειώσετε το ρυθμό δεδομένων (bitrate) να αλλάξετε μορφή αρχείου, και κάποια από αυτά τα κόλπα μπορεί να κάνουν τη διαφορά μεταξύ καλής και κακής απόδοσης. Εδώ θα δείτε μερικά παραδείγματα για να ξεκινήσετε. Πρώτα μια απλή αντιγραφή:
[source,bash]
[source,shell]
....
% mencoder input.avi -oac copy -ovc copy -o output.avi
....
@ -737,7 +737,7 @@ zoom=yes
Για να μετατρέψετε το [.filename]#input.avi# σε codec MPEG4 με ήχο MPEG3 (απαιτείται το package:audio/lame[]):
[source,bash]
[source,shell]
....
% mencoder input.avi -oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi
@ -760,14 +760,14 @@ zoom=yes
Από προεπιλογή, το xine θα ξεκινήσει σε γραφικό περιβάλλον (GUI). Μπορείτε να χρησιμοποιήσετε το μενού για να ανοίξετε ένα συγκεκριμένο αρχείο:
[source,bash]
[source,shell]
....
% xine
....
Εναλλακτικά, μπορείτε να το καλέσετε να αναπαράγει ένα αρχείο απευθείας από την γραμμή εντολών, χωρίς τη χρήση του GUI:
[source,bash]
[source,shell]
....
% xine -g -p mymovie.avi
....
@ -779,7 +779,7 @@ zoom=yes
Μεγάλο πλήθος εφαρμογών μπορούν να καθοριστούν κατά τη διάρκεια της μεταγλώττισης του port package:multimedia/transcode[] και συνιστούμε την ακόλουθη γραμμή εντολών για τη μεταγλώττιση του transcode:
[source,bash]
[source,shell]
....
# make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
WITH_MJPEG=yes -DWITH_XVID=yes
@ -789,7 +789,7 @@ WITH_MJPEG=yes -DWITH_XVID=yes
Για να σας δείξουμε τις ικανότητες του `transcode`, δείτε ένα παράδειγμα μετατροπής αρχείου DivX σε PAL MPEG-1 (PAL VCD):
[source,bash]
[source,shell]
....
% transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
% mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa
@ -866,7 +866,7 @@ options OVERRIDE_TUNER=6
ή μπορείτε να χρησιμοποιήσετε απευθείας το man:sysctl[8]:
[source,bash]
[source,shell]
....
# sysctl hw.bt848.tuner=6
....
@ -914,7 +914,7 @@ options OVERRIDE_TUNER=6
Για να εγκαταστήσετε το MythTV, χρησιμοποιήστε τα παρακάτω βήματα. Αρχικά εγκαταστήστε το MythTV από την Συλλογή των Ports του FreeBSD:
[source,bash]
[source,shell]
....
# cd /usr/ports/multimedia/mythtv
# make install
@ -922,21 +922,21 @@ options OVERRIDE_TUNER=6
Εγκαταστήστε τη βάση δεδομένων του MythTV:
[source,bash]
[source,shell]
....
# mysql -uroot -p < /usr/local/shared/mythtv/database/mc.sql
....
Ρυθμίστε το backend:
[source,bash]
[source,shell]
....
# mythtv-setup
....
Ξεκινήστε το backend:
[source,bash]
[source,shell]
....
# echo 'mythbackend_enable="YES"' >> /etc/rc.conf
# /usr/local/etc/rc.d/mythbackend start
@ -979,14 +979,14 @@ device uscanner
Αφού επανεκκινήσετε με το σωστό πυρήνα, συνδέστε το USB σαρωτή σας. Θα πρέπει να δείτε μια γραμμή σχετική με την ανίχνευση του σαρωτή στην προσωρινή μνήμη μηνυμάτων του συστήματος (man:dmesg[8]):
[source,bash]
[source,shell]
....
ugen0.2: <EPSON> at usbus0
....
ή σε ένα σύστημα FreeBSD 7.X:
[source,bash]
[source,shell]
....
uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2
....
@ -1005,7 +1005,7 @@ device pass
Μόλις μεταγλωττίσετε και εγκαταστήσετε τον πυρήνα, θα μπορέσετε να δείτε τις συσκευές στην προσωρινή μνήμη μηνυμάτων συστήματος, κατά τη διάρκεια της εκκίνησης:
[source,bash]
[source,shell]
....
pass2 at aic0 bus 0 target 2 lun 0
pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
@ -1014,7 +1014,7 @@ pass2: 3.300MB/s transfers
Αν ο σαρωτής σας δεν ήταν ενεργοποιημένος κατά την εκκίνηση του συστήματος σας, είναι ακόμα δυνατόν να εξαναγκάσετε τον εντοπισμό του, εκτελώντας ανίχνευση του διαύλου SCSI με την βοήθεια της εντολής man:camcontrol[8]:
[source,bash]
[source,shell]
....
# camcontrol rescan all
Re-scan of bus 0 was successful
@ -1025,7 +1025,7 @@ Re-scan of bus 3 was successful
Ο σαρωτής θα εμφανιστεί τότε στη λίστα των συσκευών SCSI:
[source,bash]
[source,shell]
....
# camcontrol devlist
<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0)
@ -1042,7 +1042,7 @@ Re-scan of bus 3 was successful
Το πρώτο βήμα είναι να εγκαταστήσετε το port ή το πακέτο package:graphics/sane-backends[]. Μετά χρησιμοποιήστε την εντολή `sane-find-scanner` για να ελέγξετε την ανίχνευση του σαρωτή σας από το σύστημα SANE:
[source,bash]
[source,shell]
....
# sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3
@ -1057,7 +1057,7 @@ found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3
Πρέπει τώρα να ελέγξουμε αν ο σαρωτής θα αναγνωριστεί από το frontend πρόγραμμα σάρωσης. Από προεπιλογή, το SANE backend έρχεται με ένα εργαλείο γραμμής εντολών, το man:sane[1]. Η εντολή αυτή σας επιτρέπει την απαρίθμηση των συσκευών και τη σάρωσης εικόνας από τη γραμμή εντολών. Η επιλογή `-L` χρησιμοποιείται για την απαρίθμηση των συσκευών σάρωσης:
[source,bash]
[source,shell]
....
# scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner
@ -1065,7 +1065,7 @@ device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner
Ή για παράδειγμα με τον σαρωτή που χρησιμοποιήσαμε στο <<scanners-kernel-usb>>:
[source,bash]
[source,shell]
....
# scanimage -L
device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner
@ -1079,7 +1079,7 @@ device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner
Για παράδειγμα, με το σαρωτή USB που χρησιμοποιείται στο <<scanners-kernel-usb>>, η εντολή `sane-find-scanner` δίνει τις ακόλουθες πληροφορίες:
[source,bash]
[source,shell]
....
# sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0
@ -1087,7 +1087,7 @@ found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0
Ο σαρωτής βρέθηκε, χρησιμοποιεί διασύνδεση USB και το όνομα συσκευής του είναι [.filename]#/dev/uscanner0#. Τώρα πρέπει να δούμε αν αναγνωρίζεται και σωστά:
[source,bash]
[source,shell]
....
# scanimage -L
@ -1106,7 +1106,7 @@ usb /dev/uscanner0
Σας παρακαλούμε να βεβαιωθείτε ότι διαβάσατε τα σχόλια που παρέχονται στο αρχείο ρυθμίσεων του backend καθώς και στις αντίστοιχες σελίδες manual για περισσότερες λεπτομέρειες καθώς και για τη σύνταξη που πρέπει να χρησιμοποιήσετε. Μπορούμε τώρα να επιβεβαιώσουμε ότι ο σαρωτής αναγνωρίζεται:
[source,bash]
[source,shell]
....
# scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner
@ -1127,7 +1127,7 @@ device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner
Για παράδειγμα, θα χρησιμοποιήσουμε μια ομάδα με το όνομα `_usb_`. Το πρώτο βήμα είναι η δημιουργία αυτής της ομάδας με τη βοήθεια της εντολής man:pw[8]:
[source,bash]
[source,shell]
....
# pw groupadd usb
....
@ -1160,7 +1160,7 @@ devfs_system_ruleset="system"
Έπειτα από τα παραπάνω βήματα, για να δώσετε πρόσβαση στο USB σαρωτή σε κάποιο χρήστη, αρκεί να προσθέσετε το λογαριασμό του στην ομάδα `_usb_`:
[source,bash]
[source,shell]
....
# pw groupmod usb -m joe
....

View file

@ -143,7 +143,7 @@ When a modification is made to [.filename]#/etc/inetd.conf#, inetd can be forced
[example]
====
[source,bash]
[source,shell]
....
# /etc/rc.d/inetd reload
....
@ -373,14 +373,14 @@ The following is an example of a valid export list, where [.filename]#/usr# and
The mountd daemon must be forced to recheck the [.filename]#/etc/exports# file whenever it has been modified, so the changes can take effect. This can be accomplished either by sending a HUP signal to the running daemon:
[source,bash]
[source,shell]
....
# kill -HUP `cat /var/run/mountd.pid`
....
or by invoking the `mountd` man:rc[8] script with the appropriate parameter:
[source,bash]
[source,shell]
....
# /etc/rc.d/mountd onereload
....
@ -391,7 +391,7 @@ Alternatively, a reboot will make FreeBSD set everything up properly. A reboot i
On the NFS server:
[source,bash]
[source,shell]
....
# rpcbind
# nfsd -u -t -n 4
@ -400,14 +400,14 @@ On the NFS server:
On the NFS client:
[source,bash]
[source,shell]
....
# nfsiod -n 4
....
Now everything should be ready to actually mount a remote file system. In these examples the server's name will be `server` and the client's name will be `client`. If you only want to temporarily mount a remote file system or would rather test the configuration, just execute a command like this as `root` on the client:
[source,bash]
[source,shell]
....
# mount server:/home /mnt
....
@ -435,7 +435,7 @@ rpc_statd_enable="YES"
Start the application by using:
[source,bash]
[source,shell]
....
# /etc/rc.d/nfslocking start
....
@ -464,7 +464,7 @@ An access to a file within [.filename]#/host/foobar/usr# would tell amd to attem
====
You can view the available mounts of a remote host with the `showmount` command. For example, to view the mounts of a host named `foobar`, you can use:
[source,bash]
[source,shell]
....
% showmount -e foobar
Exports list on foobar:
@ -517,7 +517,7 @@ fastws:/sharedfs /project nfs rw,-r=1024 0 0
As a manual mount command on `freebox`:
[source,bash]
[source,shell]
....
# mount -t nfs -o -r=1024 fastws:/sharedfs /project
....
@ -531,7 +531,7 @@ freebox:/sharedfs /project nfs rw,-w=1024 0 0
As a manual mount command on `fastws`:
[source,bash]
[source,shell]
....
# mount -t nfs -o -w=1024 freebox:/sharedfs /project
....
@ -695,7 +695,7 @@ Now, all you have to do is to run the command `/etc/netstart` as superuser. It w
The _NIS maps_ are database files, that are kept in the [.filename]#/var/yp# directory. They are generated from configuration files in the [.filename]#/etc# directory of the NIS master, with one exception: the [.filename]#/etc/master.passwd# file. This is for a good reason, you do not want to propagate passwords to your `root` and other administrative accounts to all the servers in the NIS domain. Therefore, before we initialize the NIS maps, you should:
[source,bash]
[source,shell]
....
# cp /etc/master.passwd /var/yp/master.passwd
# cd /var/yp
@ -711,7 +711,7 @@ Make sure the [.filename]#/var/yp/master.passwd# is neither group nor world read
When you have finished, it is time to initialize the NIS maps! FreeBSD includes a script named `ypinit` to do this for you (see its manual page for more information). Note that this script is available on most UNIX(R) Operating Systems, but not on all. On Digital UNIX/Compaq Tru64 UNIX it is called `ypsetup`. Because we are generating maps for an NIS master, we are going to pass the `-m` option to `ypinit`. To generate the NIS maps, assuming you already performed the steps above, run:
[source,bash]
[source,shell]
....
ellington# ypinit -m test-domain
Server Type: MASTER Domain: test-domain
@ -740,7 +740,7 @@ ellington has been setup as an YP master server without any errors.
`ypinit` should have created [.filename]#/var/yp/Makefile# from [.filename]#/var/yp/Makefile.dist#. When created, this file assumes that you are operating in a single server NIS environment with only FreeBSD machines. Since `test-domain` has a slave server as well, you must edit [.filename]#/var/yp/Makefile#:
[source,bash]
[source,shell]
....
ellington# vi /var/yp/Makefile
....
@ -758,7 +758,7 @@ NOPUSH = "True"
Setting up an NIS slave server is even more simple than setting up the master. Log on to the slave server and edit the file [.filename]#/etc/rc.conf# as you did before. The only difference is that we now must use the `-s` option when running `ypinit`. The `-s` option requires the name of the NIS master be passed to it as well, so our command line looks like:
[source,bash]
[source,shell]
....
coltrane# ypinit -s ellington test-domain
@ -918,7 +918,7 @@ In our lab, there is a machine `basie` that is supposed to be a faculty only wor
There is a way to bar specific users from logging on to a machine, even if they are present in the NIS database. To do this, all you must do is add `-username` to the end of the [.filename]#/etc/master.passwd# file on the client machine, where _username_ is the username of the user you wish to bar from logging in. This should preferably be done using `vipw`, since `vipw` will sanity check your changes to [.filename]#/etc/master.passwd#, as well as automatically rebuild the password database when you finish editing. For example, if we wanted to bar user `bill` from logging on to `basie` we would:
[source,bash]
[source,shell]
....
basie# vipw
[add -bill to the end, exit]
@ -1003,7 +1003,7 @@ Handling this situation with netgroups offers several advantages. Each user need
The first step is the initialization of the NIS map netgroup. FreeBSD's man:ypinit[8] does not create this map by default, but its NIS implementation will support it once it has been created. To create an empty map, simply type
[source,bash]
[source,shell]
....
ellington# vi /var/yp/netgroup
....
@ -1046,7 +1046,7 @@ You can repeat this process if you need more than 225 users within a single netg
Activating and distributing your new NIS map is easy:
[source,bash]
[source,shell]
....
ellington# cd /var/yp
ellington# make
@ -1054,7 +1054,7 @@ ellington# make
This will generate the three NIS maps [.filename]#netgroup#, [.filename]#netgroup.byhost# and [.filename]#netgroup.byuser#. Use man:ypcat[1] to check if your new NIS maps are available:
[source,bash]
[source,shell]
....
ellington% ypcat -k netgroup
ellington% ypcat -k netgroup.byhost
@ -1181,7 +1181,7 @@ There are still a couple of things that you will need to do differently now that
* Every time you wish to add a user to the lab, you must add it to the master NIS server _only_, and _you must remember to rebuild the NIS maps_. If you forget to do this, the new user will not be able to login anywhere except on the NIS master. For example, if we needed to add a new user `jsmith` to the lab, we would:
+
[source,bash]
[source,shell]
....
# pw useradd jsmith
# cd /var/yp
@ -1231,7 +1231,7 @@ Other possible values for the `passwd_format` capability include `blf` and `md5`
If you have made changes to [.filename]#/etc/login.conf#, you will also need to rebuild the login capability database, which is achieved by running the following command as `root`:
[source,bash]
[source,shell]
....
# cap_mkdb /etc/login.conf
....
@ -1404,7 +1404,7 @@ Replace the `dc0` interface name with the interface (or interfaces, separated by
Then, you can proceed to start the server by issuing the following command:
[source,bash]
[source,shell]
....
# /usr/local/etc/rc.d/isc-dhcpd.sh start
....
@ -1528,7 +1528,7 @@ Since BIND is installed by default, configuring it all is relatively simple.
The default named configuration is that of a basic resolving name server, ran in a man:chroot[8] environment. To start the server one time with this configuration, use the following command:
[source,bash]
[source,shell]
....
# /etc/rc.d/named forcestart
....
@ -1550,7 +1550,7 @@ Configuration files for named currently reside in [.filename]#/etc/namedb# direc
To configure a master zone for the localhost visit the [.filename]#/etc/namedb# directory and run the following command:
[source,bash]
[source,shell]
....
# sh make-localhost
....
@ -1951,28 +1951,28 @@ BIND/named manual pages: man:rndc[8] man:named[8] man:named.conf[8]
O Apache δεν τρέχει διαμέσου του υπερ-διακομιστή inetd όπως κάνουν πολλοί άλλοι δικτυακοί εξυπηρετητές. Είναι ρυθμισμένος να τρέχει αυτόνομα για να εξυπηρετεί καλύτερα τις αιτήσεις HTTP των πελατών του, δηλαδή των προγραμμάτων πλοήγησης (browsers). Η εγκατάσταση του Apache από τα FreeBSD Ports περιέχει ένα βοηθητικό shell script για την εκκίνηση, το σταμάτημα και την επανεκκίνηση του εξυπηρετητή. Για να ξεκινήσετε τον Apache για πρώτη φορά, απλά τρέξτε:
[source,bash]
[source,shell]
....
# /usr/local/sbin/apachectl start
....
Μπορείτε οποιαδήποτε στιγμή να σταματήσετε τον εξυπηρετητή, πληκτρολογώντας:
[source,bash]
[source,shell]
....
# /usr/local/sbin/apachectl stop
....
Μετά από αλλαγές που πιθανώς να κάνατε για οποιονδήποτε λόγο στο αρχείο ρυθμίσεων, θα χρειαστεί να επανεκκινήσετε τον εξυπηρετητή:
[source,bash]
[source,shell]
....
# /usr/local/sbin/apachectl restart
....
Για να επανεκκινήσετε τον Apache δίχως να διακόψετε τις τρέχουσες συνδέσεις, τρέξτε:
[source,bash]
[source,shell]
....
# /usr/local/sbin/apachectl graceful
....
@ -2008,7 +2008,7 @@ NameVirtualHost *
Αν ο διακομιστής web ονομάζεται `www.domain.tld` και επιθυμείτε να εγκαταστήσετε ένα virtual domain για το `www.someotherdomain.tld` τότε θα πρέπει να προσθέσετε τις ακόλουθες καταχωρήσεις στο [.filename]#httpd.conf#:
[source,bash]
[source,shell]
....
<VirtualHost *>
ServerName www.domain.tld
@ -2053,7 +2053,7 @@ DocumentRoot /www/someotherdomain.tld
Αν το πακέτο package:lang/php5[] εγκαθίσταται για πρώτη φορά, αυτόματα θα σας εμφανιστούν όλες οι δυνατές επιλογές `OPTIONS`. Αν κάποιο μενού δεν εμφανίζεται, π.χ. επειδή το πακέτο package:lang/php5[] είχε εγκατασταθεί στο παρελθόν, μπορείτε πάντα να ρυθμίσετε από την αρχή το πακέτο, τρέχοντας στον κατάλογο του port:
[source,bash]
[source,shell]
....
# make config
....
@ -2086,7 +2086,7 @@ AddModule mod_php5.c
Αφού ολοκληρώσετε τον έλεγχο, για να φορτωθεί το άρθρωμα PHP χρειάζεται μια απλή κλήση με την εντολή `apachectl` για μια κανονική (graceful) επανεκκίνηση:
[source,bash]
[source,shell]
....
# apachectl graceful
....
@ -2099,7 +2099,7 @@ AddModule mod_php5.c
Μετά την εγκατάσταση ενός νέου αρθρώματος ή κάποιας άλλης επέκτασης, ο εξυπηρετητής Apache θα πρέπει να επαναφορτωθεί για να ενεργοποιηθούν οι νέες ρυθμίσεις:
[source,bash]
[source,shell]
....
# apachectl graceful
....
@ -2132,7 +2132,7 @@ ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
Τώρα μπορείτε να δώσετε τα στοιχεία του λογαριασμού σας για να εισέλθετε στον εξυπηρετητή FTP.
[source,bash]
[source,shell]
....
% ftp localhost
....
@ -2205,7 +2205,7 @@ Samba has several different backend authentication models. You can authenticate
Assuming that the default `smbpasswd` backend is used, the [.filename]#/usr/local/private/smbpasswd# file must be created to allow Samba to authenticate clients. If you would like to give your UNIX(R) user accounts access from Windows(R) clients, use the following command:
[source,bash]
[source,shell]
....
# smbpasswd -a username
....
@ -2228,7 +2228,7 @@ This will also configure Samba to automatically start at system boot time.
It is possible then to start Samba at any time by typing:
[source,bash]
[source,shell]
....
# /usr/local/etc/rc.d/samba start
Starting SAMBA: removing stale tdbs :
@ -2242,7 +2242,7 @@ Samba actually consists of three separate daemons. You should see that both the
You can stop Samba at any time by typing :
[source,bash]
[source,shell]
....
# /usr/local/etc/rc.d/samba.sh stop
....
@ -2321,7 +2321,7 @@ restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
Για να βεβαιωθείτε πως ο εξυπηρετητής NTP θα ξεκινάει κατά την διάρκεια εκκίνησης του συστήματος, προσθέστε τη γραμμή `ntpd_enable="YES"` στο [.filename]#/etc/rc.conf#. Για να ξεκινήσετε τον εξυπηρετητή δίχως να επανεκκινήσετε το μηχάνημα σας, τρέξτε man:ntpd[8] προσδιορίζοντας κάθε επιπρόσθετη παράμετρο από τα `ntpd_flags` στο [.filename]#/etc/rc.conf#. Για παράδειγμα:
[source,bash]
[source,shell]
....
# ntpd -p /var/run/ntpd.pid
....

View file

@ -130,7 +130,7 @@ toc::[]
Αν δεν γνωρίζετε το όνομα της εφαρμογής που θέλετε, δοκιμάστε να χρησιμοποιήσετε ένα site σαν το Freecode(http://www.freecode.com/[http://www.freecode.com/]) για να βρείτε μία εφαρμογή, και μετά μπορείτε να ελέγξετε ξανά το site του FreeBSD για να δείτε αν η εφαρμογή έχει γίνει port.
* Αν ξέρετε το ακριβές όνομα του port, και θέλετε μόνο να βρείτε σε ποια κατηγορία είναι, μπορείτε να χρησιμοποιήσετε την εντολή man:whereis[1]. Απλά γράψτε `whereis αρχείο`, όπου _αρχείο_ είναι το πρόγραμμα που θέλετε να εγκαταστήσετε. Αν αυτό βρίσκεται στο σύστημα σας, η εντολή θα σας πει που είναι, όπως παρακάτω:
+
[source,bash]
[source,shell]
....
# whereis lsof
lsof: /usr/ports/sysutils/lsof
@ -139,7 +139,7 @@ lsof: /usr/ports/sysutils/lsof
Αυτό μας λέει ότι το `lsof` (ένα εργαλείο συστήματος) μπορεί να βρεθεί στον κατάλογο [.filename]#/usr/ports/sysutils/lsof#.
* Επιπρόσθετα, μπορείτε να χρησιμοποιήσετε μια απλή εντολή man:echo[1] για να εντοπίσετε την τοποθεσία κάποιου προγράμματος μέσα στα ports. Για παράδειγμα:
+
[source,bash]
[source,shell]
....
# echo /usr/ports/*/*lsof*
/usr/ports/sysutils/lsof
@ -148,7 +148,7 @@ lsof: /usr/ports/sysutils/lsof
Σημειώστε ότι το παραπάνω θα δείξει επίσης και οποιαδήποτε αρχεία έχουν κατέβει στον κατάλογο [.filename]#/usr/ports/distfiles# εφόσον ταιριάζουν στην αναζήτηση.
* Ακόμη ένας τρόπος να βρείτε ένα συγκεκριμένο port, είναι χρησιμοποιώντας τον εσωτερικό μηχανισμό αναζήτησης της Συλλογής των Ports. Γα να χρησιμοποιήσετε αυτό τον τρόπο αναζήτησης, Θα χρειαστεί να βρίσκεστε στον κατάλογο [.filename]#/usr/ports#. Όταν βρεθείτε σε αυτόν τον κατάλογο, εκτελέστε το `make search name=όνομα--προγράμματος` όπου _όνομα--προγράμματος_ είναι το όνομα του προγράμματος που θέλετε να βρείτε. Για παράδειγμα, αν αναζητάτε το `lsof`:
+
[source,bash]
[source,shell]
....
# cd /usr/ports
# make search name=lsof
@ -183,7 +183,7 @@ R-deps:
[example]
====
[source,bash]
[source,shell]
....
# ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
@ -214,7 +214,7 @@ ftp> exit
Εάν δεν έχετε μία τοπική πηγή πακέτων (όπως είναι ένα FreeBSD CD-ROM set) τότε ίσως είναι ευκολότερο να χρησιμοποιήσετε την επιλογή `-r` για το man:pkg_add[1]. Αυτή θα κάνει το εργαλείο να καθορίσει αυτόματα τη σωστή μορφή και έκδοση και έπειτα να ανακτήσει και να εγκαταστήσει το πακέτο από ένα FTP site.
[source,bash]
[source,shell]
....
# pkg_add -r lsof
....
@ -234,7 +234,7 @@ ftp> exit
Το man:pkg_info[1] είναι ένα εργαλείο που παραθέτει και περιγράφει τα διάφορα πακέτα που είναι εγκαταστημένα.
[source,bash]
[source,shell]
....
# pkg_info
cvsup-16.1 A general network file distribution system optimized for CV
@ -244,7 +244,7 @@ docbook-1.2 Meta-port for the different versions of the DocBook DTD
Το man:pkg_version[1] είναι ένα εργαλείο που συνοψίζει τις εκδόσεις όλων των εγκαταστημένων πακέτων. Συγκρίνει την έκδοση κάθε πακέτου, με την τρέχουσα έκδοση που βρίσκεται στο δέντρο των ports.
[source,bash]
[source,shell]
....
# pkg_version
cvsup =
@ -283,14 +283,14 @@ docbook =
Για να αφαιρέσετε ένα εγκατεστημένο πακέτο λογισμικού, χρησιμοποιήστε το εργαλείο man:pkg_delete[1].
[source,bash]
[source,shell]
....
# pkg_delete xchat-1.7.1
....
Σημειώστε ότι το man:pkg_delete[1] απαιτεί το πλήρες όνομα και αριθμό έκδοσης του πακέτου. Η παραπάνω εντολή δεν θα λειτουργήσει αν δώσετε απλώς _xchat_ αντί για _xchat-1.7.1_. Είναι ωστόσο εύκολο να χρησιμοποιήσετε την man:pkg_version[1] για να βρείτε την έκδοση του εγκατεστημένου πακέτου. Αντί για αυτό, μπορείτε επίσης να χρησιμοποιήσετε ένα μπαλαντέρ:
[source,bash]
[source,shell]
....
# pkg_delete xchat\*
....
@ -327,7 +327,7 @@ docbook =
. Εκτελέστε το `csup`:
+
[source,bash]
[source,shell]
....
# csup -L 2 -h cvsup.FreeBSD.org /usr/shared/examples/cvsup/ports-supfile
....
@ -345,7 +345,7 @@ docbook =
.. Αλλάξτε το _CHANGE_THIS.FreeBSD.org_ με έναν κοντινό σας διακομιστή CVSup.Δείτε το crossref:mirrors[cvsup-mirrors,CVSup Mirrors] (crossref:mirrors[cvsup-mirrors,Τοποθεσίες CVSup]) για την πλήρη λίστα των mirror sites.
.. Εκτελέστε τώρα το `csup`, με τον ακόλουθο τρόπο:
+
[source,bash]
[source,shell]
....
# csup -L 2 /root/ports-supfile
....
@ -363,20 +363,20 @@ docbook =
. "Κατεβάστε" ένα συμπιεσμένο snapshot της Συλλογής των Ports [.filename]#/var/db/portsnap#. Αν θέλετε, μπορείτε να αποσυνδεθείτε από το Διαδίκτυο μετά από αυτό το βήμα.
+
[source,bash]
[source,shell]
....
# portsnap fetch
....
. Αν εκτελείτε το Portsnap για πρώτη φορά, κάντε εξαγωγή του snapshot μέσα στο [.filename]#/usr/ports#:
+
[source,bash]
[source,shell]
....
# portsnap extract
....
+
Εάν ήδη έχετε ένα γεμάτο [.filename]#/usr/ports# και απλώς το ανανεώνετε, εκτελέστε την ακόλουθη εντολή:
+
[source,bash]
[source,shell]
....
# portsnap update
....
@ -390,7 +390,7 @@ docbook =
. Ως `root`, εκτελέστε το `sysinstall` όπως φαίνεται παρακάτω:
+
[source,bash]
[source,shell]
....
# sysinstall
....
@ -438,14 +438,14 @@ docbook =
Αρχικά, μετακινηθείτε στον κατάλογο του port που θέλετε να εγκαταστήσετε:
[source,bash]
[source,shell]
....
# cd /usr/ports/sysutils/lsof
....
Μόλις βρεθείτε στον κατάλογο [.filename]#lsof#, θα δείτε τον port skeleton. Το επόμενο βήμα είναι να μεταγλωττίσετε, ή να "κτίσετε (build)", το port. Αυτό γίνεται απλά πληκτρολογώντας `make` στην γραμμή εντολών. Όταν το κάνετε, θα δείτε κάτι όπως αυτό:
[source,bash]
[source,shell]
....
# make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
@ -470,7 +470,7 @@ docbook =
Προσέξτε ότι μόλις η μεταγλώττιση ολοκληρωθεί θα επιστρέψετε στην γραμμή εντολών. Το επόμενο βήμα είναι να εγκαταστήσετε το port. Για να το εγκαταστήσετε, χρειάζεται απλώς να προσθέσετε μια λέξη στην εντολή `make`, και αυτή η λέξη είναι `install`:
[source,bash]
[source,shell]
....
# make install
===> Installing for lsof-4.57
@ -490,7 +490,7 @@ docbook =
Μια καλή ιδέα, είναι να διαγράψετε τον υποκατάλογο που περιέχει όλα τα προσωρινά αρχεία που χρησιμοποιήθηκαν κατά την μεταγλώττιση. Όχι μόνο καταναλώνουν πολύτιμο χώρο, άλλα μπορεί να προκαλέσουν προβλήματα αργότερα όταν θα θελήσετε να εγκαταστήσετε μια νεότερη έκδοση του port.
[source,bash]
[source,shell]
....
# make clean
===> Cleaning for lsof-4.57
@ -525,7 +525,7 @@ docbook =
Σε μερικές σπάνιες περιπτώσεις, οι χρήστες μπορεί να χρειάζεται να ανακτήσουν τα tarballs από ένα site διαφορετικό από τα `MASTER_SITES` (η τοποθεσία από όπου "κατεβαίνουν" τα αρχεία). Μπορείτε να αλλάξετε την επιλογή `MASTER_SITES` με την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# cd /usr/ports/directory
# make MASTER_SITE_OVERRIDE= \
@ -543,14 +543,14 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Μερικές φορές είναι χρήσιμο (ή επιτακτικό) να χρησιμοποιήσετε ένα διαφορετικό κατάλογο εργασίας και εγκατάστασης. Οι μεταβλητές `WRKDIRPREFIX` και `PREFIX` μπορούν να παρακάμψουν τους προεπιλεγμένους καταλόγους. Για παράδειγμα, η εντολή:
[source,bash]
[source,shell]
....
# make WRKDIRPREFIX=/usr/home/example/ports install
....
θα μεταγλωττίσει το port στο [.filename]#/usr/home/example/ports# και θα εγκαταστήσει τα πάντα στο [.filename]#/usr/local#, ενώ η εντολή:
[source,bash]
[source,shell]
....
# make PREFIX=/usr/home/example/local install
....
@ -559,7 +559,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Και φυσικά η εντολή:
[source,bash]
[source,shell]
....
# make WRKDIRPREFIX=../ports PREFIX=../local install
....
@ -581,7 +581,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Τώρα που γνωρίσατε πως να εγκαθιστάτε ports, πιθανώς θα αναρωτιέστε πως αφαιρούνται, στην περίπτωση που εγκαταστήσατε ένα και αργότερα αποφασίσατε ότι εγκαταστήσατε το λάθος port. Θα αφαιρέσουμε το προηγούμενο παράδειγμα (που ήταν το `lsof` για όσους δεν το πρόσεξαν). Τα ports αφαιρούνται όπως και τα πακέτα (το αναλύσαμε στην ενότητα <<packages-using,Χρησιμοποιώντας το Σύστημα των Πακέτων>>), χρησιμοποιώντας την εντολή man:pkg_delete[1]:
[source,bash]
[source,shell]
....
# pkg_delete lsof-4.57
....
@ -591,7 +591,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Αρχικά, δείτε τα παρωχημένα ports για τα οποία υπάρχουν διαθέσιμες νεότερες εκδόσεις στην Συλλογή των Ports, με την εντολή man:pkg_version[1]:
[source,bash]
[source,shell]
....
# pkg_version -v
....
@ -608,7 +608,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Το εργαλείο portupgrade είναι σχεδιασμένο για να αναβαθμίζει εύκολα εγκατεστημένα ports. Διατίθεται από το package:ports-mgmt/portupgrade[] port. Εγκαταστήστε το όπως κάθε port, χρησιμοποιώντας την εντολή `make install clean`:
[source,bash]
[source,shell]
....
# cd /usr/ports/ports-mgmt/portupgrade
# make install clean
@ -618,21 +618,21 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Όταν εκτελείτε το `portupgrade -a`, το portupgrade θα αρχίσει να αναβαθμίζει όλα τα παρωχημένα ports που είναι εγκατεστημένα στο σύστημα σας. Χρησιμοποιήστε την επιλογή `-i` αν θέλετε να σας ρωτά για επιβεβαίωση για κάθε ξεχωριστή αναβάθμιση.
[source,bash]
[source,shell]
....
# portupgrade -ai
....
Αν θέλετε να αναβαθμίσετε μόνο μία συγκεκριμένη εφαρμογή, και όχι όλα τα διαθέσιμα ports, χρησιμοποιήστε το `portupgrade pkgname`. Συμπεριλάβετε την επιλογή `-R` αν το portupgrade πρέπει πρώτα να αναβαθμίσει όλα τα ports που απαιτούνται για την συγκεκριμένη εφαρμογή.
[source,bash]
[source,shell]
....
# portupgrade -R firefox
....
Για να χρησιμοποιήσετε πακέτα αντί για ports στην εγκατάσταση, δώστε την επιλογή `-P`. Με αυτή την επιλογή το portupgrade αναζητά τους τοπικούς καταλόγους που ορίζονται στο `PKG_PATH`, ή ανακτά τα πακέτα από απομακρυσμένα sites εάν δεν βρεθούν τοπικά. Αν τα πακέτα δεν μπορούν να ανακτηθούν με τους παραπάνω τρόπους, το portupgrade θα χρησιμοποιήσει τα ports. Για να αποφύγετε εντελώς την χρήση των ports, καθορίστε την επιλογή `-PP`.
[source,bash]
[source,shell]
....
# portupgrade -PR gnome2
....
@ -644,7 +644,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Το Portmanager είναι ένα ακόμα εργαλείο για εύκολη αναβάθμιση εγκατεστημένων ports. Διατίθεται από το package:ports-mgmt/portmanager[] port:
[source,bash]
[source,shell]
....
# cd /usr/ports/ports-mgmt/portmanager
# make install clean
@ -652,21 +652,21 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Όλα τα εγκατεστημένα ports μπορούν να αναβαθμιστούν χρησιμοποιώντας αυτή την απλή εντολή:
[source,bash]
[source,shell]
....
# portmanager -u
....
Μπορείτε να προσθέσετε την επιλογή `-ui` στην παραπάνω εντολή (`portmanager -u -ui`) για να ερωτηθείτε να επιβεβαιώσετε κάθε βήμα που θα εκτελέσει το Portmanager. Το Portmanager μπορεί επίσης να χρησιμοποιηθεί για να εγκαταστήσετε νέα ports στο σύστημα. Σε αντίθεση με την εντολή `make install clean`, το Portmanager θα αναβαθμίσει όλες τις εξαρτήσεις πριν την μεταγλώττιση και εγκατάσταση του επιλεγμένου port.
[source,bash]
[source,shell]
....
# portmanager x11/gnome2
....
Αν υπάρχουν προβλήματα που σχετίζονται με τις εξαρτήσεις ενός επιλεγμένου port, μπορείτε να χρησιμοποιήσετε το Portmanager για να τις επανα-μεταγλωττίσει όλες με την σωστή σειρά. Μόλις τελειώσει με τις εξαρτήσεις, θα επανα-μεταγλωττίσει και το προβληματικό port.
[source,bash]
[source,shell]
....
# portmanager graphics/gimp -f
....
@ -678,7 +678,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Το Portmaster είναι ένα ακόμα εργαλείο για την αναβάθμιση των εγκατεστημένων ports. Το Portmaster σχεδιάστηκε ώστε να χρησιμοποιεί τα εργαλεία που παρέχει το "βασικό" σύστημα (δεν εξαρτάται από άλλα ports) και χρησιμοποιεί τις πληροφορίες του [.filename]#/var/db/pkg# για να καθορίσει ποια ports θα αναβαθμίσει. Είναι διαθέσιμο μέσω του port package:ports-mgmt/portmaster[]:
[source,bash]
[source,shell]
....
# cd /usr/ports/ports-mgmt/portmaster
# make install clean
@ -693,7 +693,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Μπορείτε να δείτε μια λίστα όλων των εγκατεστημένων ports και να ψάξετε για ενημερωμένες εκδόσεις, χρησιμοποιώντας την επιλογή `-L`:
[source,bash]
[source,shell]
....
# portmaster -L
===>>> Root ports (No dependencies, not depended on)
@ -720,7 +720,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Μπορείτε να αναβαθμίσετε όλα τα εγκατεστημένα ports με την παρακάτω απλή εντολή:
[source,bash]
[source,shell]
....
# portmaster -a
....
@ -732,14 +732,14 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Αν αντιμετωπίσετε λάθη κατά τη διαδικασία της αναβάθμισης, μπορείτε να χρησιμοποιήσετε την επιλογή `-f` για να αναβαθμίσετε και να μεταγλωττίσετε ξανά όλα τα ports:
[source,bash]
[source,shell]
....
# portmaster -af
....
Μπορείτε επίσης να χρησιμοποιήσετε το Portmaster για να εγκαταστήσετε νέα ports στο σύστημα σας, αναβαθμίζοντας και όλες τις εξαρτήσεις τους πριν τη μεταγλώττιση και εγκατάσταση τους:
[source,bash]
[source,shell]
....
# portmaster shells/bash
....
@ -751,21 +751,21 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Η Συλλογή των Ports καταναλώνει διαθέσιμο χώρο στο δίσκο με την πάροδο του χρόνου. Μετά την μεταγλώττιση και εγκατάσταση λογισμικού από τα ports, πρέπει πάντα να θυμάστε να καθαρίζετε τους προσωρινούς καταλόγους [.filename]#work# χρησιμοποιώντας την εντολή `make clean`. Mπορείτε να καθαρίσετε όλη την Συλλογή των Ports με την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# portsclean -C
....
Με την πάροδο του χρόνου, θα συσσωρευτούν πολλά αρχεία διανομής πηγαίου κώδικα στον κατάλογο [.filename]#distfiles#. Μπορείτε να τα αφαιρέσετε χειροκίνητα, ή μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να διαγράψετε όλα τα distfiles που δεν σχετίζονται πλέον με κανένα port:
[source,bash]
[source,shell]
....
# portsclean -D
....
Ή για να αφαιρέσετε όλα τα distfiles που δεν σχετίζονται με κανένα port που βρίσκεται εγκατεστημένο στο σύστημα σας:
[source,bash]
[source,shell]
....
# portsclean -DD
....
@ -786,7 +786,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
* Χρησιμοποιήστε το man:pkg_info[1] για να δείτε τι αρχεία εγκαταστάθηκαν, και που. Για παράδειγμα, αν μόλις εγκαταστήσατε το FooPackage version 1.0.0, τότε η εντολή:
+
[source,bash]
[source,shell]
....
# pkg_info -L foopackage-1.0.0 | less
....
@ -795,7 +795,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
+
Αν δεν είστε σίγουρος ποια έκδοση της εφαρμογής εγκαταστήσατε, μια εντολή όπως αυτή:
+
[source,bash]
[source,shell]
....
# pkg_info | grep -i foopackage
....
@ -804,7 +804,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
* Μόλις δείτε που βρίσκονται τα manual pages της εφαρμογής, δείτε τα με την man:man[1]. Όμοια, δείτε τα παραδείγματα των αρχείων ρύθμισης, και όποια άλλη πρόσθετη τεκμηρίωση διατίθεται.
* Αν υπάρχει web site για την εφαρμογή, ελέγξτε το για πρόσθετη τεκμηρίωση, συχνές ερωτήσεις (FAQ), και άλλα. Αν δεν είστε σίγουρος για την διεύθυνσή του web site, ίσως το βρείτε στην έξοδο της εντολής:
+
[source,bash]
[source,shell]
....
# pkg_info foopackage-1.0.0
....

View file

@ -196,7 +196,7 @@ set log phase tun
+
Το αλφαριθμητικό εισόδου χρησιμοποιεί σύνταξη παρόμοια με το man:chat[8], όπως συμβαίνει και με το αλφαριθμητικό κλήσης. Στο παράδειγμα μας, το αλφαριθμητικό χρησιμοποιείται για μια υπηρεσία στην οποία η συνεδρία εισόδου μοιάζει με την παρακάτω:
+
[source,bash]
[source,shell]
....
J. Random Provider
login: foo
@ -311,7 +311,7 @@ exec /usr/sbin/ppp -direct $IDENT
Το script αυτό θα πρέπει να γίνει εκτελέσιμο. Δημιουργήστε τώρα ένα συμβολικό δεσμό που να ονομάζεται [.filename]#ppp-dialup# χρησιμοποιώντας τις παρακάτω εντολές:
[source,bash]
[source,shell]
....
# ln -s ppp-shell /etc/ppp/ppp-dialup
....
@ -325,7 +325,7 @@ pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
Δημιουργήστε ένα κατάλογο [.filename]#/home/ppp# προσβάσιμο για ανάγνωση από όλους, ο οποίος θα περιέχει τα παρακάτω κενά αρχεία:
[source,bash]
[source,shell]
....
-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
-r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts
@ -339,7 +339,7 @@ pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
Για παράδειγμα, αν έχετε τρεις πελάτες dialup, τους `fred`, `sam`, και `mary`, στους οποίους εκτελείτε δρομολόγηση /24 CIDR, θα πρέπει να γράψετε τα παρακάτω:
[source,bash]
[source,shell]
....
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
@ -604,7 +604,7 @@ sendmail_flags="-bd"
Το μειονέκτημα του παραπάνω, είναι ότι πρέπει να εξαναγκάσετε το `sendmail` να επανεξετάσει την ουρά των μηνυμάτων, κάθε φορά που αποκαθίσταται η σύνδεση ppp, γράφοντας:
[source,bash]
[source,shell]
....
# /usr/sbin/sendmail -q
....
@ -623,14 +623,14 @@ sendmail_flags="-bd"
Το μόνο που μένει είναι να επανεκκινήσετε το μηχάνημα. Μετά την επανεκκίνηση, μπορείτε είτε να γράψετε:
[source,bash]
[source,shell]
....
# ppp
....
και έπειτα `dial provider` για να ξεκινήσετε τη συνεδρία PPP, ή αν θέλετε το `ppp` να αποκαθιστά τις συνεδρίες αυτόματα κάθε φορά που υπάρχει κίνηση προς το εξωτερικό δίκτυο (και δεν έχετε δημιουργήσει το script [.filename]#start_if.tun0#) μπορείτε να γράψετε:
[source,bash]
[source,shell]
....
# ppp -auto provider
....
@ -713,7 +713,7 @@ defaultroute # put this if you want that PPP server will be your
. Πληκτρολογήστε τα παρακάτω:
+
[source,bash]
[source,shell]
....
# /usr/sbin/pppd /dev/tty01 19200
....
@ -858,7 +858,7 @@ ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDTphone.number
Μόλις τροποποιήσετε και εγκαταστήσετε σωστά τα παραπάνω αρχεία, το μόνο που χρειάζεται να κάνετε είναι να εκτελέσετε την εντολή `pppd`, με τον τρόπο που φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# pppd
....
@ -1105,7 +1105,7 @@ device uart
Αν χρησιμοποιείτε τον πυρήνα `GENERIC`, δεν χρειάζεται να κάνετε κάποια αλλαγή, καθώς η συσκεύη [.filename]#uart# περιλαμβάνεται ήδη σε αυτόν. Απλώς ελέγξτε τα μηνύματα της `dmesg` για την συσκευή modem, χρησιμοποιώντας την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# dmesg | grep uart
....
@ -1116,35 +1116,35 @@ device uart
Η χειροκίνητη σύνδεση στο Internet με χρήση της `ppp`, είναι ένας γρήγορος και εύκολος τρόπος να εντοπίσετε τυχόν προβλήματα σύνδεσης, ή απλώς να πάρετε πληροφορίες σχετικά με το πως ο ISP σας αντιμετωπίζει τις συνδέσεις πελατών `ppp`. Θα ξεκινήσουμε την εφαρμογή PPP από την γραμμή εντολών. Σημειώστε ότι σε όλα μας τα παραδείγματα, θα χρησιμοποιούμε το _example_ ως το όνομα του υπολογιστή που εκτελεί το PPP. Μπορείτε να ξεκινήσετε το `ppp`, γράφοντας απλώς `ppp`:
[source,bash]
[source,shell]
....
# ppp
....
Έχουμε τώρα ξεκινήσει το `ppp`.
[source,bash]
[source,shell]
....
ppp ON example> set device /dev/cuau1
....
Θέτουμε τη συσκευή modem. Στο παράδειγμα μας, είναι η [.filename]#cuau1#.
[source,bash]
[source,shell]
....
ppp ON example> set speed 115200
....
Θέτουμε την ταχύτητα σύνδεσης, σε αυτή την περίπτωση χρησιμοποιούμε 115,200 kbps.
[source,bash]
[source,shell]
....
ppp ON example> enable dns
....
Λέμε στο `ppp` να ρυθμίσει τον resolver και προσθέτουμε τις κατάλληλες γραμμές για το διακομιστή ονομάτων στο [.filename]#/etc/resolv.conf#. Αν το `ppp` δεν μπορεί να καθορίσει το όνομα του διακομιστή, μπορούμε να το καθορίσουμε με χειροκίνητο τρόπο αργότερα.
[source,bash]
[source,shell]
....
ppp ON example> term
....
@ -1157,7 +1157,7 @@ deflink: Entering terminal mode on /dev/cuau1
type '~h' for help
....
[source,bash]
[source,shell]
....
at
OK
@ -1166,56 +1166,56 @@ atdt123456789
Χρησιμοποιούμε το `at` για να αρχικοποιήσουμε το modem, και έπειτα χρησιμοποιούμε το `atdt` και τον αριθμό του ISP για να ξεκινήσουμε τη διαδικασία της κλήσης.
[source,bash]
[source,shell]
....
CONNECT
....
Εδώ έχουμε επιβεβαίωση της σύνδεσης. Αν έχουμε προβλήματα σύνδεσης τα οποία δεν σχετίζονται με το υλικό μας, εδώ είναι το σημείο που πρέπει να προσπαθήσουμε να τα επιλύσουμε.
[source,bash]
[source,shell]
....
ISP Login:myusername
....
Η προτροπή αυτή είναι για να δώσουμε το όνομα χρήστη. Χρησιμοποιήστε το όνομα χρήστη που σας έχει δοθεί από τον ISP σας.
[source,bash]
[source,shell]
....
ISP Pass:mypassword
....
Η προτροπή αυτή είναι για τον κωδικό πρόσβασης. Απαντήστε με τον κωδικό που σας έχει δοθεί από τον ISP σας. Ο κωδικός αυτός δεν θα εμφανιστεί στην οθόνη σας, όπως ακριβώς συμβαίνει και με τον κωδικό σας όταν τον γράφετε στην προτροπή εισόδου του FreeBSD συστήματος σας.
[source,bash]
[source,shell]
....
Shell or PPP:ppp
....
Ανάλογα με τον ISP σας, μπορεί να μην δείτε και καθόλου την παραπάνω προτροπή. Στην παραπάνω περίπτωση μας ρωτάει αν επιθυμούμε να εκτελέσουμε κάποιο κέλυφος (shell) στο μηχάνημα του παροχέα, ή αν θέλουμε να εκκινήσουμε το `ppp`. Στο παράδειγμα μας επιλέξαμε να χρησιμοποιήσουμε `ppp` καθώς θέλουμε να συνδεθούμε στο Internet.
[source,bash]
[source,shell]
....
Ppp ON example>
....
Παρατηρήστε ότι στο παράδειγμα το πρώτο `p` είναι κεφαλαίο. Αυτό δείχνει ότι έχουμε συνδεθεί επιτυχώς με τον ISP.
[source,bash]
[source,shell]
....
PPp ON example>
....
Έχουμε πιστοποιηθεί με επιτυχία από τον ISP μας, και περιμένουμε να μας αποδοθεί διεύθυνση IP.
[source,bash]
[source,shell]
....
PPP ON example>
....
Έχει πλέον καθοριστεί διεύθυνση IP, και έχουμε ολοκληρώσει τη σύνδεση με επιτυχία.
[source,bash]
[source,shell]
....
PPP ON example>add default HISADDR
....
@ -1234,14 +1234,14 @@ PPP ON example>add default HISADDR
Αν δεν πάρετε ποτέ προτροπή εισόδου, το πιθανότερο είναι να πρέπει να χρησιμοποιήσετε πιστοποίηση PAP ή CHAP αντί για την τύπου UNIX(R) πιστοποίηση που περιγράψαμε στο παραπάνω παράδειγμα. Για να χρησιμοποιήσετε PAP ή CHAP απλώς προσθέστε τις παρακάτω επιλογές στην εφαρμογή PPP πριν βρεθείτε σε κατάσταση τερματικού:
[source,bash]
[source,shell]
....
ppp ON example> set authname myusername
....
Θα πρέπει να αντικαταστήσετε το _myusername_ με το όνομα χρήστη που σας έχει δοθεί από τον ISP σας.
[source,bash]
[source,shell]
....
ppp ON example> set authkey mypassword
....
@ -1301,7 +1301,7 @@ name_of_service_provider:
Ως χρήστης `root`, μπορείτε να εκτελέσετε:
[source,bash]
[source,shell]
....
# ppp -ddial name_of_service_provider
....
@ -1355,7 +1355,7 @@ net.graph.nonstandard_pppoe=1
ή μπορεί να γίνει άμεσα με την εντολή:
[source,bash]
[source,shell]
....
# sysctl net.graph.nonstandard_pppoe=1
....
@ -1462,14 +1462,14 @@ adsl:
Είναι δυνατόν να αρχικοποιήσετε τη σύνδεση εύκολα, δίνοντας την παρακάτω εντολή ως `root`:
[source,bash]
[source,shell]
....
# mpd -b adsl
....
Μπορείτε να δείτε την κατάσταση της σύνδεσης με την παρακάτω εντολή:
[source,bash]
[source,shell]
....
% ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
@ -1505,7 +1505,7 @@ adsl:
Καθώς θα πρέπει να γράψετε τον κωδικό σας μορφή απλού κειμένου στο αρχείο [.filename]#ppp.conf#, θα πρέπει να βεβαιωθείτε ότι κανένας άλλος δεν θα μπορεί να διαβάσει τα περιεχόμενα αυτού του αρχείου. Με τις παρακάτω εντολές, μπορείτε να εξασφαλίσετε ότι το αρχείο θα μπορεί να διαβαστεί μόνο μέσα από το λογαριασμό του `root`. Δείτε τις σελίδες manual των man:chmod[1] και man:chown[8] για περισσότερες πληροφορίες.
[source,bash]
[source,shell]
....
# chown root:wheel /etc/ppp/ppp.conf
# chmod 600 /etc/ppp/ppp.conf
@ -1515,7 +1515,7 @@ adsl:
Αυτό θα ανοίξει ένα τούνελ για μια συνεδρία PPP με τον DSL δρομολογητή σας. Τα DSL modem τύπου ethernet έχουν μια προκαθορισμένη διεύθυνση IP στο τοπικό σας δίκτυο, στην οποία μπορείτε να συνδεθείτε. Στην περίπτωση του Alcatel SpeedTouch(TM) Home, η διεύθυνση αυτή είναι `10.0.0.138`. Η τεκμηρίωση που διαθέτει ο δρομολογητής σας, θα αναφέρει ποια διεύθυνση χρησιμοποιεί η συσκευή σας. Για να ανοίξετε το τούνελ και να ξεκινήσετε μια συνεδρία PPP, εκτελέστε την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# pptp address adsl
....
@ -1528,7 +1528,7 @@ adsl:
Θα δημιουργηθεί μια συσκευή [.filename]#tun# (εικονικό τούνελ) για την αλληλεπίδραση μεταξύ των διεργασιών pptp και ppp. Μόλις επιστρέψει η προτροπή στο τερματικό σας, ή το pptp επιβεβαιώσει τη σύνδεση, μπορείτε να εξετάσετε το τούνελ με τον τρόπο που φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
% ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
@ -1652,7 +1652,7 @@ output ***\x0d, echo \x0aCONNECTED\x0a
. Αφήστε το Kermit εκεί (μπορείτε να το στείλετε στο παρασκήνιο χρησιμοποιώντας τα πλήκτρα kbd:[Ctrl+z]) και ως `root`, γράψτε:
+
[source,bash]
[source,shell]
....
# slattach -h -c -s 115200 /dev/modem
....
@ -1664,7 +1664,7 @@ output ***\x0d, echo \x0aCONNECTED\x0a
Κάντε τα ακόλουθα:
[source,bash]
[source,shell]
....
# kill -INT `cat /var/run/slattach.modem.pid`
....
@ -1683,7 +1683,7 @@ output ***\x0d, echo \x0aCONNECTED\x0a
* Χρήση του `s10` αντί για `sl0` (η διαφορά μπορεί να είναι πολύ μικρή σε μερικές γραμματοσειρές).
* Δοκιμάστε την εντολή `ifconfig sl0` για να δείτε την κατάσταση της διεπαφής. Για παράδειγμα, μπορεί να δείτε το παρακάτω:
+
[source,bash]
[source,shell]
....
# ifconfig sl0
sl0: flags=10<POINTOPOINT>
@ -1692,7 +1692,7 @@ sl0: flags=10<POINTOPOINT>
* Αν η εντολή man:ping[8] δίνει μηνύματα `no route to host`, ίσως υπάρχει πρόβλημα με τον πίνακα δρομολόγησης σας. Μπορείτε να χρησιμοποιήσετε την εντολή `netstat -r` για να δείτε την τρέχουσα δρομολόγηση:
+
[source,bash]
[source,shell]
....
# netstat -r
Routing tables
@ -1768,7 +1768,7 @@ device sl
Για να εφαρμόσετε αυτές τις ρυθμίσεις άμεσα, μπορείτε να εκτελέσετε την παρακάτω εντολή ως `root`:
[source,bash]
[source,shell]
....
# /etc/rc.d/routing start
....
@ -1856,7 +1856,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
Όταν χρησιμοποιείτε το παραπάνω παράδειγμα, βεβαιωθείτε ότι έχετε αντικαταστήσει την διεύθυνση MAC του Ethernet (`00:11:22:33:44:55`) με την αντίστοιχη της δικής σας κάρτας Ethernet, διαφορετικά το "proxy ARP" σίγουρα δεν θα λειτουργήσει! Μπορείτε να ανακαλύψετε τη διεύθυνση MAC του δικού σας εξυπηρετητή SLIP κοιτάζοντας τα αποτελέσματα της εντολής `netstat -i`. Η δεύτερη γραμμή της εξόδου θα μοιάζει με την παρακάτω:
[source,bash]
[source,shell]
....
ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116
....

View file

@ -231,21 +231,21 @@ kbd:[Ctrl+X], kbd:[Ctrl+S]
Τα παραδείγματα που ξεκινούν με [.filename]#C:\># υποδηλώνουν μια εντολή MS-DOS(R). Αυτές οι εντολές μπορούν να εκτελούνται από το παράθυρο "Γραμμής Εντολών" σε σύγχρονο περιβάλλον Microsoft(R) Windows(R), εκτός αν αναφέρεται κάτι διαφορετικό.
[source,bash]
[source,shell]
....
E:\> tools\fdimage floppies\kern.flp A:
....
Τα παραδείγματα που ξεκινούν με # υποδηλώνουν μια εντολή που θα πρέπει να εκτελεστεί από τον υπερχρήστη (superuser) ενός συστήματος FreeBSD. Μπορείτε να συνδεθείτε σαν χρήστης `root` για να πληκτρολογήσετε την εντολή, ή να συνδεθείτε σαν κανονικός χρήστης και να χρησιμοποιήσετε την εντολή man:su[1] ώστε να αποκτήσετε προνόμια υπερχρήστη.
[source,bash]
[source,shell]
....
# dd if=kern.flp of=/dev/fd0
....
Τα παραδείγματα που ξεκινούν με % υποδηλώνουν μια εντολή που πρέπει να εκτελεστεί από ένα κανονικό χρήστη. Χρησιμοποιείται η σύνταξη C-shell για να θέσουμε μεταβλητές περιβάλλοντος και άλλες εντολές κελύφους, εκτός αν αναφέρεται κάτι διαφορετικό.
[source,bash]
[source,shell]
....
% top
....

View file

@ -186,14 +186,14 @@ toc::[]
Για να ελέγξετε αν ο πυρήνας σας μπορεί να υποστηρίξει μια σειριακή διασύνδεση, πληκτρολογήστε:
[source,bash]
[source,shell]
....
# grep sioN /var/run/dmesg.boot
....
Όπου _N_ είναι ο αριθμός της σειριακής θύρας, ξεκινώντας από το μηδέν. Αν δείτε στην έξοδο του τερματικού σας κάτι παρόμοιο με:
[source,bash]
[source,shell]
....
sio2 at port 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
@ -203,14 +203,14 @@ sio2: type 16550A
Για να ελέγξετε αν ο πυρήνας σας υποστηρίζει παράλληλες διασυνδέσεις, πληκτρολογήστε:
[source,bash]
[source,shell]
....
# grep ppcN /var/run/dmesg.boot
....
Όπου _N_ είναι ο αριθμός της παράλληλης θύρας, ξεκινώντας από το μηδέν. Αν δείτε στην έξοδο του τερματικού σας κάτι παρόμοιο με:
[source,bash]
[source,shell]
....
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
@ -251,7 +251,7 @@ hint.ppc.0.irq="N"
στο αρχείο [.filename]#/boot/device.hints# και αντικαταστήστε το _N_ με τον σωστό αριθμό IRQ. Το αρχείο ρύθμισης του πυρήνα πρέπει επίσης να περιέχει τον οδηγό man:ppc[4]:
+
[source,bash]
[source,shell]
....
device ppc
....
@ -274,7 +274,7 @@ _Για να θέσετε την κατάσταση επικοινωνίας μ
. Πληκτρολογήστε:
+
[source,bash]
[source,shell]
....
# lptcontrol -i -d /dev/lptN
....
@ -284,7 +284,7 @@ _Για να θέσετε την κατάσταση επικοινωνίας μ
. Πληκτρολογήστε:
+
[source,bash]
[source,shell]
....
# lptcontrol -p -d /dev/lptN
....
@ -333,7 +333,7 @@ _Για να ελέγξετε έναν εκτυπωτή σε παράλληλη
** Αν ο εκτυπωτής μπορεί να εκτυπώσει απλό κείμενο, τότε χρησιμοποιήστε το man:lptest[1]. Πληκτρολογήστε:
+
[source,bash]
[source,shell]
....
# lptest > /dev/lptN
....
@ -343,7 +343,7 @@ _Για να ελέγξετε έναν εκτυπωτή σε παράλληλη
** Εάν ο εκτυπωτής καταλαβαίνει PostScript(R) ή κάποια άλλη γλώσσα εκτυπωτών, τότε στείλτε ένα μικρό πρόγραμμα στον εκτυπωτή. Πληκτρολογήστε:
+
[source,bash]
[source,shell]
....
# cat > /dev/lptN
....
@ -354,7 +354,7 @@ _Για να ελέγξετε έναν εκτυπωτή σε παράλληλη
Εναλλακτικά, μπορείτε να τοποθετήσετε το πρόγραμμα σε ένα αρχείο και να πληκτρολογήσετε:
+
[source,bash]
[source,shell]
....
# cat file > /dev/lptN
....
@ -393,7 +393,7 @@ printer:dv=/dev/ttyu2:br#19200:pa=none
. Συνδεθείτε στον εκτυπωτή με man:tip[1]. Πληκτρολογήστε:
+
[source,bash]
[source,shell]
....
# tip printer
....
@ -405,7 +405,7 @@ printer:dv=/dev/ttyu2:br#19200:pa=none
** Αν ο εκτυπωτής μπορεί να εκτυπώσει απλό κείμενο, χρησιμοποιήστε man:lptest[1]. Γράψτε:
+
[source,bash]
[source,shell]
....
% $lptest
....
@ -415,7 +415,7 @@ printer:dv=/dev/ttyu2:br#19200:pa=none
Εναλλακτικά, μπορείτε να τοποθετήσετε το πρόγραμμα σε ένα αρχείο και να πληκτρολογήσετε:
+
[source,bash]
[source,shell]
....
% >file
....
@ -506,14 +506,14 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
Είναι επίσης συνηθισμένο να ονομάζεται ο κατάλογος με το ίδιο όνομα με τον εκτυπωτή, όπως φαίνεται παρακάτω:
[source,bash]
[source,shell]
....
# mkdir /var/spool/printer-name
....
Ωστόσο, αν έχετε αρκετούς εκτυπωτές στο δίκτυο, ίσως επιθυμείτε να τοποθετήσετε τους καταλόγους παροχέτευσης κάτω από ένα μοναδικό κατάλογο που θα χρησιμοποιείται αποκλειστικά για εκτυπώσεις με το LPD. Θα κάνουμε ακριβώς αυτό για τα παραδείγματα μας με τους εκτυπωτές `rattan` και `bamboo`:
[source,bash]
[source,shell]
....
# mkdir /var/spool/lpd
# mkdir /var/spool/lpd/rattan
@ -524,7 +524,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
====
Εάν οι εργασίες των χρηστών περιέχουν προσωπικά δεδομένα, μπορεί να θέλετε να προστατέψετε τον κατάλογο παροχέτευσης με κάποιο τρόπο, ώστε να μην είναι δημόσια προσβάσιμος. Οι κατάλογοι παροχέτευσης θα πρέπει να ανήκουν και να είναι αναγνώσιμοι, εγγράψιμοι και με δυνατότητα αναζήτησης από τον χρήστη daemon και από την ομάδα daemon, από κανέναν άλλο. Για τους εκτυπωτές του παραδείγματος:
[source,bash]
[source,shell]
....
# chown daemon:daemon /var/spool/lpd/rattan
# chown daemon:daemon /var/spool/lpd/bamboo
@ -630,7 +630,7 @@ exit 2
Κάντε το αρχείο εκτελέσιμο:
[source,bash]
[source,shell]
....
# chmod 555 /usr/local/libexec/if-simple
....
@ -669,7 +669,7 @@ lpd_enable="YES"
στο αρχείο [.filename]#/etc/rc.conf#, και επανεκκινήστε το σύστημα σας, ή απλά εκτελέστε το man:lpd[8].
[source,bash]
[source,shell]
....
# lpd
....
@ -685,7 +685,7 @@ _Για τον έλεγχο μιας απλής εγκατάστασης LPD:_
Πληκτρολογήστε:
[source,bash]
[source,shell]
....
# lptest 20 5 | lpr -Pprinter-name
....
@ -694,7 +694,7 @@ _Για τον έλεγχο μιας απλής εγκατάστασης LPD:_
Σε έναν εκτυπωτή PostScript(R), η εκτύπωση θα είναι το αποτέλεσμα του προγράμματος που στείλατε. Αν χρησιμοποιείτε το man:lptest[1], τότε το αποτέλεσμα θα μοιάζει με το ακόλουθο:
[source,bash]
[source,shell]
....
!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
@ -918,7 +918,7 @@ exit 2
Τα φίλτρα μετατροπής κάνουν την εκτύπωση διαφόρων τύπων αρχείων εύκολη υπόθεση. Για παράδειγμα, ας υποθέσουμε ότι έχουμε να κάνουμε αρκετή εργασία με το σύστημα στοιχειοθεσίας TeX, και ότι έχουμε εκτυπωτή PostScript(R). Κάθε φορά που δημιουργούμε ένα αρχείο DVI με το TeX, δεν μπορούμε να εκτυπώσουμε κατευθείαν έως ότου να μετατρέψουμε το αρχείο DVI σε PostScript(R). Η ακολουθία εντολών που πρέπει να ακολουθήσουμε είναι:
[source,bash]
[source,shell]
....
% dvips seaweed-analysis.dvi
% lpr seaweed-analysis.ps
@ -926,7 +926,7 @@ exit 2
Με την χρήση ενός φίλτρου μετατροπής για αρχεία DVI, μπορούμε να αποφύγουμε την μετατροπή που πρέπει να κάνουμε κάθε φορά χειροκίνητα, καλώντας το LPD να κάνει τη δουλειά για μας. Τώρα, κάθε φορά που έχουμε ένα αρχείο DVI, για να το τυπώσουμε χρειάζεται μόνο ένα βήμα:
[source,bash]
[source,shell]
....
% lpr -d seaweed-analysis.dvi
....
@ -1290,7 +1290,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
Μετά την ενεργοποίηση των σελίδων κεφαλίδας, το LPD θα παράγει μία _επιμήκη κεφαλίδα_, μία ολόκληρη σελίδα με μεγάλα γράμματα που προσδιορίζει τον χρήστη, τον υπολογιστή (host), και την εργασία. Εδώ είναι ένα παράδειγμα (η `kelly` εκτύπωσε την εργασία με όνομα "outline" από τον υπολογιστή `rose`):
[source,bash]
[source,shell]
....
k ll ll
k l l
@ -1330,7 +1330,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
Αν προτιμάτε, το LPD μπορεί να φτιάξει μια _μικρότερου μήκους κεφαλίδα_. Προσδιορίστε `sb` (short banner) στο αρχείο [.filename]#/etc/printcap#. Η σελίδα κεφαλίδας θα μοιάζει σαν αυτή:
[source,bash]
[source,shell]
....
rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995
....
@ -1561,7 +1561,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
Το μόνο που απομένει είναι να δημιουργήσουμε τους καταλόγους spooling στον κόμβο `orchid`:
[source,bash]
[source,shell]
....
# mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo
# chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo
@ -1570,7 +1570,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
Τώρα, οι χρήστες του `orchid` μπορούν να εκτυπώνουν στον `rattan` και στον `bamboo`. Αν, για παράδειγμα, ένας χρήστης του `orchid` πληκτρολογήσει:
[source,bash]
[source,shell]
....
% lpr -P bamboo -d sushi-review.dvi
....
@ -1636,7 +1636,7 @@ exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100
Αν πιστεύετε πως τα πολλαπλά αντίγραφα δημιουργούν άσκοπη καταπόνηση των εκτυπωτών σας, μπορείτε να απενεργοποιήσετε την επιλογή `-#` στο man:lpr[1] προσθέτοντας την ικανότητα `sc` στο αρχείο [.filename]##/etc/printcap##. Όταν οι χρήστες αποστέλλουν εργασίες με την επιλογή `-#`, θα βλέπουν:
[source,bash]
[source,shell]
....
lpr: multiple copies are not allowed
....
@ -1684,7 +1684,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
Χρησιμοποιώντας την ικανότητα `sc`, προλαμβάνουμε την χρήση των εντολών `lpr -#`, αλλά δεν έχουμε ακόμη την δυνατότητα να παρεμποδίσουμε τους χρήστες να τρέξουν την εντολή man:lpr[1] πολλές φορές, ή να αποστείλουν το ίδιο αρχείο πολλές φορές σε μία μοναδική εργασία, όπως εδώ:
[source,bash]
[source,shell]
....
% lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign
....
@ -1809,7 +1809,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
+
Ο κατάλογος spool καθορίζεται στην ικανότητα `sd`. Θα θέσουμε τρία megabytes (ισοδυναμεί με 6144 disk blocks) ως το μέγεθος του ελεύθερου χώρου που πρέπει να υπάρχει στο σύστημα αρχείων, ώστε το LPD να δέχεται απομακρυσμένες εργασίες:
+
[source,bash]
[source,shell]
....
# echo 6144 > /var/spool/lpd/bamboo/minfree
....
@ -1856,7 +1856,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
Όταν είστε έτοιμοι να χρεώσετε τους χρήστες για τις εκτυπώσεις, εκτελέστε το πρόγραμμα man:pac[8]. Απλά μεταβείτε στον κατάλογο spool για τον εκτυπωτή που κάνετε καταμέτρηση και πληκτρολογήστε `pac`. Θα εμφανιστεί ένας απολογισμός με χρεώσεις σε δολάρια, όπως βλέπετε στη συνέχεια:
[source,bash]
[source,shell]
....
Login pages/feet runs price
orchid:kelly 5.00 1 $ 0.10
@ -1895,7 +1895,7 @@ __name...__::
Στον προεπιλεγμένο απολογισμό που παράγει το man:pac[8], βλέπετε των αριθμό των τυπωμένων σελίδων ανά χρήστη από τους διάφορους υπολογιστές. Αν, στο χώρο σας, ο υπολογιστής δεν έχει σημασία (γιατί οι χρήστες μπορούν να χρησιμοποιήσουν οποιονδήποτε θέλουν), εκτελέστε την εντολή `pac -m`, για να δημιουργήσετε τον ακόλουθο απολογισμό:
[source,bash]
[source,shell]
....
Login pages/feet runs price
andy 2.00 1 $ 0.04
@ -1909,7 +1909,7 @@ total 337.00 154 $ 6.74
Για τον ορισμό ποσοστού χρέωσης σε δολάρια, το man:pac[8] χρησιμοποιεί την ικανότητα `pc` στο αρχείο [.filename]#/etc/printcap# (προεπιλεγμένη τιμή 200, ή 2 σεντς ανά σελίδα). Προσδιορίστε σε αυτήν την ικανότητα, σε εκατοστά του σεντ, την τιμή ανά σελίδα ή ανά πόδι που θέλετε να χρεώνετε για τις εκτυπώσεις. Μπορείτε να προσπεράσετε αυτή την τιμή όταν τρέχετε το man:pac[8] με την επιλογή `-p`. H μονάδα μέτρησης για την επιλογή `-p` είναι σε δολάρια, όχι σε εκατοστά του σεντ. Για παράδειγμα,
[source,bash]
[source,shell]
....
# pac -p1.50
....
@ -1962,28 +1962,28 @@ man:lprm[1]::
Για να εκτυπώσετε αρχεία, πληκτρολογήστε:
[source,bash]
[source,shell]
....
% lpr filename ...
....
Θα εκτυπωθούν όλα τα αναφερόμενα αρχεία στον προεπιλεγμένο εκτυπωτή. Αν δεν αναφέρετε αρχεία, το man:lpr[1] διαβάζει δεδομένα από το standard input. Για παράδειγμα, αυτή η εντολή θα εκτυπώσει μερικά σημαντικά αρχεία του συστήματος:
[source,bash]
[source,shell]
....
% lpr /etc/host.conf /etc/hosts.equiv
....
Για να επιλέξετε ένα συγκεκριμένο εκτυπωτή, πληκτρολογήστε:
[source,bash]
[source,shell]
....
% lpr -P printer-name filename ...
....
Στο παράδειγμα μας θα εκτυπωθεί μια μεγάλη λίστα αρχείων του τρέχοντος καταλόγου στον εκτυπωτή που ονομάζεται `rattan`:
[source,bash]
[source,shell]
....
% ls -l | lpr -P rattan
....
@ -1999,14 +1999,14 @@ man:lprm[1]::
Για να εμφανίσετε την ουρά αναμονής για τον προεπιλεγμένο εκτυπωτή, πληκτρολογήστε man:lpq[1]. Για κάποιον συγκεκριμένο εκτυπωτή, χρησιμοποιήστε την επιλογή `-P`. Για παράδειγμα, η εντολή:
[source,bash]
[source,shell]
....
% lpq -P bamboo
....
εμφανίζει την ουρά αναμονής για τον εκτυπωτή με το όνομα `bamboo`. Ακολουθεί ένα παράδειγμα εξόδου της εντολής `lpq`:
[source,bash]
[source,shell]
....
bamboo is ready and printing
Rank Owner Job Files Total Size
@ -2023,7 +2023,7 @@ active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
Η εντολή man:lpq[1] επίσης υποστηρίζει την επιλογή `-l` για να δημιουργήσει μια μεγάλη, λεπτομερή λίστα. Ακολουθεί ένα παράδειγμα του `lpq -l`:
[source,bash]
[source,shell]
....
waiting for bamboo to become ready (offline ?)
kelly: 1st [job 009rose]
@ -2044,14 +2044,14 @@ mary: 3rd [job 011rose]
Για να αφαιρέσετε μια εργασία από τον προεπιλεγμένο εκτυπωτή, χρησιμοποιήστε πρώτα την man:lpq[1] για να βρείτε τον αριθμό της. Έπειτα πληκτρολογήστε:
[source,bash]
[source,shell]
....
% lprm job-number
....
Για να αφαιρέσετε μια εργασία από κάποιον συγκεκριμένο εκτυπωτή, προσθέστε την επιλογή `-P`. Η ακόλουθη εντολή αφαιρεί την εργασία με αριθμό 10 από την ουρά αναμονής για τον εκτυπωτή `bamboo`:
[source,bash]
[source,shell]
....
% lprm -P bamboo 10
....
@ -2069,7 +2069,7 @@ lprm::
Για να δουλέψετε σε κάποιον συγκεκριμένο εκτυπωτή αντί του προεπιλεγμένου, απλά χρησιμοποιήστε την επιλογή `-P` με τις παραπάνω συντομεύσεις. Για παράδειγμα, η ακόλουθη εντολή αφαιρεί όλες τις εργασίες του τρέχοντος χρήστη από την ουρά αναμονής του εκτυπωτή `rattan`:
[source,bash]
[source,shell]
....
% lprm -P rattan -
....
@ -2078,7 +2078,7 @@ lprm::
====
Αν εργάζεστε σε περιβάλλον δικτύου, η man:lprm[1] θα σας επιτρέψει να αφαιρέσετε εργασίες μόνο από τον υπολογιστή που τις έχετε στείλει, ανεξάρτητα αν ο εκτυπωτής είναι προσβάσιμος και από άλλους υπολογιστές. Η ακόλουθη εντολή επιδεικνύει ακριβώς αυτό το χαρακτηριστικό:
[source,bash]
[source,shell]
....
% lpr -P rattan myfile
% rlogin orchid
@ -2109,7 +2109,7 @@ cfA013rose dequeued
Για παράδειγμα, η ακόλουθη εντολή τυπώνει ένα αρχείο DVI (από το σύστημα στοιχειοθεσίας TeX) με όνομα [.filename]#fish-report.dvi# στον εκτυπωτή με όνομα `bamboo`:
[source,bash]
[source,shell]
....
% lpr -P bamboo -d fish-report.dvi
....
@ -2162,7 +2162,7 @@ cfA013rose dequeued
Εδώ είναι ένα παράδειγμα: αυτή η εντολή εκτυπώνει μια κομψά μορφοποιημένη έκδοση της σελίδας βοηθείας man:ls[1] στον προεπιλεγμένο εκτυπωτή:
[source,bash]
[source,shell]
....
% zcat /usr/shared/man/man1/ls.1.gz | troff -t -man | lpr -t
....
@ -2180,7 +2180,7 @@ cfA013rose dequeued
Σε αυτό το παράδειγμα, εκτυπώνουμε στον προεπιλεγμένο εκτυπωτή τρία αντίγραφα του [.filename]#parser.c# και τρία αντίγραφα του [.filename]#parser.h#:
+
[source,bash]
[source,shell]
....
% lpr -#3 parser.c parser.h
....
@ -2327,7 +2327,7 @@ exit 2
Η εκτύπωση παρουσιάζει "φαινόμενο σκάλας (staircase effect)."::
Στην εκτύπωση σας φαίνεται το ακόλουθο:
+
[source,bash]
[source,shell]
....
!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345

View file

@ -267,7 +267,7 @@ There are four different sorts of operations we will cover. The first is using `
To initialize OPIE for the first time, execute the `opiepasswd` command:
[source,bash]
[source,shell]
....
% opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c
@ -288,7 +288,7 @@ At the `Enter new secret pass phrase:` or `Enter secret password:` prompts, you
To initialize or change your secret password over an insecure connection, you will need to already have a secure connection to some place where you can run `opiekey`; this might be in the form of a shell prompt on a machine you trust. You will also need to make up an iteration count (100 is probably a good value), and you may make up your own seed or use a randomly-generated one. Over on the insecure connection (to the machine you are initializing), use `opiepasswd`:
[source,bash]
[source,shell]
....
% opiepasswd
@ -307,7 +307,7 @@ LINE PAP MILK NELL BUOY TROY
To accept the default seed press kbd:[Return]. Then before entering an access password, move over to your secure connection and give it the same parameters:
[source,bash]
[source,shell]
....
% opiekey 498 to4268
Using the MD5 algorithm to compute response.
@ -323,7 +323,7 @@ Now switch back over to the insecure connection, and copy the one-time password
Once you have initialized OPIE and login, you will be presented with a prompt like this:
[source,bash]
[source,shell]
....
% telnet example.com
Trying 10.0.0.1...
@ -343,7 +343,7 @@ At this point you need to generate your one-time password to answer this login p
On the trusted system:
[source,bash]
[source,shell]
....
% opiekey 498 to4268
Using the MD5 algorithm to compute response.
@ -358,7 +358,7 @@ Now that you have your one-time password you can continue logging in.
Sometimes you have to go places where you do not have access to a trusted machine or secure connection. In this case, it is possible to use the `opiekey` command to generate a number of one-time passwords beforehand to be printed out and taken with you. For example:
[source,bash]
[source,shell]
....
% opiekey -n 5 30 zz99999
Using the MD5 algorithm to compute response.
@ -505,7 +505,7 @@ Alternatively, the MIT implementation of Kerberos is available from the Ports Co
This is done on the Kerberos server only. First make sure that you do not have any old Kerberos databases around. You should change to the directory [.filename]#/etc/kerberosIV# and check that only the following files are present:
[source,bash]
[source,shell]
....
d /etc/kerberosIV
# ls
@ -516,7 +516,7 @@ If any additional files (such as [.filename]#principal.*# or [.filename]#master_
You should now edit the [.filename]#krb.conf# and [.filename]#krb.realms# files to define your Kerberos realm. In this case the realm will be `EXAMPLE.COM` and the server is `grunt.example.com`. We edit or create the [.filename]#krb.conf# file:
[source,bash]
[source,shell]
....
# cat krb.conf
EXAMPLE.COM
@ -537,7 +537,7 @@ The first line names the realm in which this system works. The other lines conta
Now we have to add `grunt.example.com` to the `EXAMPLE.COM` realm and also add an entry to put all hosts in the `.example.com` domain in the `EXAMPLE.COM` realm. The [.filename]#krb.realms# file would be updated as follows:
[source,bash]
[source,shell]
....
# cat krb.realms
grunt.example.com EXAMPLE.COM
@ -553,7 +553,7 @@ The first line puts the _specific_ system into the named realm. The rest of the
Now we are ready to create the database. This only needs to run on the Kerberos server (or Key Distribution Center). Issue the `kdb_init` command to do this:
[source,bash]
[source,shell]
....
# kdb_init
Realm name [default ATHENA.MIT.EDU ]: EXAMPLE.COM
@ -565,7 +565,7 @@ Enter Kerberos master key:
Now we have to save the key so that servers on the local machine can pick it up. Use the `kstash` command to do this:
[source,bash]
[source,shell]
....
# kstash
@ -586,7 +586,7 @@ These daemons, kpasswd and rcmd allow other systems to change Kerberos passwords
Now let us add these entries:
[source,bash]
[source,shell]
....
# kdb_edit
Opening database...
@ -642,7 +642,7 @@ Principal name: <---- null entry here will cause an exit
We now have to extract all the instances which define the services on each machine. For this we use the `ext_srvtab` command. This will create a file which must be copied or moved _by secure means_ to each Kerberos client's [.filename]#/etc# directory. This file must be present on each server and client, and is crucial to the operation of Kerberos.
[source,bash]
[source,shell]
....
# ext_srvtab grunt
Enter Kerberos master key:
@ -655,14 +655,14 @@ Generating 'grunt-new-srvtab'....
Now, this command only generates a temporary file which must be renamed to [.filename]#srvtab# so that all the servers can pick it up. Use the man:mv[1] command to move it into place on the original system:
[source,bash]
[source,shell]
....
# mv grunt-new-srvtab srvtab
....
If the file is for a client system, and the network is not deemed safe, then copy the [.filename]#client-new-srvtab# to removable media and transport it by secure physical means. Be sure to rename it to [.filename]#srvtab# in the client's [.filename]#/etc# directory, and make sure it is mode 600:
[source,bash]
[source,shell]
....
# mv grumble-new-srvtab srvtab
# chmod 600 srvtab
@ -672,7 +672,7 @@ If the file is for a client system, and the network is not deemed safe, then cop
We now have to add some user entries into the database. First let us create an entry for the user `jane`. Use the `kdb_edit` command to do this:
[source,bash]
[source,shell]
....
# kdb_edit
Opening database...
@ -707,7 +707,7 @@ Principal name: <---- null entry here will cause an exit
First we have to start the Kerberos daemons. Note that if you have correctly edited your [.filename]#/etc/rc.conf# then this will happen automatically when you reboot. This is only necessary on the Kerberos server. Kerberos clients will automatically get what they need from the [.filename]#/etc/kerberosIV# directory.
[source,bash]
[source,shell]
....
# kerberos &
Kerberos server starting
@ -731,7 +731,7 @@ Master key entered. BEWARE!
Now we can try using the `kinit` command to get a ticket for the ID `jane` that we created above:
[source,bash]
[source,shell]
....
% kinit jane
MIT Project Athena (grunt.example.com)
@ -741,7 +741,7 @@ Password:
Try listing the tokens using `klist` to see if we really have them:
[source,bash]
[source,shell]
....
% klist
Ticket file: /tmp/tkt245
@ -753,7 +753,7 @@ Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COM
Now try changing the password using man:passwd[1] to check if the kpasswd daemon can get authorization to the Kerberos database:
[source,bash]
[source,shell]
....
% passwd
realm EXAMPLE.COM
@ -768,7 +768,7 @@ Password changed.
Kerberos allows us to give _each_ user who needs `root` privileges their own _separate_ man:su[1] password. We could now add an ID which is authorized to man:su[1] to `root`. This is controlled by having an instance of `root` associated with a principal. Using `kdb_edit` we can create the entry `jane.root` in the Kerberos database:
[source,bash]
[source,shell]
....
# kdb_edit
Opening database...
@ -802,7 +802,7 @@ Principal name: <---- null entry here will cause an exit
Now try getting tokens for it to make sure it works:
[source,bash]
[source,shell]
....
# kinit jane.root
MIT Project Athena (grunt.example.com)
@ -812,7 +812,7 @@ Password:
Now we need to add the user to ``root``'s [.filename]#.klogin# file:
[source,bash]
[source,shell]
....
# cat /root/.klogin
jane.root@EXAMPLE.COM
@ -820,7 +820,7 @@ jane.root@EXAMPLE.COM
Now try doing the man:su[1]:
[source,bash]
[source,shell]
....
% su
Password:
@ -828,7 +828,7 @@ Password:
and take a look at what tokens we have:
[source,bash]
[source,shell]
....
# klist
Ticket file: /tmp/tkt_root_245
@ -842,7 +842,7 @@ May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COM
In an earlier example, we created a principal called `jane` with an instance `root`. This was based on a user with the same name as the principal, and this is a Kerberos default; that a `<principal>.<instance>` of the form `<username>. root` will allow that `<username>` to man:su[1] to `root` if the necessary entries are in the [.filename]#.klogin# file in ``root``'s home directory:
[source,bash]
[source,shell]
....
# cat /root/.klogin
jane.root@EXAMPLE.COM
@ -850,7 +850,7 @@ jane.root@EXAMPLE.COM
Likewise, if a user has in their own home directory lines of the form:
[source,bash]
[source,shell]
....
% cat ~/.klogin
jane@EXAMPLE.COM
@ -861,7 +861,7 @@ This allows anyone in the `EXAMPLE.COM` realm who has authenticated themselves a
For example, `jane` now logs into another system using Kerberos:
[source,bash]
[source,shell]
....
% kinit
MIT Project Athena (grunt.example.com)
@ -876,7 +876,7 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
Or `jack` logs into ``jane``'s account on the same machine (`jane` having set up the [.filename]#.klogin# file as above, and the person in charge of Kerberos having set up principal _jack_ with a null instance):
[source,bash]
[source,shell]
....
% kinit
% rlogin grunt -l jane
@ -988,7 +988,7 @@ Lastly, while still in `kadmin`, create your first principal using the `add` com
A sample database creation session is shown below:
[source,bash]
[source,shell]
....
# kstash
Master key: xxxxxxxx
@ -1007,7 +1007,7 @@ Verifying password - Password: xxxxxxxx
Now it is time to start up the KDC services. Run `/etc/rc.d/kerberos start` and `/etc/rc.d/kadmind start` to bring up the services. Note that you will not have any kerberized daemons running at this point but you should be able to confirm the that the KDC is functioning by obtaining and listing a ticket for the principal (user) that you just created from the command-line of the KDC itself:
[source,bash]
[source,shell]
....
% kinit tillman
tillman@EXAMPLE.ORG's Password:
@ -1022,7 +1022,7 @@ Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORG
The ticket can then be revoked when you have finished:
[source,bash]
[source,shell]
....
% k5destroy
....
@ -1039,7 +1039,7 @@ Note that you must have already obtained a ticket and that this ticket must be a
After installing the [.filename]#/etc/krb5.conf# file, you can use `kadmin` from the Kerberos server. The `add --random-key` command will let you add the server's host principal, and the `ext` command will allow you to extract the server's host principal to its own keytab. For example:
[source,bash]
[source,shell]
....
# kadmin
kadmin> add --random-key host/myserver.example.org
@ -1054,7 +1054,7 @@ Note that the `ext` command (short for "extract") stores the extracted key in [.
If you do not have `kadmind` running on the KDC (possibly for security reasons) and thus do not have access to `kadmin` remotely, you can add the host principal (`host/myserver.EXAMPLE.ORG`) directly on the KDC and then extract it to a temporary file (to avoid over-writing the [.filename]#/etc/krb5.keytab# on the KDC) using something like this:
[source,bash]
[source,shell]
....
# kadmin
kadmin> ext --keytab=/tmp/example.keytab host/myserver.example.org
@ -1092,7 +1092,7 @@ Occasionally, however, you want to grant access to a local user account to someo
The [.filename]#.k5login# and [.filename]#.k5users# files, placed in a users home directory, can be used similar to a powerful combination of [.filename]#.hosts# and [.filename]#.rhosts#, solving this problem. For example, if a [.filename]#.k5login# with the following contents:
[source,bash]
[source,shell]
....
tillman@example.org
jdoe@example.org
@ -1201,7 +1201,7 @@ One of the most common uses of OpenSSL is to provide certificates for use with s
To generate a certificate, the following command is available:
[source,bash]
[source,shell]
....
# openssl req -new -nodes -out req.pem -keyout cert.pem
Generating a 1024 bit RSA private key
@ -1236,21 +1236,21 @@ Two files should now exist in the directory in which the aforementioned command
In cases where a signature from a CA is not required, a self signed certificate can be created. First, generate the RSA key:
[source,bash]
[source,shell]
....
# openssl dsaparam -rand -genkey -out myRSA.key 1024
....
Next, generate the CA key:
[source,bash]
[source,shell]
....
# openssl gendsa -des3 -out myca.key myRSA.key
....
Use this key to create the certificate:
[source,bash]
[source,shell]
....
# openssl req -new -x509 -days 365 -key myca.key -out new.crt
....
@ -1284,7 +1284,7 @@ If all went well there will be no error messages in the [.filename]#/var/log/mai
For a simple test, simply connect to the mail server using the man:telnet[1] utility:
[source,bash]
[source,shell]
....
# telnet example.com 25
Trying 192.0.34.166...
@ -1325,7 +1325,7 @@ _IPsec_ is a protocol which sits on top of the Internet Protocol (IP) layer. It
====
FreeBSD contains a "hardware accelerated" IPsec stack, known as "Fast IPsec", that was obtained from OpenBSD. It employs cryptographic hardware (whenever possible) via the man:crypto[4] subsystem to optimize the performance of IPsec. This subsystem is new, and does not support all the features that are available in the KAME version of IPsec. However, in order to enable hardware-accelerated IPsec, the following kernel option has to be added to your kernel configuration file:
[source,bash]
[source,shell]
....
options FAST_IPSEC # new IPsec (cannot define w/ IPSEC)
....
@ -1337,7 +1337,7 @@ Note, that it is not currently possible to use the "Fast IPsec" subsystem in lie
====
To let firewalls properly track state for man:gif[4] tunnels too, you have to enable the `IPSEC_FILTERGIF` in your kernel configuration:
[source,bash]
[source,shell]
....
options IPSEC_FILTERGIF #filter ipsec packets from a tunnel
....
@ -1355,7 +1355,7 @@ IPsec can either be used to directly encrypt the traffic between two hosts (know
To add IPsec support to your kernel, add the following options to your kernel configuration file:
[source,bash]
[source,shell]
....
options IPSEC #IP security
options IPSEC_ESP #IP security (crypto; define w/ IPSEC)
@ -1364,7 +1364,7 @@ options IPSEC_ESP #IP security (crypto; define w/ IPSEC)
If IPsec debugging support is desired, the following kernel option should also be added:
[source,bash]
[source,shell]
....
options IPSEC_DEBUG #debug for IP security
....
@ -1436,7 +1436,7 @@ Configuring the tunnel is a two step process. First the tunnel must be told what
On the gateway machine on network #1 you would run the following commands to configure the tunnel.
[source,bash]
[source,shell]
....
# ifconfig gif0 create
# ifconfig gif0 tunnel A.B.C.D W.X.Y.Z
@ -1445,7 +1445,7 @@ On the gateway machine on network #1 you would run the following commands to con
On the other gateway machine you run the same commands, but with the order of the IP addresses reversed.
[source,bash]
[source,shell]
....
# ifconfig gif0 create
# ifconfig gif0 tunnel W.X.Y.Z A.B.C.D
@ -1461,7 +1461,7 @@ ifconfig gif0
to see the configuration. For example, on the network #1 gateway, you would see this:
[source,bash]
[source,shell]
....
# ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
@ -1473,7 +1473,7 @@ As you can see, a tunnel has been created between the physical addresses `A.B.C.
This will also have added an entry to the routing table on both machines, which you can examine with the command `netstat -rn`. This output is from the gateway host on network #1.
[source,bash]
[source,shell]
....
# netstat -rn
Routing tables
@ -1689,7 +1689,7 @@ spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/req
Put these commands in a file (e.g. [.filename]#/etc/ipsec.conf#) and then run
[source,bash]
[source,shell]
....
# setkey -f /etc/ipsec.conf
....
@ -1829,7 +1829,7 @@ Normally, when using man:telnet[1] or man:rlogin[1], data is sent over the netwo
The sshd is an option presented during a `Standard` install of FreeBSD. To see if sshd is enabled, check the [.filename]#rc.conf# file for:
[source,bash]
[source,shell]
....
sshd_enable="YES"
....
@ -1845,7 +1845,7 @@ This will load man:sshd[8], the daemon program for OpenSSH, the next time your s
The man:ssh[1] utility works similarly to man:rlogin[1].
[source,bash]
[source,shell]
....
# ssh user@example.com
Host key not found from the list of known hosts.
@ -1862,7 +1862,7 @@ By default, recent versions of the OpenSSH servers only accept SSH v2 connection
The man:scp[1] command works similarly to man:rcp[1]; it copies a file to or from a remote machine, except in a secure fashion.
[source,bash]
[source,shell]
....
# scp user@example.com:/COPYRIGHT COPYRIGHT
user@example.com's password: *******
@ -1888,7 +1888,7 @@ Additionally, the `sshd_program` ([.filename]#/usr/sbin/sshd# by default), and `
Instead of using passwords, man:ssh-keygen[1] can be used to generate DSA or RSA keys to authenticate a user:
[source,bash]
[source,shell]
....
% ssh-keygen -t dsa
Generating public/private dsa key pair.
@ -1923,7 +1923,7 @@ The man:ssh-agent[1] utility will handle the authentication using the private ke
To use man:ssh-agent[1] in a shell, first it will need to be spawned with a shell as an argument. Secondly, the identity needs to be added by running man:ssh-add[1] and providing it the passphrase for the private key. Once these steps have been completed the user will be able to man:ssh[1] to any host that has the corresponding public key installed. For example:
[source,bash]
[source,shell]
....
% ssh-agent csh
% ssh-add
@ -1948,7 +1948,7 @@ OpenSSH has the ability to create a tunnel to encapsulate another protocol in an
The following command tells man:ssh[1] to create a tunnel for telnet:
[source,bash]
[source,shell]
....
% ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com
%
@ -1981,7 +1981,7 @@ This can be used to wrap any number of insecure TCP protocols such as SMTP, POP3
[example]
====
[source,bash]
[source,shell]
....
% ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com
user@mailserver.example.com's password: *****
@ -2000,7 +2000,7 @@ This can be used in conjunction with an man:ssh-keygen[1] and additional user ac
At work, there is an SSH server that accepts connections from the outside. On the same office network resides a mail server running a POP3 server. The network, or network path between your home and office may or may not be completely trustable. Because of this, you need to check your e-mail in a secure manner. The solution is to create an SSH connection to your office's SSH server, and tunnel through to the mail server.
[source,bash]
[source,shell]
....
% ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com
user@ssh-server.example.com's password: ******
@ -2016,7 +2016,7 @@ You may wish to access another (perhaps non-work related) service, such as an Og
The solution is to create an SSH connection to a machine outside of your network's firewall, and use it to tunnel to the Ogg Vorbis server.
[source,bash]
[source,shell]
....
% ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org
user@unfirewalled-system.example.org's password: *******
@ -2054,7 +2054,7 @@ It is important that you list each user that needs to log in to this machine; ot
After making changes to [.filename]#/etc/ssh/sshd_config# you must tell man:sshd[8] to reload its config files, by running:
[source,bash]
[source,shell]
....
# /etc/rc.d/sshd reload
....
@ -2115,7 +2115,7 @@ Here we see that the [.filename]#directory1#, [.filename]#directory2#, and [.fil
The file system ACLs can be viewed by the man:getfacl[1] utility. For instance, to view the ACL settings on the [.filename]#test# file, one would use the command:
[source,bash]
[source,shell]
....
% getfacl test
#file:test
@ -2128,14 +2128,14 @@ The file system ACLs can be viewed by the man:getfacl[1] utility. For instance,
To change the ACL settings on this file, invoke the man:setfacl[1] utility. Observe:
[source,bash]
[source,shell]
....
% setfacl -k test
....
The `-k` flag will remove all of the currently defined ACLs from a file or file system. The more preferable method would be to use `-b` as it leaves the basic fields required for ACLs to work.
[source,bash]
[source,shell]
....
% setfacl -m u:trhodes:rwx,group:web:r--,o::--- test
....
@ -2153,7 +2153,7 @@ The package:ports-mgmt/portaudit[] port polls a database, updated and maintained
To begin using Portaudit, one must install it from the Ports Collection:
[source,bash]
[source,shell]
....
# cd /usr/ports/ports-mgmt/portaudit make install clean
....
@ -2162,7 +2162,7 @@ During the install process, the configuration files for man:periodic[8] will be
After installation, an administrator can update the database and view known vulnerabilities in installed packages by invoking the following command:
[source,bash]
[source,shell]
....
# portaudit -Fda
....
@ -2174,7 +2174,7 @@ The database will automatically be updated during the man:periodic[8] run; thus,
To audit the third party utilities installed as part of the Ports Collection at anytime, an administrator need only run the following command:
[source,bash]
[source,shell]
....
# portaudit -a
....
@ -2290,7 +2290,7 @@ This indeed has its own positive and negative points. One of the positives is th
Before making use of process accounting, it must be enabled. To do this, execute the following commands:
[source,bash]
[source,shell]
....
# touch /var/account/acct
@ -2303,7 +2303,7 @@ Once enabled, accounting will begin to track CPU stats, commands, etc. All accou
To view information about commands being issued, one would use the man:lastcomm[1] utility. The `lastcomm` may be used to print out commands issued by users on specific man:ttys[5], for example:
[source,bash]
[source,shell]
....
# lastcomm ls
trhodes ttyp1

View file

@ -347,7 +347,7 @@ RS-232::
Για να δείτε μόνο τα μηνύματα που περιέχουν τη λέξη `sio`, χρησιμοποιήστε την εντολή:
[source,bash]
[source,shell]
....
# /sbin/dmesg | grep 'sio'
....
@ -356,7 +356,7 @@ RS-232::
Για παράδειγμα, σε ένα σύστημα με τέσσερις σειριακές θύρες, τα μηνύματα του πυρήνα που σχετίζονται με αυτές φαίνονται παρακάτω:
[source,bash]
[source,shell]
....
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
@ -386,14 +386,14 @@ sio3: type 16550A
Η συσκευή [.filename]#ttyuN# (ή [.filename]#cuauN#) είναι η κανονική συσκευή που μπορείτε να χρησιμοποιήσετε στις εφαρμογές σας. Όταν μια διαδικασία ανοίγει μια συσκευή, χρησιμοποιούνται κάποιες προεπιλεγμένες ρυθμίσεις I/O για το τερματικό. Μπορείτε να δείτε αυτές τις ρυθμίσεις με την εντολή:
[source,bash]
[source,shell]
....
# stty -a -f /dev/ttyu1
....
Αν αλλάξετε τις ρυθμίσεις σε αυτή τη συσκευή, αυτές θα παραμείνουν μέχρι το κλείσιμο της συσκευής. Όταν ανοιχθεί ξανά, θα έχει επανέλθει στις προεπιλεγμένες ρυθμίσεις. Για να αλλάξετε τις προεπιλεγμένες ρυθμίσεις, μπορείτε να ανοίξετε και να αλλάξετε τις ρυθμίσεις της συσκευής "αρχικής κατάστασης". Για παράδειγμα, για να ενεργοποιήσετε τη λειτουργία `CLOCAL`, να ορίσετε επικοινωνία 8bit και έλεγχο ροής μέσω `XON/XOFF` για τη συσκευή [.filename]#ttyu5#, γράψτε:
[source,bash]
[source,shell]
....
# stty -f /dev/ttyu5.init clocal cs8 ixon ixoff
....
@ -402,7 +402,7 @@ sio3: type 16550A
Για να αποτρέψετε την αλλαγή συγκεκριμένων ρυθμίσεων από κάποια εφαρμογή, αλλάξτε τις ρυθμίσεις της συσκευής "κλειδώματος". Για παράδειγμα, για να κλειδώσετε την ταχύτητα της συσκευής [.filename]#ttyu5# στα 57600 bps, γράψτε:
[source,bash]
[source,shell]
....
# stty -f /dev/ttyu5.lock 57600
....
@ -459,7 +459,7 @@ sio3: type 16550A
Για να συνδεθείτε από ένα άλλο μηχάνημα που εκτελεί FreeBSD στη σειριακή σύνδεση ενός άλλου συστήματος, μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# cu -l serial-port-device
....
@ -539,7 +539,7 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
Έχοντας κάνει τις απαραίτητες αλλαγές στο αρχείο [.filename]#/etc/ttys#, θα πρέπει να στείλετε σήμα SIGHUP (hangup) στην διεργασία `init` για να την αναγκάσετε να διαβάσει ξανά το αρχείο ρυθμίσεων της. Για παράδειγμα:
[source,bash]
[source,shell]
....
# kill -HUP 1
....
@ -566,14 +566,14 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
Βεβαιωθείτε ότι εκτελείται η διαδικασία `getty` που εξυπηρετεί το τερματικό. Για να δείτε μια λίστα με τις ενεργές διαδικασίες `getty`, χρησιμοποιήστε την εντολή `ps`:
[source,bash]
[source,shell]
....
# ps -axww|grep getty
....
Θα πρέπει να δείτε μια καταχώριση για το τερματικό σας. Για παράδειγμα, η ακόλουθη οθόνη δείχνει ότι η διεργασία `getty` εκτελείτε στη δεύτερη σειριακή θύρα [.filename]#ttyu1# και χρησιμοποιεί την καταχώριση `std.38400` στο αρχείο [.filename]#/etc/gettytab#:
[source,bash]
[source,shell]
....
22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyu1
....
@ -655,7 +655,7 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
Όπως και με τα τερματικά, η `init` εκτελεί μια διεργασία `getty` για κάθε σειριακή θύρα που έχει ρυθμιστεί για εισερχόμενες επιλογικές συνδέσεις. Για παράδειγμα, αν έχετε συνδέσει ένα modem στη θύρα [.filename]#/etc/ttyu0#, η εντολή `ps ax` θα δείξει κάτι σαν το παρακάτω:
[source,bash]
[source,shell]
....
4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyu0
....
@ -760,7 +760,7 @@ ttyu0 "/usr/libexec/getty xxx" dialup on
Αφού κάνετε τις αλλαγές στο [.filename]#/etc/ttys#, μπορείτε να στείλετε στη διεργασία `init` ένα σήμα HUP για να ξαναδιαβάσει το αρχείο. Μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή για αυτό το σκοπό:
[source,bash]
[source,shell]
....
# kill -HUP 1
....
@ -873,7 +873,7 @@ AT&B2&W
Αν δεν ενεργοποιείται η ένδειξη DTR, εισέλθετε στο σύστημα μέσω της κονσόλας, και δώστε την εντολή `ps ax` για να δείτε αν το FreeBSD προσπαθεί να εκτελέσει διεργασία `getty` στη σωστή θύρα. Ανάμεσα στις διεργασίες, θα δείτε γραμμές όπως τις παρακάτω:
[source,bash]
[source,shell]
....
114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu0
115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu1
@ -881,7 +881,7 @@ AT&B2&W
Αν δείτε κάτι διαφορετικό, όπως το παρακάτω:
[source,bash]
[source,shell]
....
114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyu0
....
@ -942,7 +942,7 @@ cuau0:dv=/dev/cuau0:br#19200:pa=none
Ή χρησιμοποιήστε την `cu` ως `root`, δίνοντας την ακόλουθη εντολή:
[source,bash]
[source,shell]
....
# cu -lline -sspeed
....
@ -974,7 +974,7 @@ tip57600|Dial any phone number at 57600 bps:\
Έπειτα μπορείτε να δίνετε εντολές όπως:
[source,bash]
[source,shell]
....
# tip -115200 5551234
....
@ -989,7 +989,7 @@ cu115200|Use cu to dial any number at 115200bps:\
και πληκτρολογήστε:
[source,bash]
[source,shell]
....
# cu 5551234 -s 115200
....
@ -1118,7 +1118,7 @@ raisechar=^^
. Συνδέστε το σειριακό καλώδιο στην [.filename]#COM1# και στο τερματικό.
. Για να δείτε όλα τα μηνύματα εκκίνησης στην σειριακή κονσόλα, δώστε την παρακάτω εντολή ως υπερχρήστης:
+
[source,bash]
[source,shell]
....
# echo 'console="comconsole"' >> /boot/loader.conf
....
@ -1209,7 +1209,7 @@ device sio0 flags 0x10
+
Όταν ξεκινήσετε το FreeBSD μηχάνημα, τα boot blocks θα δείξουν τα περιεχόμενα του [.filename]#/boot.config# στην κονσόλα. Για παράδειγμα:
+
[source,bash]
[source,shell]
....
/boot.config: -P
Keyboard: no
@ -1246,7 +1246,7 @@ Keyboard: no
+
Πιέστε οποιοδήποτε πλήκτρο εκτός από το kbd:[Enter] στην κονσόλα για να διακόψετε τη διαδικασία εκκίνησης. Τα boot blocks θα σας ρωτήσουν για περισσότερες πληροφορίες. Θα πρέπει να δείτε κάτι όπως το παρακάτω:
+
[source,bash]
[source,shell]
....
>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader
@ -1411,7 +1411,7 @@ device sio1 flags 0x30
Δεν θα πρέπει να θέσετε flags κονσόλας για τις άλλες σειριακές θύρες.
. Μεταγλωττίστε και εγκαταστήστε ξανά τα boot blocks και τον φορτωτή εκκίνησης:
+
[source,bash]
[source,shell]
....
# cd /sys/boot
# make clean

View file

@ -167,7 +167,7 @@ Group ID (GID)::
[example]
====
[source,bash]
[source,shell]
....
# adduser
Username: jru
@ -236,7 +236,7 @@ Goodbye!
[example]
====
[source,bash]
[source,shell]
....
# rmuser jru
Matching password entry:
@ -272,7 +272,7 @@ Removing files belonging to jru from /var/tmp/vi.recover: done.
[example]
====
[source,bash]
[source,shell]
....
#Changing user database information for jru.
Login: jru
@ -299,7 +299,7 @@ Other information:
[example]
====
[source,bash]
[source,shell]
....
#Changing user database information for jru.
Shell: /usr/local/bin/zsh
@ -331,7 +331,7 @@ Other information:
[example]
====
[source,bash]
[source,shell]
....
% passwd
Changing local password for jru.
@ -348,7 +348,7 @@ passwd: done
[example]
====
[source,bash]
[source,shell]
....
# passwd jru
Changing local password for jru.
@ -385,7 +385,7 @@ passwd: done
====
Το σύστημα συνήθως δεν διαβάζει απευθείας το αρχείο ρυθμίσεων στο [.filename]#/etc/login.conf#, αλλά το αρχείο βάσης δεδομένων [.filename]#/etc/login.conf.db# το οποίο παρέχει γρηγορότερες αναζητήσεις. Για να δημιουργήσουμε το [.filename]#/etc/login.conf.db# από το [.filename]#/etc/login.conf#, εκτελούμε την παρακάτω εντολή:
[source,bash]
[source,shell]
....
# cap_mkdb /etc/login.conf
....
@ -450,7 +450,7 @@ passwd: done
[example]
====
[source,bash]
[source,shell]
....
# pw groupadd teamtwo
# pw groupshow teamtwo
@ -465,7 +465,7 @@ teamtwo:*:1100:
[example]
====
[source,bash]
[source,shell]
....
# pw groupmod teamtwo -M jru
# pw groupshow teamtwo
@ -480,7 +480,7 @@ teamtwo:*:1100:jru
[example]
====
[source,bash]
[source,shell]
....
# pw groupmod teamtwo -m db
# pw groupshow teamtwo
@ -495,7 +495,7 @@ teamtwo:*:1100:jru,db
[example]
====
[source,bash]
[source,shell]
....
% id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)

View file

@ -319,7 +319,7 @@ kern.hz=100
Αρχικά, εγκαταστήστε το πακέτο package:emulators/virtualbox-ose-additions[] στο φιλοξενούμενο FreeBSD λειτουργικό.
[source,bash]
[source,shell]
....
# cd /usr/ports/emulators/virtualbox-ose-additions && make install clean
....
@ -416,7 +416,7 @@ EndSection
Το VirtualBox(TM) είναι διαθέσιμο ως FreeBSD port στο package:emulators/virtualbox-ose[]. Καθώς το VirtualBox(TM) βρίσκεται υπό συνεχή και πολύ ενεργή ανάπτυξη, βεβαιωθείτε ότι έχετε ανανεώσει το δέντρο των ports πριν ξεκινήσετε την εγκατάσταση του. Χρησιμοποιήστε τις παρακάτω εντολές για να το εγκαταστήσετε:
[source,bash]
[source,shell]
....
# cd /usr/ports/emulators/virtualbox-ose
# make install clean
@ -426,7 +426,7 @@ EndSection
Πριν χρησιμοποιήσετε το VirtualBox(TM) για πρώτη φορά, θα πρέπει να αλλάξετε κάποιες ρυθμίσεις. Το port εγκαθιστά ένα άρθρωμα πυρήνα στον κατάλογο [.filename]#/boot/modules# το οποίο θα πρέπει να φορτώσετε στον πυρήνα που εκτελείται:
[source,bash]
[source,shell]
....
# kldload vboxdrv
....
@ -447,7 +447,7 @@ vboxnet_enable="YES"
Κατά τη διάρκεια της εγκατάστασης του VirtualBox(TM), δημιουργείται αυτόματα η ομάδα χρηστών `vboxusers`. Όλοι οι χρήστες που χρειάζονται πρόσβαση στο VirtualBox(TM), θα πρέπει να ανήκουν σε αυτή την ομάδα. Μπορείτε να χρησιμοποιήσετε την εντολή `pw` για να προσθέσετε νέα μέλη στην ομάδα:
[source,bash]
[source,shell]
....
# pw groupmod vboxusers -m yourusername
....
@ -456,7 +456,7 @@ vboxnet_enable="YES"
Για να δοκιμάσετε τις νέες ρυθμίσεις προσωρινά:
[source,bash]
[source,shell]
....
# chown root:vboxusers /dev/vboxnetctl
# chmod 0660 /dev/vboxnetctl
@ -472,7 +472,7 @@ perm vboxnetctl 0660
Για να εκτελέσετε το VirtualBox(TM), μπορείτε απλώς να επιλέξετε την καταχώριση [.guimenuitem]#Sun VirtualBox# από το μενού του γραφικού σας περιβάλλοντος, ή να πληκτρολογήσετε το παρακάτω σε ένα τερματικό:
[source,bash]
[source,shell]
....
% VirtualBox
....
@ -489,7 +489,7 @@ perm vboxnetctl 0660
Για να μπορείτε να διαβάσετε και να γράψετε σε συσκευές USB, θα πρέπει ο λογαριασμός σας να ανήκει στην ομάδα operators:
[source,bash]
[source,shell]
....
# pw groupmod operator -m jerry
....
@ -511,7 +511,7 @@ devfs_system_ruleset="system"
Έπειτα επανεκκινήστε το devfs:
[source,bash]
[source,shell]
....
# /etc/rc.d/devfs restart
....
@ -535,7 +535,7 @@ atapicam_load="YES"
hald_enable="YES"
....
[source,bash]
[source,shell]
....
# /usr/local/etc/rc.d/hald start
....

View file

@ -145,7 +145,7 @@ click-to-focus::
Για να μεταγλωττίσετε και να εγκαταστήσετε το Xorg από την Συλλογή των Ports:
[source,bash]
[source,shell]
....
# cd /usr/ports/x11/xorg
# make install clean
@ -160,7 +160,7 @@ click-to-focus::
Έτσι, για να γίνει η λήψη και η εγκατάσταση του Xorg, απλώς εκτελέστε:
[source,bash]
[source,shell]
....
# pkg_add -r xorg
....
@ -205,7 +205,7 @@ dbus_enable="YES"
Το Xorg μπορεί συχνά να λειτουργήσει χωρίς καμιά επιπλέον ρύθμιση, γράφοντας απλώς στη γραμμή εντολών:
[source,bash]
[source,shell]
....
% startx
....
@ -219,7 +219,7 @@ dbus_enable="YES"
Το πρώτο βήμα είναι η δημιουργία ενός αρχικού αρχείου ρυθμίσεων. Ως root, απλώς εκτελέστε:
[source,bash]
[source,shell]
....
# Xorg -configure
....
@ -228,7 +228,7 @@ dbus_enable="YES"
Το επόμενο βήμα είναι ο έλεγχος των υπάρχοντων ρυθμίσεων για να επιβεβαιώσετε ότι το Xorg λειτουργεί με το υποσύστημα γραφικών του συστήματος σας. Πληκτρολογήστε:
[source,bash]
[source,shell]
....
# Xorg -config xorg.conf.new -retro
....
@ -239,7 +239,7 @@ dbus_enable="YES"
====
Μπορείτε επίσης να χρησιμοποιήσετε τον συνδυασμό πλήκτρων kbd:[Ctrl+Alt+Backspace] για τον τερματισμό του προγράμματος. Για να τον ενεργοποιήσετε, δώστε την παρακάτω εντολή σε κάποιο τερματικό του X:
[source,bash]
[source,shell]
....
% setxkbmap -option terminate:ctrl_alt_bksp
....
@ -303,7 +303,7 @@ Option "AutoAddDevices" "false"
Μπορείτε επίσης να κάνετε την ίδια ρύθμιση μέσα από ένα τερματικό στα Χ ή ακόμα και από ένα script, εκτελώντας την παρακάτω εντολή:
[source,bash]
[source,shell]
....
% setxkbmap -model pc102 -layout fr
....
@ -362,7 +362,7 @@ EndSection
Αν όλα είναι καλά, το αρχείο ρυθμίσεων πρέπει να τοποθετηθεί σε μια κοινή τοποθεσία ώστε να εντοπίζεται από το man:Xorg[1]. Αυτή συνήθως είναι η [.filename]#/etc/X11/xorg.conf# ή [.filename]#/usr/local/etc/X11/xorg.conf#.
[source,bash]
[source,shell]
....
# cp xorg.conf.new /etc/X11/xorg.conf
....
@ -451,7 +451,7 @@ EndSection
Για να εγκαταστήσετε τις παραπάνω συλλογές γραμματοσειρών Type1 από την Συλλογή των Ports, εκτελέστε τις παρακάτω εντολές:
[source,bash]
[source,shell]
....
# cd /usr/ports/x11-fonts/urwfonts
# make install clean
@ -466,7 +466,7 @@ FontPath "/usr/local/lib/X11/fonts/URW/"
Εναλλακτικά, εκτελέστε στην γραμμή εντολών μιας συνόδου X:
[source,bash]
[source,shell]
....
% xset fp+ /usr/local/lib/X11/fonts/URW
% xset fp rehash
@ -486,7 +486,7 @@ Load "freetype"
Τώρα, δημιουργήστε έναν κατάλογο για τις γραμματοσειρές TrueType(R) (για παράδειγμα, [.filename]#/usr/local/lib/X11/fonts/TrueType#) και αντιγράψτε όλες τις γραμματοσειρές TrueType(R) σε αυτόν. Προσέξτε ότι οι γραμματοσειρές TrueType(R) δεν μπορούν να είναι από ένα σύστημα Macintosh(R) πρέπει να είναι σε μορφή UNIX(R)/MS-DOS(R)/Windows(R) για να λειτουργούν στο X11. Μόλις αντιγραφούν τα αρχεία στον κατάλογο, χρησιμοποιήστε το ttmkfdir για να δημιουργήσετε το αρχείο [.filename]#fonts.dir#, ώστε ο X font renderer να γνωρίζει την ύπαρξη των νέων αυτών αρχείων. Το `ttmkfdir` διατίθεται από την Συλλογή των Ports του FreeBSD ως package:x11-fonts/ttmkfdir[].
[source,bash]
[source,shell]
....
# cd /usr/local/lib/X11/fonts/TrueType
# ttmkfdir -o fonts.dir
@ -494,7 +494,7 @@ Load "freetype"
Τώρα, πρoσθέστε τον κατάλογο TrueType(R) στη διαδρομή των fonts. Αυτό γίνεται με τον ίδιο τρόπο που περιγράψαμε παραπάνω στις <<type1,Type1>> γραμματοσειρές, χρησιμοποιώντας το
[source,bash]
[source,shell]
....
% xset fp+ /usr/local/lib/X11/fonts/TrueType
% xset fp rehash
@ -530,7 +530,7 @@ Load "freetype"
Αφού προσθέσετε νέες γραμματοσειρές, και ειδικότερα νέους καταλόγους γραμματοσειρών, πρέπει να εκτελέσετε την ακόλουθη εντολή για να αναδημιουργήσετε την cache γραμματοσειρών:
[source,bash]
[source,shell]
....
# fc-cache -f
....
@ -644,7 +644,7 @@ Load "freetype"
Για να ξεκινήσετε να χρησιμοποιείτε το XDM, εγκαταστήστε το port package:x11/xdm[] (δεν εγκαθίσταται από προεπιλογή στις πρόσφατες εκδόσεις του Xorg). Μπορείτε έπειτα να βρείτε τον δαίμονα XDM στο [.filename]#/usr/local/bin/xdm#. Αυτό το πρόγραμμα μπορεί να εκτελεστεί οποιαδήποτε στιγμή ως `root` και θα ξεκινήσει να διαχειρίζεται την οθόνη του X στο τοπικό μηχάνημα. Αν ο XDM πρέπει να εκτελείται κάθε φορά που εκκινείται το μηχάνημα, ένας βολικός τρόπος είναι η προσθήκη μιας γραμμής στο [.filename]#/etc/ttys#. Για περισσότερες πληροφορίες σχετικά με την μορφή και την χρήση αυτού του αρχείου, δείτε το crossref:serialcomms[term-etcttys,"Προσθέτοντας μια Καταχώριση στο /etc/ttys"]. Υπάρχει μία γραμμή στο αρχικό [.filename]#/etc/ttys# αρχείο για την εκτέλεση του XDM σε ένα εικονικό τερματικό:
[source,bash]
[source,shell]
....
ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure
....
@ -722,7 +722,7 @@ ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure
Για να συνδέονται και άλλοι πελάτες στον διακομιστή οθόνης, τροποποιήστε τους κανόνες ελέγχου πρόσβασης, και ενεργοποιήστε τις εισερχόμενες συνδέσεις. Τα παραπάνω είναι, από προεπιλογή ρυθμισμένα σε συντηρητικές τιμές. Για να κάνετε το XDM να δέχεται συνδέσεις, αρχικά μετατρέψτε σε σχόλιο την παρακάτω γραμμή στο αρχείο [.filename]#xdm-config#:
[source,bash]
[source,shell]
....
! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
@ -755,14 +755,14 @@ DisplayManager.requestPort: 0
Για να εγκαταστήσετε το έτοιμο πακέτο του GNOME από το δίκτυο, απλώς πληκτρολογήστε:
[source,bash]
[source,shell]
....
# pkg_add -r gnome2
....
Για να μεταγλωττίσετε το GNOME από τον πηγαίο κώδικα, χρησιμοποιήστε την Συλλογή των Ports:
[source,bash]
[source,shell]
....
# cd /usr/ports/x11/gnome2
# make install clean
@ -801,7 +801,7 @@ gnome_enable="YES"
Το GNOME μπορεί επίσης να ξεκινήσει από την γραμμή εντολών ρυθμίζοντας κατάλληλα το αρχείο [.filename]#.xinitrc#. Αν υπάρχει ήδη το αρχείο [.filename]#.xinitrc#, απλώς αντικαταστήστε την γραμμή που εκκινεί τον τρέχοντα διαχειριστή παραθύρων με μία που να εκκινεί το /usr/local/bin/gnome-session. Αν δεν θέλετε να κάνετε περισσότερες ρυθμίσεις στο αρχείο, χρειάζεται απλά να γράψετε:
[source,bash]
[source,shell]
....
% echo "/usr/local/bin/gnome-session" > ~/.xinitrc
....
@ -813,7 +813,7 @@ gnome_enable="YES"
Αν χρησιμοποιείτε κάποιο παλαιότερο display manager, όπως το XDM, το παραπάνω δεν θα λειτουργήσει. Στην περίπτωση αυτή, δημιουργήστε ένα εκτελέσιμο αρχείο [.filename]#.xsession# το οποίο να περιέχει την ίδια εντολή. Τροποποιήστε το αρχείο [.filename]#.xsession# και αντικαταστήστε την εντολή του τρέχοντος διαχειριστή παραθύρων με το /usr/local/bin/gnome-session:
====
[source,bash]
[source,shell]
....
% echo "#!/bin/sh" > ~/.xsession
% echo "/usr/local/bin/gnome-session" >> ~/.xsession
@ -850,14 +850,14 @@ gnome_enable="YES"
Για να εγκαταστήσετε το KDE 3 μέσω πακέτων από το δίκτυο, απλώς πληκτρολογήστε:
[source,bash]
[source,shell]
....
# pkg_add -r kde
....
Για να εγκαταστήσετε το KDE 4 μέσω πακέτων από το δίκτυο, απλώς πληκτρολογήστε:
[source,bash]
[source,shell]
....
# pkg_add -r kde4
....
@ -866,7 +866,7 @@ gnome_enable="YES"
Για να μεταγλωττίσετε το KDE 3 από τον πηγαίο κώδικα, χρησιμοποιήστε τη Συλλογή των Ports:
[source,bash]
[source,shell]
....
# cd /usr/ports/x11/kde3
# make install clean
@ -874,7 +874,7 @@ gnome_enable="YES"
Για να μεταγλωττίσετε το KDE 4 από τον πηγαίο κώδικα, χρησιμοποιήστε τη Συλλογή των Ports:
[source,bash]
[source,shell]
....
# cd /usr/ports/x11/kde4
# make install clean
@ -884,14 +884,14 @@ gnome_enable="YES"
Για το KDE 3:
[source,bash]
[source,shell]
....
% echo "exec startkde" > ~/.xinitrc
....
Για το KDE 4:
[source,bash]
[source,shell]
....
% echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc
....
@ -950,14 +950,14 @@ kdm4_enable="YES"
Υπάρχει (την ώρα που γράφονται αυτές οι γραμμές) έτοιμο πακέτο για το Xfce. Για να το εγκαταστήσετε, απλώς πληκτρολογήστε:
[source,bash]
[source,shell]
....
# pkg_add -r xfce4
....
Εναλλακτικά, για να το μεταγλωττίσετε από τον πηγαίο κώδικα, χρησιμοποιήστε την Συλλογή των Ports:
[source,bash]
[source,shell]
....
# cd /usr/ports/x11-wm/xfce4
# make install clean
@ -965,7 +965,7 @@ kdm4_enable="YES"
Τώρα, πείτε στον διακομιστή X να εκκινήσει το Xfce την επόμενη φορά που θα γίνει εκκίνηση του γραφικού περιβάλλοντος. Απλώς πληκτρολογήστε το παρακάτω:
[source,bash]
[source,shell]
....
% echo "/usr/local/bin/startxfce4" > ~/.xinitrc
....