diff options
author | Giorgos Keramidas <keramida@FreeBSD.org> | 2009-02-01 04:30:59 +0000 |
---|---|---|
committer | Giorgos Keramidas <keramida@FreeBSD.org> | 2009-02-01 04:30:59 +0000 |
commit | 405ab0431be9b4b6940f457a25dc66b2ac79a17f (patch) | |
tree | cc281255b1b569d8e77aa320351830d88ed4e40b /el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml | |
parent | 52ee421a00b6a536cd05a7c3e847f4e532965693 (diff) | |
download | doc-405ab0431be9b4b6940f457a25dc66b2ac79a17f.tar.gz doc-405ab0431be9b4b6940f457a25dc66b2ac79a17f.zip |
MFen: 1.239 -> 1.240 en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
Obtained from: FreeBSD Greek Documentation Project
Notes
Notes:
svn path=/head/; revision=33790
Diffstat (limited to 'el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml')
-rw-r--r-- | el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml | 224 |
1 files changed, 222 insertions, 2 deletions
diff --git a/el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml b/el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml index 47f96ffb81..0fed4926a8 100644 --- a/el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml @@ -7,7 +7,7 @@ $FreeBSD$ %SOURCE% en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml - %SRCID% 1.239 + %SRCID% 1.240 --> @@ -1712,7 +1712,227 @@ DOCSUPFILE?= /usr/share/examples/cvsup/doc-supfile</programlisting> <filename>/usr/src/UPDATING</filename> για τυχόν βήματα που θα πρέπει να εκτελέσετε πριν την εκκίνηση της μεταγλώττισης. Τα βήματα αυτά εξαρτώνται από την έκδοση του πηγαίου κώδικα που πρόκειται να - χρησιμοποιήσετε. Έπειτα, ακολουθήστε την παρακάτω διαδικασία:</para> + χρησιμοποιήσετε. Έπειτα, ακολουθήστε τη διαδικασία που περιγράφεται + στις επόμενες παραγράφους.</para> + + <para>Η διαδικασία αναβάθμισης η οποία περιγράφεται εδώ βασίζεται στην + υπόθεση ότι έχει ήδη εγκαταστήσει μια παλιότερη έκδοση του &os;, με + μια παλιά έκδοση του μεταγλωττιστή, ένα παλιό πυρήνα, + παλιά <quote>εργαλεία χρήστη</quote> και αρχεία ρυθμίσεων. Εργαλεία + χρήστη θεωρούνται τα βασικά εκτελέσιμα, οι βιβλιοθήκες και τα αρχεία + προγραμματισμού. Ο μεταγλωττιστής είναι κι αυτός μέρος από τα + <quote>εργαλεία χρήστη</quote> στο &os;, αλλά χρειάζεται ειδική + μεταχείριση κατά τη διαδικασία αναβάθμισης.</para> + + <para>Υποθέτουμε, επίσης, ότι έχετε ήδη κατεβάσει μια ενημερωμένη έκδοση + από τον πηγαίο κώδικα του συστήματος. Αν ο πηγαίος κώδικας στο + συγκεκριμένο σύστημα είναι από παλιότερη έκδοση, δείτε + το <xref linkend="synching"> για λεπτομερείς οδηγίες σχετικά με το πως + να συγχρονίσετε τον πηγαίο κώδικα σε μια νεότερη έκδοση.</para> + + <para>Η αναβάθμιση του &os; από τον πηγαίο κώδικά του φαίνεται να είναι + πολύ απλή διαδικασία. Στην πραγματικότητα, έχει κάποιες + ιδιαιτερότητες. Με τα χρόνια, καθώς οι εξαρτήσεις μεταξύ των βημάτων + της αναβάθμισης ανακαλύπτονται ή αναλύονται καλύτερα, οι + προγραμματιστές του &os; αλλάζουν σιγά-σιγά αυτή τη διαδικασία. Οι + παρακάτω παράγραφοι περιγράφουν τη λογική με την οποία έχει σχεδιασθεί + η προτεινόμενη διαδικασία αναβάθμισης.</para> + + <para>Μια επιτυχής διαδικασία αναβάθμισης πρέπει να καλύψει τουλάχιστον + τις δύο πιο βασικές ιδιαιτερότητες μιας αναβάθμισης από πηγαίο + κώδικα:</para> + + <itemizedlist> + <listitem> + <para>Ο παλιός μεταγλωττιστής συστήματος μπορεί να είναι ακατάλληλος + για μεταγλώττιση του νέου πυρήνα. (Και οι μεταγλωττιστές έχουν + ορισμένες προβλήματα, όπως κάθε άλλο λογισμικό.) Οπότε ο νέος + πυρήνας πρέπει να μεταγλωττιστεί με το νέο μεταγλωττιστή. Πιο + συγκεκριμένα, ο νέος μεταγλωττιστής πρέπει να αναβαθμιστεί πριν + από το νέο πυρήνα. Αυτό δε σημαίνει βέβαια ότι αυτός ο νέος + μεταγλωττιστής πρέπει να <emphasis>εγκατασταθεί</emphasis> πριν + μεταγλωττιστεί ο νέος πυρήνας.</para> + </listitem> + + <listitem> + <para>Τα νέα εργαλεία χρήστη από το βασικό σύστημα του &os; μπορεί + να εξαρτώνται από τον τρόπο λειτουργίας του νέου πυρήνα. Οπότε ο + νέος πυρήνας πρέπει να εγκατασταθεί πριν από το νέο βασικό + σύστημα.</para> + </listitem> + </itemizedlist> + + <para>Αυτά τα δύο σημεία είναι οι βασικοί λόγοι για τους οποίους + προτείνονται τα κεντρικά βήματα μιας αναβάθμισης, τα + βήματα <maketarget>buildworld</maketarget>, + <maketarget>buildkernel</maketarget>, + <maketarget>installkernel</maketarget>, + και <maketarget>installworld</maketarget>. Στις επόμενες παραγράφους + θα περιγράψουμε πιο αναλυτικά αυτά τα βήματα. Υπάρχουν κι άλλοι λόγοι + όμως για τους οποίους χρειάζεται προσοχή όταν κάνετε μια τέτοια + αναβάθμιση. Μερικοί από αυτούς είναι οι εξής:</para> + + <itemizedlist> + <listitem> + <para>Τα παλιά εργαλεία του βασικού συστήματος μπορεί να μην τρέχουν + σωστά με το νέο πυρήνα. Γι αυτό πρέπει να εγκατασταθεί το + ενημερωμένο βασικό σύστημα αμέσως μετά την εγκατάσταση του νέου + πυρήνα.</para> + </listitem> + + <listitem> + <para>Μερικές φορές χρειάζονται αλλαγές στα αρχεία ρυθμίσεων πριν + εγκατασταθεί το νέο βασικό σύστημα. Άλλες φορές η εγκατάσταση + όλων των αρχείων ρυθμίσεων μπορεί να δημιουργήσει προβλήματα στην + εγκατάσταση. Γι αυτό έχουμε χωρίσει την ενημέρωση των αρχείων + ρυθμίσεων σε δύο ξεχωριστά βήματα.</para> + </listitem> + + <listitem> + <para>Στην πλειοψηφία των περιπτώσεων η διαδικασία εγκατάστασης + αντικαθιστά ή προσθέτει αρχεία του συστήματος· δε σβήνει κανένα + υπάρχον αρχείο. Σε μερικές περιπτώσεις αυτό μπορεί να + δημιουργήσει προβλήματα. Όταν υπάρχει τέτοια περίπτωση, η + διαδικασία εγκατάστασης τυπώνει ενημερωτικά μηνύματα για τα αρχεία + τα οποία πρέπει να σβηστούν χειροκίνητα. Αυτό το βήμα μπορεί να + αυτοματοποιηθεί στο μέλλον.</para> + </listitem> + </itemizedlist> + + <para>Έχοντας όλες αυτές τις ιδιαιτερότητες μιας αναβάθμισης από πηγαίο + κώδικα, καταλήξαμε στην παρακάτω διαδικασία αναβάθμισης. Ορισμένες + φορές μπορεί να χρειάζεται να προσθέσετε κάποια βήματα σε αυτή τη + διαδικασία. Τα βασικά βήματα όμως παραμένουν τα ίδια, κι είναι τα + εξής:</para> + + <orderedlist> + <listitem> + <para><command>make <maketarget>buildworld</maketarget></command></para> + + <para>Αυτό το βήμα μεταγλωττίζει πρώτα μια ενημερωμένη έκδοση του + ίδιου του μεταγλωττιστή συστήματος και μερικών απαραίτητων + εργαλείων. Ύστερα, χρησιμοποιώντας το νέο μεταγλωττιστή, + προετοιμάζει μια νέα έκδοση όλου του βασικού συστήματος του &os;. + Τα ενημερωμένα εκτελέσιμα, βιβλιοθήκες και αρχεία προγραμματισμού + καταλήγουν στον + κατάλογο <filename class="directory">/usr/obj</filename>.</para> + </listitem> + + <listitem> + <para><command>make <maketarget>buildkernel</maketarget></command></para> + + <para>Σε αντίθεση με παλιότερες διαδικασίες αναβάθμισης (οι οποίες + καλούσαν χειροκίνητα το &man.config.8; και το &man.make.1;) αυτό + το βήμα μεταγλωττίζει τον πυρήνα του &os; χρησιμοποιώντας τον + ενημερωμένο μεταγλωττιστή συστήματος από τον + κατάλογο <filename class="directory">/usr/obj</filename>. Αυτό + σας προστατεύει από προβλήματα ασυμβατότητας μεταξύ του + μεταγλωττιστή και του πυρήνα.</para> + </listitem> + + <listitem> + <para><command>make <maketarget>installkernel</maketarget></command></para> + + <para>Εγκατάσταση του νέου πυρήνα και των αρθρωμάτων του στο δίσκο + του συστήματος. Έτσι μπορεί πλέον το σύστημα να ξεκινήσει με το + νέο, ενημερωμένο πυρήνα.</para> + </listitem> + + <listitem> + <para>Εκκίνηση σε λειτουργία single user.</para> + + <para>Η λειτουργία single user ελαχιστοποιεί την πιθανότητα να έχετε + προβλήματα επειδή αναβαθμίσατε κάποιο πρόγραμμα που τρέχει ήδη. + Είναι επίσης πιο ασφαλής, αφού δε χρειάζεται να τρέξετε τις + εφαρμογές του παλιού βασικού συστήματος με το νέο πυρήνα.</para> + </listitem> + + <listitem> + <para><command>mergemaster <option>-p</option></command></para> + + <para>Αυτό το βήμα ενημερώνει τα απολύτως βασικά αρχεία ρυθμίσεων + του &os;, για να μπορέσετε να εγκαταστήσετε σωστά το νέο βασικό + σύστημα. Ενημερώνει, για παράδειγμα, τη βάση χρηστών και ομάδων + χρηστών του &os;. Κάθε φορά που προστίθεται ένας νέος χρήστης + συστήματος ή μια νέα ομάδα χρηστών, το + βήμα <maketarget>installworld</maketarget> της αναβάθμισης θεωρεί + ότι έχετε ήδη ρυθμίσει τους νέους χρήστες ή τις νέες ομάδες. Αυτό + ακριβώς κάνει σε αυτό το σημείο το εργαλείο + &man.mergemaster.8;.</para> + </listitem> + + <listitem> + <para><command>make <maketarget>installworld</maketarget></command></para> + + <para>Το επόμενο βήμα είναι να εγκαταστήσετε το ενημερωμένο βασικό + σύστημα από τον + κατάλογο <filename class="directory">/usr/obj</filename>. Μετά + από αυτό έχετε πλέον ένα νέο πυρήνα και ένα ενημερωμένο βασικό + σύστημα, το οποίο ταιριάζει με τον νέο πυρήνα.</para> + </listitem> + + <listitem> + <para><command>mergemaster</command></para> + + <para>Ένα από τα τελευταία βήματα είναι η αναβάθμιση των αρχείων + ρυθμίσεων του συστήματος. Το εργαλείο &man.mergemaster.8; μπορεί + να σας βοηθήσει σε αυτό το βήμα, αφού ενημερώνει τα αρχεία + ρυθμίσεων κρατώντας και οποιεσδήποτε τοπικές αλλαγές έχετε κάνει + στο σύστημά σας.</para> + </listitem> + + <listitem> + <para>Επανεκκινήστε το σύστημα.</para> + + <para>Μια τελευταία επανεκκίνηση του συστήματος σας εξασφαλίζει ότι + το σύστημα ξεκινάει με το νέο πυρήνα, το ενημερωμένο βασικό + σύστημα και τα καινούρια αρχεία ρυθμίσεων.</para> + </listitem> + </orderedlist> + + <para>Αν η αναβάθμιση που κάνετε είναι από μια έκδοση του &os; σε μια + πιο καινούρια έκδοση του ίδιου κλάδου ανάπτυξης, π.χ. από 7.0 σε 7.1, + τότε μερικά από τα βήματα αυτή της διαδικασίας μπορεί να μη + χρειάζονται αφού είναι λιγότερο πιθανό να συναντήσετε ασυμβατότητες + μεταξύ του μεταγλωττιστή συστήματος, του πυρήνα, του βασικού + συστήματος και των αρχείων ρυθμίσεων. Η αναβάθμιση σε τέτοιες + περιπτώσεις, μεταξύ δύο minor εκδόσεων του &os;, ίσως μπορεί να γίνει + και με την παλιότερη διαδικασία: + τρέχοντας<command>make <maketarget>world</maketarget></command> και + ύστερα μεταγλωττίζοντας και στήνοντας ένα νέο πυρήνα.</para> + + <para>Όταν όμως αναβαθμίσετε το &os; μεταξύ major εκδόσεων, καλύτερα να + χρησιμοποιήσετε τη διαδικασία που περιγράφουμε εδώ. Αλλιώς μπορεί να + αντιμετωπίσετε προβλήματα είτε κατά τη διάρκεια της αναβάθμισης ή αφού + έχει πλέον ολοκληρωθεί.</para> + + <para>Κάποιες από τις αναβαθμίσεις (π.χ. από μια έκδοση + 4.<replaceable>X</replaceable> σε 5.0) μπορεί να απαιτούν μερικά + χειροκίνητα βήματα (όπως το να μετακινήσετε ή να σβήσετε συγκεκριμένα + αρχεία πριν το βήμα <maketarget>installworld</maketarget>). Πριν από + κάθε αναβάθμιση διαβάστε προσεκτικά τις οδηγίες στο + αρχείο <filename>/usr/src/UPDATING</filename>· ειδικά τις οδηγίες στο + τέλος του αρχείου, οι οποίες περιγράφουν αναλυτικά την προτεινόμενη + διαδικασία αναβάθμισης.</para> + + <para>Αυτή η διαδικασία αναβάθμισης εξελλίσεται και διορθώνεται καθώς οι + προγραμματιστές του &os; ανακαλύπτουν καινούριες εξαρτήσεις μεταξύ των + συστατικών του συστήματος ή κάνουν διορθώσεις για να αποφύγουν + ασυμβατότητες μεταξύ των διαφορετικών υποσυστημάτων. Ελπίζουμε ότι τα + κεντρικά βήματα της διαδικασίας που περιγράφεται εδώ δε θα αλλάξουν + πολύ για αρκετό καιρό πλέον.</para> + + <note> + <para>Η αναβάθμιση του &os; από τις εκδόσεις + 3.<replaceable>X</replaceable> ή από παλιότερες εκδόσεις είναι + σχετικά πιο περίπλοκη διαδικασία. Διαβάστε με πολλή προσοχή το + αρχείο <filename>UPDATING</filename> αν πραγματικά χρειαστεί να + αναβαθμίσετε ένα τέτοιο σύστημα.</para> + </note> + + <para>Οπότε, συγκεντρώνοντας όλα τα βήματα τα οποία περιγράψαμε + παραπάνω, η πρτεινόμενη διαδικασία αναβάθμισης του &os; από τον πηγαίο + κώδικα του συστήματος είναι:</para> <screen>&prompt.root; <userinput>cd /usr/src</userinput> &prompt.root; <userinput>make buildworld</userinput> |