Οι εγκαταστάσεις του Gentoo δουλεύουν με ένα αρχείο stage3. Σε αυτό το κεφάλαιο περιγράφουμε πως αποσυμπιέζετε ένα αρχείο stage3 και πως να ρυθμίσετε το Portage. 10.5 2010-08-28
Εγκαθιστώντας ένα Stage Tarball Ρυθμίζοντας την Ημερομηνία/Ώρα Σωστά

Πριν συνεχίσετε πρέπει να ελέγξετε την ημερομηνία/ώρα και να την ενημερώσετε. Ένα ρολόι που δεν έχει ρυθμιστεί σωστά μπορεί να οδηγήσει σε περίεργα αποτελέσματα στο μέλλον!

Για να επιβεβαιώσετε την τρέχουσα ημερομηνία/ώρα, εκτελέστε date:

# date
Fri Mar 29 16:21:18 UTC 2005

Αν η ημερομηνία/ώρα που εμφανίζεται είναι λάθος, ενημερώστε τα χρησιμοποιώντας την date ΜΜΗΗωωλλΕΕΕΕ σύνταξη (Μήνας, Ημέρα, ώρα, λεπτά και Έτος). Σε αυτό το σημείο, θα πρέπει να χρησιμοποιείτε ώρα UTC. Θα μπορείτε να ορίσετε την ώρα ζώνης σας αργότερα. Για παράδειγμα, για να ορίσουμε την ημερομηνία σε 29 Μαρτίου, 16:21 του έτους 2005:

# date 032916212005
Κάνοντας Επιλογές

Στο επόμενο βήμα θα χρειαστεί να εγκαταστήσετε το stage3 tarball στο σύστημά σας. Έχετε την επιλογή να κάνετε λήψη του απαιτούμενου tarball από το Διαδίκτυο ή, αν έχετε κάνει εκκίνηση από ένα από τα Universal CD του Gentoo, να το αντιγράψτε από το δίσκο. Στις περισσότερες περιπτώσεις, η εντολή uname -m μπορεί να χρησιμοποιηθεί για να σας βοηθήσει να αποφασίσετε ποιο αρχείο stage να κάνετε λήψη.

Τα CD Ελάχιστης Εγκατάστασης και τα LiveDVD δεν περιέχουν αρχεία stage3.

  • Προκαθορισμένο: Χρησιμοποιώντας ένα Stage από το Διαδίκτυο
  • Εναλλακτικά: Χρησιμοποιώντας ένα Stage από το Universal CD
Προκαθορισμένο: Χρησιμοποιώντας ένα Stage από το Διαδίκτυο Λαμβάνοντας το Stage Tarball

Πηγαίνετε στο σημείο προσάρτησης του Gentoo στο οποίο προσαρτήσατε τα συστήματα αρχείων σας (το πιο πιθανό στο /mnt/gentoo):

# cd /mnt/gentoo

Ανάλογα με το μέσο εγκατάστασης σας, έχετε ορισμένα εργαλεία διαθέσιμα για να λάβετε ένα stage. Αν έχετε το links διαθέσιμο, τότε μπορείτε να πλοηγηθείτε άμεσα στη λίστα mirror του Gentoo και να επιλέξετε ένα mirror κοντά σε εσάς.

Αν δεν έχετε διαθέσιμο το links θα πρέπει να έχετε το lynx στη διάθεσή σας. Αν πρέπει να περάσετε από κάποιον διαμεσολαβητή, εξάγετε τις μεταβλητές http_proxy και ftp_proxy:

# export http_proxy="http://proxy.server.com:port"
# export ftp_proxy="http://proxy.server.com:port"

Θα θεωρήσουμε για τώρα ότι έχετε το links στη διάθεσή σας.

Μετακινηθείτε στον κατάλογο . Εκεί θα πρέπει να δείτε όλα τα διαθέσιμα αρχεία stage για την αρχιτεκτονική σας (μπορεί να είναι αποθηκευμένα σε υποκαταλόγους με ονόματα ανάλογα με την κάθε αρχιτεκτονική). Επιλέξτε ένα και πατήστε D για να το λάβετε. Όταν ολοκληρωθεί η λήψη, πατήστε Q για να βγείτε από τον πλοηγό.

Οι περισσότεροι χρήστες PC θα πρέπει να χρησιμοποιήσουν το αρχείο stage3. Όλα τα σύγχρονα PC θεωρούνται i686. Αν χρησιμοποιείτε ένα παλιό μηχάνημα, μπορείτε να ελέγξετε την λίστα των συμβατών με i686 επεξεργαστών στη Wikipedia. Παλιοί επεξεργαστές όπως οι Pentium, οι K5, οι K6, ή οι Via C3 και οι παρόμοιοι απαιτούν το πιο γενικό x86 stage3. Επεξεργαστές παλιότεροι από τους i486 δεν υποστηρίζονται.

# links http://www.gentoo.org/main/en/mirrors.xml

(Αν χρειάζεστε υποστήριξη για διαμεσολαβητή με το links:)
# links -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/en/mirrors.xml

Σιγουρευτείτε ότι λάβατε ένα stage3 tarball - εγκαταστάσεις χρησιμοποιώντας ένα stage1 ή stage2 tarball δεν υποστηρίζονται πλέον.

Αν θέλετε να ελέγξετε την ακεραιότητα του ληφθέντος stage tarball, χρησιμοποιήστε το md5sum και συγκρίνετε το αποτέλεσμα με το MD5 checksum που παρέχεται στο mirror.

# md5sum -c .DIGESTS
: OK
Αποσυμπιέζοντας το Stage Tarball

Τώρα αποσυμπιέστε το ληφθέν stage στο σύστημά σας. Χρησιμοποιούμε το tar για να συνεχίσουμε καθώς είναι η πιο εύκολη μέθοδος:

# tar xvjpf stage3-*.tar.bz2

Σιγουρευτείτε ότι χρησιμοποιήσατε τις ίδιες επιλογές (xvjpf). Το x συμβολίζει την Εξαγωγή, το v για Βερμπαλιστικό για να βλέπετε τι συμβαίνει κατά την διάδικασία της εξαγωγής (προαιρετικά), το j για Αποσυμπίεση με το bzip2, το p για Διατήρηση αδειών και το f υποδηλώνει ότι θέλουμε να κάνουμε εξαγωγή από αρχείο, όχι από την προκαθορισμένη είσοδο.

Τώρα που το stage έχει εγκατασταθεί, συνεχίστε με το Εγκαθιστώντας το Portage.

Εναλλακτικά: Χρησιμοποιώντας ένα Stage από το Universal CD Αποσυμπιέζοντας το Stage Tarball

Τα stages στο CD βρίσκονται στον κατάλογο /mnt/cdrom/stages. Για να δείτε μια λίστα από τα διαθέσιμα stage, χρησιμοποιήστε το ls:

# ls /mnt/cdrom/stages

Αν το σύστημα απαντήσει με ένα σφάλμα, μπορεί να χρειάζεται πρώτα να προσαρτήσετε το CD-ROM:

# ls /mnt/cdrom/stages
ls: /mnt/cdrom/stages: No such file or directory
# mount /dev/cdroms/cdrom0 /mnt/cdrom
# ls /mnt/cdrom/stages

Τώρα πηγαίνετε στο δικό σας σημείο προσάρτησης του Gentoo (συνήθως /mnt/gentoo):

# cd /mnt/gentoo

Θα αποσυμπιέσουμε τώρα το stage tarball της επιλογής σας. Θα το κάνουμε αυτό με το tar. Σιγουρευτείτε ότι χρησιμοποιείτε τις ίδιες επιλογές (xvjpf). Το όρισμα v είναι προαιρετικό και δεν υποστηρίζεται σε κάποιες εκδόσεις του tar. Στο επόμενο παράδειγμα, αποσυμπιέζουμε το stage tarball stage3-<subarch>-<release>.tar.bz2. Σιγουρευτείτε ότι αντικαταστήσατε το όνομα αρχείου του tarball με αυτό του δικού σας stage.

# tar xvjpf /mnt/cdrom/stages/stage3-<subarch>-<release>.tar.bz2

Τώρα που το stage έχει εγκατασταθεί, συνεχίστε με το Εγκαθιστώντας το Portage.

Εγκαθιστώντας το Portage Αποσυμπιέζοντας ένα Στιγμιότυπο του Portage Snapshot

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

Λήψη και Εγκατάσταση ενός Στιγμιοτύπου του Portage

Πηγαίνετε στο σημείο προσάρτησης όπου προσαρτήσατε το σύστημα αρχείων σας (το πιο πιθανό στο /mnt/gentoo):

# cd /mnt/gentoo

Σηκώστε το links (ή το lynx) και πηγαίνετε στη λίστα των Gentoo mirror. Διαλέξτε ένα mirror κοντά σε εσάς και ανοίξτε τον κατάλογο snapshots/. Από εκεί, κάντε λήψη του τελευταίου στιγμιότυπου του Portage (portage-latest.tar.bz2) επιλέγοντάς το και πατώντας D.

# links http://www.gentoo.org/main/en/mirrors.xml

Τώρα βγείτε από τον περιηγητή ιστού σας πατώντας Q. Θα έχετε πλέον ένα στιγμιότυπο του Portage αποθηκευμένο στο /mnt/gentoo.

Αν θέλετε να ελέγξετε την ακεραιότητα του ληφθέντος στιγμιότυπου, χρησιμοποιήστε το md5sum και συγκρίνετε το αποτέλεσμα με το MD5 checksum που παρέχεται στο mirror.

# md5sum -c portage-latest.tar.bz2.md5sum
portage-latest.tar.bz2: OK

Στο επόμενο βήμα, αποσυμπιέζουμε το στιγμιότυπο του Portage στο σύστημα αρχείων σας. Σιγουρευτείτε ότι χρησιμοποιήσατε την ίδια ακριβώς εντολή· η τελευταία επιλογή είναι ένα κεφαλαίο C, όχι ένα c.

# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
Ρυθμίζοντας τις Επιλογές Μεταγλώττισης Εισαγωγή

Για να βελτιστοποιήσετε το Gentoo, μπορείτε να ορίσετε κάποιες μεταβλητές οι οποίες αλλάζουν την συμπεριφορά του Portage. Όλες αυτές οι μεταβλητές μπορούν να οριστούν ως μεταβλητές περιβάλλοντος (χρησιμοποιώντας την export) αλλά αυτό δεν είναι μόνιμο. Για να διατηρήσετε τις ρυθμίσεις σας, το Portage σας παρέχει το /etc/make.conf, ένα αρχείο ρυθμίσεων για το Portage. Είναι αυτό το αρχείο το οποίο θα επεξεργαστούμε τώρα.

Μια λίστα με όλες τις πιθανές μεταβλητές σαν σχόλιο μπορεί να βρεθεί στο /mnt/gentoo/usr/share/portage/config/make.conf.example. Για μια επιτυχή εγκατάσταση Gentoo θα χρειαστεί μόνο να ρυθμίσετε τις μεταβλητές που αναφέρονται παρακάτω.

Ανοίξτε τον αγαπημένο σας επεξεργαστή κειμένου (σε αυτόν τον οδηγό χρησιμοποιούμε το nano) ώστε να μπορείτε να τροποποιήσετε τις μεταβλητές βελτιστοποίησης που θα συζητήσουμε από εδώ και πέρα.

# nano -w /mnt/gentoo/etc/make.conf

Όπως πιθανώς παρατηρήσατε, το αρχείο make.conf.example έχει δομηθεί με ένα γενικό τρόπο: οι γραμμές σχολίων ξεκινούν με "#", οι άλλες γραμμές ορίζουν μεταβλητές χρησιμοποιώντας τη σύνταξη ΜΕΤΑΒΛΗΤΗ="περιεχόμενο". Το αρχείο make.conf χρησιμοποιεί την ίδια σύνταξη. Αρκετές από αυτές τις μεταβλητές συζητούνται παρακάτω.

CFLAGS και CXXFLAGS

Οι μεταβλητές CFLAGS και CXXFLAGS ορίζουν τις σημαίες βελτιστοποίησης για τον gcc μεταγλωττιστή C και C++ αντίστοιχα. Παρόλο που ορίζουμε τις συγκεκριμένες γενικά εδώ, θα πάρετε μέγιστη απόδοση αν βελτιστοποιήσετε τις σημαίες αυτές για κάθε πρόγραμμα ξεχωριστά. Ο λόγος είναι ότι κάθε πρόγραμμα είναι διαφορετικό.

Στο make.conf θα πρέπει να ορίσετε τις σημαίες βελτιστοποίησης που νομίζετε ότι θα κάνουν το σύστημά σας να αποκρίνεται όσο γίνεται καλύτερα γενικά. Μην βάζετε πειραματικές ρυθμίσεις σε αυτή τη μεταβλητή· η πάρα πολύ βελτιστοποίηση μπορεί να κάνει τα προγράμματα να συμπεριφέρονται άσχημα (να καταρρέουν, ή ακόμη χειρότερα, να δυσλειτουργούν).

Δεν θα εξηγήσουμε όλες τις πιθανές επιλογές βελτιστοποίησης. Αν θέλετε να τις μάθετε όλες, διαβάστε το GNU Online Manual(s) ή τη σελίδα πληροφοριών του gcc (info gcc -- δουλεύει μόνο σε ένα λειτουργικό σύστημα Linux). Το αρχείο make.conf.example από μόνο του περιέχει πολλά παραδείγματα και πληροφορίες· μην ξεχάσετε να το διαβάσετε και αυτό επίσης.

Μια πρώτη ρύθμιση είναι η σημαία -march= ή η -mcpu=, η οποία καθορίζει το όνομα της αρχιτεκτονικής που στοχεύουμε. Οι πιθανές επιλογές περιγράφονται στο αρχείο make.conf.example (ως σχόλια).

Μια πρώτη ρύθμιση είναι η σημαία -march= ή η -mtune=, η οποία καθορίζει το όνομα της αρχιτεκτονικής που στοχεύουμε. Οι πιθανές επιλογές περιγράφονται στο αρχείο make.conf.example (ως σχόλια).

Μια δεύτερη είναι η σημαία -O (αυτό είναι ένα κεφαλαίο O, όχι μηδέν), η οποία καθορίζει την κλάση βελτιστοποίησης του gcc. Οι πιθανές κλάσεις είναι οι s (για βελτιστοποίηση σε σχέση με το μέγεθος), 0 (μηδέν - για μη βελτιστοποίηση), 1, 2 ή ακόμη και 3 για περισσότερες σημαίες βελτιστοποίησης ταχύτητας (κάθε κλάση έχει τις ίδιες σημαίες με την προηγούμενη, συν μερικές επιπλέον). Η -O2 είναι η προτεινόμενη εξ ορισμού. Η -O3 είναι γνωστό ότι προκαλεί προβλήματα όταν χρησιμοποιείται σε ολόκληρο το σύστημα, οπότε προτείνουμε να παραμείνετε στο -O2.

Μια άλλη δημοφιλής σημαία βελτιστοποίησης είναι η -pipe (χρησιμοποιεί διασωληνώσεις αντί για προσωρινά αρχεία για επικοινωνία μεταξύ των διαφόρων σταδίων μεταγλώττισης). Δεν έχει καμιά επίπτωση στον παραγόμενο κώδικα, αλλά χρησιμοποιεί περισσότερη μνήμη. Σε συστήματα με λίγη μνήμη, το gcc μπορεί να σκοτωθεί. Σε αυτή την περίπτωση, μην χρησιμοποιήσετε αυτή τη σημαία.

Χρησιμοποιώντας την -fomit-frame-pointer (η οποία δεν κρατάει το δείκτη πλαισίου σε έναν καταχωρητή για συναρτήσεις που δεν χρειάζονται έναν) μπορεί να έχει σοβαρές επιπτώσεις στην αποσφαλμάτωση των εφαρμογών.

Όταν ορίζετε τις CFLAGS και CXXFLAGS, θα πρέπει να συνδυάσετε αρκετές σημαίες βελτιστοποίησης. Οι προκαθορισμένες τιμές που περιέχονται στο αρχείο stage3 που αποσυμπιέσατε θα πρέπει να είναι αρκετά καλές. Το παρακάτω παράδειγμα είναι απλά ένα παράδειγμα:

CFLAGS=""
# Χρησιμοποίησε τις ίδιες ρυθμίσεις και για τις δύο μεταβλητές
CXXFLAGS="${CFLAGS}"
CFLAGS=""   # Οι χρήστες Intel EM64T θα πρέπει να χρησιμοποιήσετε τη -march=core2
# Χρησιμοποίησε τις ίδιες ρυθμίσεις και για τις δύο μεταβλητές
CXXFLAGS="${CFLAGS}"
CFLAGS="   # Σιγουρευτείτε ότι αλλάξατε τη -march να ταιριάζει με τον τύπο του επεξεργαστή σας
# Χρησιμοποίησε τις ίδιες ρυθμίσεις και για τις δύο μεταβλητές
CXXFLAGS="${CFLAGS}"
Μπορεί να θέλετε επίσης να δείτε τον Οδηγό Βελτιστοποίησης Μεταγλώττισης για περισσότερες πληροφορίες για το πως οι διάφορες επιλογές μεταγλώττισης μπορούν να επηρεάσουν το σύστημά σας.
MAKEOPTS

Με τη MAKEOPTS ορίζετε πόσες παράλληλες μεταγλωττίσεις θα πρέπει να εμφανίζονται όταν εγκαθιστάτε ένα πακέτο. Μια καλή επιλογή είναι ο αριθμός των ΚΜΕ (ή των πυρήνων της ΚΜΕ) στο σύστημά σας συν ένα, αλλά αυτή η κατευθυντήρια γραμμή δεν λειτουργεί πάντα τέλεια.

MAKEOPTS="-j2"
Έτοιμοι, Θέσατε, Πάμε!

Ενημερώστε το δικό σας /mnt/gentoo/etc/make.conf με τις δικές προτιμήσεις και αποθηκεύστε (οι χρήστες του nano θα πρέπει να πατήσουν Ctrl-X). Είστε πλέον έτοιμοι να συνεχίσετε με την Εγκατάσταση του Βασικού Συστήματος του Gentoo.