<?xml version="1.0" encoding="iso-8859-7"?> <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN" "../../../share/xml/freebsd45.dtd"> <!-- ÅëëçíéêÞ ìåôÜöñáóç ôïõ: Introduction to NanoBSD The FreeBSD Greek Documentation Project %SOURCE% en_US.ISO8859-1/articles/nanobsd/article.xml %SRCID% 1.5 --> <article lang='el'> <articleinfo> <title>ÅéóáãùãÞ óôï NanoBSD</title> <authorgroup> <author> <firstname>Daniel</firstname> <surname>Gerzo</surname> <!-- 14 March 2006 --> </author> <author> <firstname>ÊõñéÜêïò</firstname> <surname>ÊåíôñùôÞò</surname> </author> </authorgroup> <copyright> <year>2006, 2009</year> <holder>Ç ÏìÜäá Ôåêìçñßùóçò ôïõ &os;</holder> </copyright> <legalnotice id="trademarks" role="trademarks"> &tm-attrib.freebsd; &tm-attrib.general; </legalnotice> <pubdate>$FreeBSD$</pubdate> <releaseinfo>$FreeBSD$</releaseinfo> <abstract> <para>Ôï Ýããñáöï áõôü ðáñÝ÷åé ðëçñïöïñßåò ãéá ôá åñãáëåßá ôïõ <application>NanoBSD</application>, ôá ïðïßá ìðïñïýí íá ÷ñçóéìïðïéçèïýí ðñïêåéìÝíïõ íá äçìéïõñãçèïýí åßäùëá ôïõ óõóôÞìáôïò &os; ãéá embedded åöáñìïãÝò, êáôÜëëçëåò ãéá ÷ñÞóç áðü êÜñôá Compact Flash (Þ Üëëï ìÝóï áðïèÞêåõóçò).</para> </abstract> </articleinfo> <sect1 id="intro"> <title>ÅéóáãùãÞ óôï NanoBSD</title> <indexterm><primary>NanoBSD</primary></indexterm> <para>Ôï <application>NanoBSD</application> åßíáé Ýíá åñãáëåßï ôï ïðïßï áíáðôýóóåôáé åíåñãÜ áðü ôïí &a.phk;. Äçìéïõñãåß Ýíá åéêïíéêü åßäùëï ôïõ óõóôÞìáôïò &os; ãéá embedded åöáñìïãÝò, éäáíéêü ãéá êÜñôåò Compact Flash (Þ Üëëï ìÝóï áðïèÞêåõóçò).</para> <para>Ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá íá öôéá÷ôïýí åîåéäéêåõìÝíåò åéêüíåò, ó÷åäéáóìÝíåò ãéá åýêïëç åãêáôÜóôáóç êáé óõíôÞñçóç óõóôçìÜôùí ôýðïõ <quote>computer appliance</quote>. Ôá óõóôÞìáôá ôÝôïéïõ åßäïõò Ý÷ïõí ôï õëéêü êáé ëïãéóìéêü ôïõò åíïðïéçìÝíá ìÝóá óôï ðñïúüí. Áõôü óçìáßíåé ðùò óõ÷íÜ åßíáé ðñïåãêáôåóôçìÝíá üëá ôá áðáñáßôçôá ðñïãñÜììáôá. Ç óõóêåõÞ óõíäÝåôáé óå Ýíá õðÜñ÷ïí äßêôõï êáé ìðïñåß íá ëåéôïõñãÞóåé (ó÷åäüí) áìÝóùò.</para> <para>Ôá âáóéêÜ ÷áñáêôçñéóôéêÜ ôïõ <application>NanoBSD</application> åßíáé:</para> <itemizedlist> <listitem> <para>Ôá ports êáé ôá ðáêÝôá ëåéôïõñãïýí üðùò óôï &os; — ïðïéïäÞðïôå ðñüãñáììá ìðïñåß íá åãêáôáóôáèåß êáé íá ÷ñçóéìïðïéçèåß óôï &os; ìðïñåß íá åíóùìáôùèåß êáé óå Ýíá åßäùëï <application>NanoBSD</application> êáé íá ëåéôïõñãÞóåé ìå ôïí ßäéï ôñüðï.</para> </listitem> <listitem> <para>Äå õóôåñåß óå ëåéôïõñãéêüôçôá — Áí åßíáé åöéêôü íá ãßíåé êÜôé ìå ôï &os;, ôüôå åßíáé åöéêôü íá ãßíåé ôï ßäéï ðñÜìá êáé ìå ôï <application>NanoBSD</application>, åêôüò áí ôï óõãêåêñéìÝíï ÷áñáêôçñéóôéêü Ý÷åé óêüðéìá áöáéñåèåß áðü ôï åßäùëï ôïõ <application>NanoBSD</application>.</para> </listitem> <listitem> <para>Ôï <application>NanoBSD</application> ôñÝ÷åé ìå ôï óýóôçìá óå êáôÜóôáóç ðñïóôáóßáò áðü åããñáöÞ. Ìðïñåßôå áêüìá êáé íá ôï áðïóõíäÝóåôå áðü ôï ñåýìá ôçí þñá ðïõ ëåéôïõñãåß. Äåí åßíáé áíáãêáßï íá åêôåëåóôåß ôï &man.fsck.8; ìåôÜ áðü ìéá Üãáñìðç äéáêïðÞ ëåéôïõñãßáò ôïõ óõóôÞìáôïò.</para> </listitem> <listitem> <para>Åßíáé åýêïëï íá äçìéïõñãçèåß êáé íá ðñïóáñìïóôåß Ýíá åßäùëï <application>NanoBSD</application>. Ìå ôç ÷ñÞóç åíüò ìüíï óåíáñßïõ öëïéïý êáé åíüò áñ÷åßïõ äéáìüñöùóçò åßíáé åöéêôÞ ç äüìçóç ðñïóáñìïóìÝíùí åéäþëùí ðïõ éêáíïðïéïýí ïðïéáäÞðïôå áíÜãêç.</para> </listitem> </itemizedlist> </sect1> <sect1 id="howto"> <title>Ñýèìéóç ôïõ NanoBSD</title> <sect2 id="design"> <title>Ç Ó÷åäßáóç ôïõ NanoBSD</title> <para>Áöïý ãñáöôåß Ýíá åßäùëï ôïõ <application>NanoBSD</application> óå êÜðïéï áðïèçêåõôéêü ìÝóï, ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá íá îåêéíÞóåé Ýíá óýóôçìá &os;. Ç ðñïêáèïñéóìÝíç äéáìüñöùóç ôïõ ìÝóïõ åêêßíçóçò áðïôåëåßôáé áðü ôñßá ìÝñç:</para> <itemizedlist> <listitem> <para>Äýï äéáìåñßóìáôá åêêßíçóçò: <literal>code#1</literal> êáé <literal>code#2</literal>.</para> </listitem> <listitem> <para>Ôï äéáìÝñéóìá ñõèìßóåùí, Áõôü ìðïñåß íá ðñïóáñôçèåß óôïí êáôÜëïãï <filename class="directory">/cfg</filename> ôçí þñá ëåéôïõñãßáò ôïõ <application>NanoBSD</application>.</para> </listitem> </itemizedlist> <para>ÁõôÜ ôá ôñßá äéáìåñßóìáôá êáíïíéêÜ åßíáé ðñïóáñôçìÝíá ìüíï ãéá áíÜãíùóç.</para> <para>Ïé êáôÜëïãïé <filename class="directory">/etc</filename> êáé <filename class="directory">/var</filename> åßíáé åéêïíéêïß äßóêïé &man.md.4; (malloc).</para> <para>Ôï äéáìÝñéóìá ñõèìßóåùí ìðïñåß íá ðñïóáñôçèåß óôïí êáôÜëïãï <filename class="directory">/cfg</filename>. ÐåñéÝ÷åé áñ÷åßá ôá ïðïßá áíôéãñÜöïíôáé óôïí êáôÜëïãï <filename class="directory">/etc</filename>. ÊáôÜ ôçí åêêßíçóç ôïõ óõóôÞìáôïò ôï äéáìÝñéóìá ñõèìßóåùí ðñïóáñôÜôáé ðñïóùñéíÜ ìüíï ãéá áíÜãíùóç êáé áíôéãñÜöïíôáé ôá áñ÷åßá ôïõ óôïí êáôÜëïãï <filename class="directory">/etc</filename>. Ïðüôå ãéá íá åßíáé êÜðïéá áëëáãÞ ñõèìßóåùí ðéï <quote>ìüíéìç</quote> êáé íá éó÷ýåé áêüìá êáé ìåôÜ áðü åðáíåêêßíçóç ôïõ óõóôÞìáôïò, ðñÝðåé íá áíôéãñÜöåôáé áðü ôïí êáôÜëïãï <filename class="directory">/etc</filename> óôï äéáìÝñéóìá ñõèìßóåùí, áöïý áõôü ðñïóáñôçèåß ãéá ãñÜøéìï óôïí êáôÜëïãï <filename class="directory">/cfg</filename>.</para> <example> <title>ÊÜíïíôáò ìüíéìåò áëëáãÝò óôï <filename>/etc/resolv.conf</filename></title> <screen>&prompt.root; <userinput>vi /etc/resolv.conf</userinput> [...] &prompt.root; <userinput>mount /cfg</userinput> &prompt.root; <userinput>cp /etc/resolv.conf /cfg</userinput> &prompt.root; <userinput>umount /cfg</userinput></screen> </example> <note> <para>Ôï äéáìÝñéóìá ôï ïðïßï ðåñéÝ÷åé ôïí êáôÜëïãï <filename class="directory">/cfg</filename> ðñÝðåé íá ðñïóáñôÜôáé ìüíï êáôÜ ôçí åêêßíçóç êáé üôáí Ý÷ïõí ðñïôåñáéüôçôá ôá áñ÷åßá ñõèìßóåùí ôïõ <filename class="directory">/cfg</filename>.</para> <para>Äåí åßíáé êáëÞ éäÝá íá ìÝíåé ìüíéìá ðñïóáñôçìÝíï ôï äéáìÝñéóìá <filename class="directory">/cfg</filename>. Áí Ýíá äéáìÝñéóìá åßíáé ðñïóáñôçìÝíï ãéá ãñÜøéìï êáé ôï áðïèçêåõôéêü ìÝóï ôïõ <application>NanoBSD</application> åðéôñÝðåé ðåñéïñéóìÝíï áñéèìü êýêëùí åããñáöÞò (üðùò ð.÷. ìåñéêÝò êÜñôåò CF), ìðïñåß íá åðçñåáóôåß áñíçôéêÜ ôï áðïèçêåõôéìü ìÝóï åðåéäÞ ï ðõñÞíáò ãñÜöåé êÜèå ëßãï óôïõò äßóêïõò ôïõ óõóôÞìáôïò (syncer).</para> </note> </sect2> <sect2> <title>Äçìéïõñãßá Åíüò ÐñïóáñìïóìÝíïõ ÓõóôÞìáôïò NanoBSD</title> <para>Ôï åßäùëï ôïõ <application>NanoBSD</application> äçìéïõñãåßôáé áðü Ýíá áðëü óåíÜñéï êïíóüëáò, ôï <filename>nanobsd.sh</filename>, ôï ïðïßï ìðïñåß íá âñåèåß óôïí êáôÜëïãï <filename class="directory">/usr/src/tools/nanobsd</filename>. Áõôü ôï óåíÜñéï äçìéïõñãåß Ýíá åßäùëï äßóêïõ, ôï ïðïßï ìðïñåß íá áíôéãñáöåß áðåõèåßáò óå êÜðïéï áðïèçêåõôéêü ìåóï ÷ñçóéìïðïéþíôáò ôï ðñüãñáììá &man.dd.1;.</para> <para>Ïé áðáñáßôçôåò åíôïëÝò ðñïêåéìÝíïõ íá äçìéïõñãçèåß Ýíá åßäùëï ôïõ <application>NanoBSD</application> åßíáé ïé åîÞò:</para> <screen>&prompt.root; <userinput>cd /usr/src/tools/tools/nanobsd</userinput> <co id="nbsd-cd"/> &prompt.root; <userinput>sh nanobsd.sh</userinput> <co id="nbsd-sh"/> &prompt.root; <userinput>cd /usr/obj/nanobsd.full</userinput> <co id="nbsd-cd2"/> &prompt.root; <userinput>dd if=_.disk.full of=/dev/da0 bs=64k</userinput> <co id="nbsd-dd"/></screen> <calloutlist> <callout arearefs="nbsd-cd"> <para>ÁëëáãÞ áðü ôïí ôñÝ÷ïíôá êáôÜëïãï óôïí âáóéêü êáôÜëïãï ôïõ óåíáñßïõ äçìéïõñãßáò ôïõ <application>NanoBSD</application>.</para> </callout> <callout arearefs="nbsd-sh"> <para>Åêêßíçóç ôçò äçìéïõñãßáò ôïõ åéäþëïõ.</para> </callout> <callout arearefs="nbsd-cd2"> <para>ÁëëáãÞ áðü ôïí ôñÝ÷ïíôá êáôÜëïãï óôïí êáôÜëïãï ðïõ ðåñéÝ÷åé ôï åßäùëï ôïõ <application>NanoBSD</application>.</para> </callout> <callout arearefs="nbsd-dd"> <para>ÁíôéãñáöÞ ôïõ <application>NanoBSD</application> óå Ýíá ìÝóï áðïèÞêåõóçò.</para> </callout> </calloutlist> </sect2> <sect2> <title>Ðñïóáñìüæïíôáò ôï åßäùëï ôïõ NanoBSD</title> <para>Áõôü åßíáé ðéèáíüôáôá ôï ðéï óçìáíôéêü êáé ðéï åíäéáöÝñïí ÷áñáêôçñéóôéêü ôïõ <application>NanoBSD</application>. Áõôü åßíáé êáé ôï ìÝñïò ôçò äéáäéêáóßáò áíÜðôõîçò ôïõ åéäþëïõ <application>NanoBSD</application> ãéá ôï ïðïßï èá îïäÝøåôå Ýíá ìåãÜëï ðïóïóôü ôïõ ÷ñüíïõ ðñïåôïéìáóßáò ôïõ åéäþëïõ.</para> <para>Ç áêüëïõèç åíôïëÞ èá êÜíåé ôï <filename>nanobsd.sh</filename> íá äéáâÜóåé ôéò ñõèìßóåéò ôïõ áðü ôï áñ÷åßï <filename>myconf.nano</filename> ðïõ âñßóêåôáé óôï ôñÝ÷ïíôá êáôÜëïãï:</para> <screen>&prompt.root; <userinput>sh nanobsd.sh -c myconf.nano</userinput></screen> <para>Ç ðñïóáñìïãÞ êáé ðáñáìåôñïðïßçóç ôïõ <application>NanoBSD</application> ãßíåôáé óõíÞèùò ìå äýï ôñüðïõò:</para> <itemizedlist> <listitem> <para>ÅðéëïãÝò äéáìüñöùóçò</para> </listitem> <listitem> <para>ÐñïóáñìïóìÝíåò óõíáñôÞóåéò</para> </listitem> </itemizedlist> <sect3> <title>ÅðéëïãÝò äéáìüñöùóçò</title> <para>Ïé ñõèìßóåéò ôïõ <application>NanoBSD</application> ìðïñïýí íá ÷ñçóéìïðïéçèïýí ãéá íá ïñéóôïýí ðñïóáñìïóìÝíåò åðéëïãÝò ìåôáãëþôôéóçò êáé åãêáôÜóôáóçò ôïõ &os;. ÁõôÝò ïé åðéëïãÝò åðçñåÜæïõí ôá óôÜäéá <maketarget>buildworld</maketarget> êáé <maketarget>installworld</maketarget> ôïõ <application>NanoBSD</application>, êáèþò êáé Üëëåò åðéëïãÝò ôçò äçìéïõñãßáò ôïõ ôåëéêïý åéäþëïõ. Ìå ôéò êáôÜëëçëåò ñõèìßóåéò ôï <application>NanoBSD</application> ìðïñåß íá ìéêñýíåé áñêåôÜ óå ìÝãåèïò· ìðïñåß íá ÷ùñÝóåé Ýíá ðïëý ìéêñü õðïóýíïëï ôïõ âáóéêïý &os; óå ÷þñï ìéêñüôåñï áðü 64MB. Ìðïñåßôå åðßóçò íá ÷ñçóéìïðïéÞóåôå ôéò åðéëïãÝò ôïõ <application>NanoBSD</application> ãéá íá äçìéïõñãÞóåôå Ýíá åßäùëï ðïõ Ý÷åé ìüíï ôïí ðõñÞíá êáé äõï-ôñßá áñ÷åßá óôï âáóéêü óýóôçìá.</para> <para>Ôï áñ÷åßï ñõèìßóåùí ôïõ <application>NanoBSD</application> ðåñéÝ÷åé åíôïëÝò ïé ïðïßåò ïñßæïõí íÝåò ôéìÝò ãéá êÜðïéá ðñïêáèïñéóìÝíç ìåôáâëçôÞ Þ åðåêôåßíïõí ôéò õðÜñ÷ïõóåò ñõèìßóåéò. Ïé ðéï óçìáíôéêÝò ìåôáâëçôÝò åßíáé ïé åîÞò:</para> <itemizedlist> <listitem> <para><literal>NANO_NAME</literal> — Ôï üíïìá ôïõ åéäþëïõ <application>NanoBSD</application> ðïõ èá äçìéïõñãçèåß (÷ñçóéìïðïéåßôáé ãéá íá öôéÜîåé ôá ïíüìáôá ôùí êáôÜëïãùí åñãáóßáò).</para> </listitem> <listitem> <para><literal>NANO_SRC</literal> — Ç äéáäñïìÞ ôïõ äÝíôñïõ ðçãáßïõ êþäéêá ôï ïðïßï èá ÷ñçóéìïðïéçèåß ãéá íá ìåôãëùôôéóôåß ôï åßäùëï.</para> </listitem> <listitem> <para><literal>NANO_KERNEL</literal> — Ôï üíïìá ôïõ áñ÷åßïõ ñõèìßóåùí ðõñÞíá ôï ïðïßï èá ÷ñçóéìïðïéçèåß ãéá íá ÷ôéóôåß ï ðõñÞíáò ôïõ åéäþëïõ.</para> </listitem> <listitem> <para><literal>CONF_BUILD</literal> — ÅðéëïãÝò ðïõ ðåñíïýí óôï óôÜäéï <maketarget>buildworld</maketarget> ôçò ìåôáãëþôôéóçò ôïõ &os;.</para> </listitem> <listitem> <para><literal>CONF_INSTALL</literal> — ÅðéëïãÝò ðïõ ðåñíïýí óôï óôÜäéï <maketarget>installworld</maketarget> ôçò ðñïåôïéìáóßáò ôïõ åéäþëïõ.</para> </listitem> <listitem> <para><literal>CONF_WORLD</literal> — ÅðéëïãÝò ðïõ ðåñíïýí êáé óôá äýï óôÜäéá ôçò ðñïåôïéìáóßáò ôïõ åéäþëïõ, êáé óôï <maketarget>buildworld</maketarget> êáé óôï <maketarget>installworld</maketarget>.</para> </listitem> <listitem> <para><literal>FlashDevice</literal> — Ïñßæåé ôïí ôýðï ôïõ ìÝóïõ áðïèÞêåõóçò ðïõ èá ÷ñçóéìïðïéçèåß. Ãéá ðåñéóóüôåñåò ëåðôïìÝñåéåò äåßôå ôï áñ÷åßï <filename>FlashDevise.sub</filename>.</para> </listitem> </itemizedlist> </sect3> <sect3> <title>ÐñïóáñìïóìÝíåò ÓõíáñôÞóåéò</title> <para>Óôï áñ÷åßï ñýèìéóçò ôïõ <application>NanoBSD</application> ìðïñåß íá ñõèìéóôåß ó÷åäüí êÜèå ëåðôïìÝñåéá ôçò ðñïåôïéìáóßáò ôïõ åéäþëïõ êáé ôïõ ôåëéêïý åéäþëïõ ôï ïðïßï èá äçìéïõñãçèåß. ×ñçóéìïðïéþíôáò ìéêñÝò óõíáñôÞóåéò öëïéïý, ìðïñïýìå íá ñõèìßóïõìå ôá ðÜíôá. Ãéá ðáñÜäåéãìá, ìðïñïýìå íá ôñÝîïõìå äéêÝò ìáò åíôïëÝò ïé ïðïßåò ðáñáìåôñïðïéïýí ôï ôåëéêü åßäùëï ùò åîÞò:</para> <programlisting>cust_foo () ( echo "bar=topless" > \ ${NANO_WORLDDIR}/etc/foo ) customize_cmd cust_foo</programlisting> <para>¸íá ðéï ÷ñÞóéìï ðáñÜäåéãìá óõíÜñôçóçò öëïéïý, ç ïðïßá ñõèìßæåé êÜðïéá ðáñÜìåôñï ôïõ ôåëéêïý åéäþëïõ, åßíáé áõôü ðïõ áêïëïõèåß. Ç óõíÜñôçóç <literal>cust_etc_size</literal> áëëÜæåé ôçí ðñïåðéëåãìÝíç ôéìÞ ìåãÝèïõò ôïõ êáôáëüãïõ <filename class="directory">/etc</filename> áðü 5MB óå 30MB:</para> <programlisting>cust_etc_size () ( cd ${NANO_WORLDDIR}/conf echo 30000 > default/etc/md_size ) customize_cmd cust_etc_size</programlisting> <para>Ôï óåíÜñéï öëïéïý ðïõ äçìéïõñãåß ôï <application>NanoBSD</application> Ý÷åé ìåñéêÝò Ýôïéìåò óõíáñôÞóåéò öëïéïý ïé ïðïßåò åêôåëïýí ôÝôïéåò åðéðëÝïí ñõèìßóåéò:</para> <itemizedlist> <listitem> <para><literal>cust_comconsole</literal> — Áðåíåñãïðïéåß ôï &man.getty.8; óôéò êïíóüëåò VGA (ïé óõóêåõÝò <filename>/dev/ttyv*</filename>) êáé åíåñãïðïéåß ôçí ÷ñÞóç ôçò óåéñéáêÞò èýñáò COM1 ùò êïíóüëá óõóôÞìáôïò.</para> </listitem> <listitem> <para><literal>cust_allow_ssh_root</literal> — ÅðéôñÝðåé ôçí åßóïäï ôïõ ÷ñÞóôç <username>root</username> ìÝóù ôïõ &man.sshd.8;.</para> </listitem> <listitem> <para><literal>cust_install_files</literal> — ÅãêáèéóôÜ áñ÷åßá áðü ôïí êáôÜëïãï <filename class="directory">nanobsd/Files</filename>. Óå áõôü ôïí êáôÜëïãï âñßóêïíôáé ìåñéêÜ ÷ñÞóéìá óåíÜñéá öëïéïý ãéá ôç äéá÷åßñéóç åíüò óõóôÞìáôïò <application>NanoBSD</application>.</para> </listitem> </itemizedlist> </sect3> <sect3> <title>ÐñïóèÝôïíôáò ÐáêÝôá</title> <para>Óå Ýíá åßäùëï <application>NanoBSD</application> ìðïñïýí íá ðñïóôåèïýí êáé Ýôïéìá ðáêÝôá, ðïõ Ý÷ïõí öôéá÷ôåß áðü ðñéí ÷ñçóéìïðïéþíôáò ôç ÓõëëïãÞ ôùí Ports. Ìéá óõíÜñôçóç öëïéïý ìðïñåß íá åãêáôáóôÞóåé Ýîôñá ðáêÝôá ôçí þñá ðïõ ðñïåôïéìÜæåôáé ôï åßäùëï. Ãéá ðáñÜäåéãìá, ç ðáñáêÜôù óõíÜñôçóç èá åãêáôáóôÞóåé óôï åßäùëï üëá ôá ðáêÝôá ðïõ âñßóêïíôáé óôïí êáôÜëïãï <filename class="directory">/usr/src/tools/tools/nanobsd/packages</filename>:</para> <programlisting>install_packages () ( mkdir -p ${NANO_WORLDDIR}/packages cp /usr/src/tools/tools/nanobsd/packages/* ${NANO_WORLDDIR}/packages chroot ${NANO_WORLDDIR} sh -c 'cd packages; pkg_add -v *;cd ..;' rm -rf ${NANO_WORLDDIR}/packages ) customize_cmd install_packages</programlisting> </sect3> <sect3> <title>ÐáñÜäåéãìá Áñ÷åßïõ Ñõèìßóåùí ôïõ NanoBSD</title> <para>¸íá ðëÞñåò ðáñÜäåéãìá áñ÷åßïõ ñõèìßóåùí ãéá ôï <application>NanoBSD</application>, ìå äéÜöïñåò ñõèìßóåéò ãéá ôç ìåôáãëþôôéóç ôïõ &os; êáé ôçí ðñïåôïéìáóßá ôïõ ôåëéêïý åéäþëïõ, ìðïñåß íá ìïéÜæåé êÜðùò Ýôóé:</para> <programlisting>NANO_NAME=custom NANO_SRC=/usr/src NANO_KERNEL=MYKERNEL NANO_IMAGES=2 CONF_BUILD=' NO_KLDLOAD=YES NO_NETGRAPH=YES NO_PAM=YES ' CONF_INSTALL=' NO_ACPI=YES NO_BLUETOOTH=YES NO_CVS=YES NO_FORTRAN=YES NO_HTML=YES NO_LPR=YES NO_MAN=YES NO_SENDMAIL=YES NO_SHAREDOCS=YES NO_EXAMPLES=YES NO_INSTALLLIB=YES NO_CALENDAR=YES NO_MISC=YES NO_SHARE=YES ' CONF_WORLD=' NO_BIND=YES NO_MODULES=YES NO_KERBEROS=YES NO_GAMES=YES NO_RESCUE=YES NO_LOCALES=YES NO_SYSCONS=YES NO_INFO=YES ' FlashDevice SanDisk 1G cust_nobeastie() ( touch ${NANO_WORLDDIR}/boot/loader.conf echo "beastie_disable=\"YES\"" >> ${NANO_WORLDDIR}/boot/loader.conf ) customize_cmd cust_comconsole customize_cmd cust_install_files customize_cmd cust_allow_ssh_root customize_cmd cust_nobeastie</programlisting> </sect3> </sect2> <sect2> <title>Åíçìåñþíïíôáò ôï NanoBSD</title> <para>Ç äéáäéêáóßá åíçìÝñùóçò ôïõ <application>NanoBSD</application> åßíáé ó÷åôéêÜ áðëÞ:</para> <procedure> <step> <para>Äçìéïõñãßá åíüò íÝïõ åéäþëïõ <application>NanoBSD</application>, ìå ôï óõíçèéóìÝíï ôñüðï.</para> </step> <step> <para>ÁíÝâáóìá ôïõ íÝïõ åéäþëïõ óå ìéá á÷ñçóéìïðïßçôç êáôÜôìçóç ìéáò óõóêåõÞò ðïõ ôñÝ÷åé <application>NanoBSD</application>.</para> <para>Ç ðéï óçìáíôéêÞ äéáöïñÜ áõôïý ôïõ óçìåßïõ áðü ôçí áñ÷éêÞ åãêáôÜóôáóç ôïõ <application>NanoBSD</application> åßíáé üôé ôþñá áíôß ôïõ áñ÷åßïõ <filename>_.disk.full</filename> (ôï ïðïßï ðåñéÝ÷åé ôï åßäùëï åíüò ïëüêëçñïõ äßóêïõ), åãêáôáóôÜèçêå ôï áñ÷åßï <filename>_.disk.image</filename> (ôï ïðïßï ðåñéÝ÷åé ôï åßäùëï ìéáò ìüíï êáôÜôìçóçò ôïõ äßóêïõ).</para> </step> <step> <para>Êëåßóéìï êáé åðáíåêêßíçóç ôïõ óõóôÞìáôïò áðü ôçí íÝá åãêáôåóôçìÝíç êáôÜôìçóç.</para> </step> <step> <para>Áí üëá ðÜíå êáëÜ, ç áíáâÜèìéóç ôåëåßùóå.</para> </step> <step> <para>Áí ïôéäÞðïôå ðÜåé óôñáâÜ, åðáíåêêéíÞóôå ôç óõóêåõÞ áðü ôçí ðñïçãïýìåíç êáôÜôìçóç (ç ïðïßá ðåñéÝ÷åé ôï ðáëéü åßäùëï, ðïõ ëåéôïõñãåß óùóôÜ). ¸ôóé ìðïñåßôå íá åðáíáöÝñåôå Üìåóá ôï óýóôçìá óå ëåéôïõñãéêÞ êáôÜóôáóç. Äéïñèþóôå ïðïéáäÞðïôå ðñïâëÞìáôá Ý÷åé ôï íÝï åßäùëï, êáé åðáíáëÜâåôå ôçí äéáäéêáóßá.</para> </step> </procedure> <para>Ãéá íá åãêáôáóôáèåß ôï íÝï åßäùëï óå Ýíá óýóôçìá <application>NanoBSD</application>, ôï ïðïßï Þäç âñßóêåôáé óå ëåéôïõñãßá, ìðïñåß íá ÷ñçóéìïðïéçèåß åßôå ôï óåíÜñéï <filename>updatep1</filename> åßôå ôï <filename>updatep2</filename>. ÁõôÜ ôá äýï óåíÜñéá öëïéïý âñßóêïíôáé óôïí êáôÜëïãï <filename class="directory">/root</filename>.</para> <para>ÁíÜëïãá ìå ôéò õðçñåóßåò ôïõ óõóôÞìáôïò óôï ïðïßï äçìéïõñãåßôáé Ýíá åßäùëï <application>NanoBSD</application>, ìðïñåß íá ìåôáöåñèåß Ýíá íÝï åßäùëï óôï ôåëéêü óýóôçìá ìå äéÜöïñïõò ôñüðïõò:</para> <sect3> <title>×ñçóéìïðïéþíôáò ôï &man.ftp.1;</title> <para>Áí óáò åíäéáöÝñåé ç êáëÞ ôá÷ýôçôá ìåôáöïñÜò, ÷ñçóéìïðïéÞóôå ôï <acronym>FTP</acronym> ãéá ôç ìåôáöïñÜ ôïõ åéäþëïõ:</para> <screen>&prompt.root; <userinput>ftp myhost get _.disk.image "| sh updatep1"</userinput></screen> </sect3> <sect3> <title>×ñçóéìïðïéþíôáò ôï &man.ssh.1;</title> <para>Áí óáò åíäéáöÝñåé ç ìåôáöïñÜ ôïõ åéäþëïõ íá ãßíåé ìå áóöáëÞ ôñüðï êáé äåí Ý÷åôå áöáéñÝóåé áðü ôï áñ÷éêü åßäùëï ôï &man.ssh.1;, ðñïôéìÞóôå ôç ìåôáöïñÜ ìÝóù <acronym>SSH</acronym>:</para> <screen>&prompt.root; <userinput>ssh myhost cat _.disk.image.gz | zcat | sh updatep1</userinput></screen> </sect3> <sect3> <title>×ñçóéìïðïéþíôáò ôï &man.nc.1;</title> <para>Áí ôï óýóôçìá óôï ïðïßï Ý÷åé äçìéïõñãçèåß ôï íÝï åßäùëï ôïõ <application>NanoBSD</application> äåí ôñÝ÷åé ïýôå &man.ftpd.8; ïýôå &man.sshd.8;, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå Üëëá åñãáëåßá ãéá ôç ìåôáöïñÜ, üðùò ôï &man.nc.1;:</para> <procedure> <step> <para>Ðñþôá áíïßîôå Ýíá åîõðçñåôçôÞ <acronym>TCP</acronym> óôï óýóôçìá ôï ïðïßï èá ðáñÝ÷åé ôï íÝï åßäùëï, êáé ïñßóôå ôï íÝï åßäùëï ùò åßóïäï ãéá ôç ìåôáöïñÜ ðïõ èá ãßíåé áñãüôåñá:</para> <screen>myhost&prompt.root; <userinput>nc -l <replaceable>2222</replaceable> < _.disk.image</userinput></screen> <note> <para>Ðñéí áðü áõôü âåâáéùèåßôå üôé ç èýñá ðïõ ÷ñçóéìïðïéåßôå ãéá ôïí åîõðçñåôçôÞ ìðïñåß íá äå÷èåß åéóåñ÷üìåíåò óõíäÝóåéò áðü ôï óýóôçìá <application>NanoBSD</application> ðñïò ôï óýóôçìá ôïõ åîõðçñåôçôÞ, êáé äåí åìðïäßæåôáé, ãéá ðáñÜäåéãìá, áðü êÜðïéï ôåß÷ïò ðñïóôáóßáò (<quote>firewall</quote>).</para> </note> </step> <step> <para>Óõíäåèåßôå áðü ôï <application>NanoBSD</application> óôïí åîõðçñåôçôÞ, ï ïðïßïò åßíáé Þäç Ýôïéìïò íá ðáñÝ÷åé ôï íÝï åßäùëï, êáé ôñïöïäïôåßóôå ôï óåíÜñéï öëïéïý <filename>updatep1</filename> ìå ôçí Ýîïäï ôïõ åñãáëåßïõ &man.nc.1;:</para> <screen>&prompt.root; <userinput>nc myhost <replaceable>2222</replaceable> | sh updatep1</userinput></screen> </step> </procedure> </sect3> </sect2> </sect1> </article>