Remove the now stale 'updating' chapter from the Greek tree
This commit is contained in:
parent
3f8b604f21
commit
ca400e74cb
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=33541
2 changed files with 0 additions and 600 deletions
el_GR.ISO8859-7/books/handbook/updating
|
@ -1,18 +0,0 @@
|
|||
#
|
||||
# Build the Handbook with just the content from this chapter.
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# %SOURCE% en_US.ISO8859-1/books/handbook/updating/Makefile
|
||||
# %SRCID% 1.1
|
||||
#
|
||||
|
||||
CHAPTERS= updating/chapter.sgml
|
||||
|
||||
VPATH= ..
|
||||
|
||||
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
|
||||
|
||||
DOC_PREFIX?= ${.CURDIR}/../../../..
|
||||
|
||||
.include "../Makefile"
|
|
@ -1,582 +0,0 @@
|
|||
<!--
|
||||
|
||||
The FreeBSD Greek Documentation Project
|
||||
|
||||
Το Εγχειρίδιο του FreeBSD: Ενημερώνοντας το FreeBSD
|
||||
|
||||
$FreeBSD$
|
||||
|
||||
%SOURCE% en_US.ISO8859-1/books/handbook/updating/chapter.sgml
|
||||
%SRCID% 1.2
|
||||
|
||||
-->
|
||||
|
||||
<chapter id="updating">
|
||||
<chapterinfo>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Tom</firstname>
|
||||
<surname>Rhodes</surname>
|
||||
<contrib>Γράφηκε από τον </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Colin</firstname>
|
||||
<surname>Percival</surname>
|
||||
<contrib>Βασίστηκε σε σημειώσεις που παρείχε ο </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</chapterinfo>
|
||||
|
||||
<title>Ενημερώνοντας το &os;</title>
|
||||
|
||||
<sect1 id="updating-synopsis">
|
||||
<title>Σύνοψη</title>
|
||||
|
||||
<indexterm><primary>Updating FreeBSD</primary></indexterm>
|
||||
<indexterm>
|
||||
<primary>freebsd-update</primary>
|
||||
<see>Updating</see>
|
||||
</indexterm>
|
||||
|
||||
<para>Ένα κύριο χαρακτηριστικό του &os; έχει παραμείνει αναλλοίωτο με την
|
||||
πάροδο του χρόνου: Η απαίτηση για την χρήση εφαρμογών και βοηθητικών
|
||||
προγραμμάτων για την ανάκτηση μικρών και μεγάλων ενημερώσεων του
|
||||
συστήματος.</para>
|
||||
|
||||
<para>Για πολλά χρόνια, οι χρήστες που επιθυμούσαν να αναβαθμίσουν το
|
||||
σύστημα τους, να ανακτήσουν τις ενημερώσεις ασφαλείας, και να λάβουν
|
||||
ενημερωμένες εκδόσεις των πακέτων και των ports, χωρίς να χαλάσουν τη
|
||||
λειτουργία της Συλλογής των Ports, ήταν αναγκασμένοι να χρησιμοποιούν
|
||||
το εργαλείο <application>CVSup</application>.</para>
|
||||
|
||||
<para>Αν και το <application>CVSup</application> υποστηρίζεται ακόμα (και
|
||||
έχει επίσης προστεθεί και μια έκδοση του σε γλώσσα C στο βασικό σύστημα
|
||||
του &os;), υπάρχουν και νέες μέθοδοι για την ανάκτηση ενημερώσεων του
|
||||
συστήματος.</para>
|
||||
|
||||
<para>Εργαλεία όπως το &man.portsnap.8; και το &man.freebsd-update.8;
|
||||
έχουν εκσυγχρονίσει την διαδικασία αναβάθμισης. Αυτές οι νέες μέθοδοι
|
||||
αυξάνουν την παραγωγικότητα ενώ ταυτόχρονα παρέχουν και μια απλούστερη
|
||||
διεπαφή προς τους χρήστες. Ορισμένα από αυτά τα εργαλεία μπορούν να
|
||||
εκτελεστούν από το &man.cron.8;, ελαχιστοποιώντας την ανάγκη
|
||||
αλληλεπίδρασης με το διαχειριστή του συστήματος. Αυτό είναι πραγματικό
|
||||
όφελος για όσους διαχειρίζονται και παρακολουθούν εκατοντάδες συστήματα
|
||||
&os;.</para>
|
||||
|
||||
<para>Στο κεφάλαιο αυτό θα εξηγήσουμε τις νέες μεθόδους, καθώς και
|
||||
τους τρόπους με τους οποίους μπορούν να ωφεληθούν τόσο οι χρήστες όσο
|
||||
και οι διαχειριστές συστημάτων, από την πρακτική και εύκολη εφαρμογή
|
||||
τους.</para>
|
||||
|
||||
<para>Αφού διαβάσετε αυτό το κεφάλαιο, θα γνωρίζετε:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Ποια βοηθητικά προγράμματα μπορείτε να χρησιμοποιήσετε για να
|
||||
ενημερώσετε το σύστημα και την Συλλογή των Ports.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Πως να χρησιμοποιήσετε το <command>freebsd-update</command>
|
||||
για να εφαρμόσετε ενημερώσεις ασφαλείας και άλλες μικρές και
|
||||
μεγαλύτερες αναβαθμίσεις στο &os;.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Πως να συγκρίνετε την κατάσταση ενός εγκατεστημένου συστήματος
|
||||
με αναφορά ένα γνωστό και εγγυημένα σωστό σύστημα.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Να κατανοείτε βασικές έννοιες του &unix; και του &os;
|
||||
(<xref linkend="basics">).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Να είστε εξοικειωμένος με βασικές έννοιες της ρύθμισης και
|
||||
μεταγλώττισης προσαρμοσμένου πυρήνα
|
||||
(<xref linkend="kernelconfig">).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Να είστε εξοικειωμένος με την Συλλογή των Ports και την
|
||||
εγκατάσταση εφαρμογών τρίτου κατασκευαστή στο &os;
|
||||
(<xref linkend="ports">).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Να είστε εξοικειωμένος με τα διάφορα τμήματα πηγαίου κώδικα
|
||||
από τα οποία αποτελείται το &os;, καθώς και με τη χρήση του
|
||||
εργαλείου &man.mergemaster.8;
|
||||
(<xref linkend="cutting-edge">).</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="updating-freebsdupdate">
|
||||
<title>Ενημέρωση του &os;</title>
|
||||
|
||||
<para>Η εφαρμογή ενημερώσεων ασφαλείας αποτελεί ένα σημαντικό τμήμα της
|
||||
συντήρησης λογισμικού, ειδικά όταν πρόκειται για το λειτουργικό σύστημα.
|
||||
Για μεγάλο διάστημα, η διαδικασία αυτή δεν ήταν εύκολη στο &os;.
|
||||
Έπρεπε να εφαρμοστούν patches στον πηγαίο κώδικα, να γίνει μεταγλώττιση
|
||||
του από την αρχή, και να εγκατασταθούν ξανά τα νέα εκτελέσιμα.</para>
|
||||
|
||||
<para>Αυτό δεν είναι πλέον αναγκαίο, καθώς το &os; διαθέτει τώρα ένα
|
||||
βοηθητικό πρόγραμμα, το <command>freebsd-update</command>. Το πρόγραμμα
|
||||
παρέχει δύο διαφορετικές λειτουργίες. Η πρώτη είναι η δυνατότητα
|
||||
δυαδικής (binary) ενημέρωσης του βασικού συστήματος με τις τελευταίες
|
||||
διορθώσεις ασφάλειας και λαθών, χωρίς να χρειάζεται ξανά μεταγλώττιση
|
||||
και εγκατάσταση. Η δεύτερη είναι η δυνατότητα αναβάθμισης του
|
||||
συστήματος σε μια νέα μικρή ή μεγάλη επίσημη έκδοση (release).</para>
|
||||
|
||||
<note>
|
||||
<para>Δυαδικές διορθώσεις λαθών και ασφάλειας, διατίθενται για όλες
|
||||
τις αρχιτεκτονικές και εκδόσεις που υποστηρίζονται από την ομάδα
|
||||
ασφάλειας. Ωστόσο, ορισμένα χαρακτηριστικά όπως η δυνατότητα
|
||||
αναβάθμισης του λειτουργικού σε μια νέα έκδοση, απαιτούν την
|
||||
τελευταία έκδοση του &man.freebsd-update.8; και του &os; 6.3.
|
||||
Πριν προχωρήσετε στην αναβάθμιση σε μια νέα έκδοση, θα πρέπει να
|
||||
διαβάσετε τις σχετικές με αυτήν ανακοινώσεις, καθώς μπορεί να
|
||||
περιέχουν σημαντικές πληροφορίες. Μπορείτε να δείτε τις
|
||||
ανακοινώσεις εκδόσεων στην παρακάτω τοποθεσία:
|
||||
<ulink url="http://www.FreeBSD.org/releases/"></ulink>.</para>
|
||||
</note>
|
||||
|
||||
<para>Αν υπάρχει κάποιο <command>crontab</command> που χρησιμοποιεί τις
|
||||
δυνατότητες του <command>freebsd-update</command>, θα πρέπει να
|
||||
απενεργοποιηθεί πριν ξεκινήσει η παρακάτω διαδικασία. Μπορείτε να
|
||||
εγκαταστήσετε την τελευταία έκδοση του
|
||||
<command>freebsd-update</command> κατεβάζοντας το συμπιεσμένο πακέτο
|
||||
από το παραπάνω <acronym>URL</acronym> και εκτελώντας τις παρακάτω
|
||||
εντολές:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>gunzip -c freebsd-update-upgrade.tgz | tar xvf -</userinput>
|
||||
&prompt.root; <userinput>mv freebsd-update.sh /usr/sbin/freebsd-update</userinput>
|
||||
&prompt.root; <userinput>mv freebsd-update.conf /etc</userinput></screen>
|
||||
|
||||
<para>Δεν απαιτείται να κατεβάσετε την τελευταία έκδοση, αν χρησιμοποιείτε
|
||||
κάποια από τις τρέχουσες εκδόσεις του &os;.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Το Αρχείο Ρυθμίσεων</title>
|
||||
|
||||
<para>Κάποιοι χρήστες ίσως θέλουν να αλλάξουν το αρχείο ρυθμίσεων, ώστε
|
||||
να έχουν καλύτερο έλεγχο της διαδικασίας. Οι επιλογές είναι γενικά
|
||||
αρκετά καλά τεκμηριωμένες, αλλά οι παρακάτω ίσως να χρειάζονται
|
||||
κάποιες επιπλέον επεξηγήσεις:</para>
|
||||
|
||||
<programlisting># Components of the base system which should be kept updated.
|
||||
Components src world kernel</programlisting>
|
||||
|
||||
<para>Αυτή η παράμετρος ελέγχει ποια τμήματα του &os; θα διατηρούνται
|
||||
ενημερωμένα. Η προεπιλογή είναι να ενημερώνεται ο πηγαίος κώδικας,
|
||||
όλο το βασικό σύστημα, και ο πυρήνας. Τα τμήματα είναι τα ίδια
|
||||
που διατίθενται και κατά την εγκατάσταση, για παράδειγμα αν βάλετε
|
||||
την επιλογή <quote>world/games</quote> θα εγκαθίστανται ενημερώσεις
|
||||
για τα παιχνίδια. Αν βάλετε <quote>src/bin</quote> θα επιτρέψετε
|
||||
την ενημέρωση του πηγαίου κώδικα του καταλόγου
|
||||
<filename class="directory">src/bin</filename>.</para>
|
||||
|
||||
<para>Η καλύτερη επιλογή είναι να αφήσετε εδώ την προεπιλεγμένη τιμή,
|
||||
καθώς αν την αλλάξετε ώστε να περιέχει συγκεκριμένα μόνο τμήματα,
|
||||
θα αναγκαστείτε να αναφέρετε χωριστά μέσα στο αρχείο ρυθμίσεων κάθε
|
||||
τμήμα που θέλετε να ενημερώνεται. Αυτό ίσως έχει καταστροφικά
|
||||
αποτελέσματα, καθώς είναι πιθανό ο πηγαίος κώδικας και τα εκτελέσιμα
|
||||
προγράμματα να μην είναι πλέον σε συγχρονισμό μεταξύ τους.</para>
|
||||
|
||||
<programlisting># Paths which start with anything matching an entry in an IgnorePaths
|
||||
# statement will be ignored.
|
||||
IgnorePaths</programlisting>
|
||||
|
||||
<para>Προσθέστε διαδρομές σε καταλόγους, όπως
|
||||
<filename class="directory">/bin</filename> ή
|
||||
<filename class="directory">/sbin</filename> για να αφήσετε
|
||||
απείραχτους τους συγκεκριμένους καταλόγους κατά την διαδικασία
|
||||
ενημέρωσης. Η επιλογή αυτή μπορεί να χρησιμοποιηθεί για να αποτρέψει
|
||||
το <command>freebsd-update</command> να γράψει πάνω σε πιθανόν
|
||||
δικές σας τοπικές αλλαγές.</para>
|
||||
|
||||
<programlisting># Paths which start with anything matching an entry in an UpdateIfUnmodified
|
||||
# statement will only be updated if the contents of the file have not been
|
||||
# modified by the user (unless changes are merged; see below).
|
||||
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile</programlisting>
|
||||
|
||||
<para>Η επιλογή αυτή θα ενημερώσει τα αρχεία ρυθμίσεων στους καταλόγους
|
||||
που καθορίζονται, μόνο αν αυτά δεν έχουν μεταβληθεί από το χρήστη.
|
||||
Αν υπάρχουν τοπικές αλλαγές, δεν θα γίνει ενημέρωση. Υπάρχει μια
|
||||
ακόμα επιλογή, η <literal>KeepModifiedMetadata</literal>, η οποία
|
||||
οδηγεί το <command>freebsd-update</command> να αποθηκεύσει τις αλλαγές
|
||||
μεταξύ των δύο εκδόσεων κατά τη διάρκεια της συγχώνευσης
|
||||
(merge).</para>
|
||||
|
||||
<programlisting># When upgrading to a new &os; release, files which match MergeChanges
|
||||
# will have any local changes merged into the version from the new release.
|
||||
MergeChanges /etc/ /var/named/etc/</programlisting>
|
||||
|
||||
<para>Πρόκειται για τη λίστα των καταλόγων που περιέχουν αρχεία
|
||||
ρυθμίσεων, και στα οποία το <command>freebsd-update</command> θα
|
||||
επιχειρεί την διαδικασία συγχώνευσης αλλαγών. Η διαδικασία
|
||||
συγχώνευσης γίνεται με μια σειρά από patches τύπου &man.diff.1;
|
||||
παρόμοια με το &man.mergemaster.8; αλλά με λιγότερες επιλογές. Οι
|
||||
συγχωνεύσεις είτε γίνονται δεκτές, είτε προκαλούν το άνοιγμα κάποιου
|
||||
συντάκτη κειμένου, διαφορετικά η εκτέλεση του
|
||||
<command>freebsd-update</command> ακυρώνεται. Αν δεν είστε
|
||||
σίγουρος, κρατήστε αντίγραφο ασφαλείας του καταλόγου
|
||||
<filename class="directory">/etc</filename> και απλώς δεχθείτε τις
|
||||
αλλαγές. Δείτε το <xref linkend="cutting-edge"> για περισσότερες
|
||||
πληροφορίες σχετικά με την εντολή
|
||||
<command>mergemaster</command>.</para>
|
||||
|
||||
<programlisting># Directory in which to store downloaded updates and temporary
|
||||
# files used by &os; Update.
|
||||
# WorkDir /var/db/freebsd-update</programlisting>
|
||||
|
||||
<para>Στον κατάλογο αυτό φυλάσσονται όλα τα patches και τα προσωρινά
|
||||
αρχεία. Σε περιπτώσεις όπου ο χρήστης εκτελεί αναβάθμιση σε μια
|
||||
νεότερη έκδοση του &os;, θα πρέπει να διαθέτει τουλάχιστον ένα
|
||||
gigabyte ελεύθερου χώρου.</para>
|
||||
|
||||
<programlisting># When upgrading between releases, should the list of Components be
|
||||
# read strictly (StrictComponents yes) or merely as a list of components
|
||||
# which *might* be installed of which &os; Update should figure out
|
||||
# which actually are installed and upgrade those (StrictComponents no)?
|
||||
# StrictComponents no</programlisting>
|
||||
|
||||
<para>Αν θέσετε την παραπάνω επιλογή στο <literal>yes</literal>,
|
||||
το <command>freebsd-update</command> θα υποθέσει ότι η λίστα
|
||||
<literal>Components</literal> είναι πλήρης και δεν θα επιχειρήσει
|
||||
να προχωρήσει σε αλλαγές εκτός λίστας. Ουσιαστικά, το
|
||||
<command>freebsd-update</command> θα προσπαθήσει να ενημερώσει κάθε
|
||||
αρχείο που ανήκει στη λίστα <literal>Components</literal>.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Patches Σχετικά με την Ασφάλεια</title>
|
||||
|
||||
<para>Τα patches που σχετίζονται με την ασφάλεια, αποθηκεύονται σε
|
||||
ένα απομακρυσμένο μηχάνημα και μπορούν να μεταφορτωθούν και να
|
||||
εγκατασταθούν με την ακόλουθη εντολή:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>freebsd-update fetch</userinput>
|
||||
&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||
|
||||
<para>Αν με την παραπάνω εντολή εγκατασταθούν ενημερώσεις στον πυρήνα,
|
||||
θα χρειαστεί να επανεκκινήσετε το σύστημα. Αν όλα πάνε καλά, το
|
||||
σύστημα θα είναι πλέον ενημερωμένο και μπορείτε να εκτελείτε το
|
||||
<command>freebsd-update</command> αυτόματα με την βοήθεια του
|
||||
&man.cron.8;. Μια απλή καταχώριση στο αρχείο
|
||||
<filename>/etc/crontab</filename> είναι επαρκής για αυτό
|
||||
το σκοπό:</para>
|
||||
|
||||
<programlisting>@daily root freebsd-update cron</programlisting>
|
||||
|
||||
<para>Η παραπάνω καταχώριση ορίζει ότι το
|
||||
<command>freebsd-update</command> θα εκτελείται μια φορά την ημέρα.
|
||||
Με τον τρόπο αυτό, και όταν η εκτέλεση είναι μέσω της επιλογής
|
||||
<option>cron</option>, το <command>freebsd-update</command> απλώς
|
||||
θα ελέγχει για ενημερώσεις. Αν υπάρχουν, η εφαρμογή θα τις
|
||||
κατεβάζει, αλλά δεν θα τις εγκαθιστά. Θα στέλνει όμως ένα email
|
||||
στο χρήστη <username>root</username> ώστε να τις εγκαταστήσει
|
||||
χειροκίνητα.</para>
|
||||
|
||||
<para>Αν οτιδήποτε πάει στραβά, το <command>freebsd-update</command>
|
||||
έχει την ικανότητα να επιστρέφει στην προηγούμενη σταθερή κατάσταση,
|
||||
αναιρώντας το τελευταίο σετ αλλαγών με την ακόλουθη εντολή:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>freebsd-update rollback</userinput></screen>
|
||||
|
||||
<para>Με την ολοκλήρωση της εντολής, θα πρέπει να επανεκκινήσετε το
|
||||
σύστημα αν έχουν γίνει αλλαγές στον πυρήνα ή σε κάποιο από τα
|
||||
αρθρώματα του. Αυτό θα επιτρέψει στο &os; να φορτώσει τα νέα
|
||||
εκτελέσιμα στη μνήμη.</para>
|
||||
|
||||
<note>
|
||||
<para>Η εντολή <command>freebsd-update</command> λειτουργεί μόνο
|
||||
με τον πυρήνα <filename>GENERIC</filename>. Αν έχετε κάνει αλλαγές
|
||||
στον <filename>GENERIC</filename> ή έχετε εγκαταστήσει
|
||||
προσαρμοσμένο πυρήνα, το <command>freebsd-update</command> δεν θα
|
||||
ολοκληρώσει τις αλλαγές. Θα αποτύχει στην πρώτη περίπτωση, και
|
||||
θα εμφανίσει ένα μήνυμα λάθους στη δεύτερη.</para>
|
||||
</note>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Αναβαθμίσεις σε Μικρές και Μεγάλες Εκδόσεις</title>
|
||||
|
||||
<para>Η διαδικασία αυτή θα απομακρύνει τα παλιά αρχεία αντικειμενικού
|
||||
κώδικα (object files) καθώς και τις παλιές βιβλιοθήκες, κάνοντας
|
||||
τις περισσότερες εφαρμογές τρίτων κατασκευαστών να μη λειτουργούν.
|
||||
Σας συνιστούμε είτε να απεγκαταστήσετε όλα τα εγκατεστημένα ports και
|
||||
να τα εγκαταστήσετε ξανά, ή να τα αναβαθμίσετε αργότερα,
|
||||
χρησιμοποιώντας το βοηθητικό πρόγραμμα
|
||||
<filename role="package">ports-mgmt/portupgrade</filename>.
|
||||
Οι περισσότεροι χρήστες θα θέλουν να κάνουν μια δοκιμαστική
|
||||
μεταγλώττιση χρησιμοποιώντας την ακόλουθη εντολή:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>portupgrade -af</userinput></screen>
|
||||
|
||||
<para>Με αυτό τον τρόπο εξασφαλίζεται ότι τα πάντα θα επανεγκατασταθούν
|
||||
σωστά. Σημειώστε ότι αν θέσετε την μεταβλητή περιβάλλοντος
|
||||
<makevar>BATCH</makevar> στην τιμή <literal>yes</literal>, όλες οι
|
||||
πιθανές ερωτήσεις που θα εμφανιστούν κατά τη διαδικασία, θα
|
||||
απαντηθούν αυτόματα με <literal>yes</literal>. Έτσι δεν υπάρχει πλέον
|
||||
ανάγκη για παρέμβαση του χρήστη κατά τη διάρκεια της διαδικασίας
|
||||
μεταγλώττισης.</para>
|
||||
|
||||
<para>Είναι δυνατές οι αναβαθμίσεις τόσο σε μικρές όσο και σε μεγάλες
|
||||
εκδόσεις, δίνοντας στην εντολή <command>freebsd-update</command> τον
|
||||
επιθυμητό αριθμό έκδοσης. Για παράδειγμα, η ακόλουθη εντολή θα
|
||||
αναβαθμίσει το σύστημα σε &os; 6.3:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>freebsd-update -r 6.3-RELEASE upgrade</userinput></screen>
|
||||
|
||||
<para>Μετά τη λήψη της εντολής, το
|
||||
<command>freebsd-update</command> θα αξιολογήσει την κατάσταση του
|
||||
συστήματος και του αρχείου ρυθμίσεων του, σε μια απόπειρα να μαζέψει
|
||||
τις απαραίτητες πληροφορίες για την αναβάθμιση του συστήματος.
|
||||
Οι πληροφορίες που ανιχνεύθηκαν θα εμφανιστούν στην οθόνη με τη μορφή
|
||||
μιας λίστας εγκατεστημένων προγραμμάτων. Για παράδειγμα:</para>
|
||||
|
||||
<screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
|
||||
Fetching metadata signature for 6.3-BETA1 from update1.FreeBSD.org... done.
|
||||
Fetching metadata index... done.
|
||||
Inspecting system... done.
|
||||
|
||||
The following components of FreeBSD seem to be installed:
|
||||
kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games
|
||||
src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
|
||||
src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
|
||||
world/base world/info world/lib32 world/manpages
|
||||
|
||||
The following components of FreeBSD do not seem to be installed:
|
||||
kernel/generic world/catpages world/dict world/doc world/games
|
||||
world/proflibs
|
||||
|
||||
Does this look reasonable (y/n)? y</screen>
|
||||
|
||||
<para>Στο σημείο αυτό, το <command>freebsd-update</command> θα
|
||||
κατεβάσει όλα τα αρχεία που απαιτούνται για την αναβάθμιση. Σε
|
||||
μερικές περιπτώσεις, ο χρήστης θα κληθεί να απαντήσει σε ερωτήσεις
|
||||
σχετικά με το τι θα εγκατασταθεί ή πως πρέπει να προχωρήσει η
|
||||
διαδικασία.</para>
|
||||
|
||||
<para>Αφού μεταφορτωθούν όλα τα patches στο τοπικό σύστημα, θα γίνει
|
||||
και η εφαρμογή τους. Η διαδικασία αυτή ίσως πάρει λίγο χρόνο,
|
||||
ανάλογα με την ταχύτητα και το φορτίο του μηχανήματος. Έπειτα θα
|
||||
γίνει η συγχώνευση των αρχείων ρυθμίσεων. Αυτό το μέρος της
|
||||
διαδικασίας απαιτεί παρέμβαση του χρήστη, καθώς σε κάποια αρχεία θα
|
||||
χρειαστεί η συγχώνευση να γίνει χειροκίνητα με τη βοήθεια κάποιου
|
||||
συντάκτη κειμένου. Ο χρήστης θα ενημερώνεται για το αποτέλεσμα κάθε
|
||||
επιτυχημένης συγχώνευσης καθώς εξελίσσεται η διαδικασία. Σε
|
||||
περίπτωση αποτυχημένης συγχώνευσης (ή αγνόησης της), η διαδικασία
|
||||
αναβάθμισης θα διακοπεί. Ενδεχομένως να θέλετε να κρατήσετε αντίγραφο
|
||||
ασφαλείας του καταλόγου <filename class="directory">/etc</filename>
|
||||
και να συγχωνεύσετε αργότερα (χειροκίνητα) κάποια σημαντικά αρχεία,
|
||||
όπως το <filename>master.passwd</filename> ή το
|
||||
<filename>group</filename>.</para>
|
||||
|
||||
<note>
|
||||
<para>Στο σημείο αυτό δεν έχει γίνει ακόμα καμιά αλλαγή στο σύστημα,
|
||||
καθώς όλη η διαδικασία της αναβάθμισης και συγχώνευσης γίνεται σε
|
||||
διαφορετικό κατάλογο. Όταν εφαρμοστούν επιτυχώς όλα τα patches
|
||||
και ολοκληρωθεί με επιτυχία η διαδικασία της συγχώνευσης όλων των
|
||||
αρχείων ρύθμισης, ο χρήστης θα πρέπει να επιβεβαιώσει την τελική
|
||||
εγκατάσταση.</para>
|
||||
</note>
|
||||
|
||||
<para>Με το τέλος αυτής τη διαδικασίας, η αναβάθμιση μπορεί να
|
||||
οριστικοποιηθεί στο δίσκο, με τη χρήση της ακόλουθης εντολής:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||
|
||||
<para>Στην πρώτη φάση, θα αλλαχθεί ο πυρήνας και τα σχετικά αρθρώματα.
|
||||
Στο σημείο αυτό, θα πρέπει να γίνει επανεκκίνηση του μηχανήματος.
|
||||
Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να επανεκκινήσετε
|
||||
το μηχάνημα ώστε να φορτωθεί στη μνήμη ο νέος πυρήνας:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
|
||||
|
||||
<para>Μόλις το σύστημα επανέλθει σε λειτουργία, θα πρέπει να εκτελέσετε
|
||||
ξανά το <command>freebsd-update</command>. Η προηγούμενη λειτουργία
|
||||
έχει αποθηκευθεί, και έτσι το <command>freebsd-update</command> δεν θα
|
||||
ξεκινήσει από την αρχή, αλλά θα απομακρύνει όλες τις παλιές
|
||||
κοινόχρηστες βιβλιοθήκες και τα αρχεία αντικειμενικού κώδικα. Για να
|
||||
συνεχίσετε σε αυτό το στάδιο, δώστε την ακόλουθη εντολή:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>Ανάλογα με το αν υπήρξαν αλλαγές στους αριθμούς εκδόσεων των
|
||||
βιβλιοθηκών, ίσως να υπάρχουν μόνο δύο φάσεις εγκατάστασης αντί για
|
||||
τρεις.</para>
|
||||
</note>
|
||||
|
||||
<para>Όλο το λογισμικό τρίτου κατασκευαστή θα πρέπει τώρα να
|
||||
μεταγλωττιστεί και να επανεγκατασταθεί από την αρχή. Αυτό απαιτείται
|
||||
καθώς το εγκατεστημένο λογισμικό ίσως εξαρτάται από βιβλιοθήκες οι
|
||||
οποίες αφαιρέθηκαν κατά τη διαδικασία της αναβάθμισης. Μπορείτε να
|
||||
χρησιμοποιήσετε την εντολή
|
||||
<filename role="package">ports-mgmt/portupgrade</filename>
|
||||
για να αυτοματοποιήσετε αυτή τη διαδικασία. Για να ξεκινήσετε, δώστε
|
||||
τις παρακάτω εντολές:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>portupgrade -f ruby</userinput>
|
||||
&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db</userinput>
|
||||
&prompt.root; <userinput>portupgrade -f ruby18-bdb</userinput>
|
||||
&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db</userinput>
|
||||
&prompt.root; <userinput>portupgrade -af</userinput></screen>
|
||||
|
||||
<para>Μόλις ολοκληρωθεί το παραπάνω, ολοκληρώστε τη διαδικασία
|
||||
αναβάθμισης με μια τελευταία κλήση της εντολής
|
||||
<command>freebsd-update</command>. Δώστε την παρακάτω εντολή για να
|
||||
ολοκληρώσετε οτιδήποτε έχει απομείνει στη διαδικασία
|
||||
αναβάθμισης:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||
|
||||
<para>Επανεκκινήστε το μηχάνημα σας στην νέα έκδοση του &os;.
|
||||
Η διαδικασία έχει ολοκληρωθεί.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Σύγκριση Κατάστασης του Συστήματος</title>
|
||||
|
||||
<para>Το βοηθητικό πρόγραμμα <command>freebsd-update</command> μπορεί να
|
||||
χρησιμοποιηθεί για να ελέγξετε την κατάσταση της εγκατεστημένης
|
||||
έκδοσης του &os; σε σχέση με μια γνωστή και σωστή εγκατάσταση.
|
||||
Η επιλογή αυτή συγκρίνει και αξιολογεί την τρέχουσα έκδοση των
|
||||
προγραμμάτων συστήματος, των βιβλιοθηκών και των αρχείων ρύθμισης.
|
||||
Για να ξεκινήσετε τη σύγκριση, δώστε την ακόλουθη εντολή:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>freebsd-update IDS >> outfile.ids</userinput></screen>
|
||||
|
||||
<warning>
|
||||
<para>Αν και το όνομα της εντολής είναι <acronym>IDS</acronym>, δεν
|
||||
θα πρέπει σε καμιά περίπτωση να θεωρηθεί υποκατάστατο ενός
|
||||
συστήματος ανίχνευσης εισβολέα (intrusion detection system) όπως
|
||||
είναι για παράδειγμα το
|
||||
<filename role="package">security/snort</filename>.
|
||||
Καθώς το <command>freebsd-update</command> αποθηκεύει τα δεδομένα
|
||||
του στο δίσκο, υπάρχει πάντα η πιθανότητα να έχει γίνει αλλοίωση
|
||||
τους. Αν και η πιθανότητα αυτή μπορεί να μειωθεί χρησιμοποιώντας
|
||||
τη ρύθμιση <varname>kern.securelevel</varname> και αποθηκεύοντας
|
||||
τα δεδομένα της εντολής <command>freebsd-update</command> σε ένα
|
||||
σύστημα αρχείων μόνο για ανάγνωση, μια ακόμα καλύτερη λύση θα ήταν
|
||||
να συγκρίνετε το σύστημα με κάποιο δίσκο που θεωρείτε σίγουρα
|
||||
ασφαλή. Μπορείτε να χρησιμοποιήσετε ένα δίσκο
|
||||
<acronym>DVD</acronym> ή ένα εξωτερικό δίσκο <acronym>USB</acronym>
|
||||
που φυλάσσετε σε ασφαλή τοποθεσία.</para>
|
||||
</warning>
|
||||
|
||||
<para>Θα γίνει τώρα μια επιθεώρηση του συστήματος και θα εκτυπωθεί
|
||||
μια λίστα από αρχεία και τιμές hash του τύπου &man.sha256.1;,
|
||||
τόσο για το εγκατεστημένο όσο και για το γνωστό σύστημα. Επειδή
|
||||
πρόκειται για μεγάλη λίστα, την ανακατευθύνουμε στο αρχείο
|
||||
<filename>outfile.ids</filename>. Στην οθόνη το κείμενο θα κυλούσε
|
||||
πολύ γρήγορα, και σύντομα θα γέμιζε την προσωρινή μνήμη απεικόνισης
|
||||
της κονσόλας.</para>
|
||||
|
||||
<para>Οι γραμμές αυτές έχουν γενικά μεγάλο μήκος, αλλά είναι εύκολο
|
||||
να επεξεργαστούμε την έξοδο. Για παράδειγμα, για να δείτε μια λίστα
|
||||
όλων των αρχείων που διαφέρουν από αυτά της επίσημης έκδοσης, δώστε
|
||||
την ακόλουθη εντολή:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cat outfile.ids | awk '{ print $1 }' | more</userinput>
|
||||
/etc/master.passwd
|
||||
/etc/motd
|
||||
/etc/passwd
|
||||
/etc/pf.conf</screen>
|
||||
|
||||
<para>Τα παραπάνω είναι μόνο ένα μέρος της εξόδου, υπάρχουν ακόμα
|
||||
πολλά διαφορετικά αρχεία. Κάποια από αυτά τα αρχεία είναι φυσιολογικό
|
||||
να έχουν τροποποιηθεί. Για παράδειγμα, το
|
||||
<filename>/etc/passwd</filename> έχει τροποποιηθεί, καθώς έχουν
|
||||
προστεθεί χρήστες στο σύστημα. Σε μερικές περιπτώσεις, μπορεί να
|
||||
υπάρχουν και άλλα αρχεία, όπως π.χ. αρθρώματα πυρήνα τα οποία
|
||||
διαφέρουν αφού έχουν ενημερωθεί μέσω της
|
||||
<command>freebsd-update</command>. Για να εξαιρέσετε συγκεκριμένα
|
||||
αρχεία ή καταλόγους, προσθέστε τα στην επιλογή
|
||||
<literal>IDSIgnorePaths</literal> στο αρχείο ρυθμίσεων
|
||||
<filename>/etc/freebsd-update.conf</filename>.</para>
|
||||
|
||||
<para>Εκτός από την χρήση που αναφέραμε προηγουμένως, το σύστημα αυτό
|
||||
μπορεί να χρησιμοποιηθεί και ως τμήμα μιας λεπτομερούς διαδικασίας
|
||||
αναβάθμισης.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="updating-portsnap">
|
||||
<title>Portsnap: Ένα Εργαλείο Ενημέρωσης της Συλλογής των Ports</title>
|
||||
|
||||
<para>Το βασικό σύστημα του &os; περιλαμβάνει επίσης ένα βοηθητικό
|
||||
πρόγραμμα για την ενημέρωση της Συλλογής των Ports. Πρόκειται για το
|
||||
&man.portsnap.8;. Όταν το εκτελέσετε, θα συνδεθεί σε ένα απομακρυσμένο
|
||||
διακομιστή, θα επαληθεύσει το κλειδί του πηγαίου κώδικα, και θα
|
||||
κατεβάσει ένα νέο αντίγραφο της Συλλογής των Ports. Το κλειδί
|
||||
χρησιμοποιείται για να επαληθεύσει την ακεραιότητα όλων των αρχείων
|
||||
που μεταφορτώνονται, εξασφαλίζοντας ότι δεν έχουν αλλοιωθεί κατά
|
||||
την μεταφορά. Για να κατεβάσετε τα τελευταία αρχεία της Συλλογής των
|
||||
Ports, εκτελέστε την ακόλουθη εντολή:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>portsnap fetch</userinput>
|
||||
Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found.
|
||||
Fetching snapshot tag from portsnap1.FreeBSD.org... done.
|
||||
Fetching snapshot metadata... done.
|
||||
Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008.
|
||||
Fetching 3 metadata patches.. done.
|
||||
Applying metadata patches... done.
|
||||
Fetching 3 metadata files... done.
|
||||
Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done.
|
||||
Applying patches... done.
|
||||
Fetching 133 new ports or files... done.</screen>
|
||||
|
||||
<para>Το παραπάνω παράδειγμα δείχνει ότι το &man.portsnap.8;
|
||||
βρήκε και επαλήθευσε αρκετά patches τα οποία πρέπει να εφαρμοστούν
|
||||
στο υπάρχον δέντρο των ports. Αυτό δείχνει επίσης ότι το πρόγραμμα
|
||||
έχει εκτελεστεί κατά το παρελθόν. Αν αυτή ήταν η πρώτη φορά που
|
||||
εκτελούνταν, θα γίνονταν απλώς κατέβασμα της συλλογής.</para>
|
||||
|
||||
<para>Όταν το &man.portsnap.8; εκτελέσει επιτυχώς της λειτουργία
|
||||
<command>fetch</command>, η Συλλογή των Ports και τα
|
||||
αντίστοιχα patches έχουν αποθηκευθεί στο τοπικό σύστημα και έχει γίνει
|
||||
η επαλήθευση τους. Τα ενημερωμένα αρχεία μπορούν να εγκατασταθούν
|
||||
γράφοντας:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>portsnap extract</userinput>
|
||||
/usr/ports/.cvsignore
|
||||
/usr/ports/CHANGES
|
||||
/usr/ports/COPYRIGHT
|
||||
/usr/ports/GIDs
|
||||
/usr/ports/KNOBS
|
||||
/usr/ports/LEGAL
|
||||
/usr/ports/MOVED
|
||||
/usr/ports/Makefile
|
||||
/usr/ports/Mk/bsd.apache.mk
|
||||
/usr/ports/Mk/bsd.autotools.mk
|
||||
/usr/ports/Mk/bsd.cmake.mk
|
||||
<replaceable>...</replaceable></screen>
|
||||
|
||||
<para>Η διαδικασία έχει πλέον ολοκληρωθεί, και μπορείτε να εγκαταστήσετε
|
||||
ή να αναβαθμίσετε εφαρμογές χρησιμοποιώντας την ενημερωμένη Συλλογή των
|
||||
Ports.</para>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<!--
|
||||
Local Variables:
|
||||
mode: sgml
|
||||
coding: iso-8859-7
|
||||
sgml-declaration: "../chapter.decl"
|
||||
sgml-indent-data: t
|
||||
sgml-omittag: nil
|
||||
sgml-always-quote-attributes: t
|
||||
sgml-parent-document: ("../book.sgml" "part" "chapter")
|
||||
End:
|
||||
-->
|
Loading…
Reference in a new issue