Remove the now stale 'updating' chapter from the Greek tree

This commit is contained in:
Manolis Kiagias 2008-12-27 08:12:47 +00:00
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

View file

@ -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"

View file

@ -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;&nbsp;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;&nbsp;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 &gt;&gt; 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:
-->