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

This translation may be out of date. To help with the translations please access the FreeBSD translations instance.

Εμπορικά σύμβολα

Το FreeBSD είναι ένα κατοχυρωμένο εμπορικό σύμβολο του FreeBSD Foundation.

Οι λέξεις ή φράσεις Red Hat, και RPM είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Red Hat, Inc. στις Ηνωμένες Πολιτείες και σε άλλες χώρες.

Οι λέξεις Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, και Xeon είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Intel Corporation και των θυγατρικών της στις Ηνωμένες Πολιτείες και σε άλλες χώρες.

Το Linux είναι ένα κατοχυρωμένα εμπορικό σύμβολο του Linus Torvalds στις Ηνωμένες Πολιτείες.

Η λέξη UNIX είναι κατοχυρωμένο εμπορικό σύμβολο του Open Group στις Ηνωμένες Πολιτείες και σε άλλες χώρες.

Πολλές από τις λέξεις ή φράσεις οι οποίες χρησιμοποιούνται από τους κατασκευαστές ή τους πωλητές τους για να διακρίνουν τα προϊόντα τους θεωρούνται εμπορικά σύμβολα. Όπου αυτές εμφανίζονται σε αυτό το κείμενο και για όσες από αυτές γνωρίζει η Ομάδα Ανάπτυξης του FreeBSD ότι είναι πιθανόν να είναι εμπορικά σύμβολα, θα δείτε ένα από τα σύμβολα: “™” ή “®”.

Περίληψη

Το κείμενο αυτό έχει σκοπό να βοηθήσει στη γρήγορη εξοικείωση χρηστών Linux® μέσου / προχωρημένου επιπέδου με τις βασικές έννοιες του FreeBSD


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 ή 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 install package

pkg_add -r package

Εγκατάσταση πακέτου από απομακρυσμένο εξυπηρετητή

rpm -ivh package / dpkg -i package

pkg_add -v package

Εγκατάσταση πακέτου

rpm -qa / dpkg -l

pkg_info

Λίστα εγκατεστημένων πακέτων

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

Εντολή Linux®Αντίστοιχη εντολή FreeBSDΣκοπός

lspci

pciconf

Λίστα συσκευών PCI

lsmod

kldstat

Λίστα φορτωμένων αρθρωμάτων πυρήνα

modprobe

kldload / kldunload

Φόρτωση/Αποφόρτωση αρθρωμάτων πυρήνα

strace

truss

Ανίχνευση κλήσεων συστήματος

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

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


Τελευταία τροποποίηση: 3 Νοεμβρίου 2021 από Sergio Carlavilla Delgado