Date: Fri, 29 Mar 2013 15:52:56 +0000 (UTC) From: Benedict Reuschling <bcr@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r41322 - in head/de_DE.ISO8859-1/articles: . nanobsd Message-ID: <201303291552.r2TFqugN041911@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bcr Date: Fri Mar 29 15:52:56 2013 New Revision: 41322 URL: http://svnweb.freebsd.org/changeset/doc/41322 Log: The NanoBSD article has been translated by Bjoern Heidotting and is now part of the german set of articles. Submitted by: Bjoern Heidotting Obtained from: The FreeBSD German Documentation Project Added: head/de_DE.ISO8859-1/articles/nanobsd/ head/de_DE.ISO8859-1/articles/nanobsd/Makefile (contents, props changed) head/de_DE.ISO8859-1/articles/nanobsd/article.xml (contents, props changed) Modified: head/de_DE.ISO8859-1/articles/Makefile Modified: head/de_DE.ISO8859-1/articles/Makefile ============================================================================== --- head/de_DE.ISO8859-1/articles/Makefile Fri Mar 29 14:23:12 2013 (r41321) +++ head/de_DE.ISO8859-1/articles/Makefile Fri Mar 29 15:52:56 2013 (r41322) @@ -3,7 +3,6 @@ # The FreeBSD German Documentation Project # # $FreeBSD$ -# $FreeBSDde: de-docproj/articles/Makefile,v 1.7 2010/09/18 13:58:33 bcr Exp $ # basiert auf: 1.42 SUBDIR = contributing @@ -11,6 +10,7 @@ SUBDIR+= contributing-ports SUBDIR+= explaining-bsd SUBDIR+= laptop SUBDIR+= linux-comparison +SUBDIR+= nanobsd SUBDIR+= new-users SUBDIR+= port-mentor-guidelines SUBDIR+= solid-state Added: head/de_DE.ISO8859-1/articles/nanobsd/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/de_DE.ISO8859-1/articles/nanobsd/Makefile Fri Mar 29 15:52:56 2013 (r41322) @@ -0,0 +1,29 @@ +# +# The FreeBSD Documentation Project +# The FreeBSD German Documentation Project +# +# $FreeBSD$ +# basiert auf: r39631 +# +# Article: Einführung in NanoBSD + +DOC?= article + +FORMATS?= html +WITH_ARTICLE_TOC?= YES + +INSTALL_COMPRESSED?=gz +INSTALL_ONLY_COMPRESSED?= + +# Images from the cross-document image library +IMAGES_LIB= callouts/1.png +IMAGES_LIB+= callouts/2.png +IMAGES_LIB+= callouts/3.png +IMAGES_LIB+= callouts/4.png + +SRCS= article.xml + +URL_RELPREFIX?=../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" Added: head/de_DE.ISO8859-1/articles/nanobsd/article.xml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/de_DE.ISO8859-1/articles/nanobsd/article.xml Fri Mar 29 15:52:56 2013 (r41322) @@ -0,0 +1,548 @@ +<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension// EN" "../../../share/xml/freebsd42.dtd" [ +<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set/ /DE" "../../share/xml/entities.ent"> +%entities; +]> + +<article lang="de"> + <articleinfo> + <title>Einführung in NanoBSD</title> + + <authorgroup> + <author> + <firstname>Daniel</firstname> + <surname>Gerzo</surname> + <!-- 14 March 2006 --> + </author> + </authorgroup> + + <pubdate>$FreeBSD$</pubdate> + + <copyright> + <year>2006</year> + <holder>The FreeBSD Documentation Project</holder> + </copyright> + + <legalnotice id="trademarks" role="trademarks"> + &tm-attrib.freebsd; + &tm-attrib.general; + </legalnotice> + + <abstract> + <para>Dieses Dokument stellt Informationen zu den + <application>NanoBSD</application> Werkzeugen bereit, die dazu + verwendet werden können ein &os; Abbild für eingebettete + Systeme zu erstellen, welche auf eine Compact Flash Karte + passen (oder andere Massenspeicher).</para> + + <para><emphasis>Übersetzt von Björn + Heidotting</emphasis>.</para> + </abstract> + </articleinfo> + + <sect1 id="intro"> + <title>Einführung in NanoBSD</title> + + <indexterm><primary>NanoBSD</primary></indexterm> + + <para><application>NanoBSD</application> ist ein Werkzeug welches + derzeit von &a.phk; entwickelt wird. Es erstellt ein &os; + Systemabbild für eingebettete Systeme, die auf eine Compact + Flash Karte passen (oder andere Massenspeicher).</para> + + <para>Es kann dazu benutzt werden um spezialisierte + Installationsabbilder zu bauen, entworfen für die einfache + Installation und Wartung von Systemen die als "Computer + Appliances" bekannt sind. Computer Appliances haben ihre Hard- + und Software fest verbaut, dass bedeutet alle Anwendungen sind + vorinstalliert. Die Appliance wird an ein bestehendes Netzwerk + angeschlossen und kann mit der Arbeit (fast) sofort + beginnen.</para> + + <para>Zu den Eigenschaften von <application>NanoBSD</application> + gehören:</para> + + <itemizedlist> + <listitem> + <para>Ports und Pakete funktionieren wie in &os; — Jede + einzelne Anwendung kann auf dem + <application>NanoBSD</application> Abbild installiert und + benutzt werden, auf die gleiche Weise wie Sie es aus &os; + gewohnt sind.</para> + </listitem> + + <listitem> + <para>Keine fehlende Funktionalität — Wenn es möglich + ist, etwas mit &os; zu tun, ist es auch möglich, die gleiche + Sache mit <application>NanoBSD</application> zu tun, es sei + denn, eine oder mehrere Funktionen wurden ausdrücklich vor + dem Bau des <application>NanoBSD</application> Abbilds + entfernt.</para> + </listitem> + + <listitem> + <para>Zur Laufzeit ist alles read-only — Es ist sicher + den Stromstecker zu ziehen. Es besteht dann keine + Notwendigkeit, einen &man.fsck.8; nach einem nicht + ordnungsgemäßem Herunterfahren des Systems + auszuführen.</para> + </listitem> + + <listitem> + <para>Einfach zu bauen und anzupassen — Unter Verwendung + von nur einem Shell-Skript und einer Konfigurationsdatei ist + es möglich, ein reduziertes und angepasstes Abbild zu bauen, + welches jegliche Reihe von Anforderungen erfüllt.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="howto"> + <title>NanoBSD Anleitung</title> + + <sect2 id="design"> + <title>Das Design von NanoBSD</title> + + <para>Sobald das Abbild auf dem Medium verfügbar ist, kann + <application>NanoBSD</application> gebootet werden. Der + Massenspeicher ist standardmäßig in drei Teile + unterteilt:</para> + + <itemizedlist> + <listitem> + <para>Zwei Abbild Partitionen: <literal>code#1</literal> und + <literal>code#2</literal>.</para> + </listitem> + + <listitem> + <para>Die Partition der Konfigurationsdatei, welche zur + Laufzeit unter dem <filename + class="directory">/cfg</filename> Verzeichnis gemountet + werden kann.</para> + </listitem> + </itemizedlist> + + <para>Diese Partitionen sind im Allgemeinen read-only.</para> + + <para>Die <filename class="directory">/etc</filename> und + <filename class="directory">/var</filename> Verzeichnisse sind + &man.md.4; (malloc) Speicher.</para> + + <para>Die Partition der Konfigurationsdatei besteht unter dem + <filename class="directory">/cfg</filename> Verzeichnis. Sie + enthält Dateien für das <filename + class="directory">/etc</filename> Verzeichnis und wird + direkt nach dem Botten read-only eingehangen, weshalb es + erforderlich ist geänderte Dateien von <filename + class="directory">/etc</filename> zurück nach <filename + class="directory">/cfg</filename> zu kopieren falls die + Änderungen nach einem Neustart bestehen bleiben + sollen.</para> + + <example> + <title>Dauerhafte Änderungen in + <filename>/etc/resolv.conf</filename> vornehmen</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>Die <filename class="directory">/cfg</filename> + Partition sollte nur während des Bootvorgangs und zu + Änderungen an den Konfigurationsdateien gemountet + werden.</para> + + <para>Die <filename class="directory">/cfg</filename> + Partition jederzeit gemountet zu haben ist keine gute Idee, + besonders wenn das <application>NanoBSD</application> System + auf einem Massenspeicher betrieben wird, der eventuell druch + eine große Anzahl von Schreiboperationen nachteilig + beeinträchtigt wird (z. B. wenn der Dateisystem-Syncer den + Speicher mit Daten überflutet).</para> + </note> + </sect2> + + <sect2> + <title>Ein NanoBSD Abbild erstellen</title> + + <para>Ein <application>NanoBSD</application> Abbild wird über + ein einfaches <filename>nanobsd.sh</filename> Shell-Skript + gebaut, das sich unter <filename + class="directory"><replaceable>/usr</replaceable>/src/tools/tools/nanobsd</filename> + befindet. Das Skript erstellt ein Abbild, welches dann + mittels &man.dd.1; auf einen Massenspeicher kopiert werden + kann.</para> + + <para>Die folgenden Kommandos sind notwendig um ein + <application>NanoBSD</application> Abbild zu erstellen:</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>Wechsel in das + Basisverzeichnis des <application>NanoBSD</application> + Skripts.</para> + </callout> + + <callout arearefs="nbsd-sh"> + <para>Den Bauprozess starten.</para> + </callout> + + <callout arearefs="nbsd-cd2"> + <para>Wechsel in das Verzeichnis, in dem das gebaute Abbild + liegt.</para> + </callout> + + <callout arearefs="nbsd-dd"> + <para><application>NanoBSD</application> auf einem + Massenspeicher installieren.</para> + </callout> + </calloutlist> + </sect2> + + <sect2> + <title>Ein NanoBSD Abbild anpassen</title> + + <para>Dies ist wahrscheinlich das wichtigste und interessanteste + Merkmal von <application>NanoBSD</application>. Hierbei + werden Sie auch die meiste Zeit mit der Entwicklung von + <application>NanoBSD</application> verbringen.</para> + + <para>Der Aufruf des folgenden Kommandos wird + <filename>nanobsd.sh</filename> dazu zwingen, seine + Konfiguration aus <filename>myconf.nano</filename> aus dem + aktuellen Verzeichnis zu lesen:</para> + + <screen>&prompt.root; <userinput>sh nanobsd.sh -c myconf.nano</userinput></screen> + + <para>Die Anpassung wird auf zwei Arten geschehen:</para> + + <itemizedlist> + <listitem> + <para>Konfigurations-Optionen</para> + </listitem> + + <listitem> + <para>Benutzerdefinierte Funktionen</para> + </listitem> + </itemizedlist> + + <sect3> + <title>Konfigurations-Optionen</title> + + <para>Durch Konfigurationseinstellungen ist es möglich + Optionen zu übergeben, die sowohl die + <maketarget>buildworld</maketarget> und + <maketarget>installworld</maketarget> Phasen des + <application>NanoBSD</application> Bauprozesses betreffen, + sowie interne Optionen, die den Haupt-Bauprozess von + <application>NanoBSD</application> beeinflussen. Durch diese + Optionen ist es möglich, das System so zu reduzieren, dass + es mit wenig Platz, etwa 64 MB auskommt. Sie können die + Konfigurationsdateien dazu nutzten &os; noch weiter zu + trimmen, bis es nur noch aus dem Kernel und zwei oder drei + Dateien im Userland besteht.</para> + + <para>Die Konfigurationsdatei besteht aus + Konfigurations-Optionen, die die Standardwerte + überschreiben.</para> + + <itemizedlist> + <listitem> + <para><literal>NANO_NAME</literal> — Name des Build + (wird verwendet, um die workdir Namen zu + konstruieren).</para> + </listitem> + + <listitem> + <para><literal>NANO_SRC</literal> — Pfad zum + Quelltextverzeichnis, das für den Bau des Abbilds + verwendet wird.</para> + </listitem> + + <listitem> + <para><literal>NANO_KERNEL</literal> — Name der + Kernelkonfigurationsdatei, die für den Bau des Kernels + verwendet wird.</para> + </listitem> + + <listitem> + <para><literal>CONF_BUILD</literal> — Optionen für + die <maketarget>buildworld</maketarget> Phase des + Bauprozesses.</para> + </listitem> + + <listitem> + <para><literal>CONF_INSTALL</literal> — Optionen für + die <maketarget>installworld</maketarget> Phase des + Bauprozesses.</para> + </listitem> + + <listitem> + <para><literal>CONF_WORLD</literal> — Optionen für + die <maketarget>buildworld</maketarget> und + <maketarget>installworld</maketarget> Phasen des + Bauprozesses.</para> + </listitem> + + <listitem> + <para><literal>FlashDevice</literal> — Definiert den + zu benutzenden Medientyp. Überprüfen Sie die Datei + <filename>FlashDevice.sub</filename> für weitere + Informationen.</para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>Benutzerdefinierte Funktionen</title> + + <para>Mit Hilfe von Shell-Funktionen in der + Konfigurationsdatei besteht die Möglichkeit zur + Feinabstimmung von <application>NanoBSD</application>. Das + folgende Beispiel illustriert das Grundmodell von + benutzerdefinierten Funktionen:</para> + + <programlisting>cust_foo () ( + echo "bar=baz" > \ + ${NANO_WORLDDIR}/etc/foo +) +customize_cmd cust_foo</programlisting> + + <para>Ein besseres Beispiel für eine Anpassung ist folgende, + welche die Standardgröße des <filename + class="directory">/etc</filename> Verzeichnisses von 5 MB + auf 30 MB ändert:</para> + + <programlisting>cust_etc_size () ( + cd ${NANO_WORLDDIR}/conf + echo 30000 > default/etc/md_size +) +customize_cmd cust_etc_size</programlisting> + + <para>Es gibt ein paar vordefinierte Standardfunktionen die + Sie nutzen können:</para> + + <itemizedlist> + <listitem> + <para><literal>cust_comconsole</literal> — + Deaktiviert &man.getty.8; auf den VGA Geräten (den + <filename>/dev/ttyv*</filename> Gerätedateien) und + ermöglicht die Nutzung der seriellen Schnittstelle COM1 + als Systemkonsole.</para> + </listitem> + + <listitem> + <para><literal>cust_allow_ssh_root</literal> — + Erlaubt es <username>root</username> sich über + &man.sshd.8; anzumelden.</para> + </listitem> + + <listitem> + <para><literal>cust_install_files</literal> — + Installiert Dateien aus dem <filename + class="directory">nanobsd/Files</filename> + Verzeichnis, das einige nützliche Skripte für die + Systemverwaltung enthält.</para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>Pakete hinzufügen</title> + + <para>Durch benutzerdefinierte Funktionen können Pakete zum + <application>NanoBSD</application> Abbild hinzugefügt + werden. Die nachfolgende Funktion installiert alle Pakete + aus + <filename>/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>Beispiel einer Konfigurationsdatei</title> + + <para>Ein komplettes Beispiel für eine Konfigurationsdatei zum + Erstellen eines benutzerdefinierten + <application>NanoBSD</application> Abbilds könnte folgende + sein:</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 aktualisieren</title> + + <para>The Update-Prozess von <application>NanoBSD</application> + ist relativ einfach:</para> + + <procedure> + <step> + <para>Erstellen Sie ein neues + <application>NanoBSD</application> Abbild.</para> + </step> + + <step> + <para>Laden Sie das neue Abbild in eine unbenutzte Partition + eines laufenden <application>NanoBSD</application> + Systems.</para> + + <para>Der wichtigste Unterschied dieses Schrittes zur ersten + <application>NanoBSD</application> Installation besteht + darin, das jetzt anstatt der Datei + <filename>_.disk.full</filename> (enthält ein Abbild der + gesamten Platte) die Datei + <filename>_.disk.image</filename> (enthält ein Abbild + einer einzelnen System-Partition) installiet wird.</para> + </step> + + <step> + <para>Neustart, um das System von der neu installierten + Partition zu starten.</para> + </step> + + <step> + <para>Wenn alles gut geht, ist die Aktualisierung + abgeschlossen.</para> + </step> + + <step> + <para>Wenn etwas schief läuft, starten Sie wieder in die + vorherige Partition (die das alte, funktionierende Abbild + enthält) um die System-Funktionalität so schnell wie + möglich wieder herzustellen. Beheben Sie alle Probleme des + neu gebauten Abbilds, und wiederholen Sie den + Vorgang.</para> + </step> + </procedure> + + <para>Um das neue Abbild auf das laufende + <application>NanoBSD</application> System zu installieren, ist + es möglich, entweder das <filename>updatep1</filename> oder + <filename>updatep2</filename> Skript im <filename + class="directory">/root</filename> Verzeichnis zu verwenden, + je nachdem, von welcher Partition das aktuelle System + läuft.</para> + + <para>In Abhängigkeit davon welche Dienste der Host, der das + <application>NanoBSD</application> Abbild anbietet, und welche + Art von Transfer bevorzugt wird, bestehen eine von drei zu + prüfenden Möglichkeiten:</para> + + <sect3> + <title>Verwendung von &man.ftp.1;</title> + + <para>Wenn die Übertragungsgeschwindigkeit an erster + Stelle steht, verwenden Sie dieses Beispiel:</para> + + <screen>&prompt.root; <userinput>ftp myhost +get _.disk.image "| sh updatep1"</userinput></screen> + </sect3> + + <sect3> + <title>Verwendung von &man.ssh.1;</title> + + <para>Wenn eine sichere Übertragung bevorzugt wird, + sollten Sie die Verwendung dieses Beipiels in Betracht + ziehen:</para> + + <screen>&prompt.root; <userinput>ssh myhost cat _.disk.image.gz | zcat | sh updatep1</userinput></screen> + </sect3> + + <sect3> + <title>Verwendung von &man.nc.1;</title> + + <para>Verwenden Sie dieses Beispiel, wenn auf dem Remote-Host + kein &man.ftpd.8; oder &man.sshd.8; Dienst läuft:</para> + + <procedure> + <step> + <para>Zunächst öffnen Sie eine TCP-Listener auf dem Host + der das Abbild bereitstellt und zum Client + sendet:</para> + + <screen>myhost&prompt.root; <userinput>nc -l <replaceable>2222</replaceable> < _.disk.image</userinput></screen> + + <note> + <para>Stellen Sie sicher das der benutzte Port nicht + blockiert wird, um eingehende Verbindungen, vom + <application>NanoBSD</application> Host durch die + Firewall, zu ermöglichen.</para> + </note> + </step> + <step> + <para>Verbinden Sie sich zum Host der das Abbild + bereitstellt und führen Sie das + <filename>updatep1</filename> Skript aus:</para> + + <screen>&prompt.root; <userinput>nc myhost <replaceable>2222</replaceable> | sh updatep1</userinput></screen> + </step> + </procedure> + </sect3> + </sect2> + </sect1> +</article>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303291552.r2TFqugN041911>