<?xml version="1.0" encoding="UTF-8"?>


Οδηγός Γρήγορης Εκκίνησης του FreeBSD για
Χρήστες Linux®


John Ferrell

Αναθεώρηση: 43126
 νευματικά Δικαιώματα © 2008 Η Ομάδα
Τεκμηρίωσης του FreeBSD
Το FreeBSD είναι ένα κατοχυρωμένο εμπορικό
σύμβολο του FreeBSD Foundation.
Το Linux είναι ένα κατοχυρωμένα εμπορικό
σύμβολο του Linus Torvalds στις Ηνωμένες
 ολιτείες.
Οι λέξεις Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium,
και Xeon είναι εμπορικά σύμβολα ή
κατοχυρωμένα εμπορικά σύμβολα της Intel
Corporation και των θυγατρικών της στις Ηνωμένες
 ολιτείες και σε άλλες χώρες.
Οι λέξεις ή φράσεις Red Hat, και RPM είναι
εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά
σύμβολα της Red Hat, Inc. στις Ηνωμένες
 ολιτείες και σε άλλες χώρες.
Η λέξη UNIX είναι κατοχυρωμένο εμπορικό
σύμβολο του Open Group στις Ηνωμένες  ολιτείες
και σε άλλες χώρες.
 ολλές από τις λέξεις ή φράσεις οι οποίες
χρησιμοποιούνται από τους κατασκευαστές ή
τους πωλητές τους για να διακρίνουν τα
προϊόντα τους θεωρούνται εμπορικά σύμβολα.
Όπου αυτές εμφανίζονται σε αυτό το κείμενο
και για όσες από αυτές γνωρίζει η Ομάδα
Ανάπτυξης του FreeBSD ότι είναι πιθανόν να
είναι εμπορικά σύμβολα, θα δείτε ένα από τα
σύμβολα: «™» ή «®».
2013-11-07 από gabor.
 ερίληψη
Το κείμενο αυτό έχει σκοπό να βοηθήσει στη
γρήγορη εξοικείωση χρηστών Linux® μέσου /
προχωρημένου επιπέδου με τις βασικές
έννοιες του FreeBSD
-------------------------------------------------------------------------------
 ίνακας  εριεχομένων


  1._Εισαγωγή

  2._Κελύφη:_Δεν_υπάρχει_Bash;

  3.__ακέτα_και_Ports:__ροσθέτοντας_λογισμικό
  στο_FreeBSD

  4._Εκκίνηση_του_Συστήματος:__ου_είναι_τα_run-
  levels;

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

  6._Firewall

  7._Αναβαθμίζοντας_το_FreeBSD

  8._procfs:__ερασμένο_αλλά_όχι_Ξεχασμένο

  9._Συνηθισμένες_Εντολές

  10._Συμπεράσματα


1. Εισαγωγή

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

2. Κελύφη: Δεν υπάρχει Bash;

Όσοι έρχονται από το Linux® συχνά
εκπλήσσονται όταν ανακαλύπτουν ότι το Bash
δεν είναι το προεπιλεγμένο κέλυφος στο
FreeBSD. Στην πραγματικότητα, το Bash δεν υπάρχει
καν στην βασική διανομή του FreeBSD. Αντίθετα,
το FreeBSD χρησιμοποιεί το tcsh(1) ως το
προεπιλεγμένο κέλυφος. Το Bash καθώς και άλλα
κελύφη που ίσως θέλετε να εγκαταστήσετε,
είναι διαθέσιμα στη Συλλογή__ακέτων_και_Ports
του FreeBSD.
Αν εγκαταστήσετε διαφορετικά κελύφη,
μπορείτε να χρησιμοποιήσετε την εντολή chsh
(1) για να αλλάξετε το προεπιλεγμένο κέλυφος
κάποιου χρήστη. Σας συνιστούμε ωστόσο να
αφήσετε το κέλυφος του root στο
προεπιλεγμένο. Ο λόγος για αυτό είναι ότι
τα κελύφη που δεν περιλαμβάνονται στην
βασική διανομή του FreeBSD, εγκαθίστανται στην
τοποθεσία /usr/local/bin ή /usr/bin. Σε περίπτωση
προβλήματος, είναι πιθανόν τα συστήματα
αρχείων όπου βρίσκονται τα /usr/local/bin και /usr/
bin να μην μπορούν να προσαρτηθούν. Στην
περίπτωση αυτή, ο root δεν θα είχε πρόσβαση
στο προεπιλεγμένο του κέλυφος,
εμποδίζοντας έτσι και την είσοδο του στο
σύστημα. Για το λόγο αυτό, υπάρχει ένας
δεύτερος λογαριασμός όμοιος με τον root, ο toor,
ο οποίος δημιουργήθηκε ειδικά για να
χρησιμοποιείται με κάποιο άλλο κέλυφος.
Δείτε τις Συχνές Ερωτήσεις Ασφαλείας
σχετικά με τον λογαριασμό_toor.

3.  ακέτα και Ports:  ροσθέτοντας λογισμικό
στο FreeBSD

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

3.1.  ακέτα

Τα πακέτα είναι προ-μεταγλωττισμένες
εφαρμογές, θα λέγαμε το αντίστοιχο για το
FreeBSD των αρχείων .deb σε συστήματα Debian/Ubuntu και
των αρχείων .rpm σε συστήματα Red Hat/Fedora. Τα
πακέτα εγκαθίστανται χρησιμοποιώντας την
εντολή pkg_add(1). Για παράδειγμα, η ακόλουθη
εντολή εγκαθιστά τον Apache 2.2:

  # pkg_add /tmp/apache-2.2.6_2.tbz

Η χρήση της παραμέτρου -r οδηγεί την pkg_add(1)
να κατεβάσει αυτόματα τόσο το πακέτο, όσο
και τις εξαρτήσεις του, και να το
εγκαταστήσει:

  # pkg_add -r apache22
  Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/
  Latest/apache22.tbz... Done.
  Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/
  All/expat-2.0.0_1.tbz... Done.
  Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/
  All/perl-5.8.8_1.tbz... Done.
  [snip]

  To run apache www server from startup, add apache22_enable="YES"
  in your /etc/rc.conf. Extra options can be found in startup script.


Σημείωση:

Αν χρησιμοποιείτε μια «επίσημη» έκδοση του
FreeBSD (6.2, 6.3, 7.0, κλπ. που γενικά μπορείτε να
εγκαταστήσετε από CD-ROM) η εντολή pkg_add -r θα
κατεβάσει τα πακέτα που φτιάχτηκαν για
αυτή τη συγκεκριμένη έκδοση. Τα πακέτα αυτά
ίσως δεν περιέχουν τις πλέον τελευταίες
εκδόσεις των εφαρμογών. Μπορείτε να
χρησιμοποιήσετε την μεταβλητή
περιβάλλοντος PACKAGESITE για να παρακάμψετε
αυτή την προεπιλεγμένη συμπεριφορά. Για
παράδειγμα, θέτοντας την PACKAGESITE στην τιμή
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/ θα
κατεβάσετε τα πιο πρόσφατα πακέτα που
υπάρχουν για τη σειρά 6.X.
Για περισσότερες πληροφορίες σχετικά με τα
πακέτα, παρακαλούμε διαβάστε την ενότητα 4.4
στο Εγχειρίδιο του FreeBSD: Χρησιμοποιώντας_το
Σύστημα_Packages.

3.2. Ports

Η δεύτερη μέθοδος για την εγκατάσταση
εφαρμογών στο FreeBSD είναι η Συλλογή των Ports. Η
Συλλογή των Ports είναι ένα πλαίσιο
λειτουργιών που αποτελείται από Makefiles και
αρχεία διαφορών (patches) τα οποία έχουν
δημιουργηθεί ειδικά, ώστε να είναι δυνατή η
εγκατάσταση διάφορων εφαρμογών στο FreeBSD
από τον πηγαίο κώδικα τους. Όταν
εγκαθιστάτε ένα port, το σύστημα θα κατεβάσει
τον πηγαίο κώδικα, θα εφαρμόσει όλες τις
απαιτούμενες αλλαγές χρησιμοποιώντας τα
patches, θα μεταγλωττίσει τον κώδικα, και τέλος
θα εγκαταστήσει την εφαρμογή. Θα
ακολουθήσει την ίδια διαδικασία και για
οποιαδήποτε τυχόν εξαρτώμενα προγράμματα.
Μπορείτε να βρείτε την Συλλογή των Ports (η
οποία μερικές φορές αναφέρεται και ως
«δέντρο των ports»), στον κατάλογο /usr/ports. Αυτό
βέβαια προϋποθέτει ότι εγκαταστήσατε την
Συλλογή των Ports κατά τη διάρκεια της
εγκατάστασης του FreeBSD. Αν δεν το έχετε
κάνει, μπορείτε να την προσθέσετε από το CD
εγκατάστασης με την βοήθεια του sysinstall(8) ή
να την κατεβάσετε από τους εξυπηρετητές
του FreeBSD χρησιμοποιώντας την εντολή csup(1) ή
την εντολή portsnap(8). Μπορείτε να βρείτε
λεπτομερείς οδηγίες για την εγκατάσταση
της Συλλογής των Ports στην ενότητα_4.5.1 του
εγχειριδίου.
Η εγκατάσταση ενός port είναι γενικά τόσο
απλή όσο το να εισέλθετε στον κατάλογο του
και να ξεκινήσετε την διαδικασία
μεταγλώττισης. Στο ακόλουθο παράδειγμα
γίνεται εγκατάσταση του Apache 2.2 από την
Συλλογή των Ports:

  # cd /usr/ports/www/apache22
  # make install clean

Ένα σημαντικό πλεονέκτημα της χρήσης ports
στην εγκατάσταση λογισμικού είναι η
ικανότητα προσαρμογής των επιλογών
εγκατάστασης. Για παράδειγμα, όταν
εγκαθιστάτε τον Apache 2.2 από τα ports μπορείτε
να ενεργοποιήσετε την επιλογή mod_ldap
θέτοντας απλώς τιμή στη μεταβλητή WITH_LDAP του
make(1):

  # cd /usr/ports/www/apache22
  # make WITH_LDAP="YES" install clean

Διαβάστε την ενότητα 4.5 του Εγχειριδίου του
FreeBSD, Χρησιμοποιώντας_την_Ports_Collection, για
περισσότερες πληροφορίες σχετικά με τη
Συλλογή των Ports.

3.3. Ports ή πακέτα, τι πρέπει να χρησιμοποιήσω;

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

*  ιο γρήγορη εγκατάσταση (η μεταγλώττιση
  μεγάλων εφαρμογών μπορεί να διαρκέσει
  αρκετή ώρα).
* Δεν χρειάζεται να κατανοείτε πως γίνεται
  η μεταγλώττιση του λογισμικού.
* Δεν χρειάζεται να εγκαταστήσετε
  μεταγλωττιστές στο σύστημα σας.

Ports (πηγαίος κώδικας)

* Ικανότητα προσαρμογής των επιλογών
  εγκατάστασης. (Τα πακέτα συνήθως
  μεταγλωττίζονται με τις προεπιλεγμένες
  επιλογές). Με τα ports μπορείτε να
  προσαρμόσετε διάφορες επιλογές, όπως την
  μεταγλώττιση πρόσθετων αρθρωμάτων, ή
  αλλαγή της προεπιλεγμένης θέσης
  εγκατάστασης.
* Μπορείτε να βάλετε τις δικές σας αλλαγές
  (patches) αν το επιθυμείτε.

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

4. Εκκίνηση του Συστήματος:  ου είναι τα run-
levels;

Το Linux® χρησιμοποιεί το σύστημα εκκίνησης
SysV, ενώ το FreeBSD χρησιμοποιεί το παραδοσιακό
σύστημα εκκίνησης BSD. Στο σύστημα init(8) τύπου
BSD, δεν υπάρχουν run-levels, ούτε το αρχείο /etc/
inittab. Αντί για αυτά, η εκκίνηση ελέγχεται
από ένα script εκκίνησης, το rc(8). To script /etc/rc
διαβάζει το αρχείο /etc/defaults/rc.conf και το
αρχείο /etc/rc.conf για να καθορίσει ποιες
υπηρεσίες πρόκειται να ξεκινήσουν. Οι
υπηρεσίες αυτές ξεκινάνε με την εκτέλεση
των αντίστοιχων script εκκίνησης που
βρίσκονται στους καταλόγους /etc/rc.d/ και /usr/
local/etc/rc.d/. Τα scripts αυτά είναι παρόμοια με τα
scripts που βρίσκονται στον κατάλογο /etc/init.d/ σε
συστήματα Linux®.
Γιατί υπάρχουν δύο τοποθεσίες για τα scripts
εκκίνησης των υπηρεσιών; Τα scripts που
βρίσκονται στον κατάλογο /etc/rc.d/ είναι για
εφαρμογές που ανήκουν στο «βασικό»
σύστημα. (Για παράδειγμα, τις cron(8), sshd(8), syslog
(3), και άλλες.) Τα scripts που βρίσκονται στον
κατάλογο /usr/local/etc/rc.d/ είναι για εφαρμογές
που έχουν εγκατασταθεί από τους χρήστες,
όπως για παράδειγμα ο Apache, το Squid, κ.λ.π.
 οια είναι η διαφορά μεταξύ του «βασικού»
συστήματος και των εφαρμογών χρήστη; Το
FreeBSD αναπτύσσεται ως ένα πλήρες
λειτουργικό σύστημα. Με άλλα λόγια, ο
πυρήνας, οι βιβλιοθήκες του συστήματος, οι
βασικές εντολές (userland, τα προγράμματα όπως
το ls(1), cat(1), cp(1) κλπ.), αναπτύσσονται και
δημοσιεύονται μαζί, ως σύνολο. Αυτό
αναφέρεται και ως «βασικό» σύστημα. Οι
εφαρμογές που εγκαθίστανται από τους
χρήστες, δεν ανήκουν στο «βασικό» σύστημα,
και τέτοιες είναι για παράδειγμα ο Apache, το
X11, ο Mozilla Firefox, κλπ. Αυτού του είδους οι
εφαρμογές, γενικά εγκαθίστανται με τη
χρήση της Συλλογής__ακέτων_και_Ports του FreeBSD.
Για να ξεχωρίζουν από το υπόλοιπο «βασικό»
σύστημα, οι εφαρμογές χρήστη συνήθως
εγκαθίστανται σε υποκαταλόγους του /usr/local/.
Έτσι τα εκτελέσιμα προγράμματα των χρηστών
βρίσκονται συνήθως στον κατάλογο /usr/local/bin/,
τα αντίστοιχα αρχεία ρυθμίσεων τους στον
κατάλογο /usr/local/etc/, κ.ο.κ.
Οι υπηρεσίες ενεργοποιούνται με την
προσθήκη μιας εγγραφής τύπου
ΌνομαΥπηρεσίας_enable="YES" στο αρχείο /etc/rc.conf
(rc.conf(5)). Ρίξτε μια ματιά στο αρχείο /etc/defaults/
rc.conf για να δείτε τις προεπιλογές του
συστήματος. Οι ρυθμίσεις που κάνουμε στο
αρχείο /etc/rc.conf υπερισχύουν έναντι των
προεπιλογών αυτών. Επίσης, κατά την
εγκατάσταση πρόσθετων εφαρμογών,
βεβαιωθείτε ότι διαβάσατε την αντίστοιχη
τεκμηρίωση για να βρείτε πως να
ενεργοποιήσετε τυχόν σχετικές υπηρεσίες.
Το ακόλουθο απόσπασμα από το αρχείο /etc/rc.conf
ενεργοποιεί την υπηρεσία sshd(8) και τον Apache
2.2. Επίσης καθορίζει ότι ο Apache θα ξεκινήσει
με ενεργοποιημένη τη δυνατότητα SSL.

  # enable SSHD
  sshd_enable="YES"
  # enable Apache with SSL
  apache22_enable="YES"
  apache22_flags="-DSSL"

Από τη στιγμή που μια υπηρεσία
ενεργοποιηθεί στο αρχείο /etc/rc.conf, μπορείτε
να την ξεκινήσετε απευθείας από τη γραμμή
εντολών (χωρίς να χρειάζεται να
επανεκκινήσετε το σύστημα σας):

  # /etc/rc.d/sshd start

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

  # /etc/rc.d/sshd forcestart


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


5.1. Διεπαφές Δικτύου

Αντί για το γενικό αναγνωριστικό τύπου ethX
που χρησιμοποιεί το Linux® για την αναγνώριση
μιας διεπαφής δικτύου, το FreeBSD χρησιμοποιεί
ως αναγνωριστικό το όνομα του προγράμματος
οδήγησης ακολουθούμενο από ένα αριθμό. Η
ακόλουθη έξοδος από την εντολή ifconfig(8)
δείχνει δύο κάρτες δικτύου Intel® Pro 1000 (με
αναγνωριστικά em0 and em1):

  % ifconfig
  em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          options=b<RXCSUM,TXCSUM,VLAN_MTU>
          inet 10.10.10.100 netmask 0xffffff00 broadcast 10.10.10.255
          ether 00:50:56:a7:70:b2
          media: Ethernet autoselect (1000baseTX <full-duplex>)
          status: active
  em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          options=b<RXCSUM,TXCSUM,VLAN_MTU>
          inet 192.168.10.222 netmask 0xffffff00 broadcast 192.168.10.255
          ether 00:50:56:a7:03:2b
          media: Ethernet autoselect (1000baseTX <full-duplex>)
          status: active


5.2. Ρυθμίσεις Διευθύνσεων IP

Μπορείτε να αναθέσετε μια διεύθυνση IP σε
μια διεπαφή δικτύου με τη χρήση της εντολής
ifconfig(8). Για να γίνει μόνιμη ωστόσο αυτή η
αλλαγή, και να μην χάνεται σε κάθε
επανεκκίνηση, θα πρέπει να την περιλάβετε
στο αρχείο /etc/rc.conf. Στο ακόλουθο παράδειγμα
φαίνεται η καταχώρηση που περιλαμβάνει το
όνομα του υπολογιστή (hostname), την διεύθυνση
IP, καθώς και την προεπιλεγμένη πύλη
(defaultrouter):

  hostname="server1.example.com"
  ifconfig_em0="inet 10.10.10.100  netmask 255.255.255.0"
  defaultrouter="10.10.10.1"

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

  hostname="server1.example.com"
  ifconfig_em0="DHCP"


6. Firewall

Στο Linux® χρησιμοποιείται το IPTABLES το οποίο
παρέχει υπηρεσίες firewall σε επίπεδο πυρήνα.
Το FreeBSD παρέχει επίσης firewall μέσω του πυρήνα.
Για την ακρίβεια, το FreeBSD παρέχει τρία firewalls:

* IPFIREWALL
* IPFILTER
* PF

Το IPFIREWALL ή IPFW (η εντολή χειρισμού των
κανόνων του IPFW είναι η ipfw(8)) είναι το firewall
που έχει αναπτυχθεί και συντηρείται από
την ομάδα ανάπτυξης του FreeBSD. Το IPFW μπορεί
να συνδυαστεί με το dummynet(4) για να παρέχει
δυνατότητες διαμόρφωσης της κίνησης
πακέτων (traffic shaping) και να εξομοιώνει
διαφορετικούς τύπους συνδέσεων δικτύου.
 αράδειγμα ενός κανόνα του IPFW που
επιτρέπει εισερχόμενα δεδομένα προς την
υπηρεσία SSH:

  ipfw add allow tcp from any to me 22 in via $ext_if

Το IPFILTER είναι μια εφαρμογή firewall που
αναπτύσσεται από τον Darren Reed. Δεν έχει
φτιαχτεί ειδικά για το FreeBSD, και έχει
μεταφερθεί και σε άλλα λειτουργικά,
συμπεριλαμβανομένων των NetBSD, OpenBSD, SunOS, HP/UX,
και Solaris.
 αράδειγμα ενός κανόνα για το IPFILTER που
επιτρέπει εισερχόμενα δεδομένα προς την
υπηρεσία SSH:

  pass in on $ext_if proto tcp from any to any port = 22

Η τελευταία εφαρμογή firewall, το PF,
αναπτύσσεται από το OpenBSD project. Το PF
δημιουργήθηκε ως αντικαταστάτης του IPFILTER,
και έτσι η σύνταξη του PF είναι αρκετά
παρόμοια με αυτή του IPFILTER. Το PF μπορεί να
συνδυαστεί με το altq(4) για να παρέχει
υπηρεσίες τύπου QoS.
 αράδειγμα κανόνα του PF που επιτρέπει
εισερχόμενα δεδομένα προς την υπηρεσία SSH:

  pass in on $ext_if inet proto tcp from any to ($ext_if) port 22


7. Αναβαθμίζοντας το FreeBSD

Υπάρχουν τρεις μέθοδοι για την αναβάθμιση
ενός συστήματος FreeBSD: Μέσω του πηγαίου
κώδικα, μέσω έτοιμων (binary) αναβαθμίσεων, και
μέσω των CD εγκατάστασης.
Η εγκατάσταση μέσω του πηγαίου κώδικα
είναι η πιο πολύπλοκη, αλλά προσφέρει και
τη μεγαλύτερη δυνατή ευελιξία. Η
διαδικασία αυτή περιλαμβάνει το
συγχρονισμό του τοπικού αντιγράφου του
πηγαίου κώδικα του FreeBSD με τον κώδικα του
FreeBSD που βρίσκεται στους εξυπηρετητές CVS
(Concurrent Versioning System). Από τη στιγμή που το
τοπικό αντίγραφο πηγαίου κώδικα είναι
ανανεωμένο, μπορείτε να μεταγλωττίσετε
νέες εκδόσεις του πυρήνα και των βασικών
προγραμμάτων. Για περισσότερες
πληροφορίες σχετικά με το σύστημα
αναβάθμισης μέσω πηγαίου κώδικα, δείτε το
κεφάλαιο Ενημέρωση_και_Αναβάθμιση στο
Εγχειρίδιο του FreeBSD.
Οι έτοιμες (binary) αναβαθμίσεις, είναι
παρόμοιες με τη χρήση της εντολής yum ή apt-get
για την αναβάθμιση ενός συστήματος Linux®. Η
εντολή freebsd-update(8) θα κατεβάσει τις
αναβαθμίσεις και θα τις εγκαταστήσει.
Μπορείτε να καθορίσετε την αυτόματη, ανά
τακτά διαστήματα εκτέλεση της, με τη χρήση
του cron(8).

Σημείωση:

Αν πρόκειται να χρησιμοποιήσετε το cron(8) για
προγραμματισμένες αναβαθμίσεις,
βεβαιωθείτε ότι χρησιμοποιείτε την εντολή
freebsd-update cron στο αρχείο crontab(1) για να
ελαχιστοποιηθεί η πιθανότητα να γίνεται
ανανέωση την ίδια στιγμή από ένα μεγάλο
αριθμό μηχανημάτων.

  0 3 * * * root /usr/sbin/freebsd-update cron

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

8. procfs:  ερασμένο αλλά όχι Ξεχασμένο

Στο Linux®, θα χρειαστεί να δείτε το /proc/sys/net/
ipv4/ip_forward για να καθορίσετε αν είναι
ενεργοποιημένη η προώθηση IP (IP forwarding). Στο
FreeBSD θα πρέπει να χρησιμοποιήσετε το sysctl(8)
για να δείτε αυτή και άλλες ρυθμίσεις του
συστήματος, καθώς το procfs(5) θεωρείται
παρωχημένο σε πρόσφατες εκδόσεις του
λειτουργικού. (Αν και η εντολή sysctl είναι
επίσης διαθέσιμη και στο Linux®).
Στο παράδειγμα της προώθησης IP, θα
χρησιμοποιούσαμε την ακόλουθη εντολή για
να καθορίσουμε αν η δυνατότητα αυτή είναι
ενεργοποιημένη σε ένα FreeBSD σύστημα:

  % sysctl net.inet.ip.forwarding
  net.inet.ip.forwarding: 0

Η επιλογή -a χρησιμοποιείται για να πάρουμε
μια λίστα με όλες τις ρυθμίσεις του
συστήματος:

  % sysctl -a
  kern.ostype: FreeBSD
  kern.osrelease: 6.2-RELEASE-p9
  kern.osrevision: 199506
  kern.version: FreeBSD 6.2-RELEASE-p9 #0: Thu Nov 29 04:07:33 UTC 2007
      root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC

  kern.maxvnodes: 17517
  kern.maxproc: 1988
  kern.maxfiles: 3976
  kern.argmax: 262144
  kern.securelevel: -1
  kern.hostname: server1
  kern.hostid: 0
  kern.clockrate: { hz = 1000, tick = 1000, profhz = 666, stathz = 133 }
  kern.posix1version: 200112
  ...


Σημείωση:

Κάποιες από τις τιμές που δείχνει η εντολή
sysctl είναι μόνο για ανάγνωση.
Υπάρχουν περιπτώσεις όπου απαιτείται το
procfs, όπως για παράδειγμα όταν εκτελείτε
παλιότερο λογισμικό, το οποίο κάνει χρήση
της εντολής truss(1) για την ανίχνευση των
κλήσεων συστήματος, και για την
Συμβατότητα_με_Εκτελέσιμα_του_Linux®. (Αν και
η Συμβατότητα με Εκτελέσιμα του Linux®
χρησιμοποιεί το δικό της procfs, το linprocfs(5)). Αν
χρειάζεται να προσαρτήσετε το procfs,
μπορείτε να προσθέσετε την ακόλουθη
εγγραφή στο αρχείο /etc/fstab:

  proc                /proc           procfs  rw,noauto       0       0


Σημείωση:

Η επιλογή noauto θα εμποδίσει την αυτόματη
προσάρτηση του /proc κατά την εκκίνηση του
συστήματος.
 ροσαρτήστε κατόπιν την procfs
χρησιμοποιώντας την ακόλουθη εντολή:

  # mount /proc


9. Συνηθισμένες Εντολές


9.1. Διαχείριση  ακέτων


Εντολή του Linux®   Αντίστοιχη Σκοπός
(Red Hat/Debian)             εντολή FreeBSD
                                                   Εγκατάσταση
yum install package / apt-get pkg_add -r package   πακέτου από
install package                                    απομακρυσμένο
                                                   εξυπηρετητή
rpm -ivh package / dpkg -     pkg_add -v package   Εγκατάσταση
i package                                          πακέτου
                                                   Λίστα
rpm -qa / dpkg -l             pkg_info             εγκατεστημένων
                                                   πακέτων


9.2. Διαχείριση Συστήματος


Εντολή Linux® Αντίστοιχη Σκοπός
                     εντολή FreeBSD
lspci                pciconf              Λίστα συσκευών PCI
lsmod                kldstat              Λίστα φορτωμένων
                                          αρθρωμάτων πυρήνα
                                          Φόρτωση/
modprobe             kldload / kldunload  Αποφόρτωση
                                          αρθρωμάτων πυρήνα
strace               truss                Ανίχνευση κλήσεων
                                          συστήματος


10. Συμπεράσματα

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