Use correct syntax markup for shell
Approved by: carlavilla
This commit is contained in:
parent
55c95407aa
commit
a9a9e66105
666 changed files with 17924 additions and 17924 deletions
|
|
@ -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 παλιός_κατάλογος νέος_κατάλογος
|
||||
....
|
||||
|
|
|
|||
|
|
@ -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
|
||||
....
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
....
|
||||
|
|
|
|||
|
|
@ -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
|
||||
....
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ toc::[]
|
|||
* Βεβαιωθείτε ότι η ώρα και η ζώνη ώρας στον υπολογιστή σας είναι σωστά ρυθμισμένα. Αυτό μπορεί να φαίνεται κάπως ανόητο, ειδικά καθώς το μήνυμα σας θα φτάσει έτσι και αλλιώς, αλλά αρκετοί άνθρωποι σε αυτές τις λίστες λαμβάνουν εκατοντάδες μηνύματα κάθε μέρα. Συχνά τα ταξινομούν κατά θέμα και ημερομηνία, έτσι αν το μήνυμα σας έρθει μετά την πρώτη απάντηση θα θεωρήσουν ότι το έχασαν και δεν θα ασχοληθούν να το ψάξουν.
|
||||
* Πολλές φορές οι πληροφορίες που πρέπει να παρέχετε περιέχουν την έξοδο προγραμμάτων όπως το man:dmesg[8], ή τα μηνύματα που εμφανίζονται στην κονσόλα, τα οποία συνήθως γράφονται στο [.filename]#/var/log/messages#. Μην προσπαθήσετε να αντιγράψετε αυτές τις πληροφορίες πληκτρολογώντας τις ξανά: όχι μόνο είναι βασανιστικό, αλλά είναι σχεδόν σίγουρο ότι θα κάνετε κάποιο λάθος. Για να στείλετε τα περιεχόμενα κάποιου αρχείου καταγραφής, είτε αντιγράψτε το αρχείο και χρησιμοποιήστε κάποιο συντάκτη κειμένου για να κόψετε τα κομμάτια που σας ενδιαφέρουν, ή κάντε αποκοπή και επικόλληση μέσα στο μήνυμα σας. Για την έξοδο προγραμμάτων όπως το `dmesg`, χρησιμοποιήστε ανακατεύθυνση της εξόδου σε ένα αρχείο και στείλτε αυτό. Για παράδειγμα:
|
||||
+
|
||||
[source,bash]
|
||||
[source,shell]
|
||||
....
|
||||
% dmesg > /tmp/dmesg.out
|
||||
....
|
||||
|
|
|
|||
|
|
@ -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
|
||||
....
|
||||
|
|
|
|||
|
|
@ -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
|
||||
....
|
||||
|
|
|
|||
|
|
@ -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
|
||||
....
|
||||
|
|
|
|||
|
|
@ -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
|
||||
....
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue