<?xml version="1.0" encoding="iso-8859-7"?> <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN" "../../../share/xml/freebsd45.dtd" [<!ENTITY iso-greek "ISO/IEC 8859-7"> ]> <!-- Õëïðïßçóç ôïõ UFS Journaling óå Ýíá desktop õðïëïãéóôÞ The FreeBSD Greek Documentation Project %SOURCE% en_US.ISO8859-1/articles/gjournal-desktop/article.xml %SRCID% 1.5 --> <article lang="el"> <articleinfo> <title>Õëïðïßçóç ôïõ UFS Journaling óå Ýíá Desktop ÕðïëïãéóôÞ</title> <author> <firstname>Ìáíþëçò</firstname> <surname>ÊéáãéÜò</surname> <affiliation> <address><email>manolis@FreeBSD.org</email></address> </affiliation> </author> <copyright> <year>2008</year> <holder role="mailto:manolis@FreeBSD.org">Ìáíþëçò ÊéáãéÜò</holder> </copyright> <pubdate>$FreeBSD$</pubdate> <releaseinfo>$FreeBSD$</releaseinfo> <legalnotice id="trademarks" role="trademarks"> &tm-attrib.freebsd; &tm-attrib.general; </legalnotice> <abstract> <para>¸íá óýóôçìá áñ÷åßùí ðïõ äéáèÝôåé äõíáôüôçôá journaling, ÷ñçóéìïðïéåß Ýíá áñ÷åßï êáôáãñáöÞò (journal Þ çìåñïëüãéï) óôï ïðïßï ãßíïíôáé áñ÷éêÜ ïé åããñáöÝò ðñéí êáôá÷ùñçèïýí óôï êáíïíéêü óýóôçìá áñ÷åßùí. Ìå ôïí ôñüðï áõôü ìðïñåß íá åîáóöáëéóôåß ç áêåñáéüôçôá ôïõ óõóôÞìáôïò áñ÷åßùí óôçí ðåñßðôùóç êáôÜññåõóçò Þ áðüôïìçò äéáêïðÞò ôçò ôñïöïäïóßáò ôïõ. Ç ÷ñÞóç ôïõ journaling äéáóöáëßæåé ôçí óõíïëéêÞ áêåñáéüôçôá ôïõ óõóôÞìáôïò áñ÷åßùí, áëëÜ äåí ìðïñåß íá äéáóöáëßóåé üôé äåí èá Ý÷ïõìå áðþëåéá äåäïìÝíùí óå ìåìïíùìÝíá áñ÷åßá ôá ïðïßá Þôáí åíäå÷ïìÝíùò óå ÷ñÞóç ôçí þñá ôçò êáôÜññåõóçò. ¸íá ðëåïíÝêôçìá ôïõ journaling åßíáé ç åëá÷éóôïðïßçóç ôïõ ÷ñüíïõ ðïõ áðáéôåßôáé ãéá ôïí Ýëåã÷ï ôïõ óõóôÞìáôïò áñ÷åßùí óå ðåñßðôùóç êáêïý ôåñìáôéóìïý. Ôï óýóôçìá áñ÷åßùí UFS ðïõ ÷ñçóéìïðïéåßôáé áðü ôï &os; äåí äéáèÝôåé äéêü ôïõ åíóùìáôùìÝíï journaling. Ùóôüóï, ôï ðëáßóéï ëåéôïõñãéþí GEOM óôï &os; 7.<replaceable>X</replaceable> ðáñÝ÷åé Ýíá íÝï journal class ôï ïðïßï äßíåé áõôÞ ôç äõíáôüôçôá, êáé ìÜëéóôá áíåîÜñôçôá áðü ôï óýóôçìá áñ÷åßùí ðïõ ÷ñçóéìïðïéåßôáé. Óôï Üñèñï áõôü åîåôÜæïõìå ðùò ìðïñïýìå íá ÷ñçóéìïðïéÞóïõìå ôï journaling óå Ýíá ôõðéêü desktop ìç÷Üíçìá ãéá åñãáóßá ãñáöåßïõ.</para> </abstract> </articleinfo> <sect1 id="introduction"> <title>ÅéóáãùãÞ</title> <para>Áí êáé ïé ðåñéóóüôåñïé åîõðçñåôçôÝò ðïõ ÷ñçóéìïðïéïýíôáé óå ðåñéâÜëëïíôá ðáñáãùãÞò åßíáé êáëÜ ðñïóôáôåõìÝíïé áðü ìç-áíáìåíüìåíïõò ôåñìáôéóìïýò, äåí óõìâáßíåé ôï ßäéï êáé ìå ôï óõíçèéóìÝíï desktop ìç÷Üíçìá ôï ïðïßï âñßóêåôáé óôá ÷Ýñéá ôïõ ôåëéêïý ÷ñÞóôç. Áõôü óõíÞèùò äåí ðñïóôáôåýåôáé áðü äéáêïðÝò ñåýìáôïò, åíþ äåí åßíáé êáé ïé ëßãåò ïé ðåñéðôþóåéò ðïõ ï êáêüò ôåñìáôéóìüò ïöåßëåôáé óå ëáíèáóìÝíï ÷åéñéóìü ôïõ ÷ñÞóôç (êáôÜ ëÜèïò ðßåóç ôïõ reset ê.á.). Óôéò ðåñéóóüôåñåò áðü áõôÝò ôéò ðåñéðôþóåéò, ôá Soft Updates ðïõ ÷ñçóéìïðïéåß ôï óýóôçìá áñ÷åßùí UFS ìðïñïýí íá ôï ðñïóôáôåýóïõí áñêåôÜ êáëÜ, áí êáé ìåôÜ ôïí ðñïâëçìáôéêü ôåñìáôéóìü áðáéôåßôáé óõíÞèùò Ýëåã÷ïò ôïõ óõóôÞìáôïò áñ÷åßùí, ï ïðïßïò áêüìá êáé üôáí ãßíåôáé óôï ðáñáóêÞíéï, äéáñêåß áñêåôü ÷ñüíï. Óå óðÜíéåò ðåñéðôþóåéò, ôï óýóôçìá áñ÷åßùí ìðïñåß íá õðïóôåß æçìéÜ ç ïðïßá íá ÷ñåéÜæåôáé ÷åéñïêßíçôç åðÝìâáóç ãéá íá äéïñèùèåß, åíþ åßíáé ðéèáíÞ êáé ç áðþëåéá äåäïìÝíùí.</para> <para>Ç íÝá äõíáôüôçôá ãéá journaling ðïõ ðáñÝ÷åôáé áðü ôï GEOM ìðïñåß íá âïçèÞóåé éäéáßôåñá óôéò ðáñáðÜíù ðåñéðôþóåéò, åëá÷éóôïðïéþíôáò ôï ÷ñüíï ðïõ áðáéôåßôáé ãéá ôïí Ýëåã÷ï ôïõ óõóôÞìáôïò áñ÷åßùí êáé åîáóöáëßæïíôáò üôé ôï óýóôçìá èá åðáíÝëèåé ðïëý óýíôïìá óå óôáèåñÞ êáôÜóôáóç.</para> <para>Ôï Üñèñï áõôü ðåñéãñÜöåé ìéá äéáäéêáóßá ãéá ôçí õëïðïßçóç ôïõ UFS journaling óå Ýíá ôõðéêü desktop PC (óôï ïðïßï ÷ñçóéìïðïéåßôáé Ýíáò óêëçñüò äßóêïò ôüóï ãéá ôï óýóôçìá üóï êáé ãéá ôá äåäïìÝíá). Èá ðñÝðåé íá áêïëïõèÞóåôå áõôÝò ôéò ïäçãßåò êáôÜ ôç äéÜñêåéá ìéáò íÝáò åãêáôÜóôáóçò ôïõ &os;. Ôá âÞìáôá åßíáé áñêåôÜ áðëÜ êáé äåí áðáéôïýí éäéáßôåñá ðïëýðëïêåò åíôïëÝò.</para> <para>Áöïý äéáâÜóåôå áõôü ôï Üñèñï, èá îÝñåôå:</para> <itemizedlist> <listitem> <para>Ðùò íá äåóìåýóåôå êÜðïéï ÷þñï óôï äßóêï ãéá ôï journaling êáôÜ ôç äéÜñêåéá ìéáò íÝáò åãêáôÜóôáóçò ôïõ &os;.</para> </listitem> <listitem> <para>Ðùò íá öïñôþóåôå êáé íá åíåñãïðïéÞóåôå ôï Üñèñùìá (module) <literal>geom_journal</literal> (Þ ðùò íá åíóùìáôþóåôå ôç ëåéôïõñãßá ôïõ óôïí ðñïóáñìïóìÝíï ðõñÞíá óáò).</para> </listitem> <listitem> <para>Ðùò íá ìåôáôñÝøåôå ôá õðÜñ÷ïíôá óõóôÞìáôá áñ÷åßùí óáò þóôå íá ÷ñçóéìïðïéïýí journaling, êáé ôé ðáñáìÝôñïõò èá ðñÝðåé íá äþóåôå óôï <filename>/etc/fstab</filename> þóôå íá ôá ðñïóáñôÞóåôå.</para> </listitem> <listitem> <para>Ðùò íá åíåñãïðïéÞóåôå ôï journaling óå íÝåò (Üäåéåò) êáôáôìÞóåéò.</para> </listitem> <listitem> <para>Ðùò íá áíôéìåôùðßóåôå ðñïâëÞìáôá ðïõ ó÷åôßæïíôáé ìå ôï journaling.</para> </listitem> </itemizedlist> <para>Ðñéí äéáâÜóåôå áõôü ôï Üñèñï, èá ðñÝðåé:</para> <itemizedlist> <listitem> <para>Íá êáôáíïåßôå âáóéêÝò Ýííïéåò ôïõ &unix; êáé ôïõ &os;.</para> </listitem> <listitem> <para>Íá åßóôå åîïéêåéùìÝíïò ìå ôç äéáäéêáóßá åãêáôÜóôáóçò ôïõ &os; êáé ôï âïçèçôéêü ðñüãñáììá <application>sysinstall</application>.</para> </listitem> </itemizedlist> <warning> <para>Ç äéáäéêáóßá ðïõ ðåñéãñÜöåôáé åäþ, ðñïïñßæåôáé ãéá ÷ñÞóç óå íÝåò åãêáôáóôÜóåéò, üðïõ äåí õðÜñ÷ïõí áêüìá áðïèçêåõìÝíá äåäïìÝíá ÷ñÞóôç. Áí êáé åßíáé äõíáôüí íá ôñïðïðïéÞóåôå êáé íá åðåêôåßíåôå ôç äéáäéêáóßá áõôÞ óå ìç÷áíÞìáôá ðïõ âñßóêïíôáé Þäç óå êáíïíéêÞ ÷ñÞóç, èá ðñÝðåé ïðùóäÞðïôå íá <emphasis>ðÜñåôå áíôßãñáöá áóöáëåßáò</emphasis> üëùí ôùí óçìáíôéêþí äåäïìÝíùí ðñéí åðé÷åéñÞóåôå ïðïéáäÞðïôå áëëáãÞ. ¼ôáí êÜíåôå áëëáãÝò óôá óõóôÞìáôá áñ÷åßùí êáé óôéò êáôáôìÞóåéò ôùí äßóêùí óå ôÝôïéï åðßðåäï, åßíáé ðéèáíüí íá êÜíåôå ëÜèç ôá ïðïßá èá áðïâïýí ìïéñáßá ãéá ôá äåäïìÝíá óáò.</para> </warning> </sect1> <sect1 id="understanding-journaling"> <title>Êáôáíüçóç ôïõ Journaling óôï &os;</title> <para>Ôï journaling ðïõ ðáñÝ÷åôáé áðü ôï GEOM óôï &os; 7.<replaceable>X</replaceable> äåí åßíáé ðñïóáíáôïëéóìÝíï óå êÜðïéï óõãêåêñéìÝíï óýóôçìá áñ÷åßùí (üðùò ãéá ðáñÜäåéãìá óõìâáßíåé ìå ôï óýóôçìá áñ÷åßùí ext3 óôï &linux;) áëëÜ ëåéôïõñãåß óå åðßðåäï block. Áí êáé áõôü óçìáßíåé üôé ìðïñåß íá ÷ñçóéìïðïéçèåß óå äéáöïñåôéêÜ óõóôÞìáôá áñ÷åßùí, ãéá ôï &os; 7.0-RELEASE, åßíáé äõíáôÞ ç ÷ñÞóç ôïõ ìüíï óôï UFS2.</para> <para>Ïé ëåéôïõñãßåò journaling ðáñÝ÷ïíôáé öïñôþíïíôáò ôï Üñèñùìá <filename>geom_journal.ko</filename> óôïí ðõñÞíá (Þ åíóùìáôþíïíôáò ôç ëåéôïõñãßá ôïõ óå Ýíá ðñïóáñìïóìÝíï ðõñÞíá) êáé ÷ñçóéìïðïéþíôáò ôçí åíôïëÞ <command>gjournal</command> ãéá ôç ñýèìéóç ôùí óõóôçìÜôùí áñ÷åßùí. Ç ÷ñÞóç ôïõ journaling åßíáé ãåíéêÜ èåìéôÞ óå ìåãÜëá óõóôÞìáôá áñ÷åßùí, üðùò åßíáé ôï <filename>/usr</filename>. Èá ÷ñåéáóôåß ùóôüóï íá Ý÷åôå äåóìåýóåé áðü ðñéí êÜðïéï åëåýèåñï ÷þñï óôï äßóêï.</para> <para>¼ôáí ãßíåôáé ÷ñÞóç ôïõ journaling óå Ýíá óýóôçìá áñ÷åßùí, áðáéôåßôáé êÜðïéïò åëåýèåñïò ÷þñïò ãéá íá áðïèçêåýïíôáé ôá äåäïìÝíá ôïõ çìåñïëïãßïõ êáôáãñáöÞò (journal). Ï ÷þñïò ôïõ äßóêïõ ðïõ áðïèçêåýïíôáé ôá ðñáãìáôéêÜ äåäïìÝíá áíáöÝñåôáé ùò <emphasis>ðáñï÷Ýáò äåäïìÝíùí (data provider)</emphasis>, åíþ ï ÷þñïò óôïí ïðïßï áðïèçêåýåôáé ôï çìåñïëüãéï ïíïìÜæåôáé <emphasis>ðáñï÷Ýáò çìåñïëïãßïõ (journal provider).</emphasis> Óå ðåñßðôùóç ðïõ ôï journaling ãßíåôáé óå óýóôçìá áñ÷åßùí ôï ïðïßï Ý÷åé Þäç äåäïìÝíá, ïé äýï ðáñï÷åßò ðñÝðåé íá âñßóêïíôáé óå äéáöïñåôéêÝò êáôáôìÞóåéò. Óå ðåñßðôùóç ÷ñÞóçò journaling óå íÝá êáôÜôìçóç, Ý÷åôå ôçí åðéëïãÞ íá ÷ñçóéìïðïéÞóåôå ôïí ßäéï ðáñï÷Ýá êáé ãéá ôá äåäïìÝíá êáé ãéá ôï çìåñïëüãéï. Óå êÜèå ðåñßðôùóç, ìå ôç ÷ñÞóç ôçò åíôïëÞò <command>gjournal</command>, ïé äýï ðáñï÷åßò óõíäõÜæïíôáé ãéá íá äçìéïõñãÞóïõí ôï ôåëéêü óýóôçìá áñ÷åßùí ðïõ õðïóôçñßæåé journaling. Ãéá ðáñÜäåéãìá:</para> <itemizedlist> <listitem> <para>ÈÝëåôå íá ÷ñçóéìïðïéÞóåôå journaling óôï óýóôçìá áñ÷åßùí <filename>/usr</filename>, ôï ïðïßï âñßóêåôáé óôï <filename class="devicefile">/dev/ad0s1f</filename> (ôï óýóôçìá áñ÷åßùí ðåñéÝ÷åé Þäç äåäïìÝíá).</para> </listitem> <listitem> <para>¸÷åôå êñáôÞóåé êÜðïéï êåíü ÷þñï óôï äßóêï, óå ìéá êáôÜôìçóç óôï <filename class="devicefile">/dev/ad0s1g</filename>.</para> </listitem> <listitem> <para>Ìå ôçí ÷ñÞóç ôçò åíôïëÞò <command>gjournal</command>, èá äçìéïõñãçèåß ìéá íÝá óõóêåõÞ, ç <filename class="devicefile">/dev/ad0s1f.journal</filename>, üðïõ ôï <filename class="devicefile">/dev/ad0s1f</filename> èá åßíáé ï ðáñï÷Ýáò äåäïìÝíùí êáé ôï <filename class="devicefile">/dev/ad0s1g</filename> èá åßíáé ï ðáñï÷Ýáò çìåñïëïãßïõ. Ç íÝá áõôÞ óõóêåõÞ èá ÷ñçóéìïðïéåßôáé ðëÝïí ãéá üëåò ôéò åñãáóßåò ðïõ èá åêôåëïýíôáé óôï óýóôçìá áñ÷åßùí.</para> </listitem> </itemizedlist> <para>Ï ÷þñïò óôï äßóêï ðïõ áðáéôåßôáé ãéá ôï çìåñïëüãéï åîáñôÜôáé áðü ôç ÷ñÞóç ôïõ óõóôÞìáôïò áñ÷åßùí, êáé ü÷é áðü ôï ìÝãåèïò ôïõ ðáñï÷Ýá äåäïìÝíùí. Ãéá ðáñÜäåéãìá, óå Ýíá ôõðéêü ìç÷Üíçìá ãñáöåßïõ, èá åßíáé áñêåôü íá ÷ñçóéìïðïéÞóåôå 1 GB ãéá ôïí ðáñï÷Ýá çìåñïëïãßïõ ôïõ óõóôÞìáôïò áñ÷åßùí <filename>/usr</filename>, åíþ óå Ýíá ìç÷Üíçìá ôï ïðïßï ÷ñçóéìïðïéåßôáé óå åñãáóßåò üðïõ ïé åããñáöÝò óôï äßóêï åßíáé ðïëý óõ÷íÝò êáé ìåãÜëåò óå ìÝãåèïò (ð.÷. åðåîåñãáóßá video) èá ÷ñåéáóôåßôå ðåñéóóüôåñï ÷þñï. Óå ðåñßðôùóç ðïõ ï ÷þñïò ðïõ Ý÷åé äåóìåõèåß ãéá ôï çìåñïëüãéï åîáíôëçèåß ðñéí ãßíåé äõíáôÞ ç åããñáöÞ äåäïìÝíùí óôï êáíïíéêü óýóôçìá áñ÷åßùí, ôï óýóôçìá èá êáôáññåýóåé ìå kernel panic.</para> <note> <para>Ôá ìåãÝèç ðïõ ðñïôåßíïíôáé åäþ ãéá ôïí ðáñï÷Ýá çìåñïëïãßïõ, åßíáé áðßèáíï íá ðñïêáëÝóïõí ðñüâëçìá óå ôõðéêÞ ÷ñÞóç ãñáöåßïõ (ðåñéÞãçóç óôï äéáäßêôõï, åðåîåñãáóßá êåéìÝíïõ, áíáðáñáãùãÞ ðïëõìÝóùí). Áí ùóôüóï ôï åßäïò ôçò åñãáóßáò óáò ðåñéëáìâÜíåé Ýíôïíç ÷ñÞóç ôïõ óêëçñïý äßóêïõ, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôïí áêüëïõèï êáíüíá ãéá ôç ìåãáëýôåñç äõíáôÞ áîéïðéóôßá: üëç ç ìíÞìç RAM ôïõ óõóôÞìáôïò óáò ðñÝðåé íá ÷ùñÜåé óôï 30% ôïõ ÷þñïõ ôïõ çìåñïëïãßïõ. Ãéá ðáñÜäåéãìá, áí ôï óýóôçìá óáò Ý÷åé 1 GB RAM, èá ðñÝðåé íá äçìéïõñãÞóåôå çìåñïëüãéï ìåãÝèïõò ðåñßðïõ 3.3 GB. (ÐïëëáðëáóéÜóôå ôï ìÝãåèïò ôçò RAM ìå ôï 3.3 ãéá íá âñåßôå ôï ìÝãåèïò ôïõ çìåñïëïãßïõ.)</para> </note> <para>Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò ó÷åôéêÜ ìå ôï journaling, ðáñáêáëïýìå äéáâÜóôå ôç óåëßäá manual ôïõ &man.gjournal.8;.</para> </sect1> <sect1 id="reserve-space"> <title>ÂÞìáôá ÊáôÜ ôçí ÅãêáôÜóôáóç ôïõ &os;</title> <sect2> <title>ÄÝóìåõóç ×þñïõ óôï Äßóêï ãéá ôï Journaling</title> <para>¸íá ôõðéêü desktop ìç÷Üíçìá, Ý÷åé óõíÞèùò Ýíá óêëçñü äßóêï óôïí ïðïßï áðïèçêåýïíôáé ôüóï ôï ëåéôïõñãéêü üóï êáé ôá äåäïìÝíá ôïõ ÷ñÞóôç. ÓõíÞèùò, ïé ðñïåðéëåãìÝíåò êáôáôìÞóåéò ðïõ äçìéïõñãïýíôáé áðü ôï <application>sysinstall</application> åßíáé ðåñßðïõ óùóôÝò: ¸íá desktop ìç÷Üíçìá äåí ÷ñåéÜæåôáé ìåãÜëç êáôÜôìçóç <filename>/var</filename>, åíþ ôï ìåãáëýôåñï ìÝñïò ôïõ åëåýèåñïõ ÷þñïõ áðïäßäåôáé óôï <filename>/usr</filename>, áöïý óôïõò õðïêáôáëüãïõò ôïõ áðïèçêåýïíôáé ôá äåäïìÝíá ôïõ ÷ñÞóôç êáé ãßíïíôáé êáé ïé åãêáôáóôÜóåéò ôïõ ëïãéóìéêïý.</para> <para>×ñçóéìïðïéþíôáò ôéò ðñïåðéëåãìÝíåò êáôáôìÞóåéò (áõôÝò ðïõ äçìéïõñãåß ï åðåîåñãáóôÞò <application>Disklabel</application> üôáí ðéÝóåôå ôï <keycap>A</keycap>), äåí ìÝíåé êáèüëïõ åëåýèåñïò ÷þñïò. Ùóôüóï êÜèå êáôÜôìçóç óôçí ïðïßá èÝëåôå íá ÷ñçóéìïðïéÞóåôå journaling, ÷ñåéÜæåôáé áêüìá ìßá ãéá ôçí áðïèÞêåõóç ôïõ çìåñïëïãßïõ. Êáèþò ç êáôÜôìçóç <filename>/usr</filename> åßíáé ç ìåãáëýôåñç, ôï ðëÝïí ëïãéêü åßíáé íá ôçí ìéêñýíïõìå åëáöñÜ þóôå íá åîáóöáëßóïõìå ôï ÷þñï ðïõ áðáéôåßôáé ãéá ôï journaling.</para> <para>Óôï ðáñÜäåéãìá ìáò, ÷ñçóéìïðïéåßôáé Ýíáò äßóêïò ìåãÝèïõò 80 GB. Óôçí áêüëïõèç åéêüíá öáßíïíôáé ïé ðñïåðéëåãìÝíåò êáôáôìÞóåéò üðùò äçìéïõñãïýíôáé áðü ôïí åðåîåñãáóôÞ <application>Disklabel</application> êáôÜ ôçí åãêáôÜóôáóç:</para> <mediaobject> <imageobject> <imagedata fileref="disklabel1.png"/> </imageobject> </mediaobject> <para>Áí ôá ðáñáðÜíù ìåãÝèç åßíáé ðåñßðïõ ôá åðéèõìçôÜ ãéá ôçí åãêáôÜóôáóç óáò, åßíáé áñêåôÜ åýêïëï íá ñõèìéóôïýí þóôå íá ãßíåé äõíáôÞ ç ÷ñÞóç ôïõ journaling. Áðëþò ÷ñçóéìïðïéÞóôå ôá ðëÞêôñá ìå ôá âåëÜêéá ãéá íá ìåôáêéíÞóåôå ôçí ìðÜñá åðéëïãÞò óôçí êáôÜôìçóç <filename>/usr</filename> êáé ðéÝóôå ôï <keycap>D</keycap> ãéá íá ôçí äéáãñÜøåôå.</para> <para>Ôþñá, ìåôáêéíÞóôå ôçí ìðÜñá åðéëïãÞò óôï üíïìá ôïõ óêëçñïý äßóêïõ óôï Üíù ìÝñïò ôçò ïèüíçò, êáé ðéÝóôå <keycap>C</keycap> ãéá íá äçìéïõñãÞóåôå ìéá íÝá êáôÜôìçóç ãéá ôï <filename>/usr</filename>. Ç íÝá áõôÞ êáôÜôìçóç èá ðñÝðåé íá åßíáé ìéêñüôåñç êáôÜ 1 GB (áí Ý÷åôå óêïðü íá ÷ñçóéìïðïéÞóåôå journaling ìüíï óôï <filename>/usr</filename>), Þ êáôÜ 2 GB (áí Ý÷åôå óêïðü íá ÷ñçóéìïðïéÞóåôå journaling ôüóï óôï <filename>/usr</filename> üóï êáé óôï <filename>/var</filename>). Óôï äéÜëïãï ðïõ èá åìöáíéóôåß, åðéëÝîôå íá äçìéïõñãÞóåôå óýóôçìá áñ÷åßùí (file system) êáé ãñÜøôå <filename>/usr</filename> ùò ôï óçìåßï ðñïóÜñôçóçò (mount point).</para> <note> <para>Åßíáé áíáãêáßá ç ÷ñÞóç journaling óôçí êáôÜôìçóç <filename>/var</filename> partition; ÖõóéïëïãéêÜ, ôï journaling Ý÷åé íüçìá ìüíï óå áñêåôÜ ìåãÜëåò êáôáôìÞóåéò. Äåí ðñüêåéôáé ùóôüóï íá äçìéïõñãçèåß êÜðïéï ðñüâëçìá áí ÷ñçóéìïðïéÞóåôå journaling óôï <filename>/var</filename>. Áí ç ÷ñÞóç ôïõ óõãêåêñéìÝíïõ óõóôÞìáôïò áñ÷åßùí åßíáé ìéêñÞ (ôï ïðïßï åßíáé êáé ôï ðéèáíüôåñï óå Ýíá dekstop ìç÷Üíçìá) ßóùò åßíáé êáëÞ éäÝá íá ÷ñçóéìïðïéÞóåôå ëéãüôåñï ÷þñï óôï äßóêï ãéá ôï çìåñïëüãéï ôïõ.</para> <para>Óôï ðáñÜäåéãìá ìáò, èá åíåñãïðïéÞóïõìå ôï journaling ôüóï óôï <filename>/usr</filename> üóï êáé óôï <filename>/var</filename>. Ìðïñåßôå öõóéêÜ íá ðñïóáñìüóåôå áõôÞ ôç äéáäéêáóßá óýìöùíá ìå ôéò áíÜãêåò óáò.</para> </note> <para>Ãéá íá áðëïðïéÞóïõìå, üóï åßíáé äõíáôüí, ôç äéáäéêáóßá, èá ÷ñçóéìïðïéÞóïõìå ôï <application>sysinstall</application> ãéá íá äçìéïõñãÞóïõìå ôéò êáôáôìÞóåéò ðïõ áðáéôïýíôáé ãéá ôï journaling. Ùóôüóï, êáôÜ ôç äéÜñêåéá ôçò åãêáôÜóôáóçò, ôï <application>sysinstall</application> åðéìÝíåé íá ñùôÜåé ãéá óçìåßá ðñïóÜñôçóçò óå êÜèå êáôÜôìçóç ðïõ äçìéïõñãåßôáé. Óôï óçìåßï áõôü, äåí õðÜñ÷ïõí óçìåßá ðñïóÜñôçóçò ãéá ôéò êáôáôìÞóåéò ìáò, êáé óôçí ðñáãìáôéêüôçôá <emphasis>äåí ôá ÷ñåéáæüìáóôå êáí</emphasis>. Ïé êáôáôìÞóåéò ðïõ ÷ñçóéìïðïéïýíôáé ãéá ôá çìåñïëüãéá, äåí ðñïóáñôþíôáé êÜðïõ.</para> <para>Ãéá íá áðïöýãïõìå áõôÜ ôá ðñïâëÞìáôá ìå ôï <application>sysinstall</application>, èá äçìéïõñãÞóïõìå áõôÝò ôéò êáôáôìÞóåéò ùò ÷þñï swap. Óôï swap äåí ãßíåôáé ðïôÝ ðñïóÜñôçóç, åíþ êáé ôï <application>sysinstall</application> äåí Ý÷åé êáíÝíá ðñüâëçìá íá äçìéïõñãÞóåé üóåò ôÝôïéåò êáôáôìÞóåéò ÷ñåéáæüìáóôå. ÌåôÜ ôçí ðñþôç åêêßíçóç, èá ðñÝðåé ùóôüóï íá åðåîåñãáóôïýìå ôï áñ÷åßï <filename>/etc/fstab</filename> êáé íá áöáéñÝóïõìå ôéò Ýîôñá êáôá÷ùñÞóåéò swap ðïõ äçìéïõñãÞèçêáí êáôÜ ôçí åãêáôÜóôáóç.</para> <para>Ãéá íá äçìéïõñãÞóåôå ôïõò ÷þñïõò swap, ÷ñçóéìïðïéÞóôå ðÜëé ôá ðëÞêôñá ìå ôá âåëÜêéá ãéá íá ìåôáêéíÞóåôå ôçí ìðÜñá åðéëïãÞò óôï Üíù ìÝñïò ôçò ïèüíçò ôïõ åðåîåñãáóôÞ <application>Disklabel</application>, Ýôóé þóôå íá åßíáé åðéëåãìÝíï ôï üíïìá ôïõ óêëçñïý äßóêïõ. Êáôüðéí, ðéÝóôå <keycap>N</keycap>, äþóôå ôï åðéèõìçôü ìÝãåèïò (<replaceable>1024M</replaceable>), êáé åðéëÝîôå <quote>swap space</quote> áðü ôï ìåíïý ðïõ åìöáíßæåôáé. ÅðáíáëÜâåôå ãéá êÜèå çìåñïëüãéï ðïõ åðéèõìåßôå íá äçìéïõñãÞóåôå. Óôï ðáñÜäåéãìá ìáò, äçìéïõñãïýìå äýï êáôáôìÞóåéò óôéò ïðïßåò èá áðïèçêåýïíôáé ôá çìåñïëüãéá ôùí <filename>/usr</filename> êáé <filename>/var</filename>. Ôï ôåëéêü áðïôÝëåóìá öáßíåôáé óôçí ðáñáêÜôù åéêüíá:</para> <mediaobject> <imageobject> <imagedata fileref="disklabel2.png"/> </imageobject> </mediaobject> <para>Ìüëéò ïëïêëçñþóåôå ôç äçìéïõñãßá ôùí êáôáôìÞóåùí, óáò óõíéóôïýìå íá óçìåéþóåôå ôá ïíüìáôá ôïõò êáé ôá óçìåßá ðñïóÜñôçóçò ãéá íá ôá Ý÷åôå ðñü÷åéñá êáôÜ ôç öÜóç ôùí ñõèìßóåùí. Ìå ôïí ôñüðï áõôü èá áðïöýãåôå ôõ÷üí ëÜèç ðïõ ìðïñåß íá êáôáóôñÝøïõí ôçí åãêáôÜóôáóç óáò. Ï ðáñáêÜôù ðßíáêáò äåß÷íåé ôéò óçìåéþóåéò ìáò ãéá ôï ðáñÜäåéãìá ìáò:</para> <table pgwide="1"> <title>ÊáôáôìÞóåéò êáé Çìåñïëüãéá</title> <tgroup cols="3"> <thead> <row> <entry>ÊáôÜôìçóç</entry> <entry>Óçìåßï ÐñïóÜñôçóçò</entry> <entry>Çìåñïëüãéï</entry> </row> </thead> <tbody> <row> <entry>ad0s1d</entry> <entry>/var</entry> <entry>ad0s1h</entry> </row> <row> <entry>ad0s1f</entry> <entry>/usr</entry> <entry>ad0s1g</entry> </row> </tbody> </tgroup> </table> <para>Óõíå÷ßóôå ôçí åãêáôÜóôáóç üðùò óõíÞèùò. Óáò óõíéóôïýìå ùóôüóï íá ìçí åãêáôáóôÞóåôå åöáñìïãÝò (ðáêÝôá) ìÝ÷ñé íá ïëïêëçñþóåôå ôç äéáäéêáóßá ôïõ journaling.</para> </sect2> <sect2 id="first-boot"> <title>Ðñþôç Åêêßíçóç</title> <para>Ôï óýóôçìá óáò èá îåêéíÞóåé öõóéïëïãéêÜ, áëëÜ èá ÷ñåéáóôåß íá åðåîåñãáóôåßôå ôï <filename>/etc/fstab</filename> êáé íá äéáãñÜøåôå ôéò êáôá÷ùñÞóåéò ãéá ôéò êáôáôìÞóåéò swap ðïõ èá ÷ñçóéìïðïéçèïýí óôá çìåñïëüãéá. ÖõóéïëïãéêÜ, ç êáôÜôìçóç ðïõ ÷ñçóéìïðïéåßôáé ùò êáíïíéêü swap ôåëåéþíåé ìå ôï ãñÜììá <quote>b</quote> (ð.÷. ad0s1b óôï ðáñÜäåéãìá ìáò). ÄéáãñÜøôå üëåò ôéò Üëëåò êáôá÷ùñÞóåéò ãéá ôï swap êáé åðáíåêêéíÞóôå ôï óýóôçìá óáò, þóôå íá óôáìáôÞóåé ôï &os; íá ôéò ÷ñçóéìïðïéåß.</para> <para>Ìüëéò ôï óýóôçìá åêêéíÞóåé îáíÜ, èá åßìáóôå Ýôïéìïé íá ñõèìßóïõìå ôï journaling.</para> </sect2> </sect1> <sect1 id="configure-journal"> <title>Ñýèìéóç ôïõ Journaling</title> <sect2 id="running-gjournal"> <title>ÅêôÝëåóç ôçò ÅíôïëÞò <command>gjournal</command></title> <para>¸÷ïíôáò ðñïåôïéìÜóåé üëåò ôéò áðáñáßôçôåò êáôáôìÞóåéò, åßíáé ó÷åôéêÜ áðëü íá ñõèìßóïõìå ôï journaling. Èá ðñÝðåé íá ìåôáâïýìå óå êáôÜóôáóç åíüò ÷ñÞóôç, ãéá ôï ëüãï áõôü åéóÝëèåôå óôï óýóôçìá ùò <username>root</username> êáé ãñÜøôå:</para> <screen>&prompt.root; <userinput>shutdown now</userinput></screen> <para>ÐéÝóôå <keycap>Enter</keycap> ãéá íá âãåßôå óôï ðñïåðéëåãìÝíï êÝëõöïò. Èá ðñÝðåé íá áðïðñïóáñôÞóïõìå ôéò êáôáôìÞóåéò óôéò ïðïßåò èá ãßíåé ôï journaling, óôï ðáñÜäåéãìá ìáò ôéò <filename>/usr</filename> êáé <filename>/var</filename>:</para> <screen>&prompt.root; <userinput>umount /usr /var</userinput></screen> <para>Öïñôþóôå ôï Üñèñùìá ôïõ ðõñÞíá ðïõ áðáéôåßôáé ãéá ôï journaling:</para> <screen>&prompt.root; <userinput>gjournal load</userinput></screen> <para>×ñçóéìïðïéÞóôå ôþñá ôéò óçìåéþóåéò óáò ãéá íá êáèïñßóåôå ðïéá êáôÜôìçóç ÷ñçóéìïðïéåßôáé ãéá êÜèå çìåñïëüãéï. Óôï ðáñÜäåéãìá ìáò, ôï <filename>/usr</filename> âñßóêåôáé óôï <filename class="devicefile">ad0s1f</filename> êáé ôï çìåñïëüãéï ôïõ èá åßíáé óôï <filename class="devicefile">ad0s1g</filename>, åíþ ôï <filename>/var</filename> åßíáé óôï <filename class="devicefile">ad0s1d</filename> êáé ôï çìåñïëüãéï ôïõ èá åßíáé óôï <filename class="devicefile">ad0s1h</filename>. Èá ÷ñåéáóôåßôå ôéò ðáñáêÜôù åíôïëÝò:</para> <screen>&prompt.root; <userinput>gjournal label ad0s1f ad0s1g</userinput> GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data. GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal. &prompt.root; <userinput>gjournal label ad0s1d ad0s1h</userinput> GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data. GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.</screen> <note> <para>Áí ï ôåëåõôáßïò ôïìÝáò êÜðïéáò áðü ôéò êáôáôìÞóåéò åßíáé óå ÷ñÞóç, ç åíôïëÞ <command>gjournal</command> èá óáò åðéóôñÝøåé Ýíá ìÞíõìá ëÜèïõò. Èá ðñÝðåé íá åêôåëÝóåôå ôçí åíôïëÞ ÷ñçóéìïðïéþíôáò ôçí ðáñÜìåôñï <option>-f</option> ìå ôçí ïðïßá èá õðï÷ñåþóåôå ôçí åðáíåããñáöÞ ôïõ ôïìÝá, ð.÷.:</para> <screen>&prompt.root; <userinput>gjournal label -f ad0s1d ad0s1h</userinput></screen> <para>Ìéá ðïõ ðñüêåéôáé ãéá íÝá åãêáôÜóôáóç, åßíáé ìÜëëïí áðßèáíï íá ðñïêáëÝóåôå êÜðïéï ðñüâëçìá.</para></note> <para>Óôï óçìåßï áõôü äçìéïõñãïýíôáé äýï íÝåò óõóêåõÝò, ïé <filename class="devicefile">ad0s1d.journal</filename> êáé <filename class="devicefile">ad0s1f.journal</filename>. ÁõôÝò áíôéðñïóùðåýïõí ôéò êáôáôìÞóåéò <filename>/var</filename> êáé <filename>/usr</filename> ðïõ èá ðñÝðåé íá ðñïóáñôÞóïõìå. Ðñéí ôéò ðñïóáñôÞóïõìå ùóôüóï, èá ðñÝðåé íá èÝóïõìå ôçí åðéëïãÞ journal êáé íá áíáéñÝóïõìå ôçí åðéëïãÞ Soft Updates:</para> <screen>&prompt.root; <userinput>tunefs -J enable -n disable ad0s1d.journal</userinput> tunefs: gjournal set tunefs: soft updates cleared &prompt.root; <userinput>tunefs -J enable -n disable ad0s1f.journal</userinput> tunefs: gjournal set tunefs: soft updates cleared</screen> <para>ÐñïóáñôÞóôå ôþñá ÷åéñïêßíçôá ôéò íÝåò óõóêåõÝò óôá áíôßóôïé÷á óçìåßá ðñïóÜñôçóçò (óçìåéþóôå üôé ìðïñïýìå ðëÝïí íá ÷ñçóéìïðïéÞóïõìå ôçí åðéëïãÞ <option>async</option> êáôÜ ôçí ðñïóÜñôçóç):</para> <screen>&prompt.root; <userinput>mount -o async /dev/ad0s1d.journal /var</userinput> &prompt.root; <userinput>mount -o async /dev/ad0s1f.journal /usr</userinput></screen> <para>Åðåîåñãáóôåßôå ôï áñ÷åßï <filename>/etc/fstab</filename> êáé áíáíåþóôå ôéò êáôá÷ùñÞóåéò ãéá ôéò êáôáôìÞóåéò <filename>/usr</filename> êáé <filename>/var</filename>:</para> <programlisting>/dev/ad0s1f.journal /usr ufs rw,async 2 2 /dev/ad0s1d.journal /var ufs rw,async 2 2</programlisting> <warning> <para>Âåâáéùèåßôå üôé ïé ðáñáðÜíù êáôá÷ùñÞóåéò åßíáé óùóôÝò, äéáöïñåôéêÜ èá Ý÷åôå ðñüâëçìá íá åêêéíÞóåôå êáíïíéêÜ óôçí åðüìåíç åðáíåêêßíçóç ôïõ óõóôÞìáôïò óáò.</para> </warning> <para>ÔÝëïò, åðåîåñãáóôåßôå ôï áñ÷åßï <filename>/boot/loader.conf</filename> êáé ðñïóèÝóôå ôçí áêüëïõèç ãñáììÞ þóôå íá öïñôþíåôáé ôï Üñèñùìá &man.gjournal.8; óå êÜèå åêêßíçóç:</para> <programlisting>geom_journal_load="YES"</programlisting> <para>Óõã÷áñçôÞñéá! Ôï óýóôçìá óáò åßíáé ôþñá Ýôïéìï ãéá journaling. Ìðïñåßôå íá ãñÜøåôå <userinput>exit</userinput> ãéá íá åðéóôñÝøåôå óôçí êáíïíéêÞ ëåéôïõñãßá (ðïëëáðëþí ÷ñçóôþí) Þ íá åðáíåêêéíÞóåôå ôï óýóôçìá óáò (óõíßóôáôáé) ãéá íá åëÝãîåôå ôéò ñõèìßóåéò óáò. ÊáôÜ ôçí åêêßíçóç, èá äåßôå ìçíýìáôá üðùò ôï ðáñáêÜôù:</para> <screen>ad0: 76293MB XEC XE800JD-00HBC0 08.02D08 at ata0-master SATA150 GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal. GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal. GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data. GEOM_JOURNAL: Journal ad0s1d clean. GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data. GEOM_JOURNAL: Journal ad0s1f clean.</screen> <para>ÌåôÜ áðü Ýíá ðñïâëçìáôéêü ôåñìáôéóìü èá äåßôå ìçíýìáôá üðùò ôï ðáñáêÜôù:</para> <screen>GEOM_JOURNAL: Journal ad0s1d consistent.</screen> <para>Áõôü óõíÞèùò óçìáßíåé üôé ôï &man.gjournal.8; ÷ñçóéìïðïßçóå ôéò ðëçñïöïñßåò ôïõ çìåñïëïãßïõ ãéá íá åðéóôñÝøåé ôï óýóôçìá áñ÷åßùí óå óôáèåñÞ êáôÜóôáóç.</para> </sect2> <sect2 id="gjournal-new"> <title>×ñÞóç ôïõ Journaling óå ÍÝåò ÊáôáôìÞóåéò</title> <para>Áí êáé ç ðáñáðÜíù äéáäéêáóßá åßíáé áðáñáßôçôç ãéá íá ÷ñçóéìïðïéÞóåôå journaling óå êáôáôìÞóåéò ðïõ Ý÷ïõí Þäç äåäïìÝíá, ç áíôßóôïé÷ç äéáäéêáóßá ãéá íÝåò êáôáôìÞóåéò åßíáé ðéï áðëÞ. Óôçí ðåñßðôùóç áõôÞ, ìðïñåß íá ÷ñçóéìïðïéçèåß ï ßäéïò ðáñï÷Ýáò ôüóï ãéá ôá äåäïìÝíá üóï êáé ãéá ôï çìåñïëüãéï. Ãéá ðáñÜäåéãìá, õðïèÝóôå üôé Ý÷åôå ðñïóèÝóåé Ýíá íÝï äßóêï êáé Ý÷åôå äçìéïõñãÞóåé ôçí êáôÜôìçóç <filename class="devicefile">/dev/ad1s1d</filename>. Ç äçìéïõñãßá ôïõ çìåñïëïãßïõ åßíáé áñêåôÜ áðëÞ êáé öáßíåôáé ðáñáêÜôù:</para> <screen>&prompt.root; <userinput>gjournal label ad1s1d</userinput></screen> <para>Ôï ðñïåðéëåãìÝíï ìÝãåèïò ôïõ çìåñïëïãßïõ åßíáé 1 GB. Ìðïñåßôå ùóôüóï íá ôï ñõèìßóåôå ÷ñçóéìïðïéþíôáò ôçí åðéëïãÞ <option>-s</option>. Ìðïñåßôå íá äþóåôå ôéìÝò óå bytes, Þ íá âÜëåôå ìåôÜ ôçí ôéìÞ Ýíá áðü ôá ãñÜììáôá <literal>K</literal>, <literal>M</literal> Þ <literal>G</literal> ãéá íá äçëþóåôå Kilobytes, Megabytes Þ Gigabytes áíôßóôïé÷á. Óçìåéþóôå üôé ç åíôïëÞ <command>gjournal</command>, äåí èá óáò åðéôñÝøåé íá äçìéïõñãÞóåôå çìåñïëüãéï ðïõ íá åßíáé áêáôÜëëçëï ëüãù ìéêñïý ìåãÝèïõò.</para> <para>Ãéá ðáñÜäåéãìá, ãéá íá äçìéïõñãÞóåôå Ýíá çìåñïëüãéï ìåãÝèïõò 2 GB, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôçí áêüëïõèç åíôïëÞ:</para> <screen>&prompt.root; <userinput>gjournal label -s 2G ad1s1d</userinput></screen> <para>Ìðïñåßôå Ýðåéôá íá äçìéïõñãÞóåôå Ýíá óýóôçìá áñ÷åßùí óôç íÝá óáò êáôÜôìçóç, êáé ôáõôü÷ñïíá íá åíåñãïðïéÞóåôå ôï journaling, ÷ñçóéìïðïéþíôáò ôçí åðéëïãÞ <option>-J</option>:</para> <screen>&prompt.root; <userinput>newfs -J /dev/ad1s1d.journal</userinput></screen> </sect2> <sect2 id="configure-kernel"> <title>ÅíóùìÜôùóç ôïõ Journaling óå ÐñïóáñìïóìÝíï ÐõñÞíá</title> <para>Áí äåí èÝëåôå íá öïñôþóåôå ôï <literal>geom_journal</literal> ùò Üñèñùìá, ìðïñåßôå íá åíóùìáôþóåôå ôéò ëåéôïõñãßåò ôïõ óôïí ðñïóáñìïóìÝíï ðõñÞíá óáò. Åðåîåñãáóôåßôå ôï áñ÷åßï ñõèìßóåùí ôïõ ðõñÞíá, êáé âåâáéùèåßôå üôé ðåñéëáìâÜíåé ôéò áêüëïõèåò äýï ãñáììÝò:</para> <programlisting>options UFS_GJOURNAL # Óçìåßùóç: ç åðéëïãÞ áõôÞ õðÜñ÷åé óôï GENERIC options GEOM_JOURNAL # Èá ðñÝðåé íá ðñïóèÝóåôå áõôÞ ôç ãñáììÞ</programlisting> <para>Ìåôáãëùôôßóôå êáé åðáíåãêáôáóôÞóôå ôïí ðõñÞíá óáò ÷ñçóéìïðïéþíôáò ôéò ó÷åôéêÝò <ulink url="&url.books.handbook;/kernelconfig.html">ïäçãßåò óôï Åã÷åéñßäéï ôïõ &os;.</ulink></para> <para>Ìçí îå÷Üóåôå íá áöáéñÝóåôå ôçí áíôßóôïé÷ç êáôá÷þñçóç <quote>load</quote> áðü ôï áñ÷åßï <filename>/boot/loader.conf</filename> áí ôçí åß÷áôå ÷ñçóéìïðïéÞóåé ðñïçãïõìÝíùò.</para> </sect2> </sect1> <sect1 id="troubleshooting-gjournal"> <title>Áíôéìåôþðéóç ÐñïâëçìÜôùí</title> <para>Ôï áêüëïõèï ôìÞìá êáëýðôåé óõ÷íÝò åñùôÞóåéò ó÷åôéêÜ ìå ðñïâëÞìáôá ðïõ ìðïñåßôå íá óõíáíôÞóåôå óôçí õëïðïßçóç ôïõ jounaling.</para> <qandaset> <qandaentry> <question id="kernel-panic"> <para>ÊáôÜ ôç äéÜñêåéá Ýíôïíçò ÷ñÞóçò ôïõ äßóêïõ, ôï óýóôçìá ìïõ óôáìáôÜåé ìå kernel panic. ÕðÜñ÷åé ðåñßðôùóç áõôü íá ó÷åôßæåôáé ìå ôï journaling;</para> </question> <answer> <para>Åßíáé ðéèáíü ôï çìåñïëüãéï íá ãåìßæåé ðñéí ðñïëÜâïõí ôá ðñïçãïýìåíá äåäïìÝíá ôïõ íá ìåôáöåñèïýí óôï óýóôçìá áñ÷åßùí. Èá ðñÝðåé íá èõìÜóôå üôé ôï ìÝãåèïò ôïõ çìåñïëïãßïõ äåí åîáñôÜôáé áðü ôï ìÝãåèïò ôïõ ðáñï÷Ýá äåäïìÝíùí, áëëÜ áðü ôï öüñôï åñãáóßáò ôïõ. Áí ç äñáóôçñéüôçôá ôïõ äßóêïõ óáò åßíáé õøçëÞ, èá ÷ñåéáóôåßôå ìåãáëýôåñï ìÝãåèïò ãéá ôçí êáôÜôìçóç ôïõ çìåñïëïãßïõ. Äåßôå ôç ó÷åôéêÞ óçìåßùóç óôçí åíüôçôá <link linkend="understanding-journaling">Êáôáíüçóç ôïõ Journaling</link>.</para> </answer> </qandaentry> <qandaentry> <question id="unable-boot"> <para>¸êáíá êÜðïéï ëÜèïò óôéò ñõèìßóåéò, êáé äåí ìðïñþ ðëÝïí íá îåêéíÞóù êáíïíéêÜ ôï óýóôçìá ìïõ. ÕðÜñ÷åé ôñüðïò íá ôï äéïñèþóù;</para> </question> <answer> <para>Ðéèáíüí îå÷Üóáôå íá ðñïóèÝóåôå (Þ Ý÷åôå êÜíåé ëÜèïò) ôçí êáôá÷þñçóç óôï <filename>/boot/loader.conf</filename>, Þ ßóùò õðÜñ÷åé ëÜèïò óôï áñ÷åßï <filename>/etc/fstab</filename>. Ôá ëÜèç áõôÜ óõíÞèùò äéïñèþíïíôáé åýêïëá. ÐéÝóôå <keycap>Enter</keycap> ãéá íá îåêéíÞóåôå ôï ðñïåðéëåãìÝíï êÝëõöïò ëåéôïõñãßáò åíüò ÷ñÞóôç. ÌåôÜ åíôïðßóôå ôçí ðçãÞ ôïõ ðñïâëÞìáôïò:</para> <screen>&prompt.root; <userinput>cat /boot/loader.conf</userinput></screen> <para>Áí ëåßðåé Þ õðÜñ÷åé ëÜèïò óôçí êáôá÷þñçóç <literal>geom_journal_load</literal>, ïé áíôßóôïé÷åò óõóêåõÝò äåí äçìéïõñãïýíôáé êáí. Ìðïñåßôå íá öïñôþóåôå ôï Üñèñùìá ÷åéñïêßíçôá, íá ðñïóáñôÞóåôå üëåò ôéò êáôáôìÞóåéò, êáé íá óõíå÷ßóåôå ìå ôçí êáíïíéêÞ åêêßíçóç:</para> <screen>&prompt.root; <userinput>gjournal load</userinput> GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal. GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal. GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data. GEOM_JOURNAL: Journal ad0s1d clean. GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data. GEOM_JOURNAL: Journal ad0s1f clean. &prompt.root; <userinput>mount -a</userinput> &prompt.root; <userinput>exit</userinput> <emphasis>(ç åêêßíçóç óõíå÷ßæåôáé)</emphasis></screen> <para>Áí ùóôüóï ç êáôá÷þñçóç áõôÞ åßíáé óùóôÞ, ñßîôå ìéá ìáôéÜ óôï áñ÷åßï <filename>/etc/fstab</filename>. Ôï ðéï ðéèáíü åßíáé íá âñåßôå üôé êÜðïéá êáôá÷þñçóç ëåßðåé, Þ åßíáé ëÜèïò. Óôçí ðåñßðôùóç áõôÞ, ðñïóáñôÞóôå ÷åéñïêßíçôá üëåò ôéò êáôáôìÞóåéò êáé óõíå÷ßóôå ôçí åêêßíçóç êáíïíéêÜ.</para> </answer> </qandaentry> <qandaentry> <question id="remove-journaling"> <para>Ìðïñþ íá êáôáñãÞóù ôï journaling êáé íá åðéóôñÝøù óôï êáíïíéêü óýóôçìá áñ÷åßùí ìå ôá Soft Updates;</para> </question> <answer> <para>ÂÝâáéá. ×ñçóéìïðïéÞóôå ôçí áêüëïõèç äéáäéêáóßá ç ïðïßá áíáéñåß ôéò áëëáãÝò. Ìðïñåßôå Ýðåéôá íá ÷ñçóéìïðïéÞóåôå ôéò êáôáôìÞóåéò ôùí çìåñïëïãßùí ãéá Üëëï óêïðü, åöüóïí ôï åðéèõìåßôå.</para> <para>ÅéóÝëèåôå ùò <username>root</username> êáé ìåôáâåßôå óå êáôÜóôáóç åíüò ÷ñÞóôç:</para> <screen>&prompt.root; <userinput>shutdown now</userinput></screen> <para>ÁðïðñïóáñôÞóôå ôéò êáôáôìÞóåéò ðïõ ÷ñçóéìïðïéïýí journaling:</para> <screen>&prompt.root; <userinput>umount /usr /var</userinput></screen> <para>Óõã÷ñïíßóôå ôá çìåñïëüãéá:</para> <screen>&prompt.root; <userinput>gjournal sync</userinput></screen> <para>ÓôáìáôÞóôå ôïõò ðáñï÷åßò çìåñïëïãßïõ:</para> <screen>&prompt.root; <userinput>gjournal stop ad0s1d.journal</userinput> &prompt.root; <userinput>gjournal stop ad0s1f.journal</userinput></screen> <para>ÄéáãñÜøôå ôá metadata ôïõ journaling áðü üëåò ôéò óõóêåõÝò ðïõ ÷ñçóéìïðïéÞóáôå:</para> <screen>&prompt.root; <userinput>gjournal clear ad0s1d</userinput> &prompt.root; <userinput>gjournal clear ad0s1f</userinput> &prompt.root; <userinput>gjournal clear ad0s1g</userinput> &prompt.root; <userinput>gjournal clear ad0s1h</userinput></screen> <para>ÁíáéñÝóôå ôçí åðéëïãÞ ôïõ journaling, êáé èÝóôå îáíÜ ôçí åðéëïãÞ ãéá Soft Updates:</para> <screen>&prompt.root; <userinput>tunefs -J disable -n enable ad0s1d</userinput> tunefs: gjournal cleared tunefs: soft updates set &prompt.root; <userinput>tunefs-J disable -n enable ad0s1f</userinput> tunefs: gjournal cleared tunefs: soft updates set</screen> <para>ÐñïóáñôÞóôå ÷åéñïêßíçôá ôéò êáíïíéêÝò êáôáôìÞóåéò:</para> <screen>&prompt.root; <userinput>mount -o rw /dev/ad0s1d /var</userinput> &prompt.root; <userinput>mount -o rw /dev/ad0s1f /usr</userinput></screen> <para>Åðåîåñãáóôåßôå ôï <filename>/etc/fstab</filename> êáé åðáíáöÝñáôå ôéò ðñïçãïýìåíåò ñõèìßóåéò:</para> <programlisting>/dev/ad0s1f /usr ufs rw 2 2 /dev/ad0s1d /var ufs rw 2 2</programlisting> <para>ÔÝëïò, åðåîåñãáóôåßôå ôï áñ÷åßï <filename>/boot/loader.conf</filename>, áöáéñÝóôå ôçí êáôá÷þñçóç ðïõ öïñôþíåé ôï Üñèñùìá <literal>geom_journal</literal> êáé åðáíåêêéíÞóôå ôï óýóôçìá óáò.</para> </answer> </qandaentry> </qandaset> </sect1> <sect1 id="further-reading"> <title>ÅðéðëÝïí Ðëçñïöïñßåò</title> <para>Ôï journaling åßíáé ìéá ó÷åôéêÜ íÝá äõíáôüôçôá ôïõ &os;, êáé Ýôóé äåí åßíáé áêüìá êáëÜ ôåêìçñéùìÝíç. ºóùò üìùò íá âñåßôå ÷ñÞóéìåò ðëçñïöïñßåò óôéò ðáñáêÜôù áíáöïñÝò:</para> <itemizedlist> <listitem> <para>ÕðÜñ÷åé Ýíá <ulink url="&url.books.handbook;/geom-gjournal.html">íÝï ôìÞìá ãéá ôï journaling</ulink> óôï Åã÷åéñßäéï ôïõ &os;.</para> </listitem> <listitem> <para><ulink url="http://lists.freebsd.org/pipermail/freebsd-current/2006-June/064043.html">ÁõôÞ ç äçìïóßåõóç</ulink> óôç ëßóôá &a.current.name; áðü ôïí äçìéïõñãü ôïõ &man.gjournal.8;, &a.pjd;.</para> </listitem> <listitem> <para><ulink url="http://lists.freebsd.org/pipermail/freebsd-questions/2008-April/173501.html">ÁõôÞ ç äçìïóßåõóç</ulink> óôç ëßóôá &a.questions.name; áðü ôïí &a.ivoras;.</para> </listitem> <listitem> <para>Ïé óåëßäåò manual ôïõ &man.gjournal.8; êáé &man.geom.8;.</para> </listitem> </itemizedlist> </sect1> </article>