From 99a230e377d187be4db7155645077a56771d0a69 Mon Sep 17 00:00:00 2001 From: Manolis Kiagias Date: Sun, 2 Nov 2008 13:43:14 +0000 Subject: [PATCH] Complete the Greek translation of Handbook's 'cutting-edge' chapter Obtained from: FreeBSD Greek Documentation Project --- .../books/handbook/cutting-edge/chapter.sgml | 2526 +++++++++-------- 1 file changed, 1383 insertions(+), 1143 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 bbae19f744..e037669b44 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.1 + %SRCID% 1.230 --> @@ -18,24 +18,28 @@ Jim Mock Αναδομήθηκε, αναδιοργανώθηκε, και τμήματα του ανανεώθηκαν - από τον + από τον + Jordan Hubbard Αρχική συνεισφορά από τους + Poul-Henning Kamp + John Polstra + Nik Clayton @@ -49,361 +53,214 @@ Σύνοψη - Το &os; βρίσκεται υπό συνεχή εξέλιξη μεταξύ των εκδόσεων. Για - όποιον θέλει να βρίσκεται στην κόψη του ξυραφιού, υπάρχουν διάφοροι - μηχανισμοί που εξασφαλίζουν με εύκολο τρόπο την ανανέωση του συστήματος - με τις τελευταίες εξελίξεις. Σας προειδοποιούμε-—η κόψη του - ξυραφιού δεν είναι για τον καθένα! Το κεφάλαιο αυτό θα σας βοηθήσει να - αποφασίσετε αν θέλετε να παρακολουθείτε το σύστημα ανάπτυξης, ή αν θα - προτιμήσετε να παραμείνετε σε μια από τις παγιωμένες εκδόσεις. + Το &os; βρίσκεται υπό συνεχή εξέλιξη μεταξύ των επίσημων εκδόσεων + του. Για όποιον θέλει να βρίσκεται στην κόψη του ξυραφιού, υπάρχουν + διάφοροι μηχανισμοί που εξασφαλίζουν με εύκολο τρόπο την ανανέωση ενός + συστήματος με τις τελευταίες εξελίξεις. Σας προειδοποιούμε—η + κόψη του ξυραφιού δεν είναι για τον καθένα! Το κεφάλαιο αυτό θα σας + βοηθήσει να αποφασίσετε αν θέλετε να παρακολουθείτε το σύστημα + ανάπτυξης, ή αν θα προτιμήσετε να παραμείνετε σε μια από τις παγιωμένες + εκδόσεις. Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: - Τη διαφορά μεταξύ των δύο κλάδων που βρίσκονται σε - εξέλιξη: του &os.stable; και του &os.current;. + + Τη διαφορά μεταξύ των δύο κλάδων που βρίσκονται σε εξέλιξη: του + &os.stable; και του &os.current;. - Πως να διατηρείτε το σύστημα σας ανανεωμένο με τα + + + Πως να διατηρείτε το σύστημα σας ανανεωμένο με τα CVSup, CVS, ή CTM. - Πως να ξαναφτιάξετε και να επανεγκατηστήσετε ολόκληρο - το βασικό σύστημα με την make buildworld (κλπ). - + + + Πως να ξαναφτιάξετε και να επανεγκαταστήσετε ολόκληρο + το βασικό σύστημα με την make buildworld + (κλπ). Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: - Να ρυθμίσετε σωστά τη σύνδεση σας στο δίκτυο (). + + Να ρυθμίσετε σωστά τη σύνδεση σας στο δίκτυο (). + + + + Να γνωρίζετε πως να εγκαταστήσετε πρόσθετο λογισμικό + τρίτου κατασκευαστή (). - Να γνωρίζετε πως να εγκαταστήσετε πρόσθετο λογισμικό - τρίτου κατασκευαστή (). + + + Στο κεφάλαιο αυτό γίνεται συχνά χρήση της εντολής + cvsup για την ανάκτηση ή ενημέρωση των αρχείων + πηγαίου κώδικα του &os;. Για να την χρησιμοποιήσετε, θα πρέπει να + εγκαταστήσετε ένα πακέτο ή port όπως το + net/cvsup-without-gui. + Αν χρησιμοποιείτε &os; 6.2-RELEASE ή νεώτερο, μπορείτε να + αντικαταστήσετε αυτή την εντολή με την &man.csup.1; η οποία ανήκει + πλέον στο βασικό σύστημα. + - + - &os.current; vs. &os.stable; + &os.current; και &os.stable; -CURRENT -STABLE - There are two development branches to FreeBSD: &os.current; and - &os.stable;. This section will explain a bit about each and describe - how to keep your system up-to-date with each respective tree. - &os.current; will be discussed first, then &os.stable;. + Υπάρχουν δύο κλάδοι ανάπτυξης στο &os;, το &os.current; και το + &os.stable;. Στην ενότητα αυτή, θα εξηγήσουμε κάποια πράγματα σχετικά + με αυτούς τους κλάδους, και θα περιγράψουμε πως μπορείτε να διατηρήσετε + το σύστημα σας ενημερωμένο σε κάποιον από αυτούς. Θα μιλήσουμε αρχικά + για το &os.current; και έπειτα για το &os.stable;. - Staying Current with &os; + Παρακολουθώντας το &os.current; - As you read this, keep in mind that &os.current; is the - bleeding edge of &os; development. - &os.current; users are expected to have a high degree of - technical skill, and should be capable of solving difficult - system problems on their own. If you are new to &os;, think - twice before installing it. + Καθώς διαβάζετε αυτό το κείμενο, να έχετε υπόψιν σας ότι το + &os.current; είναι πράγματι η κόψη του ξυραφιού στην + ανάπτυξη του &os;. Οι χρήστες του &os.current; αναμένεται να έχουν + αυξημένες τεχνικές γνώσεις, και να είναι ικανοί να επιλύουν δύσκολα + προβλήματα του συστήματος τους, χωρίς βοήθεια. Αν είστε καινούριος + στο &os;, μάλλον θα πρέπει να το ξανασκεφτείτε πριν το + εγκαταστήσετε. - What Is &os.current;? + Τι Είναι το &os.current;; snapshot - &os.current; is the latest working sources for &os;. - This includes work in progress, experimental changes, and - transitional mechanisms that might or might not be present - in the next official release of the software. While many - &os; developers compile the &os.current; source code daily, - there are periods of time when the sources are not - buildable. These problems are resolved as expeditiously as - possible, but whether or not &os.current; brings disaster or - greatly desired functionality can be a matter of which exact - moment you grabbed the source code in! + Το &os.current; αποτελείται από τον πλέον πρόσφατο λειτουργικό + πηγαίο κώδικα του &os;. Περιλαμβάνει αλλαγές που βρίσκονται σε + εξέλιξη, πειραματικές αλλαγές, και μηχανισμούς μετάβασης οι οποίοι + δεν είναι σίγουρο ότι θα περιλαμβάνονται στην επόμενη επίσημη + έκδοση του λογισμικού. Αν και πολλά μέλη της ομάδας ανάπτυξης του + &os; μεταγλωττίζουν καθημερινά τον πηγαίο κώδικα του &os.current;, + υπάρχουν χρονικές περίοδοι που η μεταγλώττιση του είναι αδύνατη. + Τα προβλήματα αυτά γενικά επιλύονται όσο πιο γρήγορα γίνεται, αλλά + το αν το &os.current; θα σας φέρει την καταστροφή ή κάποιο + πολυπόθητο χαρακτηριστικό, είναι περισσότερο θέμα της χρονικής + στιγμής που θα επιλέξετε να ανακτήσετε τον πηγαίο κώδικα! - Who Needs &os.current;? + Ποιος Χρειάζεται το &os.current;; - &os.current; is made available for 3 primary - interest groups: + Το &os.current; διατίθεται και ενδιαφέρει κυρίως τις παρακάτω + τρεις ομάδες: - Members of the &os; community who are actively working - on some part of the source tree and for whom keeping - current is an absolute - requirement. + Μέλη της κοινότητας του &os; που δουλεύουν ενεργά σε κάποιο + τμήμα του πηγαίου κώδικα, και για τους οποίους η παρακολούθηση + του &os.current; είναι απόλυτα απαραίτητη. - Members of the &os; community who are active testers, - willing to spend time solving problems in order to - ensure that &os.current; remains as sane as possible. - These are also people who wish to make topical - suggestions on changes and the general direction of - &os;, and submit patches to implement them. + Μέλη της κοινότητας του &os; που είναι ενεργοί testers + και είναι πρόθυμοι να αναλώσουν το χρόνο τους για να λύσουν + προβλήματα, ώστε να εξασφαλίσουν ότι το &os.current; + θα παραμείνει όσο το δυνατόν πιο σωστό. Συνήθως, τα μέλη αυτά + κάνουν προτάσεις για τοπικές αλλαγές και για την γενική + κατεύθυνση του &os;, και στέλνουν patches για την + πραγματοποίηση τους. - Those who merely wish to keep an eye on things, or - to use the current sources for reference purposes - (e.g. for reading, not running). - These people also make the occasional comment or - contribute code. + Αυτοί που απλώς θέλουν να βλέπουν τις τελευταίες + ενημερώσεις, ή να χρησιμοποιούν τον τελευταίο πηγαίο κώδικα ως + αναφορά (π.χ. για μελέτη και όχι για + εκτέλεση). Μέλη αυτής της ομάδας μπορεί επίσης περιστασιακά να + συνεισφέρουν σχόλια ή κώδικα. - What Is &os.current; <emphasis>Not</emphasis>? + Τι <emphasis>Δεν</emphasis> Είναι το &os.current;; - A fast-track to getting pre-release bits because you - heard there is some cool new feature in there and you - want to be the first on your block to have it. Being - the first on the block to get the new feature means that - you are the first on the block to get the new - bugs. + Δεν είναι ένας γρήγορος τρόπος να πάρετε κώδικα ο + οποίος δεν έχει κυκλοφορήσει ακόμα σε κάποια έκδοση, με την + ελπίδα ότι περιέχει κάποια νέα εκπληκτική δυνατότητα και + θέλετε να είστε ο πρώτος που τη χρησιμοποιεί. Αν είστε + πράγματι ο πρώτος που την χρησιμοποιεί, θα είστε επίσης και ο + πρώτος που θα συναντήσετε τα νέα προβλήματα και bugs. - A quick way of getting bug fixes. Any given version - of &os.current; is just as likely to introduce new bugs - as to fix existing ones. + Δεν είναι ένας γρήγορος τρόπος για να ανακτήσετε + διορθώσεις προβλημάτων. Κάθε νέα έκδοση του &os.current; + μπορεί να εισάγει τόσα νέα bugs όσα και αυτά που + διορθώνει. - In any way officially supported. We - do our best to help people genuinely in one of the 3 - legitimate &os.current; groups, but we - simply do not have the time to - provide tech support. This is not because we are mean - and nasty people who do not like helping people out (we - would not even be doing &os; if we were). We simply - cannot answer hundreds messages a day - and work on FreeBSD! Given the - choice between improving &os; and answering lots of - questions on experimental code, the developers opt for - the former. + Το &os.current; δεν αποτελεί + επίσημα υποστηριζόμενο κώδικα. Αν και + καταβάλλουμε κάθε δυνατή προσπάθεια να βοηθήσουμε όσους + ανήκουν πραγματικά σε κάποια από τις τρεις + ομάδες που αναφέραμε, ωστόσο δεν έχουμε το + χρόνο να παρέχουμε τεχνική υποστήριξη. Αυτό δεν + συμβαίνει επειδή είμαστε κακοήθεις και δύσκολοι και δεν θέλουμε + να βοηθάμε τους ανθρώπους (δεν θα είχαμε καν δημιουργήσει το + &os; αν σκεφτόμασταν έτσι). Πολύ απλά, δεν μπορούμε να + απαντάμε εκατοντάδες μηνύματα την ημέρα και + ταυτόχρονα να δουλεύουμε στο &os;! Αν + δώσετε σε οποιοδήποτε μέλος της ομάδας ανάπτυξης την επιλογή + να απαντάει σε πολλές ερωτήσεις σχετικά με πειραματικό κώδικα + ή να δουλεύει για τη βελτίωση του &os;, θα επιλέξει σίγουρα το + δεύτερο. - Using &os.current; - + Χρησιμοποιώντας το &os.current; + -CURRENT using - Join the &a.current.name; and the &a.cvsall.name; lists. This is not - just a good idea, it is essential. If - you are not on the &a.current.name; list, - you will not see the comments that people are - making about the current state of the system and thus will - probably end up stumbling over a lot of problems that others - have already found and solved. Even more importantly, you - will miss out on important bulletins which may be critical - to your system's continued health. + Γραφτείτε στις λίστες &a.current.name; και + &a.svn-src-head.name;. Δεν είναι απλώς καλή ιδέα, είναι + βασικό να το κάνετε. Αν δεν είστε + γραμμένος στη λίστα &a.current.name;, δεν + θα βλέπετε τα σχόλια σχετικά με την τρέχουσα κατάσταση του + συστήματος από όσους το χρησιμοποιούν, και έτσι πιθανώς θα + καταλήξετε να αντιμετωπίζετε πολλά προβλήματα που άλλοι έχουν + ήδη ανακαλύψει και λύσει. Ακόμα πιο σημαντικό είναι ότι θα + χάνετε σημαντικές ανακοινώσεις, οι οποίες μπορεί να είναι + κρίσιμες για την διατήρηση του συστήματος σας σε υγιή + κατάσταση. - The &a.cvsall.name; list will allow you to see the - commit log entry for each change as it is made along with - any pertinent information on possible side-effects. + Η λίστα &a.svn-src-head.name; θα σας επιτρέψει να βλέπετε + τις καταχωρήσεις στο commit log για κάθε αλλαγή που γίνεται, + καθώς και πληροφορίες για πιθανές παρενέργειες που μπορεί να + έχει. - To join these lists, or one of the others available - go to &a.mailman.lists.link; and click on the list that - you wish to subscribe to. Instructions on the rest of - the procedure are available there. + Για να γραφτείτε σε αυτές, ή σε οποιεσδήποτε από τις + υπάρχουσες λίστες, επισκεφθείτε την τοποθεσία + &a.mailman.lists.link; και επιλέξτε τη λίστα στην οποία θέλετε + να γίνετε συνδρομητής. Οδηγίες για την υπόλοιπη διαδικασία + θα βρείτε επιτόπου. Αν σας ενδιαφέρει να παρακολουθείτε τις + αλλαγές σε όλο το δέντρο πηγαίου κώδικα, σας συνιστούμε να + εγγραφείτε στη λίστα &a.svn-src-all.name;. - Grab the sources from a &os; mirror - site. You can do this in one of two ways: - - - - cvsup - - - cron - - - -CURRENT - Syncing with CVSup - - - - Use the cvsup program - with the supfile named standard-supfile - available from /usr/share/examples/cvsup. - This is the most recommended - method, since it allows you to grab the entire - collection once and then only what has changed from then - on. Many people run cvsup from - cron and keep their - sources up-to-date automatically. You have to - customize the sample supfile above, and configure - cvsup for your environment. - - - - -CURRENT - Syncing with CTM - - - Use the CTM facility. If you - have very bad connectivity (high price connections or - only email access) CTM is an option. - However, it is a lot of hassle and can give you broken files. - This leads to it being rarely used, which again increases - the chance of it not working for fairly long periods of - time. We recommend using - CVSup - for anybody with a 9600 bps modem or faster connection. - - - - - - - If you are grabbing the sources to run, and not just - look at, then grab all of &os.current;, not - just selected portions. The reason for this is that various - parts of the source depend on updates elsewhere, and trying - to compile just a subset is almost guaranteed to get you - into trouble. - - - -CURRENT - compiling - - Before compiling &os.current;, read the - Makefile in /usr/src - carefully. You should at least install a new kernel and rebuild the world the first time through - as part of the upgrading process. Reading the &a.current; - and /usr/src/UPDATING will keep you up-to-date on other bootstrapping procedures - that sometimes become necessary as we move toward the next - release. - - - - Be active! If you are running &os.current;, we want - to know what you have to say about it, especially if you - have suggestions for enhancements or bug fixes. Suggestions - with accompanying code are received most - enthusiastically! - - - - - - - Staying Stable with &os; - - - What Is &os.stable;? - -STABLE - - &os.stable; is our development branch from which major releases - are made. Changes go into this branch at a different pace, and - with the general assumption that they have first gone into - &os.current; for testing. This is still - a development branch, however, and this means that at any given time, - the sources for &os.stable; may or may not be suitable for any - particular purpose. It is simply another engineering development - track, not a resource for end-users. - - - - Who Needs &os.stable;? - - If you are interested in tracking or contributing to the - FreeBSD development process, especially as it relates to the - next point release of FreeBSD, then you should - consider following &os.stable;. - - While it is true that security fixes also go into the - &os.stable; branch, you do not need to - track &os.stable; to do this. Every security advisory for - FreeBSD explains how to fix the problem for the releases it - affects - That is not quite true. We can not continue to - support old releases of FreeBSD forever, although we do - support them for many years. For a complete description - of the current security policy for old releases of - FreeBSD, please see http://www.FreeBSD.org/security/. - - , and tracking an entire development branch just - for security reasons is likely to bring in a lot of unwanted - changes as well. - - Although we endeavor to ensure that the &os.stable; branch - compiles and runs at all times, this cannot be guaranteed. In - addition, while code is developed in &os.current; before including - it in &os.stable;, more people run &os.stable; than &os.current;, so - it is inevitable that bugs and corner cases will sometimes be found - in &os.stable; that were not apparent in &os.current;. - - For these reasons, we do not recommend that - you blindly track &os.stable;, and it is particularly important that - you do not update any production servers to &os.stable; without - first thoroughly testing the code in your development - environment. - - If you do not have the resources to do this then we recommend - that you run the most recent release of FreeBSD, and use the binary - update mechanism to move from release to release. - - - - Using &os.stable; - - - -STABLE - using - - - - Join the &a.stable.name; list. This will keep you informed of - build-dependencies that may appear in &os.stable; - or any other issues requiring - special attention. Developers will also make announcements - in this mailing list when they are contemplating some - controversial fix or update, giving the users a chance to - respond if they have any issues to raise concerning the - proposed change. - - The &a.cvsall.name; list will allow you to see the - commit log entry for each change as it is made along with - any pertinent information on possible side-effects. - - To join these lists, or one of the others available - go to &a.mailman.lists.link; and click on the list that - you wish to subscribe to. Instructions on the rest of - the procedure are available there. - - - - If you are going to install a new system and want it - to run monthly snapshot built from &os.stable;, please - check the - Snapshots web page for more information. - Alternatively, it is possible to - install the most recent &os.stable; release from the - mirror sites and follow - the instructions below to upgrade your system to the - most up to date &os.stable; source code. - - If you are already running a previous release of &os; - and wish to upgrade via sources then you can easily do so - from &os; mirror site. This can - be done in one of two ways: + Ανακτήστε τον πηγαίο κώδικα από ένα + mirror site του &os;. Αυτό + μπορεί να γίνει με δύο τρόπους: @@ -413,45 +270,274 @@ cron - -STABLE - syncing with CVSup + -CURRENT + Syncing with CVSup + - Use the cvsup program - with the supfile named stable-supfile - from the directory - /usr/share/examples/cvsup. - This is the most recommended - method, since it allows you to grab the entire - collection once and then only what has changed from then - on. Many people run cvsup from - cron to keep their - sources up-to-date automatically. You have to - customize the sample supfile above, - and configure cvsup for your - environment. + Χρησιμοποιήστε το πρόγραμμα cvsup σε συνδυασμό με το + supfile με την ονομασία + standard-supfile το οποίο θα βρείτε + στον κατάλογο + /usr/share/examples/cvsup. + Αυτή είναι και η πλέον συνιστώμενη μέθοδος, καθώς σας + επιτρέπει να ανακτήσετε όλη τη συλλογή με μια κίνηση, και + στις επόμενες ανανεώσεις θα παίρνετε μόνο τις αλλαγές. + Πολλοί χρήστες εκτελούν το cvsup μέσω + του cron ώστε να κρατάνε τον πηγαίο + κώδικα του συστήματος τους πάντα ανανεωμένο αυτόματα. Θα + πρέπει να προσαρμόσετε το υπόδειγμα του + supfile που δίνουμε παραπάνω, και να + ρυθμίσετε το cvsup για το + περιβάλλον σας. + + + Το υπόδειγμα του αρχείου + standard-supfile προορίζεται για + χρήση με κάποιο συγκεκριμένο κλάδο ασφάλειας (security + branch) του &os;, και όχι με το &os.current;. Θα πρέπει + να επεξεργαστείτε το αρχείο και να αντικαταστήσετε την + παρακάτω γραμμή: + + *default release=cvs tag=RELENG_X_Y + + με την ακόλουθη: + + *default release=cvs tag=. + + Για περισσότερες πληροφορίες σχετικά με τα tags που + μπορείτε να χρησιμοποιήσετε, παρακαλούμε διαβάστε στο + Εγχειρίδιο την ενότητα Ετικέτες (Tags) για το CVS. + - -STABLE + -CURRENT + Syncing with CTM + + + Χρησιμοποιήστε την υπηρεσία CTM. Αν έχετε πολύ κακή + συνδεσιμότητα (υψηλό κόστος σύνδεσης ή πρόσβαση μόνο μέσω + email) το CTM αποτελεί για σας + μια εναλλακτική λύση. Μπορεί ωστόσο να σας δημιουργήσει + διάφορα προβλήματα και να καταλήξετε με χαλασμένα αρχεία. + Για το λόγο αυτό, το CTM + χρησιμοποιείται σπάνια, κάτι το οποίο αυξάνει ακόμα + περισσότερο την πιθανότητα να μη δουλεύει σωστά για μεγάλα + χρονικά διαστήματα. Σας συνιστούμε να χρησιμοποιήσετε το + CVSup + αν διαθέτετε modem 9600 bps ή ταχύτερο. + + + + + + Αν σκοπεύετε να ανακτήσετε τον πηγαίο κώδικα για κανονική + χρήση (εκτέλεση) και όχι απλώς για να τον δείτε, τότε + ανακτήστε ολόκληρο το &os.current; και όχι + κάποια επιλεγμένα τμήματα. Σε διαφορετική περίπτωση, είναι + αρκετά πιθανό να συναντήσετε προβλήματα, καθώς πολλά κομμάτια + του κώδικα εξαρτώνται από ανανεώσεις σε άλλα, και δεν μπορούν + να μεταγλωττιστούν αυτόνομα. + + + -CURRENT + compiling + + Πριν μεταγλωττίσετε το &os.current;, διαβάστε προσεκτικά το + Makefile στον κατάλογο + /usr/src. Θα πρέπει να μεταγλωττίσετε τον πυρήνα και όλο το + βασικό σύστημα (world) την πρώτη φορά, ως μέρος της + διαδικασίας αναβάθμισης. Διαβάζοντας την &a.current; + και το /usr/src/UPDATING θα είστε + ενημερωμένοι για νέες διαδικασίες όσο αφορά την εκκίνηση στο νέο + σας σύστημα. Οι διαδικασίες αυτές είναι συχνά απαραίτητες όσο + πλησιάζουμε σε μια νέα επίσημη έκδοση. + + + + Γίνετε ενεργό μέλος! Αν χρησιμοποιείτε το &os.current;, + θέλουμε να ξέρουμε τη γνώμη σας για αυτό, ειδικά αν έχετε + προτάσεις για βελτιώσεις ή διορθώσεις λαθών. Προτάσεις που + συνοδεύονται και από κώδικα γίνονται δεκτές με + ενθουσιασμό! + + + + + + + Χρησιμοποιώντας το &os;-STABLE + + + Τι Είναι το &os.stable;; + -STABLE + + Το &os.stable; είναι ένας κλάδος ανάπτυξης από τον οποίο + προκύπτουν οι μεγάλες (major) εκδόσεις. Οι αλλαγές + εισάγονται σε αυτό τον κλάδο με διαφορετικό ρυθμό, και με τη γενική + παραδοχή ότι έχουν πρώτα περάσει από το &os.current; για δοκιμή. + Ωστόσο, δεν παύει να είναι ένας κλάδος + ανάπτυξης, και αυτό σημαίνει ότι ο κώδικας του &os.stable; μπορεί + μια δεδομένη χρονική στιγμή να είναι ακατάλληλος για συγκεκριμένες + εφαρμογές. Πρόκειται για μια ακόμα γραμμή ανάπτυξης για τους + προγραμματιστές, και δεν είναι απαραίτητα κατάλληλη για τους + τελικούς χρήστες. + + + + Ποιος Χρειάζεται το &os.stable;; + + Αν σας ενδιαφέρει να παρακολουθείτε ή να συμβάλλετε στην + ανάπτυξη του &os;, και ειδικά όσο αφορά την επόμενη επίσημη + έκδοση του από τον ίδιο κλάδο (point release), είναι καλή ιδέα να + παρακολουθείτε το &os.stable;. + + Αν και είναι αλήθεια ότι οι διορθώσεις ασφάλειας γίνονται και + στον κλάδο &os.stable;, ωστόσο δεν χρειάζεται + να παρακολουθείτε το &os.stable; μόνο για αυτό το λόγο. Κάθε + αναφορά προβλήματος ασφάλειας του &os; εξηγεί πως να διορθώσετε το + πρόβλημα για κάθε επίσημη έκδοση η οποία επηρεάζεται από αυτό + Αυτό βέβαια δεν είναι απόλυτα αληθινό. Δεν μπορούμε + να συνεχίσουμε να υποστηρίζουμε τις παλιές εκδόσεις του &os; για + πάντα, αν και τις υποστηρίζουμε για πολλά χρόνια. Για πλήρη + περιγραφή της τρέχουσας πολιτικής όσο αφορά την ασφάλεια των + παλιών εκδόσεων του &os;, δείτε http://www.FreeBSD.org/security/. + , + και η παρακολούθηση ενός κλάδου ανάπτυξης μόνο για λόγους + ασφαλείας, πιθανόν να φέρει επίσης και άλλες ανεπιθύμητες αλλαγές + μαζί της. + + Αν και καταβάλλουμε κάθε δυνατή προσπάθεια ώστε να εξασφαλίσουμε + ότι ο κλάδος &os.stable; μπορεί να μεταγλωττιστεί και να εκτελεστεί + σε κάθε δεδομένη χρονική στιγμή, δεν μπορούμε ωστόσο να το + εγγυηθούμε. Επιπρόσθετα, αν και ο κώδικας αναπτύσσεται στο + &os.current; πριν περάσει στο &os.stable;, ο κόσμος που εκτελεί το + &os.stable; είναι περισσότερος, και έτσι είναι αναπόφευκτο να + ανακαλύπτονται πιο πολλά σφάλματα και ακραίες περιπτώσεις στο + &os.stable; τα οποία δεν έχουν γίνει εμφανή στο &os.current;. + + Για τους λόγους αυτούς, δεν συνιστούμε να + παρακολουθείτε τυφλά το &os.stable;, και ειδικότερα είναι σημαντικό + να μην αναβαθμίζετε σε αυτό εξυπηρετητές σε περιβάλλοντα παραγωγής, + χωρίς να έχετε πρώτα ελέγξει αναλυτικά τον κώδικα στο δικό σας + περιβάλλον ανάπτυξης. + + Αν δεν διαθέτετε τους πόρους για να το κάνετε αυτό, σας + συνιστούμε να χρησιμοποιείτε την τελευταία επίσημη έκδοση του &os;, + και να αναβαθμίζεστε από τη μια έκδοση στην επόμενη μέσω του + μηχανισμού δυαδικών ενημερώσεων. + + + + Χρησιμοποιώντας το &os.stable; + + + -STABLE + using + + + + Γραφτείτε συνδρομητής στη λίστα &a.stable.name;. Θα είστε + έτσι ενημερωμένοι για εξαρτήσεις μεταγλώττισης που ίσως + εμφανιστούν στο &os.stable;, ή για άλλα προβλήματα που χρήζουν + ειδικής προσοχής. Στη λίστα αυτή θα βρίσκετε επίσης + ανακοινώσεις από μέλη της ομάδας ανάπτυξης, όταν πρόκειται να + συμπεριληφθεί κάποια αμφιλεγόμενη ανανέωση ή διόρθωση, δίνοντας + έτσι στους χρήστες την ευκαιρία να εκφέρουν γνώμη σχετικά με τα + προβλήματα που θα προκαλέσει η προτεινόμενη αλλαγή. + + Θα πρέπει να εγγραφείτε στην κατάλληλη λίστα + SVN ανάλογα με τον κλάδο που + παρακολουθείτε. Για παράδειγμα, αν παρακολουθείτε τον κλάδο + 7-STABLE, η κατάλληλη λίστα είναι η &a.svn-src-stable-7.name;. + Αυτό θα σας επιτρέψει να βλέπετε τις + καταχωρήσεις στο commit log για κάθε αλλαγή που γίνεται, καθώς + και πληροφορίες για πιθανές παρενέργειες που μπορεί να + έχει. + + Για να γραφτείτε σε αυτές, ή σε οποιεσδήποτε από τις + υπάρχουσες λίστες, επισκεφθείτε την τοποθεσία + &a.mailman.lists.link; και επιλέξτε τη λίστα στην οποία θέλετε + να γίνετε συνδρομητής. Οδηγίες για την υπόλοιπη διαδικασία + θα βρείτε επιτόπου. Αν σας ενδιαφέρει να παρακολουθείτε τις + αλλαγές σε όλο το δέντρο πηγαίου κώδικα, σας συνιστούμε να + εγγραφείτε στη λίστα &a.svn-src-all.name;. + + + + Αν πρόκειται να εγκαταστήσετε ένα νέο σύστημα με σκοπό να + εκτελείτε τα μηνιαία snapshot του &os.stable;, παρακαλούμε να + ελέγξετε την τοποθεσία Snapshots για + περισσότερες πληροφορίες. Εναλλακτικά, είναι δυνατόν να + εγκαταστήσετε το πιο πρόσφατο &os.stable; από κάποιο + mirror site ακολουθώντας τις + παρακάτω οδηγίες ώστε να αναβαθμίσετε το σύστημα σας στην πλέον + πρόσφατη έκδοση πηγαίου κώδικα του &os.stable;. + + Αν διαθέτετε ήδη κάποια προηγούμενη έκδοση του &os; και + επιθυμείτε να αναβαθμιστείτε μέσω του πηγαίου κώδικα, μπορείτε + εύκολα να χρησιμοποιήσετε κάποιο mirror site του &os;. Υπάρχουν δύο + τρόποι για να γίνει αυτό: + + + + cvsup + + + cron + + + -STABLE + syncing with CVSup + + + + Χρησιμοποιήστε το πρόγραμμα cvsup σε συνδυασμό με το + supfile με την ονομασία + stable-supfile το οποίο θα βρείτε + στον κατάλογο + /usr/share/examples/cvsup. + Αυτή είναι και η πλέον συνιστώμενη μέθοδος, καθώς σας + επιτρέπει να ανακτήσετε όλη τη συλλογή με μια κίνηση, και + στις επόμενες ανανεώσεις θα παίρνετε μόνο τις αλλαγές. + Πολλοί χρήστες εκτελούν το cvsup μέσω + του cron ώστε να κρατάνε τον πηγαίο + κώδικα του συστήματος τους πάντα ανανεωμένο αυτόματα. Θα + πρέπει να προσαρμόσετε το υπόδειγμα του + supfile που δίνουμε παραπάνω, και να + ρυθμίσετε το cvsup για το + περιβάλλον σας. + + + + -STABLE syncing with CTM - Use the CTM facility. If - you do not have a fast and inexpensive connection to - the Internet, this is the method you should consider - using. - + Χρησιμοποιήστε την υπηρεσία CTM. Αν δεν έχετε + γρήγορη και φτηνή σύνδεση με το Internet, αυτή είναι η + συνιστώμενη μέθοδος. - - + + - Essentially, if you need rapid on-demand access to the - source and communications bandwidth is not a consideration, - use cvsup or ftp. - Otherwise, use CTM. + Ουσιαστικά, αν χρειάζεστε γρήγορη και κατά απαίτηση + πρόσβαση στον πηγαίο κώδικα, και το εύρος ζώνης της σύνδεσης + δεν αποτελεί πρόβλημα, χρησιμοποιήστε το + cvsup ή το ftp. + Διαφορετικά, χρησιμοποιήστε το + CTM. @@ -459,14 +545,16 @@ compiling - Before compiling &os.stable;, read the - Makefile in /usr/src - carefully. You should at least install a new kernel and rebuild the world the first time through - as part of the upgrading process. Reading the &a.stable; and /usr/src/UPDATING will - keep you up-to-date on other bootstrapping procedures that - sometimes become necessary as we move toward the next - release. + Πριν μεταγλωττίσετε το &os.stable;, διαβάστε προσεκτικά το + Makefile στον κατάλογο + /usr/src. Θα πρέπει να μεταγλωττίσετε τον πυρήνα και όλο το + βασικό σύστημα (world) την πρώτη φορά, ως μέρος της + διαδικασίας αναβάθμισης. Διαβάζοντας την &a.stable; + και το /usr/src/UPDATING θα είστε + ενημερωμένοι για νέες διαδικασίες όσο αφορά την εκκίνηση στο νέο + σας σύστημα. Οι διαδικασίες αυτές είναι συχνά απαραίτητες όσο + πλησιάζουμε σε μια νέα επίσημη έκδοση. @@ -474,24 +562,28 @@ - Synchronizing Your Source - - There are various ways of using an Internet (or email) - connection to stay up-to-date with any given area of the &os; - project sources, or all areas, depending on what interests you. The - primary services we offer are Anonymous - CVS, CVSup, and CTM. + Συγχρονίζοντας τον Πηγαίο σας Κώδικα + + Υπάρχουν διάφοροι τρόποι να χρησιμοποιήσετε μια σύνδεση Internet + (ή email) για να ενημερώνετε οποιοδήποτε τμήμα πηγαίου + κώδικα του &os; Project σας ενδιαφέρει, ή και όλα αν το + επιθυμείτε. Οι βασικές υπηρεσίες που προσφέρουμε είναι το + Ανώνυμο CVS, το + CVSup, και το CTM. - While it is possible to update only parts of your source tree, - the only supported update procedure is to update the entire tree - and recompile both userland (i.e., all the programs that run in - user space, such as those in /bin and - /sbin) and kernel sources. Updating only part - of your source tree, only the kernel, or only userland will often - result in problems. These problems may range from compile errors - to kernel panics or data corruption. + Αν και είναι δυνατόν να ενημερώσετε μόνο κάποια τμήματα του + δέντρου πηγαίου κώδικα, η μόνη διαδικασία ενημέρωσης που + υποστηρίζεται αφορά την ενημέρωση ολόκληρου του δέντρου. Μετά την + ενημέρωση, θα πρέπει να μεταγλωττίσετε ξανά τόσο το userland (δηλ. τα + προγράμματα που εκτελούνται στην περιοχή χρήστη, όπως αυτά που + βρίσκονται στους καταλόγους /bin και + /sbin) όσο και τον πηγαίο κώδικα του πυρήνα. + Αν ενημερώσετε μόνο ένα τμήμα του πηγαίου κώδικα, μόνο τον πυρήνα ή + μόνο το userland, θα αντιμετωπίσετε προβλήματα. Τα προβλήματα αυτά + μπορεί να κυμαίνονται από σφάλματα μεταγλώττισης μέχρι kernel panic + και καταστροφή δεδομένων. @@ -499,329 +591,360 @@ anonymous - Anonymous CVS and - CVSup use the pull - model of updating sources. In the case of - CVSup the user (or a - cron script) invokes - the cvsup program, and it interacts with a - cvsupd server somewhere to bring your files - up-to-date. The updates you receive are up-to-the-minute and you - get them when, and only when, you want them. You can easily - restrict your updates to the specific files or directories that are - of interest to you. Updates are generated on the fly by the server, - according to what you have and what you want to have. - Anonymous CVS is quite a bit more - simplistic than CVSup in that it is just an extension to - CVS which allows it to pull changes - directly from a remote CVS repository. - CVSup can do this far more efficiently, - but Anonymous CVS is easier to - use. + Το Ανώνυμο CVS και το + CVSup χρησιμοποιούν τη μέθοδο + pull για την ενημέρωση του πηγαίου κώδικα. Στην + περίπτωση του CVSup, ο χρήστης (η κάποιο + script που εκτελείται μέσω cron) εκτελεί το πρόγραμμα + cvsup το οποίο αλληλεπιδρά με ένα αντίστοιχο + εξυπηρετητή cvsupd ώστε να ενημερώσει τα σχετικά + αρχεία. Οι ενημερώσεις που λαμβάνετε είναι πάντοτε οι τελευταίες + διαθέσιμες, και θα τις λάβετε μόνο όταν τις ζητήσετε. Μπορείτε εύκολα + να περιορίσετε τις ενημερώσεις σε συγκεκριμένα αρχεία ή καταλόγους τα + οποία σας ενδιαφέρουν. Οι ενημερώσεις δημιουργούνται δυναμικά από τον + εξυπηρετητή, ανάλογα με το τι έχετε εγκατεστημένο και τι επιθυμείτε να + λάβετε. Το Ανώνυμο CVS είναι κάπως πιο + απλοϊκό από το CVSup, δεδομένου ότι είναι + απλώς μια επέκταση του CVS που επιτρέπει την + ανάκτηση αλλαγών απευθείας από κάποιο απομακρυσμένο CVS repository. Το + CVSup είναι αρκετά πιο αποτελεσματικό σε + αυτόν το τομέα, αλλά το Ανώνυμο CVS είναι + απλούστερο στη χρήση. CTM - CTM, on the other hand, does not - interactively compare the sources you have with those on the master - archive or otherwise pull them across. Instead, a script which - identifies changes in files since its previous run is executed - several times a day on the master CTM machine, any detected changes - being compressed, stamped with a sequence-number and encoded for - transmission over email (in printable ASCII only). Once received, - these CTM deltas can then be handed to the - &man.ctm.rmail.1; utility which will automatically decode, verify - and apply the changes to the user's copy of the sources. This - process is far more efficient than CVSup, - and places less strain on our server resources since it is a - push rather than a pull - model. + Από την άλλη μεριά, το CTM δεν συγκρίνει + άμεσα τον πηγαίο κώδικα που έχετε με αυτόν που υπάρχει στον κεντρικό + εξυπηρετητή ώστε να ανακτήσει μόνο τις αλλαγές. Αντίθετα, στο κεντρικό + μηχάνημα CTM, εκτελείται αρκετές φορές την ημέρα ένα script. Το script + αυτό αναγνωρίζει τις αλλαγές στα αρχεία σε σχέση με την προηγούμενη + εκτέλεση του, και έπειτα πακετάρει και συμπιέζει τις αλλαγές με τρόπο + κατάλληλο για αποστολή μέσω email (μόνο εκτυπώσιμοι ASCII χαρακτήρες). + Σε κάθε τέτοιο πακέτο αλλαγών αντιστοιχίζεται ένας μοναδιαίος αριθμός + ακολουθίας (sequence number) που το αναγνωρίζει. Μετά τη λήψη τους, + μπορείτε να δώσετε αυτά τα αρχεία διαφορών του + CTM (CTM deltas) στο βοηθητικό + πρόγραμμα &man.ctm.rmail.1; το οποίο αυτόματα θα τα αποκωδικοποιήσει, + θα τα επαληθεύσει, και θα εφαρμόσει τις αλλαγές στο αντίγραφο πηγαίου + κώδικα του χρήστη. Η διαδικασία αυτή είναι πολύ πιο αποδοτική από το + CVSup, και επιβαρύνει λιγότερο τους + εξυπηρετητές μας, καθώς είναι μια διαδικασία τύπου + push αντί για pull. - There are other trade-offs, of course. If you inadvertently - wipe out portions of your archive, CVSup - will detect and rebuild the damaged portions for you. - CTM will not do this, and if you wipe some - portion of your source tree out (and do not have it backed up) then - you will have to start from scratch (from the most recent CVS - base delta) and rebuild it all with CTM or, with - Anonymous CVS, simply delete the bad bits and resync. + Υπάρχουν φυσικά κάποια σημεία που υστερεί. Αν από λάθος διαγράψετε + κάποια τμήματα του πηγαίου σας κώδικα, το + CVSup θα ανιχνεύσει και θα διορθώσει αυτόματα + τη βλάβη για σας. Το CTM δεν θα το κάνει + αυτό, και αν σβήσετε κάποιο τμήμα του δέντρου σας (και δεν έχετε + αντίγραφο ασφαλείας) θα πρέπει να ξεκινήσετε από την αρχή (από το πιο + πρόσφατο CVS base delta) και να το ξανακτίσετε από την + αρχή με το CTM. Με το + Ανώνυμο CVS, μπορείτε απλώς να διαγράψετε + τα προβληματικά αρχεία και να συγχρονίσετε ξανά τον πηγαίο σας + κώδικα. - Rebuilding <quote>world</quote> + Μεταγλωττίζοντας το Βασικό Σύστημα (<quote>world</quote>) Rebuilding world - Once you have synchronized your local source tree against a - particular version of &os; (&os.stable;, &os.current;, and so on) - you can then use the source - tree to rebuild the system. + Έχοντας συγχρονίσει το τοπικό σας δέντρο πηγαίου κώδικα σε κάποια + συγκεκριμένη έκδοση του &os; (&os.stable;, &os.current;, κ.ο.κ.), + μπορείτε έπειτα να το χρησιμοποιήσετε για να μεταγλωττίσετε το + σύστημα σας από την αρχή. - Make a Backup + Δημιουργήστε Ένα Αντίγραφο Ασφαλείας - It cannot be stressed enough how important it is to make a - backup of your system before you do this. - While rebuilding the world is (as long as you follow these - instructions) an easy task to do, there will inevitably be times - when you make mistakes, or when mistakes made by others in the - source tree render your system unbootable. + Δεν μπορούμε παρά να τονίσουμε πόσο σημαντικό είναι να + δημιουργήσετε ένα αντίγραφο ασφαλείας του συστήματος σας + πριν ξεκινήσετε αυτή τη διαδικασία. Αν και η + μεταγλώττιση του βασικού συστήματος είναι (όσο τουλάχιστον ακολουθείτε + αυτές τις οδηγίες) μια σχετικά απλή διαδικασία, αναμφίβολα θα υπάρξουν + και περιπτώσεις που λάθη δικά σας, ή άλλων (στο δέντρο πηγαίου + κώδικα), θα σας οδηγήσουν σε ένα σύστημα που δεν θα μπορεί να + εκκινήσει. - Make sure you have taken a backup. And have a fixit floppy or - bootable CD at - hand. You will probably never have to use it, but it is better to be - safe than sorry! + Βεβαιωθείτε ότι έχετε ενημερωμένο αντίγραφο ασφαλείας. Καλό θα + είναι να έχετε επίσης πρόχειρη μια δισκέτα fixit ή ένα CD εκκίνησης. + Ίσως να μην χρειαστεί ποτέ να τα χρησιμοποιήσετε, αλλά καλύτερα να + είστε ασφαλής παρά να το μετανοιώνετε αργότερα! - Subscribe to the Right Mailing List + Γίνετε Συνδρομητής στη Σωστή Λίστα Ηλ. Ταχυδρομείου mailing list - The &os.stable; and &os.current; branches are, by their - nature, in development. People that - contribute to &os; are human, and mistakes occasionally - happen. + Από τη φύση τους, οι κλάδοι &os.stable; και &os.current; + βρίσκονται σε συνεχή ανάπτυξη. Όσοι συνεισφέρουν + στο &os; είναι απλώς άνθρωποι, και περιστασιακά λάθη απλώς + συμβαίνουν. - Sometimes these mistakes can be quite harmless, just causing - your system to print a new diagnostic warning. Or the change may - be catastrophic, and render your system unbootable or destroy your - file systems (or worse). + Ορισμένες φορές τα λάθη αυτά είναι μάλλον ακίνδυνα, και το μόνο + που κάνουν είναι να εμφανίζουν μερικές διαγνωστικές προειδοποιήσεις + στο σύστημα σας. Ή μπορεί η αλλαγή να είναι καταστροφική, και να + οδηγήσει το σύστημα σας σε αδυναμία εκκίνησης ή ακόμα και να + καταστρέψει τα συστήματα αρχείων σας (ή και ακόμα χειρότερες + συνέπειες). - If problems like these occur, a heads up is - posted to the appropriate mailing list, explaining the nature of - the problem and which systems it affects. And an all - clear announcement is posted when the problem has been - solved. + Αν συμβούν τέτοια προβλήματα, σύντομα θα εμφανιστεί ένα μήνυμα + τύπου heads up στις σχετικές λίστες ταχυδρομείου, το + οποίο θα εξηγεί το πρόβλημα και ποια συστήματα επηρεάζει. Όταν το + πρόβλημα λυθεί, θα γίνει μια αντίστοιχη all clear + ανακοίνωση. - If you try to track &os.stable; or &os.current; and do - not read the &a.stable; or the - &a.current; respectively, then you are - asking for trouble. + Αν προσπαθείτε να ακολουθήσετε το &os.stable; ή το &os.current;, + και δεν διαβάζετε τις αντίστοιχες λίστες &a.stable.name; και + &a.current.name;, ψάχνετε για μπελάδες. - Do not use <command>make world</command> + Μην Χρησιμοποιήσετε την εντολή + <command>make world</command> - A lot of older documentation recommends using - make world for this. Doing that skips - some important steps and should only be used if you are - sure of what you are doing. For almost all circumstances - make world is the wrong thing to do, and - the procedure described here should be used instead. + Μεγάλο μέρος της παλαιότερης τεκμηρίωσης, συνιστά τη χρήση της + εντολής make world. Αν την χρησιμοποιήσετε, θα + παραλειφθούν ορισμένα σημαντικά βήματα της διαδικασίας. + Χρησιμοποιήστε τη μόνο αν είστε απόλυτα σίγουροι για αυτό που κάνετε. + Για τις περισσότερες περιπτώσεις, η εντολή + make world είναι λανθασμένη, και αντί για αυτή + θα πρέπει να ακολουθήσετε τη διαδικασία που περιγράφουμε + παρακάτω. - The Canonical Way to Update Your System + Ο Κανονικός Τρόπος να Ενημερώσετε το Σύστημα σας - To update your system, you should check - /usr/src/UPDATING for any pre-buildworld steps - necessary for your version of the sources and then use the following - procedure: + Πριν ενημερώσετε το σύστημα σας, θα πρέπει να ελέγξετε το + /usr/src/UPDATING για τυχόν βήματα που θα πρέπει + να εκτελέσετε πριν την εκκίνηση της μεταγλώττισης. Τα βήματα αυτά + εξαρτώνται από την έκδοση του πηγαίου κώδικα που πρόκειται να + χρησιμοποιήσετε. Έπειτα, ακολουθήστε την παρακάτω διαδικασία: - &prompt.root; make buildworld + &prompt.root; cd /usr/src +&prompt.root; make buildworld &prompt.root; make buildkernel &prompt.root; make installkernel -&prompt.root; reboot +&prompt.root; shutdown -r now - There are a few rare cases when an extra run of - mergemaster -p is needed before the - buildworld step. These are - described in UPDATING. In general, - though, you can safely omit this step if you are not - updating across one or more major &os; versions. + Υπάρχουν κάποιες μάλλον σπάνιες περιπτώσεις, που απαιτείται + μια επιπλέον εκτέλεση του mergemaster -p πριν + το βήμα buildworld. Οι περιπτώσεις αυτές + περιγράφονται στο UPDATING. Σε γενικές + γραμμές πάντως, μπορείτε με ασφάλεια να παραλείψετε αυτό το βήμα, + αν δεν αναβαθμίζετε το σύστημα σας μεταξύ πολλαπλών εκδόσεων του + &os;. - After installkernel finishes - successfully, you should boot in single user mode - (i.e. using boot -s from the loader - prompt). Then run: + Μετά την επιτυχή ολοκλήρωση του + installkernel, θα πρέπει να επανεκκινήσετε + σε κατάσταση ενός χρήστη (π.χ. χρησιμοποιώντας την εντολή + boot -s στην προτροπή του φορτωτή εκκίνησης). + Έπειτα εκτελέστε: - &prompt.root; mergemaster -p + &prompt.root; mount -a -t ufs +&prompt.root; mergemaster -p +&prompt.root; cd /usr/src &prompt.root; make installworld &prompt.root; mergemaster &prompt.root; reboot - Read Further Explanations + Διαβάστε τις Επιπλέον Εξηγήσεις - The sequence described above is only a short resume to - help you getting started. You should however read the - following sections to clearly understand each step, especially - if you want to use a custom kernel configuration. + Η διαδικασία που περιγράψαμε παραπάνω είναι μια απλή περίληψη + για να σας βοηθήσει να ξεκινήσετε. Θα πρέπει ωστόσο να διαβάσετε + τις παρακάτω ενότητες για να κατανοήσετε πλήρως κάθε βήμα, ειδικά + αν θέλετε να χρησιμοποιήσετε δικό σας προσαρμοσμένο πυρήνα. - Read <filename>/usr/src/UPDATING</filename> + Διαβάστε το <filename>/usr/src/UPDATING</filename> - Before you do anything else, read - /usr/src/UPDATING (or the equivalent file - wherever you have a copy of the source code). This file should - contain important information about problems you might encounter, or - specify the order in which you might have to run certain commands. - If UPDATING contradicts something you read here, - UPDATING takes precedence. + Πριν κάνετε οτιδήποτε άλλο, διαβάστε το + /usr/src/UPDATING (ή το αντίστοιχο αρχείο, αν + έχετε αποθηκεύσει τον πηγαίο κώδικα σε άλλο κατάλογο). Το αρχείο + αυτό περιέχει σημαντικές πληροφορίες σχετικά με προβλήματα που μπορεί + να συναντήσετε ή ίσως να καθορίζει τη σειρά με την οποία πρέπει να + εκτελεστούν κάποιες εντολές. Αν το αρχείο + UPDATING έρχεται σε σύγκρουση με κάτι που + διαβάσατε εδώ, προτεραιότητα έχει το αρχείο + UPDATING. - Reading UPDATING is not an acceptable - substitute for subscribing to the correct mailing list, as described - previously. The two requirements are complementary, not - exclusive. + Η ανάγνωση του αρχείου UPDATING δεν είναι + αποδεκτό υποκατάστατο της συνδρομής στη σωστή λίστα ηλεκτρονικού + ταχυδρομείου, όπως περιγράψαμε προηγουμένως. Οι δύο απαιτήσεις + είναι συμπληρωματικές, δεν αλληλοαναιρούνται. - Check <filename>/etc/make.conf</filename> + Ελέγξτε το <filename>/etc/make.conf</filename> - make.conf + make.conf - Examine the files + Εξετάστε τα αρχεία /usr/share/examples/etc/make.conf - and - /etc/make.conf. The first contains some - default defines – most of which are commented out. To - make use of them when you rebuild your system from source, add - them to /etc/make.conf. Keep in mind that - anything you add to /etc/make.conf is also - used every time you run make, so it is a good - idea to set them to something sensible for your system. + και + /etc/make.conf. Το πρώτο περιέχει κάποιες + προεπιλεγμένες μεταβλητές (defines), οι περισσότερες από τις οποίες + είναι ως σχόλια. Για να τα χρησιμοποιήσετε όταν μεταγλωττίζετε το + σύστημα σας, προσθέστε τα στο /etc/make.conf. + Να έχετε υπόψη σας, πως οτιδήποτε προσθέτετε στο αρχείο + /etc/make.conf χρησιμοποιείτε επίσης κάθε φορά + που εκτελείτε την εντολή make, έτσι είναι γενικά + καλή ιδέα να βάλετε τιμές που είναι λογικές για το + σύστημα σας. - A typical user will probably want to copy the - CFLAGS and - NO_PROFILE lines found in + Ένας τυπικός χρήστης θα θέλει πιθανώς να αντιγράψει τις γραμμές + CFLAGS και + NO_PROFILE από το αρχείο /usr/share/examples/etc/make.conf - to - /etc/make.conf and uncomment them. + στο + /etc/make.conf αφαιρώντας ταυτόχρονα και το + σύμβολο του σχολίου. - Examine the other definitions (COPTFLAGS, - NOPORTDOCS and so - on) and decide if they are relevant to you. + Εξετάστε και τις άλλες μεταβλητές (COPTFLAGS, + NOPORTDOCS κ.ο.κ.) και αποφασίστε αν σχετίζονται + με το επιθυμητό για σας αποτέλεσμα. - Update the Files in <filename>/etc</filename> + Ενημερώστε τα Αρχεία στο <filename>/etc</filename> - The /etc directory contains a large part - of your system's configuration information, as well as scripts - that are run at system startup. Some of these scripts change from - version to version of FreeBSD. + Ο κατάλογος /etc περιέχει μεγάλο μέρος των + πληροφοριών ρύθμισης του συστήματος σας, όπως επίσης και scripts που + εκτελούνται κατά την εκκίνηση του συστήματος. Μερικά από τα scripts + αυτά αλλάζουν από έκδοση σε έκδοση του &os;. - Some of the configuration files are also used in the day to - day running of the system. In particular, - /etc/group. + Ορισμένα από τα αρχεία ρυθμίσεων χρησιμοποιούνται επίσης κατά την + καθημερινή χρήση του συστήματος. Το /etc/group + είναι ένα από αυτά. - There have been occasions when the installation part of - make installworld has expected certain usernames or groups - to exist. When performing an upgrade it is likely that these - users or groups did not exist. This caused problems when upgrading. - In some cases make buildworld will check to see if - these users or groups exist. + Έχουν υπάρξει περιπτώσεις στο παρελθόν, όπου το + make installworld ανέμενε από πριν την ύπαρξη + συγκεκριμένων ονομάτων χρηστών (usernames) ή ομάδων (groups). Κατά + τη διαδικασία της αναβάθμισης ήταν αρκετά πιθανό αυτοί οι χρήστες ή + ομάδες να μην υπήρχαν. Αυτό δημιουργούσε προβλήματα στην + διαδικασία. Σε κάποιες περιπτώσεις, το + make buildworld θα ελέγξει αν υπάρχουν αυτοί οι + χρήστες ή ομάδες. - An example of this is when the - smmsp user was added. Users had the - installation process fail for them when - &man.mtree.8; was trying to create + Μια τέτοια περίπτωση παρουσιάστηκε όταν προστέθηκε ο χρήστης + smmsp. Η διαδικασία αναβάθμισης αποτύγχανε σε + πολλούς χρήστες, τη στιγμή που το &man.mtree.8; προσπαθούσε να + δημιουργήσει τον κατάλογο /var/spool/clientmqueue. - The solution is to run &man.mergemaster.8; in - pre-buildworld mode by providing the option. - This will compare only those files that are essential for the success - of buildworld or - installworld. If your old version of - mergemaster does not support , - use the new version in the source tree when running for the first - time: + Η λύση είναι να εκτελέσετε το &man.mergemaster.8; σε κατάσταση + προ-εγκατάστασης, δίνοντας την επιλογή . Αυτή + θα συγκρίνει μόνο τα αρχεία που είναι απαραίτητα για την επιτυχία + εκτέλεσης του buildworld ή του + installworld. Αν η έκδοση του + mergemaster που έχετε είναι παλιά και δεν + υποστηρίζει το , χρησιμοποιήστε την νέα έκδοση + από το δέντρο του πηγαίου κώδικα όταν την εκτελέσετε για πρώτη + φορά: &prompt.root; cd /usr/src/usr.sbin/mergemaster &prompt.root; ./mergemaster.sh -p - If you are feeling particularly paranoid, you can check your - system to see which files are owned by the group you are - renaming or deleting: + Αν αισθάνεστε ιδιαίτερα παρανοϊκός, μπορείτε να ελέγξετε το + σύστημα σας για να δείτε ποια αρχεία ανήκουν στην ομάδα που + μετονομάζετε ή διαγράφετε: &prompt.root; find / -group GID -print - will show all files owned by group - GID (which can be either a group name - or a numeric group ID). + Η παραπάνω εντολή θα σας δείξει όλα τα αρχεία τα οποία ανήκουν + στην ομάδα GID (μπορείτε να δώσετε όνομα + ή αριθμητικό αναγνωριστικό της ομάδας). - Drop to Single User Mode + Μεταβείτε σε Κατάσταση Ενός Χρήστη single-user mode - You may want to compile the system in single user mode. Apart - from the obvious benefit of making things go slightly faster, - reinstalling the system will touch a lot of important system - files, all the standard system binaries, libraries, include files - and so on. Changing these on a running system (particularly if - you have active users on the system at the time) is asking for - trouble. + Ίσως προτιμάτε να μεταγλωττίσετε το σύστημα σε κατάσταση ενός + χρήστη. Εκτός από το προφανές πλεονέκτημα της ελαφρά μεγαλύτερης + ταχύτητας, η επανεγκατάσταση του συστήματος θα επηρεάσει πολλά + σημαντικά αρχεία του συστήματος, όλα τα εκτελέσιμα αρχεία του βασικού + συστήματος, τις βιβλιοθήκες, τα αρχεία include κ.α. Αν τα αλλάξετε + αυτά σε ένα σύστημα που βρίσκεται σε κανονική λειτουργία (και ειδικά + αν υπάρχουν ενεργοί χρήστες την δεδομένη στιγμή), ψάχνετε για + μπελάδες. multi-user mode - Another method is to compile the system in multi-user mode, and - then drop into single user mode for the installation. If you would - like to do it this way, simply hold off on the following steps until - the build has completed. You can postpone dropping to single user - mode until you have to installkernel or + Μια άλλη μέθοδος είναι να μεταγλωττίσετε το σύστημα σε κατάσταση + κανονικής λειτουργίας, αλλά να μεταβείτε σε κατάσταση ενός χρήστη για + την εγκατάσταση. Αν θέλετε να το κάνετε με αυτό τον τρόπο, απλώς + μην εκτελέσετε τα ακόλουθα βήματα μέχρι το τέλος της μεταγλώττισης. + Μπορείτε να αναβάλλετε τη μετάβαση σε κατάσταση ενός χρήστη μέχρι + να είστε έτοιμοι για το installkernel ή installworld. - As the superuser, you can execute: + Ως υπερχρήστης μπορείτε να εκτελέσετε: &prompt.root; shutdown now - from a running system, which will drop it to single user - mode. + σε ένα σύστημα σε κανονική λειτουργία για να μεταβείτε σε + κατάσταση ενός χρήστη. - Alternatively, reboot the system, and at the boot prompt, - select the single user option. The system will then boot - single user. At the shell prompt you should then run: + Εναλλακτικά, επανεκκινήστε το σύστημα και στην προτροπή του + φορτωτή εκκίνησης, επιλέξτε single user. Το σύστημα + θα ξεκινήσει σε κατάσταση ενός χρήστη. Στην προτροπή της γραμμής + εντολών θα πρέπει να γράψετε: &prompt.root; fsck -p &prompt.root; mount -u / &prompt.root; mount -a -t ufs &prompt.root; swapon -a - This checks the file systems, remounts / - read/write, mounts all the other UFS file systems referenced in - /etc/fstab and then turns swapping on. + Θα γίνει έλεγχος στα συστήματα αρχείων, και προσάρτηση του + / με δυνατότητα ανάγνωσης/εγγραφής. Έπειτα θα + προσαρτηθούν όλα τα άλλα συστήματα αρχείων UFS τα οποία αναφέρονται + στο /etc/fstab, και θα ενεργοποιηθεί το + swap. + + Αν το CMOS ρολόι του υπολογιστή σας είναι ρυθμισμένο σε + τοπική ώρα και όχι σε GMT (αυτό είναι αλήθεια αν η έξοδος της + εντολής &man.date.1; δεν δείχνει σωστή ημερομηνία και ώρα), ίσως + χρειαστεί να εκτελέσετε επίσης την παρακάτω εντολή: - - If your CMOS clock is set to local time and not to GMT - (this is true if the output of the &man.date.1; command - does not show the correct time and zone), - you may also need to run the following command: -&prompt.root; adjkerntz -i - - This will make sure that your local time-zone settings - get set up correctly — without this, you may later run into some - problems. - - + &prompt.root; adjkerntz -i + Με αυτό τον τρόπο θα βεβαιωθείτε ότι οι τοπικές σας ρυθμίσεις + ώρας έχουν ρυθμιστεί σωστά. Διαφορετικά, μπορεί να συναντήσετε + προβλήματα αργότερα. + - Remove <filename>/usr/obj</filename> + Διαγράψτε το <filename>/usr/obj</filename> - As parts of the system are rebuilt they are placed in - directories which (by default) go under - /usr/obj. The directories shadow those under - /usr/src. + Καθώς γίνεται η επαναμεταγλώττιση, τμήματα του συστήματος + τοποθετούνται από προεπιλογή σε υποκαταλόγους του + /usr/obj. Οι υποκατάλογοι αυτοί αντιγράφουν τη + δομή που ακολουθείται στο /usr/src. - You can speed up the make buildworld process, and - possibly save yourself some dependency headaches by removing this - directory as well. + Μπορείτε να επιταχύνετε τη διαδικασία του + make buildworld και επίσης να γλυτώσετε από κάποια + πιθανά προβλήματα, αν διαγράψετε και αυτό τον κατάλογο. - Some files below /usr/obj may have the - immutable flag set (see &man.chflags.1; for more information) - which must be removed first. + Κάποια αρχεία σε υποκαταλόγους του /usr/obj + μπορεί να έχουν χαρακτηριστεί ως immutable μέσω του αντίστοιχου flag + (για περισσότερες λεπτομέρειες δείτε το &man.chflags.1;). Πριν + διαγράψετε αυτά τα αρχεία, θα πρέπει πρώτα να καταργήσετε αυτό το + flag. &prompt.root; cd /usr/obj &prompt.root; chflags -R noschg * @@ -829,268 +952,305 @@ - Recompile the Base System + Επαναμεταγλωττίστε το Βασικό Σύστημα - Saving the Output + Αποθηκεύστε την Έξοδο - It is a good idea to save the output you get from running - &man.make.1; to another file. If something goes wrong you will - have a copy of the error message. While this might not help you - in diagnosing what has gone wrong, it can help others if you post - your problem to one of the &os; mailing lists. + Καθώς εκτελείται η &man.make.1;, είναι καλή ιδέα η έξοδος της + να αποθηκεύεται σε κάποιο άλλο αρχείο. Αν κάτι πάει στραβά, θα + έχετε ένα αντίγραφο του μηνύματος λάθους. Αν και αυτό ίσως δεν σας + βοηθήσει να βρείτε τι πήγε στραβά, μπορεί να διευκολύνει άλλους αν + στείλετε το μήνυμα σας σε μια από τις λίστες ηλεκτρονικού + ταχυδρομείου του &os;. - The easiest way to do this is to use the &man.script.1; - command, with a parameter that specifies the name of the file to - save all output to. You would do this immediately before - rebuilding the world, and then type exit - when the process has finished. + Ο ευκολότερος τρόπος για να γίνει αυτό, είναι χρησιμοποιώντας + την εντολή &man.script.1; με μια παράμετρο που να καθορίζει το όνομα + του αρχείου στο οποίο θα αποθηκευτεί η έξοδος. Θα πρέπει να + το εκτελέσετε αμέσως πριν ξεκινήσετε την μεταγλώττιση του βασικού + συστήματος, και να γράψετε exit μόλις + η διαδικασία ολοκληρωθεί. &prompt.root; script /var/tmp/mw.out -Script started, output file is /var/tmp/mw.out +Script started, output file is /var/tmp/mw.out &prompt.root; make TARGET -… compile, compile, compile … +… μεταγλώττιση, μεταγλώττιση, μεταγλώττιση … &prompt.root; exit Script done, … - If you do this, do not save the output - in /tmp. This directory may be cleared - next time you reboot. A better place to store it is in - /var/tmp (as in the previous example) or - in root's home directory. + Αν αποφασίσετε να αποθηκεύσετε την έξοδο, + μη χρησιμοποιήσετε για αυτό το σκοπό τον + κατάλογο /tmp. Τα περιεχόμενα αυτού του + καταλόγου πιθανώς να διαγραφούν την επόμενη φορά που θα εκκινήσετε + το σύστημα σας. Ένας καλύτερος κατάλογος για την αποθήκευση του + είναι ο /var/tmp (όπως στο προηγούμενο + παράδειγμα) ή ο προσωπικός κατάλογος του + root. - Compile the Base System + Μεταγλωττίστε το Βασικό Σύστημα - You must be in the /usr/src - directory: + Θα πρέπει να βρίσκεστε στον κατάλογο + /usr/src: &prompt.root; cd /usr/src - (unless, of course, your source code is elsewhere, in which - case change to that directory instead). + (εκτός αν φυσικά έχετε αποθηκεύσει τον πηγαίο κώδικα σε κάποιο + άλλο κατάλογο, οπότε απλώς μετακινηθείτε σε αυτόν). make - To rebuild the world you use the &man.make.1; command. This - command reads instructions from the Makefile, - which describes how the programs that comprise &os; should be - rebuilt, the order in which they should be built, and so on. + Για να επαναμεταγλωττίσετε το βασικό σύστημα, χρησιμοποιήστε + την εντολή &man.make.1;. Η εντολή αυτή διαβάζει τις σχετικές + οδηγίες από το αρχείο Makefile, το οποίο + περιγράφει με ποιο τρόπο πρέπει να μεταγλωττιστούν τα προγράμματα + από τα οποία αποτελείται το &os;, τη σειρά με την οποία πρέπει να + γίνει η μεταγλώττιση κ.ο.κ. - The general format of the command line you will type is as - follows: + Η γενική μορφή της εντολής που θα πληκτρολογήσετε είναι η + παρακάτω: &prompt.root; make -x -DVARIABLE target - In this example, - is an option that you would pass to &man.make.1;. See the - &man.make.1; manual page for an example of the options you can - pass. + Στο παράδειγμα αυτό, το + αντιπροσωπεύει μια + επιλογή που θέλετε να δώσετε στην &man.make.1;. Δείτε την σελίδα + manual του &man.make.1; για παραδείγματα δυνατών επιλογών. - - passes a variable to the Makefile. The - behavior of the Makefile is controlled by - these variables. These are the same variables as are set in - /etc/make.conf, and this provides another - way of setting them. + Η επιλογή + περνάει μια μεταβλητή στο Makefile. + Η συμπεριφορά του Makefile ελέγχεται από + τέτοιου είδους μεταβλητές. Πρόκειται για τις ίδιες μεταβλητές που + καθορίζονται και στο /etc/make.conf, και αυτός + είναι ένας ακόμα τρόπος καθορισμού τους. &prompt.root; make -DNO_PROFILE target - is another way of specifying that profiled libraries should - not be built, and corresponds with the + Το παραπάνω δείχνει ένα επιπλέον τρόπο να καθορίσετε ότι δεν + θέλετε να μεταγλωττιστούν οι βιβλιοθήκες με πληροφορίες profiling, + και αντιστοιχεί με την παρακάτω γραμμή στο + /etc/make.conf: NO_PROFILE= true # Avoid compiling profiled libraries - line in /etc/make.conf. + Το target δηλώνει στο &man.make.1; + τι θέλετε να κάνετε. Σε κάθε Makefile ορίζεται + ένας αριθμός διαφορετικών targets, και η επιλογή που + θα κάνετε, καθορίζει τι ακριβώς θα γίνει. - target tells &man.make.1; what - you want to do. Each Makefile defines a - number of different targets, and your choice of - target determines what happens. + Κάποια από τα targets που καθορίζονται στο + Makefile, δεν προορίζονται για άμεση εκτέλεση + από το χρήστη. Αντί για αυτό, χρησιμοποιούνται από τη διαδικασία + μεταγλώττισης για να μοιραστεί ο αριθμός των βημάτων που απαιτούνται + για τη μεταγλώττιση του συστήματος, σε ένα αριθμό + υπo-βημάτων. - Some targets are listed in the - Makefile, but are not meant for you to run. - Instead, they are used by the build process to break out the - steps necessary to rebuild the system into a number of - sub-steps. - - Most of the time you will not need to pass any parameters to - &man.make.1;, and so your command like will look like - this: + Στις περισσότερες περιπτώσεις δεν θα χρειαστεί να δώσετε καμία + παράμετρο στο &man.make.1;, και έτσι η εντολή σας θα μοιάζει με την + παρακάτω: &prompt.root; make target - Where target will be one of - many build options. The first target should always be - buildworld. + Όπου το target θα είναι μια από τις + πολλές επιλογές μεταγλώττισης. Το πρώτο target θα πρέπει πάντα να + είναι το buildworld. - As the names imply, buildworld - builds a complete new tree under /usr/obj, - and installworld, another target, installs this tree on - the current machine. + Όπως εννοείται και από το όνομα, το + buildworld μεταγλωττίζει ένα πλήρες δέντρο + μέσα στον κατάλογο /usr/obj, ενώ το + installworld, εγκαθιστά αυτό το δέντρο στο + τρέχον μηχάνημα. - Having separate options is very useful for two reasons. First, it allows you - to do the build safe in the knowledge that no components of - your running system will be affected. The build is - self hosted. Because of this, you can safely - run buildworld on a machine running - in multi-user mode with no fear of ill-effects. It is still - recommended that you run the - installworld part in single user - mode, though. + Η ύπαρξη διαφορετικών επιλογών, είναι χρήσιμη για δύο λόγους. + Πρώτα από όλα, σας επιτρέπει να εκτελέσετε τη διαδικασία + μεταγλώττισης με ασφάλεια, γνωρίζοντας ότι δεν πρόκειται να + επηρεαστεί κανένα τμήμα του τρέχοντος συστήματος σας. Η διαδικασία + μεταγλώττισης είναι self hosted, απομονωμένη από την + υπόλοιπη λειτουργία του μηχανήματος. Μπορείτε έτσι να εκτελέσετε + το buildworld σε ένα μηχάνημα που βρίσκεται + σε κανονική λειτουργία (πολλαπλών χρηστών) χωρίς να υπάρχει φόβος + παρενεργειών. Ωστόσο, συνίσταται να εκτελέσετε το + installworld σε κατάσταση λειτουργίας + ενός χρήστη. - Secondly, it allows you to use NFS mounts to upgrade - multiple machines on your network. If you have three machines, - A, B and C that you want to upgrade, run make - buildworld and make installworld on - A. B and C should then NFS mount /usr/src - and /usr/obj from A, and you can then run - make installworld to install the results of - the build on B and C. + Ο δεύτερος λόγος είναι ότι σας επιτρέπει να χρησιμοποιήσετε + προσαρτήσεις NFS για να αναβαθμίσετε πολλά μηχανήματα του δικτύου + σας. Αν έχετε τρία μηχανήματα, τα + A, B και C + τα οποία θέλετε να αναβαθμίσετε, εκτελέστε το + make buildworld και το + make installworld στο μηχάνημα + A. Το B και το + C μπορούν να προσαρτήσουν τον κατάλογο + /usr/src και τον + /usr/obj από τον A μέσω NFS, + και έπειτα μπορείτε να εκτελέσετε το + make installworld για να εγκαταστήσετε το + έτοιμο πλέον σύστημα στον B και + C. - Although the world target still exists, - you are strongly encouraged not to use it. + Αν και υπάρχει ακόμα το target world, + δεν συνίσταται πλέον η χρήση του. - Run + Εκτελέστε την εντολή: &prompt.root; make buildworld - - It is possible to specify a option to - make which will cause it to spawn several - simultaneous processes. This is most useful on multi-CPU machines. - However, since much of the compiling process is IO bound rather - than CPU bound it is also useful on single CPU machines. - On a typical single-CPU machine you would run: - + Μπορείτε να καθορίσετε την επιλογή στην + make ώστε να εκτελεστεί σε πολλαπλές διεργασίες. + Αυτό είναι περισσότερο χρήσιμο σε μηχανήματα με πολλούς + επεξεργαστές, ωστόσο καθώς το μεγαλύτερο μέρος της διαδικασίας + μεταγλώττισης καθυστερεί εξαιτίας του σκληρού δίσκου (IO bound) + και όχι της CPU, μπορεί να σας φανεί χρήσιμο ακόμα και σε μηχανήματα + με ένα επεξεργαστή. + + Σε ένα τυπικό μηχάνημα με μια CPU, θα μπορούσατε να + δώσετε: + &prompt.root; make -j4 buildworld - &man.make.1; will then have up to 4 processes running at any one - time. Empirical evidence posted to the mailing lists shows this - generally gives the best performance benefit. + Με την παραπάνω εντολή, το &man.make.1; θα χρησιμοποιεί μέχρι + 4 διεργασίες κάθε χρονική στιγμή. Από την εμπειρία που έχουμε + και από ότι αναφέρουν οι χρήστες στις λίστες, φαίνεται ότι η + ρύθμιση αυτή δίνει γενικά την καλύτερη απόδοση. - If you have a multi-CPU machine and you are using an SMP - configured kernel try values between 6 and 10 and see how they speed - things up. + Αν έχετε μηχάνημα με πολλούς επεξεργαστές, και χρησιμοποιείτε + πυρήνα με δυνατότητα SMP, δοκιμάστε τιμές μεταξύ του 6 και του 10 + για να δείτε ποια επιταχύνει καλύτερα το αποτέλεσμα. - + - Timings + Χρόνος Μεταγλώττισης rebuilding world timings - Many factors influence the build time, but fairly recent - machines may only take a one or two hours to build - the &os.stable; tree, with no tricks or shortcuts used during the - process. A &os.current; tree will take somewhat longer. + Ο χρόνος που απαιτείται για την μεταγλώττιση επηρεάζεται από + πολλούς παράγοντες. Ωστόσο, σε σύγχρονα μηχανήματα η διαδικασία + δεν κρατάει συνήθως παραπάνω από μία ή δύο ώρες, όταν γίνεται + μεταγλώττιση του δέντρου &os.stable;, και μάλιστα χωρίς να + χρειάζεται να γίνουν ειδικές ρυθμίσεις ή κόλπα. Το δέντρο + &os.current; χρειάζεται γενικά λίγο περισσότερο χρόνο για να + μεταγλωττιστεί. - + - Compile and Install a New Kernel + Μεταγλωττίστε και Εγκαταστήστε Νέο Πυρήνα - kernel + kernel compiling - To take full advantage of your new system you should recompile the - kernel. This is practically a necessity, as certain memory structures - may have changed, and programs like &man.ps.1; and &man.top.1; will - fail to work until the kernel and source code versions are the - same. + Για να εκμεταλλευθείτε πλήρως το νέο σας σύστημα, θα πρέπει να + επαναμεταγλωττίσετε τον πυρήνα. Αυτό είναι πρακτικά αναγκαίο, καθώς + κάποιες δομές στη μνήμη πιθανώς να έχουν αλλάξει, και έτσι + προγράμματα όπως τα &man.ps.1; και &man.top.1; δεν θα λειτουργούν + σωστά μέχρι να συγχρονίσετε τον πυρήνα με την έκδοση πηγαίου + κώδικα του βασικού συστήματος. - The simplest, safest way to do this is to build and install a - kernel based on GENERIC. While - GENERIC may not have all the necessary devices - for your system, it should contain everything necessary to boot your - system back to single user mode. This is a good test that the new - system works properly. After booting from - GENERIC and verifying that your system works you - can then build a new kernel based on your normal kernel configuration - file. + Ο απλούστερος και πλέον ασφαλής τρόπος, είναι να μεταγλωττίσετε + και να εγκαταστήσετε ένα πυρήνα βασισμένο στον + GENERIC. Αν και ο GENERIC + μπορεί να μην περιέχει όλες τις απαραίτητες συσκευές για το σύστημα + σας, θα πρέπει να περιέχει ότι χρειάζεται ώστε να ξεκινήσετε ξανά + το σύστημα σας σε κατάσταση λειτουργίας ενός χρήστη. Αυτό είναι ένα + καλό τεστ σωστής λειτουργίας του συστήματος. Μετά την εκκίνηση με + τον GENERIC, και αφού επαληθεύσετε τη σωστή + λειτουργία του συστήματος, μπορείτε να μεταγλωττίσετε ένα νέο + πυρήνα βασισμένο στο δικό σας προσαρμοσμένο αρχείο ρυθμίσεων. - On &os; it is important to build world before building a - new kernel. + Στο &os; είναι σημαντικό να εκτελέσετε το build world πριν μεταγλωττίσετε νέο + πυρήνα. - If you want to build a custom kernel, and already have a configuration - file, just use KERNCONF=MYKERNEL - like this: + Αν θέλετε να μεταγλωττίσετε νέο πυρήνα, και έχετε ήδη ένα + αρχείο με προσαρμοσμένες ρυθμίσεις, χρησιμοποιήστε απλώς την επιλογή + KERNCONF=MYKERNEL + με τον τρόπο που φαίνεται παρακάτω: &prompt.root; cd /usr/src &prompt.root; make buildkernel KERNCONF=MYKERNEL &prompt.root; make installkernel KERNCONF=MYKERNEL - Note that if you have raised kern.securelevel - above 1 and you have set either the - noschg or similar flags to your kernel binary, you - might find it necessary to drop into single user mode to use - installkernel. Otherwise you should be able - to run both these commands from multi user mode without - problems. See &man.init.8; for details about - kern.securelevel and &man.chflags.1; for details - about the various file flags. + Σημειώστε ότι αν έχετε ανεβάσει την τιμή του + kern.securelevel πάνω από το 1, + και έχετε θέσει το flag + noschg ή κάποιο αντίστοιχο στο εκτελέσιμο αρχείο + του πυρήνα, μάλλον θα χρειαστεί να μεταβείτε σε κατάσταση λειτουργίας + ενός χρήστη για να χρησιμοποιήσετε το + installkernel. Διαφορετικά, μπορείτε να + εκτελέσετε και τις δύο αυτές εντολές από την κανονική κατάσταση + λειτουργίας (πολλών χρηστών) χωρίς να δημιουργηθούν προβλήματα. + Δείτε τη σελίδα manual του &man.init.8; για λεπτομέρειες σχετικά με + τη ρύθμιση kern.securelevel και τη σελίδα + του &man.chflags.1; για λεπτομέρειες σχετικά με τα διάφορα flags + που χρησιμοποιούνται σε αρχεία. - Reboot into Single User Mode + Επανεκκινήστε σε Κατάσταση Λειτουργίας Ενός Χρήστη single-user mode - You should reboot into single user mode to test the new kernel - works. Do this by following the instructions in + Θα πρέπει να επανεκκινήσετε σε κατάσταση λειτουργίας ενός χρήστη + για να επαληθεύσετε τη λειτουργία του νέου πυρήνα. Για το σκοπό + αυτό, χρησιμοποιήστε τις οδηγίες που είδαμε στο . - Install the New System Binaries + Εγκαταστήστε τα Νέα Εκτελέσιμα του Συστήματος - If you were building a version of &os; recent enough to have - used make buildworld then you should now use - installworld to install the new system - binaries. + Αν μεταγλωττίζατε μια αρκετά πρόσφατη έκδοση του &os;, η οποία + διαθέτει το target make buildworld, θα πρέπει + τώρα να χρησιμοποιήσετε το installworld + για να εγκαταστήσετε τα νέα εκτελέσιμα του συστήματος. - Run + Εκτελέστε τις παρακάτω εντολές: &prompt.root; cd /usr/src &prompt.root; make installworld - If you specified variables on the make - buildworld command line, you must specify the same - variables in the make installworld command - line. This does not necessarily hold true for other options; - for example, must never be used with + Αν έχετε καθορίσει μεταβλητές στη γραμμή εντολών του + make buildworld θα πρέπει να καθορίσετε τις + ίδιες μεταβλητές και στην γραμμή εντολών του + make installworld. Αυτό δεν είναι απαραίτητα + αλήθεια για άλλες επιλογές. Για παράδειγμα, η επιλογή + δεν πρέπει ποτέ να χρησιμοποιείτε με το installworld. - - For example, if you ran: + + Για παράδειγμα αν εκτελέσετε: &prompt.root; make -DNO_PROFILE buildworld - you must install the results with: + Θα πρέπει να εγκαταστήσετε το αποτέλεσμα χρησιμοποιώντας: &prompt.root; make -DNO_PROFILE installworld - otherwise it would try to install profiled libraries that - had not been built during the make buildworld - phase. + διαφορετικά το &man.make.1; θα προσπαθήσει να εγκαταστήσει + βιβλιοθήκες με profiling, τις οποίες όμως δεν μεταγλωττίσατε κατά + τη διάρκεια της φάσης make buildworld. - Update Files Not Updated by <command>make installworld</command> - - Remaking the world will not update certain directories (in - particular, /etc, /var and - /usr) with new or changed configuration files. + Ενημερώστε Όσα Αρχεία δεν Ενημερώθηκαν από το + <command>make installworld</command> - The simplest way to update these files is to use - &man.mergemaster.8;, though it is possible to do it manually - if you would prefer to do that. Regardless of which way you - choose, be sure to make a backup of /etc in - case anything goes wrong. + Η επαναμεταγλώττιση του βασικού συστήματος δεν θα ενημερώσει + ορισμένους καταλόγους (ειδικότερα τους + /etc, /var και + /usr) με τα νέα ή αλλαγμένα αρχεία + ρυθμίσεων. + + Ο απλούστερος τρόπος για να ενημερώσετε τα αρχεία αυτά είναι να + χρησιμοποιήσετε το &man.mergemaster.8;, αν και μπορείτε να το κάνετε + και χειροκίνητα αν προτιμάτε. Άσχετα από τον τρόπο που θα + προτιμήσετε, βεβαιωθείτε ότι έχετε πάρει αντίγραφο ασφαλείας του + /etc σε περίπτωση που κάτι πάει στραβά. @@ -1098,522 +1258,592 @@ Script done, … Tom Rhodes - Contributed by + Συνεισφορά του + <command>mergemaster</command> - mergemaster + mergemaster - The &man.mergemaster.8; utility is a Bourne script that will - aid you in determining the differences between your configuration files - in /etc, and the configuration files in - the source tree /usr/src/etc. This is - the recommended solution for keeping the system configuration files up to date - with those located in the source tree. + Το βοηθητικό πρόγραμμα &man.mergemaster.8; είναι ένα Bourne + script το οποίο θα σας βοηθήσει να καθορίσετε τις διαφορές μεταξύ + των εγκατεστημένων στο /etc αρχείων ρυθμίσεων, + και των αντίστοιχων στο δέντρο πηγαίου κώδικα στο + /usr/src/etc. Αυτή είναι και η συνιστώμενη + λύση για να ενημερώσετε τα αρχεία ρυθμίσεων του συστήματος με τυχόν + αλλαγές που έχουν γίνει στον νέο πηγαίο κώδικα. - To begin simply type mergemaster at your prompt, and - watch it start going. mergemaster will then build a - temporary root environment, from / down, and populate - it with various system configuration files. Those files are then compared - to the ones currently installed in your system. At this point, files that - differ will be shown in &man.diff.1; format, with the sign - representing added or modified lines, and representing - lines that will be either removed completely, or replaced with a new line. - See the &man.diff.1; manual page for more information about the &man.diff.1; - syntax and how file differences are shown. + Για να ξεκινήσετε, απλώς γράψτε mergemaster + στην προτροπή της γραμμής εντολών και παρακολουθήστε την καθώς + λειτουργεί. Το mergemaster θα δημιουργήσει ένα + προσωρινό περιβάλλον root, από το / και κάτω, + και θα το γεμίσει με διάφορα αρχεία ρυθμίσεων του συστήματος. Έπειτα + θα γίνει σύγκριση αυτών των αρχείων με τα αντίστοιχα που βρίσκονται + ήδη εγκατεστημένα στο σύστημα σας. Στο σημείο αυτό, θα σας δείξει + τα αρχεία που διαφέρουν με μορφή &man.diff.1;, όπου οι γραμμές που + έχουν τροποποιηθεί ή είναι νέες θα φαίνονται με ένα + , ενώ με το θα φαίνονται οι + γραμμές που είτε αφαιρούνται εντελώς ή που αντικαθίστανται από μια + νέα γραμμή. Δείτε τη σελίδα manual του &man.diff.1; για περισσότερες + πληροφορίες σχετικά με τη σύνταξη του &man.diff.1; και για τον τρόπο + με τον οποίο φαίνονται οι διαφορές μεταξύ των αρχείων. - &man.mergemaster.8; will then show you each file that displays variances, - and at this point you will have the option of either deleting the new file (referred - to as the temporary file), installing the temporary file in its unmodified state, - merging the temporary file with the currently installed file, or viewing the - &man.diff.1; results again. + Το &man.mergemaster.8; θα σας δείξει έπειτα κάθε αρχείο που + παρουσιάζει διαφορές, και στο σημείο αυτό θα έχετε την δυνατότητα + είτε να διαγράψετε το νέο αρχείο (το οποίο αναφέρεται ως προσωρινό + αρχείο), είτε να εγκαταστήσετε το προσωρινό αρχείο χωρίς να κάνετε + σε αυτό καμιά αλλαγή, είτε να συγχωνεύσετε τις αλλαγές των δύο + αρχείων, ή τέλος να ξαναδείτε τις διαφορές μέσω της + &man.diff.1;. - Choosing to delete the temporary file will tell &man.mergemaster.8; that we - wish to keep our current file unchanged, and to delete the new version. - This option is not recommended, unless you see no - reason to change the current file. You can get help at any time by - typing ? at the &man.mergemaster.8; prompt. If the user - chooses to skip a file, it will be presented again after all other files - have been dealt with. + Αν επιλέξετε να διαγράψετε το προσωρινό αρχείο, το + &man.mergemaster.8; θα καταλάβει ότι επιθυμείτε να διατηρήσετε το + τρέχον αρχείο σας χωρίς αλλαγές, και να διαγράψετε τη νέα έκδοση. + Η επιλογή αυτή γενικά δεν συνίσταται, εκτός αν δεν βλέπετε κανένα + λόγο να αλλάξετε το τρέχον αρχείο. Μπορείτε να δείτε βοήθεια + οποιαδήποτε στιγμή κατά τη διάρκεια της διαδικασίας, πληκτρολογώντας + ? στην προτροπή του &man.mergemaster.8;. Αν + αποφασίσετε να παραλείψετε κάποιο αρχείο, αυτό θα εμφανιστεί + ξανά μετά το τέλος όλων των άλλων αρχείων. - Choosing to install the unmodified temporary file will replace the - current file with the new one. For most unmodified files, this is the best - option. + Αν επιλέξετε να εγκαταστήσετε το προσωρινό αρχείο χωρίς αλλαγές, + αυτό θα αντικαταστήσει το ήδη εγκατεστημένο σας αρχείο. Αυτή είναι + και η καλύτερη επιλογή για τα αρχεία τα οποία δεν έχετε αλλάξει + εσείς χειροκίνητα. - Choosing to merge the file will present you with a text editor, - and the contents of both files. You can now merge them by - reviewing both files side by side on the screen, and choosing parts from - both to create a finished product. When the files are compared side by side, - the l key will select the left contents and the - r key will select contents from your right. - The final output will be a file consisting of both parts, which can then be - installed. This option is customarily used for files where settings have been - modified by the user. + Αν επιλέξετε να συγχωνεύσετε τα δύο αρχεία, θα εμφανιστεί ένας + επεξεργαστής κειμένου με τα περιεχόμενα και των δύο αρχείων. + Μπορείτε τώρα να τα συγχωνεύσετε παρατηρώντας ταυτόχρονα και τα δύο + αρχεία δίπλα-δίπλα, και επιλέγοντας τμήματα και από τα δύο για να + δημιουργήσετε την τελική έκδοση. Κατά τη σύγκριση αυτή, μπορείτε να + χρησιμοποιήσετε το πλήκτρο l για να επιλέξετε τα + περιεχόμενα που φαίνονται στην αριστερή πλευρά, ή το + r για τα αντίστοιχα περιεχόμενα στη δεξιά. + Το τελικό αποτέλεσμα θα είναι ένα αρχείο που θα αποτελείται από + τμήματα και των δύο αρχείων, και το οποίο μπορείτε να εγκαταστήσετε. + Η επιλογή αυτή χρησιμοποιείται συνήθως για αρχεία των οποίων το + περιεχόμενο έχει μεταβληθεί από το χρήστη. - Choosing to view the &man.diff.1; results again will show you the file differences - just like &man.mergemaster.8; did before prompting you for an option. + Αν επιλέξετε να δείτε ξανά τις διαφορές μέσω της &man.diff.1;, + αυτές θα εμφανιστούν ακριβώς όπως έγινε και πριν + σας ρωτήσει το &man.mergemaster.8; να επιλέξετε τι θέλετε να κάνετε + με το αρχείο. - After &man.mergemaster.8; is done with the system files you will be - prompted for other options. &man.mergemaster.8; may ask if you want to rebuild - the password file and will finish up with an option to - remove left-over temporary files. + Μόλις ολοκληρωθεί η λειτουργία του &man.mergemaster.8; στα αρχεία + συστήματος, θα σας ρωτήσει για άλλες επιλογές. + Το &man.mergemaster.8; ίσως σας ρωτήσει αν θέλετε να αναδημιουργήσετε + το αρχείο των κωδικών (password file), και θα τελειώσει δίνοντας σας + την επιλογή να διαγράψετε τυχόν προσωρινά αρχεία που δημιουργήθηκαν + κατά την διαδικασία. - Manual Update + Χειροκίνητη Ενημέρωση - If you wish to do the update manually, however, - you cannot just copy over the files from - /usr/src/etc to /etc and - have it work. Some of these files must be installed - first. This is because the /usr/src/etc - directory is not a copy of what your - /etc directory should look like. In addition, - there are files that should be in /etc that are - not in /usr/src/etc. + Αν επιθυμείτε να κάνετε την ενημέρωση χειροκίνητα, δεν μπορείτε + απλώς να αντιγράψετε τα αρχεία από τον κατάλογο + /usr/src/etc στον /etc και + να περιμένετε ότι το σύστημα σας θα λειτουργήσει σωστά. Κάποια από + αυτά τα αρχεία θα πρέπει να εγκατασταθούν πρώτα. Αυτό + συμβαίνει επειδή ο κατάλογος /usr/src/etc + δεν είναι κανονικό αντίγραφο του + /etc. Επιπρόσθετα, υπάρχουν αρχεία τα οποία + πρέπει να βρίσκονται στον κατάλογο /etc, αλλά + δεν υπάρχουν στον /usr/src/etc. - If you are using &man.mergemaster.8; (as recommended), - you can skip forward to the next - section. + Αν χρησιμοποιείτε το &man.mergemaster.8; (όπως και συνίσταται), + μπορείτε να διαβάσετε κατευθείαν την επόμενη ενότητα. + + Ο απλούστερος τρόπος να το κάνετε αυτό χειροκίνητα, είναι να + εγκαταστήσετε τα αρχεία σε ένα νέο κατάλογο, και έπειτα να τα + εξετάσετε ένα-ένα ψάχνοντας για τις αλλαγές. - The simplest way to do this by hand is to install the - files into a new directory, and then work through them looking - for differences. - - Backup Your Existing <filename>/etc</filename> + Κρατήστε Ένα Αντίγραφο Ασφαλείας του Καταλόγου + <filename>/etc</filename> - Although, in theory, nothing is going to touch this directory - automatically, it is always better to be sure. So copy your - existing /etc directory somewhere safe. - Something like: + Αν και θεωρητικά, τίποτα δεν πρόκειται να πειράξει αυτό τον + κατάλογο αυτόματα, είναι πάντα καλύτερα να είμαστε σίγουροι. + Για το λόγο αυτό, αντιγράψτε τον υπάρχοντα κατάλογο + /etc σε κάποιο ασφαλές μέρος. Χρησιμοποιήστε + μια εντολή όπως η παρακάτω: &prompt.root; cp -Rp /etc /etc.old - does a recursive copy, - preserves times, ownerships on files and suchlike. + Η επιλογή πραγματοποιεί αναδρομική + αντιγραφή, ενώ η διατηρεί τα δικαιώματα, την + ιδιοκτησία, τις ημερομηνίες των αρχείων, κ.ο.κ. - - You need to build a dummy set of directories to install the new - /etc and other files into. - /var/tmp/root is a reasonable choice, and - there are a number of subdirectories required under this as - well. + + θα πρέπει να δημιουργήσετε μια ψευτο-δομή καταλόγων για να + εγκαταστήσετε το νέο κατάλογο /etc και άλλα + αρχεία. Μια λογική επιλογή είναι ο κατάλογος + /var/tmp/root, και κάτω από αυτόν, θα πρέπει + επίσης να δημιουργήσετε και μια ολόκληρη σειρά από τους υποκαταλόγους + που απαιτούνται. &prompt.root; mkdir /var/tmp/root &prompt.root; cd /usr/src/etc &prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distribution - This will build the necessary directory structure and install the - files. A lot of the subdirectories that have been created under - /var/tmp/root are empty and should be deleted. - The simplest way to do this is to: - + Οι παραπάνω εντολές θα δημιουργήσουν την απαιτούμενη δομή + καταλόγων και θα εγκαταστήσουν τα αρχεία. Μεγάλο μέρος των + υποκαταλόγων που έχουν δημιουργηθεί κάτω από τον + /var/tmp/root είναι άδειοι, και πρέπει να + διαγραφούν. Ο απλούστερος τρόπος για να γίνει αυτό, φαίνεται + παρακάτω: + &prompt.root; cd /var/tmp/root &prompt.root; find -d . -type d | xargs rmdir 2>/dev/null - - This will remove all empty directories. (Standard error is - redirected to /dev/null to prevent the warnings - about the directories that are not empty.) - /var/tmp/root now contains all the files that - should be placed in appropriate locations below - /. You now have to go through each of these - files, determining how they differ with your existing files. - - Note that some of the files that will have been installed in - /var/tmp/root have a leading .. At the - time of writing the only files like this are shell startup files in - /var/tmp/root/ and - /var/tmp/root/root/, although there may be others - (depending on when you are reading this). Make sure you use - ls -a to catch them. - - The simplest way to do this is to use &man.diff.1; to compare the - two files: - + Αυτό θα διαγράψει όλους τους άδειους υποκαταλόγους. (Η έξοδος + σφάλματος ανακατευθύνεται στο /dev/null ώστε + να μην εμφανίζονται στην οθόνη προειδοποιήσεις για καταλόγους που + δεν είναι άδειοι.) + + Τώρα, ο /var/tmp/root περιέχει όλα τα αρχεία + που θα πρέπει να τοποθετηθούν σε κατάλληλες θέσεις κάτω από τον + /. Θα πρέπει τώρα να διατρέξετε καθένα από + αυτά τα αρχεία, και να καθορίσετε πως καθένα από αυτά διαφέρει από + το αντίστοιχο υπάρχον (εγκατεστημένο) αρχείο. + + Σημειώστε ότι κάποια από τα αρχεία τα οποία έχουν + εγκατασταθεί στον /var/tmp/root έχουν μια + αρχική .. Τη στιγμή που γράφονται αυτές οι γραμμές, + τα μόνα αρχεία στα οποία συμβαίνει αυτό είναι τα αρχεία εκκίνησης + του κελύφους στον κατάλογο /var/tmp/root/ και + /var/tmp/root/root/, αν και μπορεί να υπάρχουν + και άλλα (ανάλογα με το πότε διαβάζετε το κείμενο). Βεβαιωθείτε ότι + χρησιμοποιείτε την εντολή ls -a για να τα δείτε + όλα. + + Ο απλούστερος τρόπος για να συγκρίνετε δύο αρχεία, είναι να + χρησιμοποιήσετε την εντολή &man.diff.1;: + &prompt.root; diff /etc/shells /var/tmp/root/etc/shells - - This will show you the differences between your - /etc/shells file and the new - /var/tmp/root/etc/shells file. Use these to decide whether to - merge in changes that you have made or whether to copy over your old - file. - + + Η παραπάνω εντολή θα σας δείξει τις διαφορές μεταξύ του αρχείου + /etc/shells και του νέου αρχείου + /var/tmp/root/etc/shells. Χρησιμοποιήστε τις + διαφορές αυτές για να αποφασίσετε αν θα πρέπει να συγχωνεύσετε τις + αλλαγές που έχετε κάνει, ή απλώς να αντιγράψετε το παλιό σας αρχείο + πάνω από το νέο. + - Name the New Root Directory - (<filename>/var/tmp/root</filename>) with a Time Stamp, so You Can - Easily Compare Differences Between Versions + Προσθέστε την Ημερομηνία στο Όνομα του Νέου Root Καταλόγου, + (<filename>/var/tmp/root</filename>) Ώστε να Μπορείτε Εύκολα να + Συγκρίνετε Διαφορετικές Εκδόσεις Μεταξύ τους - Frequently rebuilding the world means that you have to update - /etc frequently as well, which can be a bit of - a chore. + Αν μεταγλωττίζετε συχνά το βασικό σύστημα, θα πρέπει επίσης + να ενημερώνετε συχνά τον κατάλογο /etc, το + οποίο μπορεί να είναι ενοχλητικό. - You can speed this process up by keeping a copy of the last set - of changed files that you merged into /etc. - The following procedure gives one idea of how to do this. + Μπορείτε να επιταχύνετε αυτή τη διαδικασία, τηρώντας ένα + αντίγραφο του τελευταίου σετ αλλαγμένων αρχείων τα οποία + συγχωνεύσατε στον κατάλογο /etc. Η παρακάτω + διαδικασία θα σας δώσει μια ιδέα για το πως μπορεί να + γίνει αυτό: - Make the world as normal. When you want to update - /etc and the other directories, give the - target directory a name based on the current date. If you were - doing this on the 14th of February 1998 you could do the - following: - + Μεταγλωττίστε το βασικό σύστημα όπως κάνετε συνήθως. Όταν + θέλετε να ενημερώσετε τον /etc και τους + άλλους καταλόγους, δώστε στον κατάλογο προορισμού ένα όνομα + βασισμένο στην τρέχουσα ημερομηνία. Αν το κάνατε αυτό + στις 14 Φεβρουαρίου 1998, θα γράφατε κάτι σαν το + παρακάτω: + &prompt.root; mkdir /var/tmp/root-19980214 &prompt.root; cd /usr/src/etc &prompt.root; make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution - + - Merge in the changes from this directory as outlined - above. - - Do not remove the - /var/tmp/root-19980214 directory when you - have finished. + Συγχωνεύστε τις αλλαγές από αυτό τον κατάλογο, με τον τρόπο + που περιγράψαμε παραπάνω. + + Μην διαγράψετε τον κατάλογο + /var/tmp/root-19980214 όταν τελειώσετε + με την παραπάνω διαδικασία. - + - When you have downloaded the latest version of the source - and remade it, follow step 1. This will give you a new - directory, which might be called - /var/tmp/root-19980221 (if you wait a week - between doing updates). + Όταν κατεβάσετε την τελευταία έκδοση του πηγαίου κώδικα και + τον μεταγλωττίσετε ξανά, ακολουθήστε το βήμα 1. Αυτό θα σας + δώσει ένα κατάλογο που μπορεί να ονομάζεται + /var/tmp/root-19980221 (αν ανάμεσα στις + δύο μεταγλωττίσεις παρεμβάλλεται διάστημα μιας + εβδομάδας). - + - You can now see the differences that have been made in the - intervening week using &man.diff.1; to create a recursive diff - between the two directories: - + Μπορείτε τώρα να δείτε τις διαφορές που υπάρχουν ανάμεσα + στις δύο εβδομάδες, χρησιμοποιώντας την εντολή + &man.diff.1; σε αναδρομική λειτουργία για να δημιουργήσετε τις + διαφορές μεταξύ των δύο καταλόγων: + &prompt.root; cd /var/tmp &prompt.root; diff -r root-19980214 root-19980221 - - Typically, this will be a much smaller set of differences - than those between - /var/tmp/root-19980221/etc and - /etc. Because the set of differences is - smaller, it is easier to migrate those changes across into your - /etc directory. + + Τυπικά, αυτό το σετ αλλαγών θα είναι πολύ μικρότερο από + αυτό μεταξύ του /var/tmp/root-19980221/etc + και του /etc. Καθώς αυτό το σετ αλλαγών + είναι μικρότερο, είναι και πιο εύκολο να εφαρμόσετε αυτές + τις αλλαγές στον κατάλογο /etc. - + - You can now remove the older of the two - /var/tmp/root-* directories: - + Μπορείτε τώρα να διαγράψετε τον παλιότερο από τους δύο + καταλόγους /var/tmp/root-*: + &prompt.root; rm -rf /var/tmp/root-19980214 - + - Repeat this process every time you need to merge in changes - to /etc. + Επαναλάβετε αυτή τη διαδικασία κάθε φορά που θέλετε να + συγχωνεύσετε τις αλλαγές στον κατάλογο + /etc. - You can use &man.date.1; to automate the generation of the - directory names: - + Μπορείτε επίσης να χρησιμοποιήσετε την εντολή &man.date.1; για + να αυτοματοποιήσετε την δημιουργία των ονομάτων καταλόγων: + &prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"` - + - Rebooting - - You are now done. After you have verified that everything appears - to be in the right place you can reboot the system. A simple - &man.shutdown.8; should do it: + Επανεκκίνηση + + Η διαδικασία έχει πλέον ολοκληρωθεί. Αφού επαληθεύσετε ότι όλα + βρίσκονται στις σωστές θέσεις, μπορείτε να επανεκκινήσετε το σύστημα. + Μια απλή εντολή &man.shutdown.8; είναι επαρκής: &prompt.root; shutdown -r now - Finished - - You should now have successfully upgraded your &os; system. - Congratulations. - - If things went slightly wrong, it is easy to rebuild a particular - piece of the system. For example, if you accidentally deleted - /etc/magic as part of the upgrade or merge of - /etc, the &man.file.1; command will stop working. - In this case, the fix would be to run: + Ολοκλήρωση + + Έχετε πλέον αναβαθμίσει το &os; σύστημα σας. Συγχαρητήρια. + + Αν τα πράγματα δεν πήγαν εντελώς σωστά, είναι εύκολο να + μεταγλωττίσετε ξανά οποιοδήποτε τμήμα του συστήματος. + Για παράδειγμα, αν διαγράψετε κατά λάθος το + /etc/magic ως μέρος μιας αναβάθμισης ή + συγχώνευσης του /etc, η εντολή &man.file.1; + θα σταματήσει να λειτουργεί. Στην περίπτωση αυτή, η διόρθωση είναι + να εκτελέσετε: &prompt.root; cd /usr/src/usr.bin/file &prompt.root; make all install - - + + - Questions + Ερωτήσεις - Do I need to re-make the world for every change? + Πρέπει να μεταγλωττίσω ξανά ολόκληρο το βασικό σύστημα σε + κάθε αλλαγή; - There is no easy answer to this one, as it depends on the - nature of the change. For example, if you just ran CVSup, and - it has shown the following files as being updated: - + Δεν υπάρχει εύκολη απάντηση σε αυτό το ερώτημα, καθώς + εξαρτάται από τη φύση της αλλαγής. Για παράδειγμα, αν + εκτελέσετε το CVSup, και δείτε ότι + ενημερώθηκαν τα παρακάτω αρχεία: + src/games/cribbage/instr.c src/games/sail/pl_main.c src/release/sysinstall/config.c src/release/sysinstall/media.c src/share/mk/bsd.port.mk - it probably is not worth rebuilding the entire world. - You could just go to the appropriate sub-directories and - make all install, and that's about it. But - if something major changed, for example - src/lib/libc/stdlib then you should either - re-make the world, or at least those parts of it that are - statically linked (as well as anything else you might have added - that is statically linked). - - At the end of the day, it is your call. You might be happy - re-making the world every fortnight say, and let changes - accumulate over that fortnight. Or you might want to re-make - just those things that have changed, and be confident you can - spot all the dependencies. - - And, of course, this all depends on how often you want to - upgrade, and whether you are tracking &os.stable; or - &os.current;. + Το πιθανότερο είναι ότι δεν χρειάζεται να μεταγλωττίσετε + ξανά όλο το βασικό σύστημα. Μπορείτε απλώς να μεταβείτε στους + σχετικούς υποκαταλόγους και να εκτελέσετε το + make all install, και θα έχετε τελειώσει. + Αν όμως υπάρχει κάποια σημαντική αλλαγή, για παράδειγμα το + src/lib/libc/stdlib, θα πρέπει είτε να + επαναμεταγλωττίσετε το βασικό σύστημα, ή τουλάχιστον αυτά τα + κομμάτια τα οποία είναι στατικά συνδεδεμένα (όπως και οτιδήποτε + άλλο έχετε προσθέσει εσείς και το οποίο είναι στατικά + συνδεδεμένο). + + Τελικά, η απόφαση είναι δική σας. Μπορεί να είστε + ικανοποιημένος αν μεταγλωττίζετε το βασικό σύστημα κάθε δύο + βδομάδες, αφήνοντας τις αλλαγές να συγκεντρωθούν στη διάρκεια + αυτού του διαστήματος. Ή μπορεί να θέλετε να μεταγλωττίσετε + μόνο τις αλλαγές, αν έχετε την πεποίθηση ότι μπορείτε να + εντοπίσετε όλες τις εξαρτήσεις τους. + + Και φυσικά, όλα αυτά εξαρτώνται από το πόσο συχνά θέλετε να + ενημερώνετε το σύστημα σας, και από το αν ακολουθείτε το + &os.stable; ή το &os.current;. - My compile failed with lots of signal 11 (or other signal - number) errors. What has happened? + Η μεταγλώττιση μου απέτυχε με πλήθος μηνυμάτων signal 11 + (ή λάθη με άλλα σήματα). Τι έχει συμβεί; - signal 11 + signal 11 + Αυτό συνήθως δείχνει προβλήματα υλικού. Η διαδικασία + μεταγλώττισης του βασικού συστήματος είναι ένας αποτελεσματικός + τρόπος να δοκιμάσετε το υλικό σας στα όρια του, και συχνά θα + δείξει προβλήματα που σχετίζονται με τη μνήμη. Το πιο σύνηθες + σύμπτωμα, είναι η απότομη διακοπή της μεταγλώττισης, με τον + μεταγλωττιστή να φαίνεται ότι έχει λάβει κάποιο μυστηριώδες + σήμα. - This is normally indicative of hardware problems. - (Re)making the world is an effective way to stress test your - hardware, and will frequently throw up memory problems. These - normally manifest themselves as the compiler mysteriously dying - on receipt of strange signals. - - A sure indicator of this is if you can restart the make and - it dies at a different point in the process. - - In this instance there is little you can do except start - swapping around the components in your machine to determine - which one is failing. + Ένα σίγουρο σημάδι για το παραπάνω, είναι να επανεκκινήσετε + τη διαδικασία, και αυτή να σταματήσει σε διαφορετικό + σημείο. + + Στην περίπτωση αυτή, δεν υπάρχουν και πολλά που μπορείτε να + κάνετε, εκτός από το να αρχίσετε να αλλάζετε εξαρτήματα στο + μηχάνημα σας μέχρι να βρείτε αυτό που είναι υπαίτιο. - Can I remove /usr/obj when I have - finished? + Μπορώ να διαγράψω το /usr/obj όταν + τελειώσω; - + - The short answer is yes. - - /usr/obj contains all the object files - that were produced during the compilation phase. Normally, one - of the first steps in the make buildworld process is to - remove this directory and start afresh. In this case, keeping - /usr/obj around after you have finished - makes little sense, and will free up a large chunk of disk space - (currently about 340 MB). - - However, if you know what you are doing you can have - make buildworld skip this step. This will make subsequent - builds run much faster, since most of sources will not need to - be recompiled. The flip side of this is that subtle dependency - problems can creep in, causing your build to fail in odd ways. - This frequently generates noise on the &os; mailing lists, - when one person complains that their build has failed, not - realizing that it is because they have tried to cut - corners. + Η σύντομη απάντηση είναι ναι. + + Το /usr/obj περιέχει όλα τα + αντικειμενικά αρχεία που παράγονται κατά τη διάρκεια της + μεταγλώττισης. Συνήθως, ένα από τα πρώτα βήματα στην + διαδικασία make buildworld είναι η διαγραφή + αυτού του καταλόγου και η αναδημιουργία του. Στην περίπτωση + αυτή, το να κρατήσετε τον κατάλογο + /usr/obj αφού έχετε τελειώσει, δεν έχει + και πολύ νόημα, ενώ αν τον σβήσετε θα κερδίσετε ένα μεγάλο + κομμάτι ελεύθερου χώρου (την παρούσα στιγμή περίπου + 340 MB). + + Όμως, αν ξέρετε τι κάνετε, μπορείτε να οδηγήσετε το + make buildworld να παραλείψει αυτό το βήμα. + Αυτό θα επιταχύνει ιδιαίτερα τις νέες μεταγλωττίσεις, καθώς + τα περισσότερα τμήματα του πηγαίου κώδικα δεν θα χρειάζονται + ξανά μεταγλώττιση. Το μειονέκτημα είναι ότι ορισμένες φορές + εμφανίζονται προβλήματα που έχουν σχέση με όχι και τόσο + εμφανείς εξαρτήσεις, και μπορεί να οδηγήσουν σε μυστηριώδη + αποτυχία της μεταγλώττισης. Τέτοια προβλήματα συχνά δημιουργούν + θόρυβο στις λίστες του &os;, όταν κάποιος χρήστης + παραπονιέται ότι η μεταγλώττιση του αποτυγχάνει, χωρίς να + αντιλαμβάνεται ότι αυτό οφείλεται στην προσπάθεια του να + συντομεύσει την διαδικασία. - Can interrupted builds be resumed? + Μπορώ να συνεχίσω μια μεταγλώττιση που διέκοψα; - This depends on how far through the process you got before - you found a problem. + Αυτό εξαρτάται από το πόσο έχετε προχωρήσει στη διαδικασία + μέχρι τη στιγμή που βρήκατε το πρόβλημα. - In general (and this is not a hard and - fast rule) the make buildworld process builds new - copies of essential tools (such as &man.gcc.1;, and - &man.make.1;) and the system libraries. These tools and - libraries are then installed. The new tools and libraries are - then used to rebuild themselves, and are installed again. The - entire system (now including regular user programs, such as - &man.ls.1; or &man.grep.1;) is then rebuilt with the new - system files. + Σε γενικές γραμμές (και αυτός δεν + είναι κανόνας που ισχύει πάντα), η διεργασία του + make buildworld μεταγλωττίζει νέα αντίγραφα + βασικών εργαλείων (όπως τα &man.gcc.1;, και &man.make.1;) καθώς + και των βιβλιοθηκών συστήματος. Έπειτα εγκαθιστώνται αυτά + τα εργαλεία και οι βιβλιοθήκες. Τα νέα εργαλεία και + βιβλιοθήκες χρησιμοποιούνται έπειτα για να επαναμεταγλωττίσουν + τους εαυτούς τους, και εγκαθίστανται ξανά. Ολόκληρο το σύστημα + (το οποίο τώρα περιλαμβάνει και τα συνηθισμένα προγράμματα + χρήστη όπως το &man.ls.1; ή το &man.grep.1;) + επαναμεταγλωττίζεται χρησιμοποιώντας τα νέα αρχεία του + συστήματος. - If you are at the last stage, and you know it (because you - have looked through the output that you were storing) then you - can (fairly safely) do: + Αν βρίσκεστε στο τελευταίο στάδιο, το οποίο θα το γνωρίζετε + κοιτάζοντας την έξοδο που έχετε αποθηκεύσει, είναι σχετικά + ασφαλές να κάνετε: … fix the problem … &prompt.root; cd /usr/src &prompt.root; make -DNO_CLEAN all - This will not undo the work of the previous + Με τον τρόπο αυτό δεν θα αναιρέσετε την εργασία που έχει + γίνει από το προηγούμενο make buildworld. - If you see the message: + Αν δείτε το μήνυμα: -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- - in the make buildworld output then it is - probably fairly safe to do so. - - If you do not see that message, or you are not sure, then it - is always better to be safe than sorry, and restart the build - from scratch. + στην έξοδο της εντολής make buildworld, + τότε είναι μάλλον ασφαλές να προχωρήσετε με αυτό τον + τρόπο. + + Αν δεν δείτε αυτό το μήνυμα, ή αν δεν είστε σίγουρος, τότε + είναι καλύτερα να κάνετε πλήρη μεταγλώττιση παρά να μετανιώνετε + αργότερα. - How can I speed up making the world? - + Πως μπορώ να επιταχύνω τη μεταγλώττιση του βασικού + συστήματος; + - + - Run in single user mode. + Εκτελέστε την σε κατάσταση ενός χρήστη. - + - Put the /usr/src and - /usr/obj directories on separate - file systems held on separate disks. If possible, put these - disks on separate disk controllers. + Βάλτε τους καταλόγους /usr/src + και /usr/obj σε διαφορετικά συστήματα + αρχείων τα οποία βρίσκονται και σε διαφορετικούς φυσικούς + δίσκους. Αν είναι δυνατόν, βάλτε αυτούς τους δίσκους σε + χωριστούς ελεγκτές. - + - Better still, put these file systems across multiple - disks using the &man.ccd.4; (concatenated disk - driver) device. + Ακόμα καλύτερα, μοιράστε αυτά τα συστήματα αρχείων + σε πολλαπλούς δίσκους, χρησιμοποιώντας το πρόγραμμα + οδήγησης &man.ccd.4; (concatenated disk driver, οδήγησης + συνενωμένων δίσκων). - + - Turn off profiling (set NO_PROFILE=true in - /etc/make.conf). You almost certainly - do not need it. + Απενεργοποιήστε το profiling (θέστε την μεταβλητή + NO_PROFILE=true στο + /etc/make.conf). Είναι σχεδόν σίγουρο + ότι δεν το χρειάζεστε. - + - Also in /etc/make.conf, set - CFLAGS to something like . The optimization is much - slower, and the optimization difference between - and is normally - negligible. lets the compiler use - pipes rather than temporary files for communication, which - saves disk access (at the expense of memory). + Στο αρχείο /etc/make.conf, θέστε + το CFLAGS σε κάτι όπως + . Η βελτιστοποίηση + χρειάζεται αρκετά περισσότερο χρόνο, + και η διαφορά απόδοσης μεταξύ + και είναι συνήθως + αμελητέα. Το επιτρέπει στον + μεταγλωττιστή να χρησιμοποιήσει pipes για επικοινωνία αντί + για προσωρινά αρχεία. Αυτό καταναλώνει περισσότερη μνήμη, + αλλά χρησιμοποιεί λιγότερο το σκληρό δίσκο. - + - Pass the option to &man.make.1; to - run multiple processes in parallel. This usually helps - regardless of whether you have a single or a multi processor - machine. + Χρησιμοποιήστε την επιλογή + στο + &man.make.1; ώστε να εκτελούνται παράλληλα πολλαπλές + διεργασίες μεταγλώττισης. Αυτό συνήθως βοηθάει ακόμα και + σε περίπτωση που έχετε μηχάνημα με ένα επεξεργαστή. - - The file system holding - /usr/src can be mounted (or remounted) - with the option. This prevents the - file system from recording the file access time. You probably - do not need this information anyway. - + + + Μπορείτε να προσαρτήσετε (ή να επαναπροσαρτήσετε) το + σύστημα αρχείων στο οποίο είναι αποθηκευμένο το + /usr/src με την επιλογή + . Αυτό αποτρέπει την καταγραφή + ημερομηνίας / ώρας πρόσβασης στο σύστημα αρχείων. Κατά πάσα + πιθανότητα, δεν χρειάζεστε αυτή την πληροφορία έτσι και + αλλιώς. + &prompt.root; mount -u -o noatime /usr/src - + - The example assumes /usr/src is - on its own file system. If it is not (if it is a part of - /usr for example) then you will - need to use that file system mount point, and not - /usr/src. + Το παράδειγμα προϋποθέτει ότι έχετε το + /usr/src στο δικό του σύστημα + αρχείων. Αν αυτό δεν συμβαίνει (αν είναι μέρος του + /usr για παράδειγμα) θα χρειαστεί + να χρησιμοποιήσετε αυτό το σημείο προσάρτησης, και όχι + το /usr/src. - + - The file system holding /usr/obj can - be mounted (or remounted) with the - option. This causes disk writes to happen asynchronously. - In other words, the write completes immediately, and the - data is written to the disk a few seconds later. This - allows writes to be clustered together, and can be a - dramatic performance boost. + Μπορείτε να προσαρτήσετε (ή να επαναπροσαρτήσετε) το + σύστημα αρχείων που περιέχει το + /usr/obj με την επιλογή + . Με τον τρόπο αυτό, οι εγγραφές στο + δίσκο θα γίνονται ασύγχρονα. Με άλλα λόγια, οι εγγραφές + φαίνεται ότι ολοκληρώνονται άμεσα, ενώ η πραγματική εγγραφή + στο δίσκο γίνεται λίγα δευτερόλεπτα αργότερα. Αυτό + επιτρέπει την ομαδοποίηση των εγγραφών, το οποίο μπορεί να + προσφέρει δραματική βελτίωση απόδοσης. - Keep in mind that this option makes your file system - more fragile. With this option there is an increased - chance that, should power fail, the file system will be in - an unrecoverable state when the machine restarts. - - If /usr/obj is the only thing on - this file system then it is not a problem. If you have - other, valuable data on the same file system then ensure - your backups are fresh before you enable this - option. + Να έχετε υπόψιν σας ότι αυτή η επιλογή μπορεί να + κάνει το σύστημα αρχείων σας πολύ πιο ευαίσθητο. Με την + επιλογή αυτή, υπάρχει αυξημένη πιθανότητα το σύστημα + αρχείων να βρεθεί σε μη + επισκευάσιμη κατάσταση αν υπάρξει διακοπή + ρεύματος. + + Αν το σύστημα αρχείων περιέχει μόνο το + /usr/obj, το παραπάνω δεν είναι + πρόβλημα. Αν ωστόσο έχετε και άλλα πολύτιμα δεδομένα + στο ίδιο σύστημα αρχείων, σιγουρευτείτε ότι έχετε + ενημερωμένα αντίγραφα ασφαλείας πριν ενεργοποιήσετε αυτή + την επιλογή. - + &prompt.root; mount -u -o async /usr/obj - + - As above, if /usr/obj is not on - its own file system, replace it in the example with the - name of the appropriate mount point. + Όπως και προηγουμένως, αν το + /usr/obj δεν είναι σύστημα αρχείων + από μόνο του, αντικαταστήστε το στο παράδειγμα με το + όνομα του πραγματικού σημείου προσάρτησης. - - - What do I do if something goes wrong? - + + + Τι να κάνω αν κάτι πάει στραβά; + - - Make absolutely sure your environment has no - extraneous cruft from earlier builds. This is simple - enough. + + Σιγουρευτείτε ότι το περιβάλλον σας δεν έχει υπολείμματα + από προηγούμενες μεταγλωττίσεις. Αυτό είναι αρκετά απλό. - &prompt.root; chflags -R noschg /usr/obj/usr + &prompt.root; chflags -R noschg /usr/obj/usr &prompt.root; rm -rf /usr/obj/usr &prompt.root; cd /usr/src &prompt.root; make cleandir &prompt.root; make cleandir - Yes, make cleandir really should - be run twice. + Ναι, θα πρέπει να εκτελέσετε το + make cleandir δύο φορές. - Then restart the whole process, starting - with make buildworld. + Επανεκκινήστε έπειτα όλη τη διαδικασία, ξεκινώντας με το + make buildworld. - If you still have problems, send the error and the - output of uname -a to &a.questions;. - Be prepared to answer other questions about your - setup! - - + Αν έχετε ακόμα προβλήματα, στείλτε το μήνυμα λάθους και την + έξοδο του uname -a στην &a.questions;. Να + είστε προετοιμασμένοι να απαντήσετε επιπλέον ερωτήσεις σχετικά + με την εγκατάσταση σας! + + @@ -1624,112 +1854,123 @@ Building everything.. Mike Meyer - Contributed by + Συνεισφορά του - Tracking for Multiple Machines + Διαδικασία για Πολλαπλά Μηχανήματα NFS installing multiple machines - - If you have multiple machines that you want to track the - same source tree, then having all of them download sources and - rebuild everything seems like a waste of resources: disk space, - network bandwidth, and CPU cycles. It is, and the solution is - to have one machine do most of the work, while the rest of the - machines mount that work via NFS. This section outlines a - method of doing so. + + Αν έχετε πολλαπλά μηχανήματα στα οποία πρόκειται να χρησιμοποιήσετε + το ίδιο δέντρο πηγαίου κώδικα, είναι σπατάλη πόρων (δίσκου, δικτύου και + επεξεργαστή) να επαναλαμβάνετε σε όλα τη διαδικασία ανάκτησης και + μεταγλώττισης. Η λύση είναι να ορίσετε ένα μηχάνημα να εκτελεί το + μεγαλύτερο μέρος της εργασίας, ενώ τα υπόλοιπα θα μπορούν να την + ανακτούν μέσω NFS. Στην ενότητα αυτή θα παρουσιάσουμε ένα τρόπο με + τον οποίο μπορεί να γίνει αυτό. - Preliminaries + Προκαταρκτικά - First, identify a set of machines that is going to run - the same set of binaries, which we will call a - build set. Each machine can have a - custom kernel, but they will be running the same userland - binaries. From that set, choose a machine to be the - build machine. It is going to be the - machine that the world and kernel are built on. Ideally, it - should be a fast machine that has sufficient spare CPU to - run make buildworld and - make buildkernel. You will also want to - choose a machine to be the test - machine, which will test software updates before they - are put into production. This must be a - machine that you can afford to have down for an extended - period of time. It can be the build machine, but need not be. + Πρώτα από όλα, αναγνωρίστε το σετ των μηχανημάτων στα οποία + σκοπεύετε να χρησιμοποιήσετε τα ίδια εκτελέσιμα. Θα ονομάσουμε αυτή + την ομάδα σετ μεταγλώττισης. Κάθε μηχάνημα + μπορεί να έχει δικό του προσαρμοσμένο πυρήνα, αλλά θα έχουν όλα τα + ίδια εκτελέσιμα userland. Από το σετ αυτό, επιλέξτε ένα μηχάνημα το + οποίο θα γίνει το μηχάνημα μεταγλώττισης. + Θα είναι το μηχάνημα στο οποίο θα μεταγλωττίζεται το βασικό σύστημα + και ο πυρήνας. Το ιδανικό είναι να επιλέξετε ένα γρήγορο μηχάνημα, + στο οποίο να υπάρχει αρκετός ελεύθερος χρόνος στον επεξεργαστή για να + εκτελεί τα make buildworld και + make buildkernel. Θα πρέπει επίσης να επιλέξετε + ένα μηχάνημα δοκιμών στο οποίο θα δοκιμάζετε τις + ενημερώσεις λογισμικού πριν τις μεταφέρετε στην παραγωγή. Μπορεί να + είναι και το ίδιο το μηχάνημα μεταγλώττισης, αλλά αυτό δεν είναι + απαραίτητο. - All the machines in this build set need to mount - /usr/obj and - /usr/src from the same machine, and at - the same point. Ideally, those are on two different drives - on the build machine, but they can be NFS mounted on that machine - as well. If you have multiple build sets, - /usr/src should be on one build machine, and - NFS mounted on the rest. - - Finally make sure that - /etc/make.conf on all the machines in - the build set agrees with the build machine. That means that - the build machine must build all the parts of the base - system that any machine in the build set is going to - install. Also, each build machine should have its kernel - name set with KERNCONF in - /etc/make.conf, and the build machine - should list them all in KERNCONF, listing - its own kernel first. The build machine must have the kernel - configuration files for each machine in + Όλα τα μηχανήματα στο σετ μεταγλώττισης χρειάζεται να + προσαρτήσουν το /usr/obj και το + /usr/src από το ίδιο μηχάνημα, και στο ίδιο + σημείο προσάρτησης. Το ιδανικό είναι αυτά τα δύο συστήματα αρχείων + να βρίσκονται σε διαφορετικό φυσικό δίσκο στο μηχάνημα μεταγλώττισης, + αλλά μπορείτε να τα προσαρτήσετε μέσω NFS ακόμα και σε αυτό το + μηχάνημα. Αν έχετε πολλαπλά σετ μεταγλώττισης, το + /usr/src θα πρέπει να βρίσκεται σε ένα από τα + μηχανήματα μεταγλώττισης, και να προσαρτάται στα υπόλοιπα μέσω + NFS. + + Τέλος, βεβαιωθείτε ότι τα αρχεία + /etc/make.conf και + /etc/src.conf σε όλα τα μηχανήματα του σετ + μεταγλώττισης, είναι ίδια με τα αντίστοιχα στο μηχάνημα μεταγλώττισης. + Αυτό σημαίνει ότι το μηχάνημα μεταγλώττισης θα πρέπει να + μεταγλωττίζει όλα τα τμήματα του βασικού συστήματος τα οποία θα + εγκατασταθούν σε κάθε μηχάνημα του σετ. Επίσης, σε κάθε μηχάνημα + στο σετ μεταγλώττισης θα πρέπει να οριστεί το όνομα του δικού του + προσαρμοσμένου πυρήνα μέσω της μεταβλητής + KERNCONF στο /etc/make.conf, + ενώ και το μηχάνημα μεταγλώττισης θα πρέπει να έχει μια λίστα όλων + των άλλων στο KERNCONF, ξεκινώντας από το δικό + του. Το μηχάνημα μεταγλώττισης, θα πρέπει να έχει τα αρχεία ρύθμισης + του πυρήνα όλων των άλλων μηχανημάτων στον κατάλογο /usr/src/sys/arch/conf - if it is going to build their kernels. + αν πρόκειται να μεταγλωττίζει τους πυρήνες τους. - The Base System + Το Βασικό Σύστημα - Now that all that is done, you are ready to build - everything. Build the kernel and world as described in on the build machine, - but do not install anything. After the build has finished, go - to the test machine, and install the kernel you just - built. If this machine mounts /usr/src - and /usr/obj via NFS, when you reboot - to single user you will need to enable the network and mount - them. The easiest way to do this is to boot to multi-user, - then run shutdown now to go to single user - mode. Once there, you can install the new kernel and world and run - mergemaster just as you normally would. When - done, reboot to return to normal multi-user operations for this - machine. + Έχοντας πραγματοποιήσει όλα τα παραπάνω, είστε έτοιμος να + μεταγλωττίσετε τα πάντα. Μεταγλωττίστε τον πυρήνα και το βασικό + σύστημα όπως περιγράψαμε στο + χρησιμοποιώντας το μηχάνημα μεταγλώττισης, αλλά μην εγκαταστήσετε + τίποτα. Μετά το τέλος της μεταγλώττισης, χρησιμοποιήστε το μηχάνημα + δοκιμών και εγκαταστήστε τον πυρήνα που μόλις δημιουργήσατε. Αν το + μηχάνημα αυτό προσαρτά το /usr/src και το + /usr/obj μέσω NFS, όταν το επανεκκινήσετε σε + κατάσταση ενός χρήστη, θα χρειαστεί να ενεργοποιήσετε το δίκτυο και + να τα προσαρτήσετε. Ο ευκολότερος τρόπος για αυτό, είναι να + εκκινήσετε σε κατάσταση πολλαπλών χρηστών και έπειτα να εκτελέσετε + shutdown now για να μεταβείτε σε κατάσταση ενός + χρήστη. Μόλις γίνει αυτό, μπορείτε να εγκαταστήσετε τον νέο πυρήνα + και το βασικό σύστημα, και να εκτελέσετε το + mergemaster όπως θα κάνατε συνήθως. Όταν + τελειώσετε, επανεκκινήστε αυτό το μηχάνημα στην κανονική λειτουργία + πολλαπλών χρηστών. - After you are certain that everything on the test - machine is working properly, use the same procedure to - install the new software on each of the other machines in - the build set. + Όταν βεβαιωθείτε ότι όλα λειτουργούν σωστά στο μηχάνημα δοκιμών, + χρησιμοποιήστε την ίδια διαδικασία για να εγκαταστήσετε το νέο + λογισμικό σε κάθε ένα από τα υπόλοιπα μηχανήματα του σετ + μεταγλώττισης. Ports - The same ideas can be used for the ports tree. The first - critical step is mounting /usr/ports from - the same machine to all the machines in the build set. You can - then set up /etc/make.conf properly to share - distfiles. You should set DISTDIR to a - common shared directory that is writable by whichever user - root is mapped to by your NFS mounts. Each - machine should set WRKDIRPREFIX to a - local build directory. Finally, if you are going to be - building and distributing packages, you should set - PACKAGES to a directory similar to - DISTDIR. + Μπορείτε να χρησιμοποιήσετε τις ίδιες ιδέες και για το δέντρο + των ports. Το πρώτο κρίσιμο βήμα είναι να προσαρτήσετε το + /usr/ports από το ίδιο μηχάνημα, σε όλα τα + μηχανήματα του σετ μεταγλώττισης. Μπορείτε έπειτα να ρυθμίσετε το + /etc/make.conf ώστε να διαμοιράζονται τα + distfiles. Θα πρέπει να θέσετε το DISTDIR σε ένα + κοινόχρηστο κατάλογο, στον οποίο θα δώσετε δικαιώματα εγγραφής σε + οποιοδήποτε χρήστη έχετε δηλώσει ως root στο + NFS. Σε κάθε μηχάνημα θα πρέπει επίσης να οριστεί η μεταβλητή + WRKDIRPREFIX ώστε να δείχνει σε ένα τοπικό + κατάλογο. Τέλος, αν σκοπεύετε να μεταγλωττίζετε και να διανέμετε + έτοιμα πακέτα, θα πρέπει να θέσετε την μεταβλητή + PACKAGES σε ένα κατάλογο, όπως κάνατε και με την + DISTDIR. - -