3. Πακέτα και Ports: Προσθέτοντας λογισμικό στο FreeBSD
Προηγ |  | Επόμενο

## 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.

### Σημείωση:

Αν χρησιμοποιείτε μια &#x201C;επίσημη&#x201D; έκδοση του 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 (η οποία μερικές φορές αναφέρεται και ως &#x201C;δέντρο των ports&#x201D;), στον κατάλογο `/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` και αντιγράφοντας τα πακέτα που δημιουργήσατε σε άλλα μηχανήματα.)

Προηγ |  | Επόμενο
2. Κελύφη: Δεν υπάρχει Bash; | Αρχή | 4. Εκκίνηση του Συστήματος: Που είναι τα run-levels;

Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την τεκμηρίωση πριν να επικοινωνήσετε με την <questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <doc@FreeBSD.org>.