Τα παρακάτω τμήματα δίνουν βασικές οδηγίες χρήσης της
Συλλογής των Ports για εγκατάσταση ή διαγραφή προγραμμάτων στο
σύστημα σας. Μπορείτε να βρείτε λεπτομερή περιγραφή των διαθέσιμων
επιλογών του make
και των μεταβλητών περιβάλλοντος
στο ports(7).
Πριν μπορέσετε να εγκαταστήσετε προγράμματα μέσω των ports,
πρέπει πρώτα να ανακτήσετε την Συλλογή των Ports. Πρόκειται
ουσιαστικά για μια συλλογή από Makefiles
,
patches, και αρχεία περιγραφής που τοποθετούνται στο
/usr/ports
.
Όταν εγκαταστήσατε το FreeBSD σύστημα σας, το sysinstall σας ρώτησε αν θέλατε να εγκαταστήσετε την Συλλογή των Ports. Αν επιλέξατε όχι, μπορείτε να ακολουθήσετε αυτές τις οδηγίες για να ανακτήσετε την Συλλογή των Ports:
Αυτή είναι μια γρήγορη μέθοδος για να ανακτήσετε και να διατηρήσετε ένα ανανεωμένο αντίγραφο της Συλλογής των Ports, χρησιμοποιώντας το πρωτόκολλο CVSup. Αν θέλετε να μάθετε περισσότερα για το CVSup, δείτε το Χρησιμοποιώντας το CVSup.
Η υλοποίηση του CVSup που περιλαμβάνεται σε ένα σύστημα FreeBSD, ονομάζεται csup.
Σιγουρευθείτε ότι το
/usr/ports
είναι άδειο πριν εκτελέσετε το csup για
πρώτη φορά! Εάν έχετε ήδη ανακτήσει τη Συλλογή των Ports μέσω
κάποιας άλλης πηγής, το csup
δεν θα διαγράψει patches που έχουν αφαιρεθεί στο μεταξύ.
Εκτελέστε το csup
:
#
csup -L 2 -h cvsup.FreeBSD.org
/usr/share/examples/cvsup/ports-supfile
Αλλάξτε το
cvsup.FreeBSD.org
με έναν
κοντινό σας διακομιστή CVSup. Δείτε
το CVSup Mirrors (Τμήμα A.6.7, “Τοποθεσίες CVSup”) για την πλήρη λίστα των mirror
sites.
Αν θέλετε, μπορείτε να χρησιμοποιήσετε το δικό σας
ports-supfile
, ώστε να αποφύγετε
(για παράδειγμα) να δηλώσετε τον διακομιστή
CVSup στην γραμμή εντολών.
Σε αυτή την περίπτωση, ως root
,
αντιγράψτε το
/usr/share/examples/cvsup/ports-supfile
σε μία νέα τοποθεσία, όπως το /root
ή
τον δικό σας home κατάλογο.
Τροποποιήστε το ports-supfile
.
Αλλάξτε το
CHANGE_THIS.FreeBSD.org
με έναν κοντινό σας διακομιστή
CVSup.Δείτε το CVSup Mirrors
(Τμήμα A.6.7, “Τοποθεσίες CVSup”) για την
πλήρη λίστα των mirror sites.
Εκτελέστε τώρα το csup
, με τον
ακόλουθο τρόπο:
#
csup -L 2 /root/ports-supfile
Εκτελώντας την εντολή csup(1) αργότερα, θα “κατεβάσει” και θα εφαρμόσει όλες τις πρόσφατες αλλαγές στην Συλλογή των Ports, εκτός από το να επανα-μεταγλωττίσει τα ports για το σύστημα σας.
Το Portsnap είναι ένα εναλλακτικό σύστημα για την διανομή της Συλλογής των Ports. Παρακαλώ ελέγξτε το Χρησιμοποιώντας το Portsnap για μία λεπτομερή περιγραφή όλων των χαρακτηριστικών της εφαρμογής.
“Κατεβάστε” ένα συμπιεσμένο snapshot της
Συλλογής των Ports
/var/db/portsnap
.
Αν θέλετε, μπορείτε να αποσυνδεθείτε από το Διαδίκτυο μετά από
αυτό το βήμα.
#
portsnap fetch
Αν εκτελείτε το Portsnap για
πρώτη φορά, κάντε εξαγωγή του snapshot μέσα στο /usr/ports
:
#
portsnap extract
Εάν ήδη έχετε ένα γεμάτο /usr/ports
και απλώς το ανανεώνετε,
εκτελέστε την ακόλουθη εντολή:
#
portsnap update
Αυτή η μέθοδος χρησιμοποιεί το sysinstall για την εγκατάσταση της Συλλογής των Ports από το μέσο εγκατάστασης. Σημειώστε ότι με αυτό τον τρόπο θα εγκαταστήσετε το παλαιό αντίγραφο της Συλλογής των Ports, που αντιστοιχεί στην ημερομηνία της έκδοσης του FreeBSD που χρησιμοποιείτε. Εάν έχετε πρόσβαση στο Διαδίκτυο, πρέπει πάντα να χρησιμοποιείτε μία από τις μεθόδους που αναφέρθηκαν πιο πάνω.
Ως root
, εκτελέστε το
sysinstall
όπως φαίνεται παρακάτω:
#
sysinstall
Επιλέξτε το Enter.
, και πιέστεΕπιλέξτε το Enter.
, και πιέστεΜετακινηθείτε στο Space.
, και πιέστεΜετακινηθείτε στο Enter.
, και πιέστεΕπιλέξτε το μέσο εγκατάστασης της επιθυμίας σας, όπως CDROM, FTP, και πάει λέγοντας.
Μετακινηθείτε στο Enter.
και πιέστεΠιέστε X για να βγείτε από το sysinstall.
Το πρώτο πράγμα που πρέπει να διευκρινιστεί σχετικά με την Συλλογή των Ports είναι η έννοια του όρου “skeleton (σκελετός)”. Με λίγα λόγια, ένα port skeleton είναι η ελάχιστη συλλογή αρχείων που καθοδηγούν ένα σύστημα FreeBSD ώστε να μεταγλωττίσει και να εγκαταστήσει σωστά ένα πρόγραμμα. Κάθε port skeleton περιέχει:
Ένα Makefile
. Το
Makefile
περιέχει διάφορες δηλώσεις
που ορίζουν πως πρέπει να μεταγλωττιστεί η εφαρμογή και που
πρέπει να εγκατασταθεί στο σύστημά σας.
Ένα αρχείο distinfo
. Αυτό το αρχείο
περιέχει πληροφορίες για τα αρχεία που πρέπει να
“κατέβουν” για την μεταγλώττιση του port, και τα
checksums τους (χρησιμοποιώντας το sha256(1)), για να
επιβεβαιωθεί ότι τα αρχεία δεν έχουν αλλοιωθεί κατά την διάρκεια
της μεταφοράς τους.
Έναν κατάλογο files
. Αυτός ο
κατάλογος περιέχει τα patches που επιτρέπουν στο πρόγραμμα να
μεταγλωττιστεί και εγκατασταθεί στο FreeBSD σύστημα σας. Τα patches
είναι μικρά αρχεία που ορίζουν αλλαγές σε συγκεκριμένα αρχεία.
Είναι σε μορφή κοινού κειμένου, και βασικά λένε
“Αφαίρεσε την γραμμή 10” ή
“Μετέτρεψε τη γραμμή 26 σε αυτό ...”. Τα patches
είναι επίσης γνωστά ως “diffs” επειδή δημιουργούνται
με το πρόγραμμα diff(1).
Αυτός ο κατάλογος μπορεί να περιέχει και άλλα αρχεία που χρησιμοποιούνται για να μεταγλωττιστεί το port.
Ένα αρχείο pkg-descr
. Αυτό είναι μία πιο
λεπτομερής, συχνά πολλών γραμμών, περιγραφή του
προγράμματος.
Ένα αρχείο pkg-plist
. Αυτό περιέχει μια
λίστα όλων των αρχείων που θα εγκατασταθούν από το port.
Επίσης καθοδηγεί το σύστημα των ports τι αρχεία να αφαιρέσει
κατά την απεγκατάσταση.
Μερικά ports έχουν και άλλα αρχεία, όπως το
pkg-message
. Το σύστημα των ports χρησιμοποιεί
αυτά τα αρχεία για να χειριστεί ειδικές περιστάσεις. Αν θέλετε
περισσότερες λεπτομέρειες για αυτά τα αρχεία, και τα ports
γενικότερα, δείτε το FreeBSD Porter's
Handbook.
Το port περιέχει οδηγίες για το πως να μεταγλωττιστεί ο πηγαίος κώδικας, αλλά δεν περιέχει τον πηγαίο κώδικα. Μπορείτε να προμηθευτείτε τον πηγαίο κώδικα από ένα CD-ROM ή από το Διαδίκτυο. Ο πηγαίος κώδικας διανέμεται με οποιοδήποτε τρόπο επιθυμεί ο δημιουργός του. Συχνά είναι ένα tarred και gzipped αρχείο, αλλά μπορεί να είναι συμπιεσμένος με κάποιο άλλο εργαλείο ή να είναι ακόμα και ασυμπίεστος. Ο πηγαίος κώδικας του προγράμματος, σε οποιαδήποτε μορφή κι αν διατίθεται, λέγεται “distfile”. Οι δύο μέθοδοι για να εγκαταστήσετε ένα FreeBSD port περιγράφονται παρακάτω.
Πρέπει να συνδεθείτε ως root
για να
εγκαταστήσετε ports.
Πριν εγκαταστήσετε οποιαδήποτε port, πρέπει να σιγουρευτείτε ότι έχετε μία ανανεωμένη Συλλογή των Ports, και πρέπει να ελέγξετε το http://vuxml.freebsd.org/ για θέματα ασφαλείας σχετικά με το port που ενδιαφέρεστε.
Αν θέλετε να ελέγχετε αυτόματα για τυχόν προβλήματα ασφαλείας
πριν από κάθε εγκατάσταση νέας εφαρμογής, μπορείτε να
χρησιμοποιήσετε το portaudit.
Θα βρείτε αυτό το εργαλείο στην Συλλογή των Ports
(ports-mgmt/portaudit
). Είναι
καλή ιδέα να εκτελέσετε το portaudit -F
πριν
εγκαταστήσετε ένα νέο port, για να ανακτήσετε την τρέχουσα βάση
δεδομένων προβλημάτων ασφαλείας. Αντίστοιχος έλεγχος και ανανέωση
της βάσης δεδομένων εκτελείται επίσης αυτόματα κατά τον καθημερινό
έλεγχο ασφαλείας του συστήματος. Για περισσότερες
πληροφορίες διαβάστε τις σελίδες manual portaudit(1) και
periodic(8).
Η Συλλογή των Ports προϋποθέτει ότι έχετε λειτουργική σύνδεση με
το Διαδίκτυο. Εάν δεν έχετε, θα χρειαστεί να βάλετε μόνος σας ένα
αντίγραφο του distfile μέσα στο
/usr/ports/distfiles
.
Αρχικά, μετακινηθείτε στον κατάλογο του port που θέλετε να εγκαταστήσετε:
#
cd /usr/ports/sysutils/lsof
Μόλις βρεθείτε στον κατάλογο lsof
, θα
δείτε τον port skeleton. Το επόμενο βήμα είναι να μεταγλωττίσετε,
ή να “κτίσετε (build)”, το port. Αυτό γίνεται απλά
πληκτρολογώντας make
στην γραμμή εντολών. Όταν το
κάνετε, θα δείτε κάτι όπως αυτό:
#
make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===> Extracting for lsof-4.57
...
[extraction output snipped]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[configure output snipped]
...
===> Building for lsof-4.57
...
[compilation output snipped]
...
#
Προσέξτε ότι μόλις η μεταγλώττιση ολοκληρωθεί θα επιστρέψετε
στην γραμμή εντολών. Το επόμενο βήμα είναι να εγκαταστήσετε το
port. Για να το εγκαταστήσετε, χρειάζεται απλώς να προσθέσετε μια
λέξη στην εντολή make
, και αυτή η λέξη είναι
install
:
#
make install
===> Installing for lsof-4.57
...
[installation output snipped]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
#
Μόλις επιστρέψετε στην γραμμή εντολών, θα πρέπει να μπορείτε
να εκτελέσετε την εφαρμογή που μόλις εγκαταστήσατε. Θα δείτε μια
προειδοποίηση ασφαλείας, επειδή το lsof
είναι ένα
πρόγραμμα που τρέχει με αυξημένα προνόμια. Κατά την μεταγλώττιση
και εγκατάσταση των ports, θα πρέπει να προσέχετε οποιαδήποτε
προειδοποίηση εμφανιστεί.
Μια καλή ιδέα, είναι να διαγράψετε τον υποκατάλογο που περιέχει όλα τα προσωρινά αρχεία που χρησιμοποιήθηκαν κατά την μεταγλώττιση. Όχι μόνο καταναλώνουν πολύτιμο χώρο, άλλα μπορεί να προκαλέσουν προβλήματα αργότερα όταν θα θελήσετε να εγκαταστήσετε μια νεότερη έκδοση του port.
#
make clean
===> Cleaning for lsof-4.57
#
Μπορείτε να γλιτώσετε δύο πρόσθετα βήματα απλώς εκτελώντας
make
αντί
για install clean
make
,
make
και
install
make
ως τρία ξεχωριστά βήματα.clean
Μερικά κελύφη κρατάνε μια λίστα από τις εντολές που βρίσκονται
διαθέσιμες στους καταλόγους που αναφέρονται στην μεταβλητή
περιβάλλοντος PATH
, για να επιταχύνουν τις
αναζητήσεις για τα εκτελέσιμα αρχεία αυτών των εντολών.
Αν χρησιμοποιείτε ένα από αυτά τα κελύφη, θα πρέπει
να χρησιμοποιήσετε την εντολή rehash
μετά
την εγκατάσταση ενός port, πριν μπορέσετε να χρησιμοποιήσετε τις
νέες εντολές. Αυτή η εντολή λειτουργεί σε κελύφη όπως το
tcsh
. Χρησιμοποιήστε την εντολή
hash -r
για κελύφη όπως το
sh
. Δείτε την τεκμηρίωση του κελύφους σας για
περισσότερες πληροφορίες.
Μερικά προϊόντα τρίτων κατασκευαστών σε DVD-ROM, όπως το FreeBSD
Toolkit από το FreeBSD Mall, περιέχουν
distfiles. Αυτά μπορούν να χρησιμοποιηθούν με την Συλλογή των Ports.
Προσαρτήστε το DVD-ROM στο /cdrom
. Αν
χρησιμοποιείτε κάποιο διαφορετικό σημείο προσάρτησης, ρυθμίστε την
μεταβλητή CD_MOUNTPTS
του make. Τα αναγκαία
distfiles θα χρησιμοποιηθούν αυτόματα αν υπάρχουν στο δισκάκι.
Πρέπει να γνωρίζετε ότι οι άδειες μερικών ports δεν επιτρέπουν την διανομή τους σε CD-ROM. Αυτό μπορεί να οφείλεται π.χ. στο ότι πρέπει να συμπληρώσετε μια φόρμα εγγραφής πριν “κατεβάσετε” την εφαρμογή, ή στο ότι δεν επιτρέπεται η επαναδιανομή, ή σε κάποιο άλλο λόγο. Εάν θέλετε να εγκαταστήσετε ένα port που δεν περιλαμβάνεται στο CD-ROM, θα χρειαστεί να είστε συνδεδεμένος στο Διαδίκτυο για να το επιτύχετε.
Το σύστημα των ports χρησιμοποιεί το fetch(3) για να
“κατεβάσει” τα αρχεία. Το fetch(3)
χρησιμοποιεί διάφορες μεταβλητές περιβάλλοντος, περιλαμβανομένων των
FTP_PASSIVE_MODE
, FTP_PROXY
, και
FTP_PASSWORD
. Ίσως χρειαστεί να ρυθμίσετε μία ή
περισσότερες αν βρίσκεστε πίσω από ένα firewall, ή ίσως να χρειαστεί
να χρησιμοποιήσετε έναν FTP/HTTP proxy. Δείτε το fetch(3) για
μια πλήρη λίστα των μεταβλητών αυτών.
Για χρήστες που δεν μπορούν να είναι συνδεδεμένοι όλη την ώρα,
διατίθεται η επιλογή
make
.
Απλώς εκτελέστε την εντολή στον κατάλογο
(fetch
/usr/ports
) και τα απαραίτητα αρχεία
θα “κατέβουν” για εσάς. Η εντολή αυτή θα λειτουργήσει
και σε υποκαταλόγους, όπως για παράδειγμα:
/usr/ports/net
. Προσέξτε ότι αν ένα port
εξαρτάται από βιβλιοθήκες ή άλλα ports, η εντολή αυτή
δεν θα ανακτήσει τα distfiles τους.
Αντικαταστήστε το fetch
με το
fetch-recursive
αν θέλετε μαζί με το port να ανακτήσετε και όλες τις
εξαρτήσεις του.
Μπορείτε να μεταγλωττίσετε όλα τα ports σε μία κατηγορία ή
ακόμα και σε όλες, εκτελώντας το make
στον αρχικό
κατάλογο, όπως με την προαναφερθείσα
make
μέθοδο.
Αυτό όμως είναι επικίνδυνο, γιατί μερικά ports δεν μπορούν να
συνυπάρχουν. Σε άλλες περιπτώσεις, μερικά ports μπορεί να
εγκαταστήσουν δυο διαφορετικά αρχεία με το με το ίδιο
όνομα.fetch
Σε μερικές σπάνιες περιπτώσεις, οι χρήστες μπορεί να χρειάζεται
να ανακτήσουν τα tarballs από ένα site διαφορετικό από τα
MASTER_SITES
(η τοποθεσία από όπου
“κατεβαίνουν” τα αρχεία). Μπορείτε να αλλάξετε την
επιλογή MASTER_SITES
με την ακόλουθη
εντολή:
#
cd /usr/ports/directory
#
make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Σε αυτό το παράδειγμα αλλάξαμε την επιλογή
MASTER_SITES
σε ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/
.
Μερικά ports επιτρέπουν (ή απαιτούν) να δώσετε επιλογές
μεταγλώττισης που μπορούν να ενεργοποιήσουν/απενεργοποιήσουν
τμήματα της εφαρμογής που είναι αχρείαστα, συγκεκριμένες επιλογές
ασφαλείας, και άλλες τροποποιήσεις. Κοινά παραδείγματα τέτοιων
ports είναι τα www/firefox
,
security/gpgme
, και το
mail/sylpheed-claws
. Όταν
υπάρχουν διαθέσιμες τέτοιες επιλογές, θα εμφανιστεί στην οθόνη
σας σχετικό μήνυμα.
Μερικές φορές είναι χρήσιμο (ή επιτακτικό) να χρησιμοποιήσετε
ένα διαφορετικό κατάλογο εργασίας και εγκατάστασης. Οι μεταβλητές
WRKDIRPREFIX
και PREFIX
μπορούν να παρακάμψουν τους προεπιλεγμένους καταλόγους. Για
παράδειγμα, η εντολή:
#
make WRKDIRPREFIX=/usr/home/example/ports install
θα μεταγλωττίσει το port στο
/usr/home/example/ports
και θα εγκαταστήσει
τα πάντα στο /usr/local
, ενώ η εντολή:
#
make PREFIX=/usr/home/example/local install
θα μεταγλωττίσει το port στο /usr/ports
και
θα το εγκαταστήσει στο
/usr/home/example/local
.
Και φυσικά η εντολή:
#
make WRKDIRPREFIX=../ports PREFIX=../local install
θα συνδυάσει και τα δυο (είναι πολύ μεγάλη για να την δείξουμε εδώ, άλλα πρέπει να πήρατε την γενική ιδέα).
Εναλλακτικά, αυτές οι μεταβλητές μπορούν να ρυθμιστούν ως μέρος του περιβάλλοντος σας. Διαβάστε την σελίδα manual για το κέλυφος σας, για να βρείτε τις σχετικές οδηγίες.
Μερικά ports που χρησιμοποιούν το imake
(μέρος του X Window System) δεν συνεργάζονται σωστά με το
PREFIX
, και επιμένουν να εγκατασταθούν
στο /usr/X11R6
. Όμοια, μερικά Perl
ports αγνοούν το PREFIX
και εγκαθίστανται στο
δέντρο Perl. Το να κάνετε αυτά τα ports να σέβονται το
PREFIX
είναι μία δύσκολη ή αδύνατη
δουλειά.
Όταν μεταγλωττίζετε κάποια ports, μπορεί να εμφανιστεί στην
οθόνη σας ένα μενού επιλογών (βασισμένο σε ncurses) το οποίο να σας
επιτρέπει να αλλάξετε διάφορες επιλογές μεταγλώττισης. Δεν είναι
σπάνιο κάποιοι χρήστες να θέλουν να επισκεφτούν ξανά αυτό το μενού,
για να προσθέσουν, να αφαιρέσουν ή να αλλάξουν κάποιες επιλογές,
μετά την μεταγλώττιση του port. Μια επιλογή είναι να μετακινηθείτε
στον κατάλογο του port και να γράψετε
make
, με το
οποίο θα εμφανιστεί ξανά το μενού με τις προηγούμενες ρυθμίσεις σας
ήδη επιλεγμένες. Μια άλλη δυνατότητα, είναι να χρησιμοποιήσετε την
εντολή config
make
,
με την οποία θα δείτε όλες τις επιλεγμένες ρυθμίσεις του port.
Τέλος, μια ακόμα επιλογή είναι να εκτελέσετε την εντολή
showconfig
make
η οποία
θα αφαιρέσει όλες τις αποθηκευμένες επιλογές και θα σας επιτρέψει να
ξεκινήσετε ξανά από την αρχή. Όλες αυτές οι επιλογές, και ακόμα
περισσότερες, εξηγούνται στη σελίδα manual του ports(7).rmconfig
Τώρα που γνωρίσατε πως να εγκαθιστάτε ports, πιθανώς θα
αναρωτιέστε πως αφαιρούνται, στην περίπτωση που εγκαταστήσατε ένα
και αργότερα αποφασίσατε ότι εγκαταστήσατε το λάθος port.
Θα αφαιρέσουμε το προηγούμενο παράδειγμα (που ήταν το
lsof
για όσους δεν το πρόσεξαν). Τα ports
αφαιρούνται όπως και τα πακέτα (το αναλύσαμε στην ενότητα Χρησιμοποιώντας το Σύστημα των
Πακέτων), χρησιμοποιώντας την
εντολή pkg_delete(1):
#
pkg_delete lsof-4.57
Αρχικά, δείτε τα παρωχημένα ports για τα οποία υπάρχουν διαθέσιμες νεότερες εκδόσεις στην Συλλογή των Ports, με την εντολή pkg_version(1):
#
pkg_version -v
Μόλις ανανεώσετε την Συλλογή των Ports, πρέπει να ελέγξετε το
αρχείο /usr/ports/UPDATING
, πριν επιχειρήσετε
την αναβάθμιση ενός port. Αυτό το αρχείο περιγράφει διάφορα πιθανά
προβλήματα, καθώς και ενδεχόμενα πρόσθετα βήματα που πρέπει να
εκτελέσετε όταν ανανεώνετε ένα port. Παραδείγματα των παραπάνω,
είναι η αλλαγή μορφής κάποιων αρχείων, αλλαγή στην τοποθεσία
των αρχείων ρυθμίσεων, ή άλλες ασυμβατότητες
με παλαιότερες εκδόσεις.
Αν το UPDATING
αναιρεί κάτι που διαβάσατε
εδώ, θεωρήστε ότι ισχύει το UPDATING
.
Το εργαλείο portupgrade είναι
σχεδιασμένο για να αναβαθμίζει εύκολα εγκατεστημένα ports.
Διατίθεται από το
ports-mgmt/portupgrade
port.
Εγκαταστήστε το όπως κάθε port, χρησιμοποιώντας την εντολή
make
:install clean
#
cd /usr/ports/ports-mgmt/portupgrade
#
make install clean
Η εντολή pkgdb -F
θα διαβάσει και θα
διορθώσει όλες τις ασυνέπειες που ίσως υπάρχουν στη λίστα των
εγκατεστημένων ports. Είναι καλή ιδέα είναι να την εκτελείτε
συχνά, ενδεχομένως πριν από κάθε αναβάθμιση.
Όταν εκτελείτε το portupgrade -a
, το
portupgrade θα αρχίσει να αναβαθμίζει
όλα τα παρωχημένα ports που είναι εγκατεστημένα στο σύστημα σας.
Χρησιμοποιήστε την επιλογή -i
αν θέλετε να σας
ρωτά για επιβεβαίωση για κάθε ξεχωριστή αναβάθμιση.
#
portupgrade -ai
Αν θέλετε να αναβαθμίσετε μόνο μία συγκεκριμένη εφαρμογή, και
όχι όλα τα διαθέσιμα ports, χρησιμοποιήστε το
portupgrade
.
Συμπεριλάβετε την επιλογή pkgname
-R
αν το
portupgrade πρέπει πρώτα να αναβαθμίσει
όλα τα ports που απαιτούνται για την συγκεκριμένη εφαρμογή.
#
portupgrade -R firefox
Για να χρησιμοποιήσετε πακέτα αντί για ports στην εγκατάσταση,
δώστε την επιλογή -P
. Με αυτή την επιλογή το
portupgrade αναζητά
τους τοπικούς καταλόγους που ορίζονται στο PKG_PATH
,
ή ανακτά τα πακέτα από απομακρυσμένα sites εάν δεν βρεθούν τοπικά.
Αν τα πακέτα δεν μπορούν να ανακτηθούν με τους παραπάνω τρόπους, το
portupgrade θα χρησιμοποιήσει τα ports.
Για να αποφύγετε εντελώς την χρήση των ports, καθορίστε την επιλογή
-PP
.
#
portupgrade -PR gnome2
Για να ανακτήσετε απλώς τα distfiles (ή τα πακέτα, αν έχετε
ορίσει την επιλογή -P
) χωρίς να μεταγλωττίσετε ή να
εγκαταστήσετε τίποτα, χρησιμοποιήστε το -F
.
Για περισσότερες πληροφορίες, δείτε το portupgrade(1).
Το Portmanager είναι ένα ακόμα
εργαλείο για εύκολη αναβάθμιση εγκατεστημένων ports. Διατίθεται
από το ports-mgmt/portmanager
port:
#
cd /usr/ports/ports-mgmt/portmanager
#
make install clean
Όλα τα εγκατεστημένα ports μπορούν να αναβαθμιστούν χρησιμοποιώντας αυτή την απλή εντολή:
#
portmanager -u
Μπορείτε να προσθέσετε την επιλογή -ui
στην παραπάνω εντολή (portmanager -u -ui
)
για να ερωτηθείτε να επιβεβαιώσετε κάθε βήμα που θα εκτελέσει το
Portmanager.
Το Portmanager μπορεί επίσης
να χρησιμοποιηθεί για να εγκαταστήσετε νέα ports στο σύστημα.
Σε αντίθεση με την εντολή
make
, το
Portmanager θα αναβαθμίσει όλες
τις εξαρτήσεις πριν την μεταγλώττιση και εγκατάσταση του
επιλεγμένου port.install clean
#
portmanager x11/gnome2
Αν υπάρχουν προβλήματα που σχετίζονται με τις εξαρτήσεις ενός επιλεγμένου port, μπορείτε να χρησιμοποιήσετε το Portmanager για να τις επανα-μεταγλωττίσει όλες με την σωστή σειρά. Μόλις τελειώσει με τις εξαρτήσεις, θα επανα-μεταγλωττίσει και το προβληματικό port.
#
portmanager graphics/gimp
-f
Για περισσότερες πληροφορίες δείτε τη σελίδα manual portmanager(1).
Το Portmaster είναι ένα ακόμα
εργαλείο για την αναβάθμιση των εγκατεστημένων ports. Το
Portmaster σχεδιάστηκε ώστε να
χρησιμοποιεί τα εργαλεία που παρέχει το “βασικό”
σύστημα (δεν εξαρτάται από άλλα ports) και χρησιμοποιεί τις
πληροφορίες του /var/db/pkg
για να καθορίσει ποια ports θα αναβαθμίσει. Είναι διαθέσιμο μέσω
του port
ports-mgmt/portmaster
:
#
cd /usr/ports/ports-mgmt/portmaster
#
make install clean
Το Portmaster ομαδοποιεί τα ports σε τέσσερις κατηγορίες:
Root ports (δεν εξαρτώνται από άλλα, και ούτε άλλα εξαρτώνται από αυτά)
Trunk ports (δεν εξαρτώνται από άλλα, ωστόσο κάποια πακέτα εξαρτώνται από αυτά)
Branch ports (έχουν εξαρτήσεις και προς τις δύο κατευθύνσεις)
Leaf ports (εξαρτώνται από άλλα, αλλά όχι το αντίθετο)
Μπορείτε να δείτε μια λίστα όλων των εγκατεστημένων ports και
να ψάξετε για ενημερωμένες εκδόσεις, χρησιμοποιώντας την επιλογή
-L
:
#
portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports
===>>> 137 total installed ports
===>>> 83 have new versions availableΜπορείτε να αναβαθμίσετε όλα τα εγκατεστημένα ports με την παρακάτω απλή εντολή:
#
portmaster -a
Από προεπιλογή, το Portmaster
θα δημιουργήσει αντίγραφο ασφαλείας του εγκατεστημένου πακέτου
πριν το διαγράψει. Αν η εγκατάσταση της νέας έκδοσης είναι
επιτυχής, το Portmaster θα σβήσει το
αντίγραφο αυτό. Αν χρησιμοποιήσετε την επιλογή
-b
, το Portmaster δεν
θα σβήσει αυτόματα το αντίγραφο. Αν χρησιμοποιήσετε την επιλογή
-i
, θα θέσετε το
Portmaster σε διαδραστική λειτουργία,
όπου θα σας ζητάει επιβεβαίωση πριν την αναβάθμιση κάθε
port.
Αν αντιμετωπίσετε λάθη κατά τη διαδικασία της αναβάθμισης,
μπορείτε να χρησιμοποιήσετε την επιλογή -f
για
να αναβαθμίσετε και να μεταγλωττίσετε ξανά όλα τα ports:
#
portmaster -af
Μπορείτε επίσης να χρησιμοποιήσετε το Portmaster για να εγκαταστήσετε νέα ports στο σύστημα σας, αναβαθμίζοντας και όλες τις εξαρτήσεις τους πριν τη μεταγλώττιση και εγκατάσταση τους:
#
portmaster shells/bash
Παρακαλούμε δείτε τη σελίδα manual του portmaster(8) για περισσότερες πληροφορίες.
Η Συλλογή των Ports καταναλώνει διαθέσιμο χώρο στο δίσκο με την
πάροδο του χρόνου. Μετά την μεταγλώττιση και εγκατάσταση λογισμικού
από τα ports, πρέπει πάντα να θυμάστε να καθαρίζετε τους προσωρινούς
καταλόγους work
χρησιμοποιώντας την εντολή
make
. Mπορείτε να
καθαρίσετε όλη την Συλλογή των Ports με την ακόλουθη εντολή:clean
#
portsclean -C
Με την πάροδο του χρόνου, θα συσσωρευτούν πολλά αρχεία διανομής
πηγαίου κώδικα στον κατάλογο
distfiles
.
Μπορείτε να τα αφαιρέσετε χειροκίνητα, ή μπορείτε να χρησιμοποιήσετε
την ακόλουθη εντολή για να διαγράψετε όλα τα distfiles που δεν
σχετίζονται πλέον με κανένα port:
#
portsclean -D
Ή για να αφαιρέσετε όλα τα distfiles που δεν σχετίζονται με κανένα port που βρίσκεται εγκατεστημένο στο σύστημα σας:
#
portsclean -DD
Το εργαλείο portsclean
εγκαθίσταται ως μέρος
του portupgrade.
Μην ξεχνάτε να αφαιρείτε τα εγκατεστημένα ports όταν δεν τα
χρειάζεστε πλέον. Ένα καλό εργαλείο για να αυτοματοποιηθεί αυτή η
εργασία, είναι το port
ports-mgmt/pkg_cutleaves
.
Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την
τεκμηρίωση πριν να επικοινωνήσετε με την
<questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην
<doc@FreeBSD.org>.