Το portage είναι πλήρως παραμετροποιήσιμο μέσω διαφόρων μεταβλητών που μπορείτε να θέσετε μέσα στο αρχείο ρυθμίσεων ή ως μεταβλητές περιβάλλοντος. 1.9 2008-02-28
Ρύθμιση του Portage

Όπως σημειώθηκε προηγουμένως, το Portage μπορεί να ρυθμιστεί μέσω αρκετών μεταβλητών που θα πρέπει να ορίσετε στο /etc/make.conf. Παρακαλώ ανατρέξτε στην σελίδα man του make.conf για να δείτε περισσότερες και πλήρεις πληροφορίες:

$ man make.conf
Επιλογές Σχετικές με Χτίσιμο Εφαρμογών Ρυθμίσεις και Επιλογές του Μεταφραστή

Όταν το portage χτίζει εφαρμογές, περνάει τα περιεχόμενα των παρακάτω μεταβλητών στον μεταφραστή και στο σενάριο ρύθμισης:

  • CFLAGS & CXXFLAGS ορίζουν τα επιθυμητά flags του μεταγλωττιστή για C και C++ compiling.
  • CHOST ορίζουν τις πληροφορίες για τον build host για το σενάριο ρύθμισης των εφαρμογών
  • MAKEOPTS περνιέται στην εντολή make και συνήθως χρησιμοποιείται για να ορίσει την ποσότητα του παραλληλισμού που θα χρησιμοποιηθεί κατά την διάρκεια της μεταγλώττισης. Περισσότερες πληροφορίες σχετικά με τις επιλογές της make μπορούν να βρεθούν στις σελίδες man της make.

Η μεταβλητή USE επίσης χρησιμοποιείται κατά την διάρκεια της ρύθμισης και της μεταγλώττισης αλλά έχει αναλυθεί με μεγάλη λεπτομέρεια σε προηγούμενα κεφάλαια.

Επιλογές Συγχώνευσης

Όταν το Portage συγχωνεύσει μια καινούρια έκδοση ενός συγκεκριμένου τίτλου λογισμικού, θα αφαιρέσει όλα τα απαρχαιωμένα αρχεία της παλιάς έκδοσης από το σύστημά σας. Το Portage δίνει μια καθυστέρηση 5 δευτερολέπτων στον χρήστη πριν αφαιρέσει την παλιά έκδοση. Αυτά τα 5 δευτερόλεπτα ορίζονται από την μεταβλητή CLEAN_DELAY.

Μπορείτε να πείτε στην emerge να χρησιμοποιεί συγκεκριμένες επιλογές κάθε φορά που εκτελείται, με τον ορισμό της EMERGE_DEFAULT_OPTS. Ορισμένες χρήσιμες επιλογές θα ήταν οι --ask, --verbose, --tree, και ούτω καθεξής.

Προστασία Αρχείων Ρυθμίσεων Προστατευόμενες Περιοχές του Portage

Το Portage αντικαθιστά αρχεία που παρέχονται από νεότερες εκδόσεις ενός τίτλου λογισμικού αν τα αρχεία δεν είναι αποθηκευμένα μέσα σε μια προστατευόμενη περιοχή. Αυτές οι προστατευόμενες περιοχές ορίζονται μέσω της μεταβλητής CONFIG_PROTECT και είναι γενικά περιοχές με αρχείων ρυθμίσεων. Η λίστα των φακέλων χωρίζεται με κενά.

Ένα αρχείο που θα γραφτεί σε μια τέτοια προστατευόμενη περιοχή θα μετονομαστεί και ο χρήστης θα προειδοποιηθεί για την παρουσία της καινούριας έκδοσης του (προβλεπόμενου) αρχείου ρυθμίσεων.

Μπορείτε να μάθετε για την τρέχουσα ρύθμιση της CONFIG_PROTECT από την έξοδο της emerge --info:

$ emerge --info | grep 'CONFIG_PROTECT='

Περισσότερες πληροφορίες για την Προστασία Αρχείων Ρυθμίσεων του Portage είναι διαθέσιμες μέσα στην ενότητα CONFIGURATION FILES της σελίδας man της emerge:

$ man emerge
Εξαιρώντας Φακέλους

Για να αφήσετε συγκεκριμένους φακέλους από τις προστατευόμενες περιοχές 'απροστάτευτους' μπορείτε να χρησιμοποιήσετε την μεταβλητή CONFIG_PROTECT_MASK.

Ρυθμίσεις Λήψης Τοποθεσίες Διακομιστών

Όταν οι επιθυμητές πληροφορίες ή δεδομένα δεν είναι διαθέσιμες στο σύστημά σας, το Portage θα τις λάβει από το Internet. Οι τοποθεσίες των διακομιστών για τις διάφορες πληροφορίες και τα κανάλια δεδομένων ορίζονται στις ακόλουθες μεταβλητές:

  • GENTOO_MIRRORS ορίζει μια λίστα από τοποθεσίες διακομιστών που περιέχουν πηγαίο κώδικα (distfiles)
  • PORTAGE_BINHOST ορίζει μια συγκεκριμένη τοποθεσία διακομιστή που περιέχει προ-κτισμένα πακέτα για το σύστημά σας

Μια τρίτη ρύθμιση αφορά την τοποθεσία του διακομιστή rsync που χρησιμοποιείτε όταν ενημερώνετε το δέντρο του Portage:

  • SYNC ορίζει ένα συγκεκριμένο διακομιστή τον οποίο το Portage χρησιμοποιεί για να φέρει το δέντρο του

Οι μεταβλητές GENTOO_MIRRORS και SYNC μπορούν να οριστούν αυτόματα μέσω τις εφαρμογής mirrorselect. Χρειάζεται πρώτα να εκτελέσετε emerge mirrorselect για να μπορέσετε να την χρησιμοποιήσετε. Για περισσότερες πληροφορίες, δείτε την online βοήθεια της mirrorselect:

# mirrorselect --help

Αν το περιβάλλον σας απαιτεί την χρήση διακομιστή διαμεσολαβητή, μπορείτε να χρησιμοποιήσετε τις μεταβλητές http_proxy, ftp_proxy και RSYNC_PROXY για να δηλώσετε ένα διαμεσολαβητή.

Εντολές Λήψης

Όταν το Portage χρειάζεται να λάβει πηγαίο κώδικα, χρησιμοποιεί εξ ορισμού το wget. Μπορείτε να το αλλάξετε αυτό μέσω της μεταβλητής FETCHCOMMAND.

Το Portage μπορεί να συνεχίσει την λήψη πηγαίου κώδικα που έχει ληφθεί μερικώς. Χρησιμοποιεί εξ ορισμού την wget, αλλά αυτό μπορεί να αλλαχθεί μέσω της μεταβλητής RESUMECOMMAND.

Σιγουρευτείτε ότι οι FETCHCOMMAND και RESUMECOMMAND αποθηκεύουν τον πηγαίο κώδικα στην σωστή τοποθεσία. Μέσα στις μεταβλητές θα πρέπει να χρησιμοποιήσετε τα \${URI} και \${DISTDIR} για να δείξετε στην τοποθεσία του πηγαίου κώδικα και των distfiles αντίστοιχα.

Μπορείτε επίσης να ορίσετε ενέργειες ανά πρωτόκολλο με τις FETCHCOMMAND_HTTP, FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP, RESUMECOMMAND_FTP, και ούτω καθεξής.

Επιλογές Rsync

Δεν μπορείτε να μεταβάλετε την εντολή rsync που χρησιμοποιείται από το Portage για να ενημερώσει το δέντρο του Portage, αλλά μπορείτε να θέσετε κάποιες μεταβλητές που σχετίζονται με την εντολή rsync:

  • PORTAGE_RSYNC_OPTS ορίζει έναν αριθμό από εξ ορισμού μεταβλητές που χρησιμοποιούνται κατά την διάρκεια του συγχρονισμού, κάθε μια διαχωριζόμενη με κενό από την άλλη. Αυτές δεν θα πρέπει να τροποποιηθούν εκτός αν ξέρετε ακριβώς τι κάνετε. Σημειώστε ότι ορισμένες απόλυτα απαιτούμενες επιλογές θα χρησιμοποιούνται πάντα, ακόμη και αν η PORTAGE_RSYNC_OPTS είναι κενή.
  • PORTAGE_RSYNC_EXTRA_OPTS μπορεί να χρησιμοποιηθεί για να θέσει επιπρόσθετες επιλογές όταν γίνεται συγχρονισμός. Κάθε επιλογή θα πρέπει να διαχωρίζεται με κενό.
    • --timeout=<number>: Αυτή ορίζει τον αριθμό των δευτερολέπτων που μια σύνδεση rsync μπορεί να είναι αδρανής μέχρι να δει το rsync ότι το χρονικό όριο της σύνδεσης έχει λήξει. Αυτή η μεταβλητή έχει εξ ορισμού τιμή 180 αλλά οι χρήστες dialup ή άτομα με αργούς υπολογιστές ίσως να θέλουν να την θέσουν 300 ή παραπάνω.
    • --exclude-from=/etc/portage/rsync_excludes: Αυτή δείχνει σε ένα αρχείο που απαριθμεί τα πακέτα και/ή τις κατηγορίες που η rsync θα πρέπει να αγνοεί κατά την διάρκεια της διαδικασίας της ενημέρωσης. Σε αυτή την περίπτωση, δείχνει στο /etc/portage/rsync_excludes. Παρακαλώ διαβάστε το Χρησιμοποιώντας ένα Υποσύνολο του Δέντρου του Portage για την σύνταξη αυτού του αρχείου.
    • --quiet: Μειώνει την έξοδο προς την οθόνη
    • --verbose: Εκτυπώνει μια πλήρη λίστα των αρχείων
    • --progress: Εκτυπώνει μια ένδειξη προόδου για κάθε αρχείο
  • PORTAGE_RSYNC_RETRIES ορίζει πόσες φορές η rsync θα πρέπει να προσπαθεί να συνδεθεί με το mirror το οποίο δείχνει η SYNC μεταβλητή πριν τα παρατήσει. Αυτή η μεταβλητή έχει εξ ορισμού τιμή 3.

Για περισσότερες πληροφορίες για αυτές τις επιλογές και άλλες, παρακαλώ διαβάστε το man rsync.

Ρύθμιση του Gentoo Επιλογή Κλάδου

Μπορείτε να επιλέξετε τον προκαθορισμένο κλάδο με την μεταβλητή ACCEPT_KEYWORDS. Η εξ ορισμού τιμή της είναι ο σταθερός κλάδος της αρχιτεκτονικής σας. Περισσότερες πληροφορίες για τους κλάδους του Gentoo μπορούν να βρεθούν στο επόμενο κεφάλαιο.

Χαρακτηριστικά του Portage

Μπορείτε να ενεργοποιήσετε συγκεκριμένα χαρακτηριστικά του Portage μέσω της μεταβλητής FEATURES. Τα Χαρακτηριστικά του Portage έχουν αναφερθεί στα προηγούμενα κεφάλαια, όπως Χαρακτηριστικά του Portage.

Συμπεριφορά του Portage Διαχείριση Πόρων

Με την μεταβλητή PORTAGE_NICENESS μπορείτε να αυξήσετε ή να μειώσετε την τιμή nice με την οποία τρέχει το Portage. Η τιμή PORTAGE_NICENESS προστίθεται στην τρέχουσα τιμή nice.

Για περισσότερες πληροφορίες για τις τιμές nice, δείτε την σελίδα man της nice:

$ man nice
Συμπεριφορά Εξόδου

Η NOCOLOR, η οποία είναι προκαθορισμένη σε "false", ορίζει αν το Portage θα πρέπει να απενεργοποιήσει την χρήση χρωματισμένης εξόδου μηνυμάτων.