<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! 1.5 - Open Source Content Management" -->
<?xml-stylesheet href="/components/com_jcomments/tpl/default/style.css?v=12" type="text/css"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Blog - mein.homelinux.com</title>
		<description>mein.homelinux.com ist eine Dokumentation für Homeserver mit den Linux-Distributionen Debian und Ubuntu. Ziel ist es, eine komplette Dokumentation für Homeserver, die mit Linux und freier Software betrieben werden, zu schaffen.</description>
		<link>http://mein.homelinux.com/blog.html</link>
		<lastBuildDate>Sat, 26 May 2018 13:25:25 +0000</lastBuildDate>
		<generator>Joomla! 1.5 - Open Source Content Management</generator>
		<language>de-de</language>
		<item>
			<title>Wiki: PiFace Control and Display (CAD) - Kurzreferenz und Beispiele</title>
			<link>http://mein.homelinux.com/blog/251-wikiupdate-piface-cad.html</link>
			<guid>http://mein.homelinux.com/blog/251-wikiupdate-piface-cad.html</guid>
			<description><![CDATA[<p>Auf mein.homelinux.com pflege ich im Moment nur noch das <a href="http://mein.homelinux.com/wiki/">Wiki</a>. Auf absehbare Zeit wird der gesamte Content – bis auf das Wiki – nur noch statisch verfügbar sein. Diesem Blog nutze ich nur noch, um Änderungen an dem Projekt "mein.homelinux.com" zu veröffentlichen. Aktuelle Blogposts gibt es auf <a href="http://www.chrisge.org">chrisge.org</a>.  An dieser Stelle möchte ich über eine aktuelle Änderung im <a href="http://mein.homelinux.com/wiki/">Wiki</a> informieren.</p>
<p><img src="http://mein.homelinux.com/images/stories/pifacecadonpi.jpg" border="0" alt="PiFace CAD" width="339" height="222" style="float: right;" /></p>
<p style="text-align: justify;">In letzter Zeit habe ich mich mit dem <a href="http://www.piface.org.uk/products/piface_control_and_display/">PiFace Control and Display (CAD)</a>, einer Erweiterungsplatine für den Raspberry Pi mit Display, IR-Receiver, 5 Taster und einem Navigationsswitch, beschäftigt. Im <a href="http://mein.homelinux.com/wiki/raspberry_pi/piface_cad">Wiki</a> habe ich nun basierend auf meinen Erfahrungen eine kleine <a href="http://mein.homelinux.com/wiki/raspberry_pi/piface_cad">Dokumentation und Referenz</a> zum <a href="http://de.farnell.com/piface/piface-control-display/i-o-board-with-lcd-display-for/dp/2344458">PiFace CAD</a> erstellt. Sie beinhaltete unter anderem eine kleine  Einrichtungsanleitung und zahlreiche Beispiele, die den Einstieg  in die Programmierung des Raspberry  Pis/PiFace CADs mit Python  erleichtern sollen. Wenn die Zeit es erlaubt werde ich eine ähnliche Zusammenfassung für das <a href="http://www.piface.org.uk/products/piface_digital/">PiFace Digital</a> veröffentlichen.</p>
<p style="text-align: left;">Wer sich über mein Projekt mit der Hardware informieren will seien folgende Post auf <a href="http://www.chrisge.org">chrisge.org</a> an die Hand gelegt. Dabei geht es um die Realisierung eines Musikplayers mit MPD, Python und dem PiFace CAD.</p>
<ul>
<li><a href="http://www.chrisge.org/blog/2014-07-05/piface">Raspberry Pi: Basteln mit dem PiFace Control and Display</a></li>
<li><a href="http://www.chrisge.org/blog/2014-09-04/piface_cad_mpd">PiFace CAD: Erste Versuche mit MPD</a></li>
</ul>]]></description>
			<author>chrisge@mein.homelinux.com (Christoph Winkler)</author>
			<category>Blog</category>
			<pubDate>Tue, 16 Sep 2014 22:27:34 +0000</pubDate>
		</item>
		<item>
			<title>Wetterstation mit OWFS, Munin und Motion</title>
			<link>http://mein.homelinux.com/blog/250-wetterstation-mit-owfs-munin-und-motion.html</link>
			<guid>http://mein.homelinux.com/blog/250-wetterstation-mit-owfs-munin-und-motion.html</guid>
			<description><![CDATA[<p>Auf <a href="http://weather.chrisge.org/">Weather.chrisge.org</a> ist in den letzten Monaten eine kleine Wetterstation mit Livecam entstanden. Als Basissystem kommt eine Seagate Dockstar mit Debian Squeeze zum Einsatz. Ein 1-Wire Netzwerk verbindet die 2 Temperatursensoren sowie einen Multisensor. Das Auslesen dieser Wetterdaten übernimmt OWFS. Des weiteren wird eine Webcam eingesetzt, die mit Motion betrieben wird. Die Wetterdaten werden mit Munin graphisch ausgewertet.</p>
<p>Ich habe mir die Mühe gemacht, das Projekt zu dokumentieren:</p>
<ul>
<li class="level1">
<div class="li"><span class="wikilink1">Eine Projektvorstellung findest du </span><a class="wikilink1" href="http://www.chrisge.org/blog/2012-03-30/projektvorstellung_weather.chrisge.org" title="blog:2012-03-30:projektvorstellung_weather.chrisge.org">hier.</a></div>
</li>
<li class="level1">
<div class="li"><span class="wikilink1">In diesem </span><a class="wikilink1" href="http://www.chrisge.org/blog/2012-04-01/weather.chrisge.org_die_hardware" title="blog:2012-04-01:weather.chrisge.org_die_hardware">Post</a><span class="wikilink1"> gehe ich näher auf die verwendete Hardware ein.</span></div>
</li>
<li class="level1">
<div class="li">Eine Dokumentation der Software findest du in folgenden Abschnitten:</div>
<ul>
<li class="level2">
<div class="li">I: <a class="wikilink1" href="http://www.chrisge.org/blog/2012-04-10/weather.chrisge.org_die_software_i/iii_motion" title="blog:2012-04-10:weather.chrisge.org_die_software_i:iii_motion">Motion</a> → Webcam</div>
</li>
<li class="level2">
<div class="li">II: <a class="wikilink1" href="http://www.chrisge.org/blog/2012-04-10/weather.chrisge.org_die_software_ii/iii_owfs" title="blog:2012-04-10:weather.chrisge.org_die_software_ii:iii_owfs">OWFS</a> → 1-Wire</div>
</li>
<li class="level2">
<div class="li">III: <a class="wikilink1" href="http://www.chrisge.org/blog/2012-04-10/weather.chrisge.org_die_software_iii/iii_munin_fazit" title="blog:2012-04-10:weather.chrisge.org_die_software_iii:iii_munin_fazit">Munin &amp; Fazit</a> → Graphen</div>
</li>
</ul>
</li>
</ul>
<p>Diese Links wurden ebenfalls im Wiki hinterlegt.</p>]]></description>
			<author>chrisge@mein.homelinux.com (Christoph Winkler)</author>
			<category>Blog</category>
			<pubDate>Tue, 10 Apr 2012 18:21:10 +0000</pubDate>
		</item>
		<item>
			<title>Sendxmpp - Jabber Benachrichtigungen via CLI</title>
			<link>http://mein.homelinux.com/blog/248-sendxmpp-jabber-benachrichtigungen-via-cli.html</link>
			<guid>http://mein.homelinux.com/blog/248-sendxmpp-jabber-benachrichtigungen-via-cli.html</guid>
			<description><![CDATA[<p>Neulich bin ich <a href="http://wiki.ubuntuusers.de/sendxmpp">Ubuntuusers Wiki</a> auf ein äußerst interessantes CLI (Command Line Interface) Tool gestoßen: <a href="http://sendxmpp.platon.sk/">Sendxmpp</a> – Damit lässt sich Jabber in Skripten ähnlich wie Mail verwenden. Die Einsatzzwecke sind also schier unbegrenzt. Für folgende Anleitung wird mindestens ein Jabber-Konto auf einem beliebigen Jabber Server (web.de und gmx funktionieren nicht, GTalk bedarf etwas Anpassungen) vorausgesetzt. Es empfiehlt sich, wenn sendxmpp dauerhaft auf einem Server genutzt wird ein eigenes Jabber Konto für jenes anzulegen.</p>
<h3>Die Installation/Einrichtung</h3>
<p>Sendxmpp kann aus den Paketquellen (logischerweise) über das Paket <em>sendxmpp</em> installiert werden:</p>
<pre class="brush: bash">user@server:~$ sudo apt-get install sendxmpp</pre>
<p>Anschließend legt man in seinem Home die Datei <em>.senxmpprc</em> mit den Authentifizierungsdaten für das Jabber Konto an:</p>
<pre class="brush: bash">user@server:~$ nano .sendxmpprc</pre>
<p>..., füllt sie mit den Logindaten, die in folgender Form angeben werden:</p>
<pre class="brush: bash">#user: Benutzer auf dem Jabber Server<br />#jabber-server: Domain/Adresse des Jabber Servers<br />#Passwort: Passwort für den Login<br />user@jabber-server Passwort</pre>
<p>....und vergibt die benötigten Rechte:</p>
<pre class="brush: bash">user@server:~$ chmod 600 .sendxmpprc<br /></pre>

<h3>Der erste Test</h3>
<p>Für einen ersten Test sendet man sich am Besten selbst eine Nachricht. Dazu kann <em>sendxmpp</em> beispielsweise mit folgendem Aufruf ausgeführt werden:</p>
<pre class="brush: bash">user@server:~$ echo 'Dies ist ein Test' | sendxmpp user@jabber-server</pre>
<p>Hier erhält der Jabber User <em>user@jabber-server</em> die Nachricht <em>"Dies ist ein Test</em>". Der Empfänger (in diesem Fall <em>user@jabber-server</em>) sollte das eigene Jabber Konto sein.</p>
<p>Klappt dieser Test ohne Probleme und die Nachricht kommt an, kannst du den nächsten Schritt überspringen. Leider kommt es aber <a href="http://community.igniterealtime.org/thread/25929">in Kombination mit dem Jabber-Server Openfire</a> zu Fehlermeldungen in folgender Art:</p>
<pre class="brush: bash">Error 'AuthSend': error: not-authorized[?]<br />Can't use an undefined value as a HASH reference at /usr/share/perl5/XML/Stream.pm line 1165.</pre>
<p>Um dies zu beheben muss in der Datei <em>/usr/share/perl5/Net/XMPP/Protocol.pm</em> eine Zeile auskommentiert werden:</p>
<pre class="brush: bash">user@server:~$ sudo nano /usr/share/perl5/Net/XMPP/Protocol.pm</pre>
<p>Darin nach <em>AuthSend</em> suchen ([Strg]+w und <em>AuthSASL</em> eingeben und [Enter] drücken) und ind folgenden Zeilen (etwa Zeile 1809):</p>
<pre class="brush: perl">    if($self-&gt;{STREAM}-&gt;GetStreamFeature($self-&gt;GetStreamID(),"xmpp-sasl"))<br />    {<br />        return $self-&gt;AuthSASL(%args);<br />    }<br />    return $self-&gt;AuthIQAuth(%args);</pre>
<p><em>"return $self-&gt;AuthSASL(%args);"</em> auskommentieren:</p>
<pre class="brush: perl">    if($self-&gt;{STREAM}-&gt;GetStreamFeature($self-&gt;GetStreamID(),"xmpp-sasl"))<br />    {<br />        #return $self-&gt;AuthSASL(%args);<br />    }<br />    return $self-&gt;AuthIQAuth(%args);</pre>
<p>Anschließend sollte sendxmpp funktionieren.</p>
<h3>Die Bastelei kann beginnen</h3>
<p>Auf <a href="http://wiki.ubuntuusers.de/sendxmpp#Anwendungsbeispiele">Ubuntuusers</a> werden bereits einige Beispiele angeführt:</p>
<pre class="brush: bash">#Das Syslog per Tail über Jabber "umleiten":<br />user@server:~$ tail -f /var/log/syslog | sendxmpp -i user@jabberserver<br /><br />#Die öffentliche IP mitteilen:<br />user@server:~$ wget --quiet -O - http://showip.spamt.net | sendxmpp user@jabberserver</pre>
<p>Auch auf der <a href="http://sendxmpp.platon.sk/">Projektseite</a> findet sich ein interessantes Anwendungsbeispiel:</p>
<pre class="brush: bash">#Bei hoher Load informieren:<br />if test "$cpuload" -gt "$CPULOADMAX"; then<br />  top -b -n 1 | sendxmpp -s "wake up! cpu load $cpuload at `hostname`" user@jabberserver<br />fi<br /></pre>
<h4>Login Wächter</h4>
<p>Ich habe folgende vor längerem <a href="http://www.linux-magazin.de/Heft-Abo/Ausgaben/2010/07/Tuerspion">auf linux-magazin.de vorgestellte Skriptzeile</a> für Sendxmpprc " angepasst":</p>
<pre class="brush: bash">echo 'Login on' `hostname` `date` `who`|  sendxmpp -r `hostname` -s "Login on `hostname` `who |  awk '{print $5}'`" user@jabber-server</pre>
<p>So erhält in diesem Fall, wenn diese Zeile in der globalen <em>Bashrc</em> untergebracht wird, der Jabber User <em>user@jabber-server</em> bei jedem Login auf dem Server eine Jabber Nachricht mit Informationen zum Login. Das kann die Sicherheit des Systems natürlich um ein vielfaches erhöht werden, da jeder Login sofort erkannt wird. Die Geschichte hat nur ein fettes Probleme:</p>
<ul>
<li>Eigentlich würde sich das Anlegen einer "globalen" .sendxmpprc  empfehlen, die von allen Usern genutzt werden kann. Ansonsten muss für jeden User auf dem System eine .sendxmpprc im jew. Home angelegt werden. Leider dürfen die Rechte an der .sendxmpprc immer nur einem Systembenutzer und keiner Gruppe (Rechte 600) gehören. Somit braucht jeder Systembenutzer, wenn dies Loginbenachrichtigung mit allen Benutzern funktionieren soll, eine eigene .sendxmpprc! </li>
<li>Eine Alternative wäre die Übergabe der Zugangsdaten direkt in der Skriptzeile, was sicherheitstechnisch kritisch ein könnte.</li>
<li>Auf <a href="http://wiki.ubuntuusers.de/sendxmpp#Anwendungsbeispiele">Ubuntuusers</a> wird aus sicherheitstechnischen Gründen geraten einen extra Benutzer für Sendxmpp anzulegen. Dies ist für den Einsatz in Skripten, die von root ausgeführt werden auch ohne Probleme möglich. Da die Befehle in der Bashrc allerdings immer von dem jeweiligen Benutzer ausgeführt werden (..und nicht nur von root), ist eine Verwendung von sudo ohne Passworteingabe nicht möglich. Somit entfällt diese Möglichkeit.</li>
</ul>
<p>Im folgenden werde ich auf die beiden möglichen Möglichkeiten eingehen. Zuerst muss sichergestellt werden, dass die globale Bashrc unter <em>/etc/bash.bashrc</em> in der <em>/etc/profile</em> gesourced wird:</p>
<pre class="brush: bash">user@server:~$ cat /etc/profile</pre>
<p>Das Ergebnis sollte etwa so aussehen:</p>
<pre class="brush: bash"># /etc/profile: system-wide .profile file for the Bourne shell (sh(1))<br /># and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).<br />if [ -d /etc/profile.d ]; then<br />  for i in /etc/profile.d/*.sh; do<br />    if [ -r $i ]; then<br />      . $i<br />    fi<br />  done<br />  unset i<br />fi<br />if [ "$PS1" ]; then<br />  if [ "$BASH" ]; then<br />    PS1='\u@\h:\w\$ '<br />    if [ -f /etc/bash.bashrc ]; then<br />        . /etc/bash.bashrc<br />    fi<br />  else<br />    if [ "`id -u`" -eq 0 ]; then<br />      PS1='# '<br />    else<br />      PS1='$ '<br />    fi<br />  fi<br />fi<br />umask 022</pre>
<p>Wichtig sind folgende Zeile:</p>
<pre class="brush: bash">    if [ -f /etc/bash.bashrc ]; then<br />        . /etc/bash.bashrc<br />    fi</pre>
<p>Sollten diese nicht zu finden sein, muss die <em>/etc/profile</em> angepasst werden:</p>
<pre class="brush: bash">user@server:~$ sudo nano /etc/profile</pre>
<p>Anschließend fügt man in der globalen Bashrc</p>
<pre class="brush: bash">user@server:~$ sudo nano  /etc/bash.bashrc</pre>
<p>...falls jeder Benutzer eine <em>.sendxmpprc</em> besitzt folgende Zeile ein:</p>
<pre class="brush: bash">echo 'Login on' `hostname` `date` `who`|  sendxmpp -r `hostname` -s  "Login on `hostname` `who |  awk '{print $5}'`" user@jabber-server</pre>
<p>Hierbei muss <em>user@jabber-server</em> an den tatsächlichen Empfänger angepasst werden. Soll der Weg über die direkte Passwortübergabe gewählt werden, muss folgende Zeile verwendet werden:</p>
<pre class="brush: bash">echo 'Login on' `hostname` `date` `who`|  sendxmpp -u jabberuser -j jabber-server -p Passwort -r `hostname` -s  "Login on `hostname` `who |  awk '{print $5}'`" user@jabber-server</pre>
<p>Dabei muss auch wieder der Empfänger (im Beispiel: <em>user@jabber-server</em>) und außerdem der Loginname auf dem Jabberserver (im Beispiel nach dem -u: <em>jabberuser</em>), der Jabberserver (im Beispiel nach dem -j:<em> jabber-server</em>) und das Passwort für den Jabberlogin (im Beispiel nach dem -p: <em>Passwort</em>) angepasst werden.</p>
<p>Nun kann man sich testweise auf dem Server einloggen und checken, ob man per Jabber eine Benachrichtigung erhält.</p>
<h3>Fazit</h3>
<p>Sendxmpp bietet die Möglichkeiten XMPP wie Mail zu verwenden. Ich setze dieses Tool unter anderem zum Senden der aktuellen Wetterdaten einer 1-Wire Wetterstation ein. Viele weitere Einsatzzwecke sind möglich und durchaus sinnvoll. Allerdings sollte der Sicherheitsaspekt nicht vernachlässigt werden. Werden Skripte unter root ausgeführt, sollte auf den Einsatz eines separaten User nicht verzichtet werden (siehe <a href="http://wiki.ubuntuusers.de/sendxmpp#Anwendungsbeispiele">Ubuntuusers</a>)!</p>
<p>Weitere Optionen und eine ausführliche Erklärung jener, können in den Manpages von Sendxmpp nachgesehen werden:</p>
<pre class="brush: bash">user@server:~$ man sendxmpp<br /></pre>
<p>Zu erwähnen ist noch, dass einige Jabberserver eine TLS-Verschlüsselung fordern. Diese kann mit der Option <em>-t</em> erreicht werden (Danke an <a href="http://mein.homelinux.com/#comment-91">Jan</a>):</p>
<pre class="brush: bash">user@server:~$ echo 'Dies ist ein TLS-Test' | sendxmpp -t user@jabber-server</pre>]]></description>
			<author>chrisge@mein.homelinux.com (Christoph Winkler)</author>
			<category>Blog</category>
			<pubDate>Sun, 29 Jan 2012 17:12:20 +0000</pubDate>
		</item>
		<item>
			<title>Verfügbare ARM-Hardware für Linux Systeme</title>
			<link>http://mein.homelinux.com/blog/247-verfuegbarer-arm-hardware-fuer-linux-systeme.html</link>
			<guid>http://mein.homelinux.com/blog/247-verfuegbarer-arm-hardware-fuer-linux-systeme.html</guid>
			<description><![CDATA[<p>ARM-Prozessoren sind <a href="http://www.golem.de/1111/87448.html">im Serverbereich zurzeit stark am Kommen</a> – kein Wunder: ARM-Systeme zeichnen sich vor allem durch ihre geringe Leistungsaufnahme  aus und stellen somit eine echte Alternative "richtigen" Servern dar. Ich habe eine Liste von derzeit verfügbarer ARM-Hardware für Linux Systeme, insbesondere für Homeserver erstellt. Diese Liste soll einen kleinen Überblick über auf ARM-basierende Systeme und Boards darstellen. Wenn dir weitere Hardware bekannt ist, die in diesen Bereich passen könnte, würde ich mich über einen Kommentar freuen.</p>
<h3>Plugcomputer</h3>
<p><img src="http://mein.homelinux.com/images/stories/plugs/dp.jpg" border="0" style="float: right;" />Plugcomputer gibt es mittlerweile <a href="http://plugcomputer.org/development-kits/">wie Sand am Meer</a>, eine Übersicht liefert die Seite <a href="http://plugcomputer.org/">Plugcomputer.org</a>. Plugs sind kleine stromsparende Rechner, die meistens in einem Gehäuse von der Größe eines Steckernetzteils untergebracht sind. Die wenigsten verfügen über eine "normale" Bildausgabe, Debugging erfolgt deshalb meist über eine JTAG-Schnittstelle.</p>
<p>Die großen Händler von Plugs sind <a href="http://www.globalscaletechnologies.com/default.aspx">Globalscale</a> und <a href="http://www.newit.co.uk/">NewIT</a>. Die aktuellen Plugs können weitaus mehr, als der Klassiker <a href="http://www.newit.co.uk/shop/products.php?cat=5">SheevaPlug</a>, so verfügen die <a href="http://www.newit.co.uk/shop/products.php?cat=21">DreamPlugs</a> zusätzlich über Audio, Wlan, Bluetooth, 2 x Gigabit Lan und eSATA. Der <a href="http://www.globalscaletechnologies.com/c-8-d2plug.aspx">D2 Plug</a> verfügt sogar über eine HDMI, sowie eine VGA Schnittstelle für die Bildausgabe.</p>

<p>Der Sheevaplug stellt bei dem aktuellen Preis von rund 80 Euro eine wirklich gute Alternative zu einem "normalen" Homeserver dar, der DreamPlug kostet aktuell etwa 130 Euro, der D2Plug knapp 200 Euro, während es den etwas älteren GuruPlug im Moment bei <a href="http://www.globalscaletechnologies.com/p-31-guruplug-server-standard.aspx">Globalscale</a> noch relativ billig für etwa 80 Euro zu kaufen gibt.</p>
<p>Weitere, aber bei anderen Händlern erhältliche Plugs sind die <a href="http://www.ionicsplug.com/">Ionics Plugs</a> und der <a href="http://www.tonidoplug.com/">Tonido Plug</a>.</p>
<p> </p>
<h3>Modifizierbare NAS-Systeme</h3>
<p><img src="http://mein.homelinux.com/images/stories/seagate_dockstar.jpg" border="0" style="float: right;" /></p>
<p style="text-align: left;">Das beste Beispiel für solche NAS-Systeme ist die Seagate Dockstar, die aber seit längerem nicht mehr verfügbar ist. Weitere Systeme, die mit Debian oder Arch Linux bespielbar sind und meist auf der Sheeva-Hardware basieren habe ich hier aufgelistet:</p>
<ul>
<li><a href="http://www.plugcomputer.org/plugforum/index.php?topic=2569.0">Iomega Iconnect</a></li>
<li><a href="http://www.mikrocontroller.net/articles/GoFlexHome">Seagate GoFlex Home</a> (<a href="http://archlinuxarm.org/platforms/armv5/seagate-goflex-home">Arch Linux |ARM</a>)</li>
<li><a href="http://archlinuxarm.org/platforms/armv5/seagate-goflex-net">Seagate GoFlex Net</a></li>
<li><a href="http://archlinuxarm.org/platforms/armv5/pogoplug-v2-pinkgray">Pogoplug v2</a></li>
<li>...</li>
</ul>
<p>Diese Hardware ist in manchen Fällen sehr billig verfügbar und stellt somit eine echt Alternative zu den "echten" Plugs dar. Auch Bufallo (<a href="http://www.discountnetz.com/">Linkstations</a>) und Synology NAS-Systeme lassen sich oft mit einem eigenen Linux modifizieren.</p>
<p> </p>
<h3>Raspberry Pi</h3>
<p><img src="http://mein.homelinux.com/images/stories/plugs/raspberry-pi_1.jpg" border="0" style="float: right;" />Der <a href="http://www.raspberrypi.org/">Raspberry Pi</a> ist ein Mini-PC, der für 25 Dollar erhältlich sein soll. Eine gute Zusammenfassung, bezüglich der Lieferpläne und Bestandteile des Systems findet sich <a href="http://linuxundich.de/de/news/raspberry-pi-gibt-plane-fur-den-verkaufsstart-bekannt/">hier</a>. Ich werde hier nur kurz auf die Hardware eingehen:</p>
<ul>
<li>ARM11 Prozessor Broadcom BCM2835 @ 700 MHz</li>
<li>128 MB RAM</li>
<li>1 x USB-Port,</li>
<li>1 x SD-Karten Slot</li>
<li>Audioausgang</li>
<li>HDMI-Videoausgang</li>
</ul>
<p>Die oberen Daten sind die der Version A, die Version B wird voraussichtlich 35 Dollar kosten, dafür aber über einen 2-Port-USB-Hub, eine LAN-Schnittstelle und über 256MB Arbeitsspeicher verfügen.</p>
<p>Somit eignet sich nur Version B als Basis für einen kleinen Homeserver. Der Preis von 35 Dollar ist bei dieser Ausstattung wirklich günstig. Zumindest dieses Jahr wird der kreditkartengroße Rechner noch nicht mit Ubuntu, sondern Fedora ausgeliefert. <a href="http://seeseekey.net/blog/5309">Weitere mögliche Distributionen</a> sind Debian, ArchLinux und wie bereits erwähnt Fedora; Ubuntu bietet für diese CPU leider noch keine Unterstützung.</p>
<p>→ Hier lohnt sich auch ein Blick auf die <a href="http://solid-run.com/products/cubox">CuBox</a> (<a href="http://linuxundich.de/de/hardware/solidrun-cubox-mit-ubuntu-oder-android/">mehr Infos</a>).</p>
<p> </p>
<h3>Devboards</h3>
<p><img src="http://mein.homelinux.com/images/stories/plugs/beaglebone.JPG" border="0" style="float: right;" />Klassisches Devboards (Wikipedia sagt dazu <a href="http://de.wikipedia.org/wiki/Einplatinen-Computer">Einplatinencomputer</a>) sind das <a href="http://beagleboard.org/hardware">BeagleBoard</a> und das <a href="http://pandaboard.org/content/platform">Pandaboard</a>. Die <a href="http://www.golem.de/1111/87429.html">Auslieferung</a> des neuen <a href="http://beagleboard.org/bone">BeagleBones</a>, welches nur 89 Dollar kosten soll, soll Ende November 2011 starten. Ein Blick auf das<a href="http://www.igep.es/index.php?option=com_content&amp;view=article&amp;id=46&amp;Itemid=55"> IGEPv2</a> Boards, welches außerdem über Bluetooth und W-LAN verfügt, rentiert sich ebenfalls.  Diese Devboards eignen sich vor allem für Eigenentwicklungen und kleine Basteleien im Bereich der Robotik, Automation und Wetterstationen oder auch für Entwickler, die eine ARM-Entwicklungs- oder Testumgebung benötigen. Canonical beispielsweise hat mit den Pandaboards einen <a href="http://www.geek.com/articles/chips/canonical-builds-a-42-core-arm-cluster-server-box-for-ubuntu-20110613/">ARM Cluster mit 42 Rechenkernen</a> gebaut. Weitere Devboards lassen sich auf <a href="http://www.linaro.org/low-cost-development-boards">Linaro.org</a> finden. Solche Boards können also durchaus auch in kleinen Homeservern eingesetzt werden. Im Vergleich zu richtigen Plugs sind sie aber eher auf Entwickler ausgelegt.</p>
<p> </p>
<h4>Weitere (Dev-)Boards | Embedded Linux Boards</h4>
<p>Diese kleinen Boards eignen sich nicht für Homeserver, hingegen sehr gut für Roboter oder (Home-)Automation Projekte. Über ein Projekt, das auf solche Hardware setzt, hat <a href="http://www.golem.de/1109/86721.html">Golem</a> vor kurzem berichtet. Hierbei handelt es sich um Drohnen, die selbstständig im Schwarm fliegen.</p>
<p>Aus der Debian Embedded Mailingsliste habe ich folgende Boards und Embedded Computer zusammengefasst:</p>
<ul>
<li><a href="http://leaflabs.com/devices/maple/">The Maple</a> von LeafLabs (<a href="http://leaflabs.com/devices/">verschiedene Ausführungen</a>)</li>
<li><a href="http://www.armadeus.com/english/index.html">Boards</a> von ARMadeus Systems</li>
<li><a href="http://www.iendian.com/">BalloonBoard</a></li>
</ul>
<p>Die Preise für solche Boards unterscheiden sich sehr stark. So sind die Boards von LeafLabs schon für <a href="http://leaflabs.com/store/">unter 50 Dollar</a> zu haben, die Boards von ARMadeus Systems kosten hingegen meist über 150 Euro.</p>]]></description>
			<author>chrisge@mein.homelinux.com (Christoph Winkler)</author>
			<category>Blog</category>
			<pubDate>Sat, 12 Nov 2011 13:35:12 +0000</pubDate>
		</item>
		<item>
			<title>Problem mit Realtek Treibern bei Upgrade auf Squeeze </title>
			<link>http://mein.homelinux.com/blog/246-problem-mit-realtek-treibern-bei-upgrade-auf-squeeze-.html</link>
			<guid>http://mein.homelinux.com/blog/246-problem-mit-realtek-treibern-bei-upgrade-auf-squeeze-.html</guid>
			<description><![CDATA[<p>Heute habe ich das Backup System von Lenny auf Squezze geupdatet. Das Upgrade verlief ohne Probleme. Für alle, die jenes Upgrade noch vorhaben, kann ich nur die offiziellen Informationen hierzu von <a href="http://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.de.html">Debian</a> empfehlen. Stark verkürzte Zusammenfassungen findet sich wie Sand am Meer in der Blogosphäre oder Foren, um nur <a href="http://www.sysadminslife.com/linux/howto-upgrade-debian-5-lenny-zu-debian-6-squeeze/">diese</a> als Beispiel zu nennen.</p>
<h3>Das Problem</h3>
<p>Doch zurück zum Hauptthema: Ich hatte vergessen die sources.list auf <em>contrib non-free</em> zu setzen und deshalb wurden die Realtek Firmware für meine Netgear GA311 Netzwerkkarte nicht mit installiert, das führte zuerst zu folgender Meldung:</p>
<pre class="brush: bash"> │ Benötigte Firmware-Dateien möglicherweise nicht vorhanden                 │ <br /> │                                                                           │ <br /> │ Auf diesem System läuft derzeit Linux 2.6.26-2-686 und Sie installieren   │ <br /> │ gerade Linux 2.6.32-5-686. In der neuen Version könnten einige Treiber,   │ <br /> │ die auf diesem System verwendet werden, zusätzliche Firmware-Dateien      │ <br /> │ benötigen:                                                                │ <br /> │                                                                           │ <br /> │ r8169: rtl_nic/rtl8168d-2.fw, rtl_nic/rtl8168d-1.fw                       │ <br /> │                                                                           │ <br /> │ Die meisten Firmware-Dateien sind nicht im System enthalten, da sie       │ <br /> │ nicht mit den Debian-Richtlinien für Freie Software (DFSG) konform sind.  │ <br /> │ Sie müssen unter Umständen den Paketmanager neu konfigurieren, so dass    │ <br /> │ die contrib- und non-free-Sektionen des Paketarchivs ebenfalls enthalten  │ <br /> │ sind, bevor Sie diese Firmware-Dateien installieren können.               │ <br /></pre>

<p>und später zu massenweise Hinweisen dieser Art:</p>
<pre class="brush: bash">Running update-initramfs.<br />update-initramfs: Generating /boot/initrd.img-2.6.32-5-686<br />W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-2.fw for module r8169<br />W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module r8169</pre>
<h3>Die Lösung</h3>
<p>Im Endeffekt habe ich <em>(vor dem Reboot nach dem Upgrade)</em> die <em>/etc/apt/sources.list</em> leicht angepasst:</p>
<pre class="brush: bash">deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free<br />deb-src http://ftp.de.debian.org/debian/ squeeze main contrib non-free<br /><br />deb http://security.debian.org/ squeeze/updates main contrib non-free<br />deb-src http://security.debian.org/ squeeze/updates main contrib non-free<br /><br />deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free<br />deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free</pre>
<p>...und die Paketquellen aktualisiert:</p>
<pre class="brush: bash">user@server:~$ sudo apt-get update</pre>
<p>Anschließend habe ich das Paket <em>firmware-realtek</em> installiert:</p>
<pre class="brush: bash">user@server:~$ sudo apt-get install firmware-realtek</pre>
<p>...sowie die <em>initramfs-tools</em> geupdatet:</p>
<pre class="brush: bash">user@server:~$ sudo update-initramfs -u<br /></pre>
<p>Beim nächsten Reboot war das Problem behoben und die Netzwerkkarte konnte wieder genutzt werden.</p>]]></description>
			<author>chrisge@mein.homelinux.com (Christoph Winkler)</author>
			<category>Blog</category>
			<pubDate>Thu, 29 Sep 2011 16:24:54 +0000</pubDate>
		</item>
		<item>
			<title>E-Mail-to-SMS Relay mit Providerdiensten</title>
			<link>http://mein.homelinux.com/blog/245-e-mail-to-sms-relay.html</link>
			<guid>http://mein.homelinux.com/blog/245-e-mail-to-sms-relay.html</guid>
			<description><![CDATA[<p><em>Gestern bin ich per Zufall über <a href="http://uptimerobot.com">Uptimerobot</a> auf die Gateway-Services von Vodafone gestoßen. Anschließend habe ich nach weiteren Informationen hierzu <a href="http://www.google.de/search?hl=de&amp;sa=X&amp;ei=585jTrvUDKfi4QTpoOS2Cg&amp;ved=0CCsQBSgA&amp;q=SMS+to+EMail+Vodafone&amp;spell=1&amp;biw=1251&amp;bih=633">gegoogelt</a> und bin dabei auf <a href="http://www.vodafone.de/infofaxe/354.pdf">PDF-Dokument</a> gestoßen, in welchem Vodafone diese Services erläuert. Vodafone bietet zum Beispiel den sogenannten "Vodafone SMS-to-eMail" Dienst an, mit dem man unter anderem E-Mails per SMS empfangen kann.</em></p>
<p>Solche Dienste werden von <a href="http://www.mutube.com/projects/open-email-to-sms/gateway-list/">fast jedem Provider</a> (siehe auch <a href="http://www.makeuseof.com/tag/email-to-sms/">hier</a>) angeboten und sind in der Regel einfach einzurichten. In diesem kurzen Post werde ich erläutern, wie Vodafone Kunden "Vodafone SMS-to-eMail" aktivieren und nutzen können. Wenn du einen anderen Provider hast, musst du nach Informationen bei jenem anfragen oder einfach danach googlen.</p>

<p> </p>
<h3>Aktivierung des Dienstes</h3>
<p>Wie Vodafone <a href="http://www.vodafone.de/infofaxe/354.pdf">in diesem Dokument</a> schreibt, muss einfach eine SMS mit <em>OPEN</em> an die <em>3400</em> senden. Als Bestätigung bekommt man mehrere Sekunden später eine SMS mit den Tarifen sowie der E-Mail-Adresse zum "Empfang" von SMSen zugeschickt. Diese Adresse besteht üblicherweise aus <em>[Mobilfunknummer]@vodafone-sms.de</em>. Dieser Schritt ist überflüssig, wenn du über "SMS-to-eMail" bereits eine SMS an eine E-Mail-Adresse geschickt hast.</p>
<p>Den Dienst kann man dann logischerweise wieder mit <em>CLOSE</em> an die gleiche Nummer deaktivieren.</p>
<p> </p>
<h3>Kosten</h3>
<p>In meinem Fall (CallYa) kostet jede empfangene SMS 20 Cent. Der Nachrichtentext darf maximal 640 Zeichen enthalten, also aus max. 4 SMSen bestehen. Dieser Preis ist natürlich relativ hoch, deshalb sollte man diesen Dienst wirklich nur nutzen, wenn es unbedingt nötig ist!</p>
<p> </p>
<h3>Nutzung und Fazit</h3>
<p>Diese SMS Gateway nutze ich im Moment nur in Verbindung mit <a href="http://uptimerobot.com/">Uptimerobot</a>. Im Gegensatz zum Kauf von SMS-Credits bei <a href="http://www.watchmouse.com/de">Watchmouse</a> oder <a href="http://www.pingdom.com/">Pingdom</a> komme ich so vergleichsweise günstig davon. Ich bin am Überlegen, ob ich dieses Gateway in Zukunft für Benachrichtigungen bei Nichterreichbarkeit von einzelnen Systemen oder DynDNSen mit eigenen Skripten einsetzen soll.</p>
<p>Diese Möglichkeit ein einfaches SMS-Gateway aufzubauen, dass über eigenen Provider abläuft, ist vergleichsweise leicht zu konfigurieren. Kann aber nicht mit richtigen SMS-Gateways verglichen werden, da mit der hier vorgestellten Möglichkeit SMSe nicht an beliebige Handynummern gesendet werden können.</p>
<p>Trotzdem wird jeder Serveradmin mit Hilfe solchen Providerservices in der Lage sein, Fehlermeldungen per SMS zu erhalten oder sich wichtige E-Mails per SMS zukommen zulassen.</p>]]></description>
			<author>chrisge@mein.homelinux.com (Christoph Winkler)</author>
			<category>Blog</category>
			<pubDate>Sun, 04 Sep 2011 19:10:37 +0000</pubDate>
		</item>
		<item>
			<title>Festplatten klonen – zwei Musterabläufe</title>
			<link>http://mein.homelinux.com/blog/244-festplatten-klonen-zwei-musterablaeufe.html</link>
			<guid>http://mein.homelinux.com/blog/244-festplatten-klonen-zwei-musterablaeufe.html</guid>
			<description><![CDATA[<p><em>Wie du vielleicht schon <a href="http://mein.homelinux.com/forum/7-ankuendigungen/211-weitere-infos-zur-downtime-am-03-september.html">mitbekommen</a> hast, kam es heute "Morgen" zu einer längeren Downtime. Der Grund war, dass die Systemplatte des Hauptservers auf eine neue Platte geklont wurde. Die Partition wurden anschließend noch vergrößert. Bereits letzte Woche wurde die gleiche Prozedur mit der Backupplatte durchgeführt. Im folgenden Post werde ich erläutern, wie ich vorgegangen bin. Dieser Post kann las Vorlage für ähnliche Vorhaben genutzt werden.<br /></em></p>
<p>Im Wesentlichen kamen <em>dd</em> und <em>(G)Parted</em> zum Einsatz. Mit <em>dd</em> kann man unter anderem Festplatten 1:1 klonen. Da die alten Platten jeweils auf größere überspielt wurden, habe ich nach dem Klonen die Partitionen noch mit <em>parted</em> bzw. <em>GParted</em> vergrößert und verschoben.</p>

<p> </p>
<h3>Gründe</h3>
<h4>Nicht genügend Platz</h4>
<p>Ein Grund, wenn Festplatten geklont werden, kann sein, dass auf der alten einfach nicht mehr genug Speicherplatz vorhanden ist. Dies war bei der Backupplatte der Fall. Dazu kam es aufgrund der vielen System, die auf diese Platte Backups schreiben.<br />Zudem wollte ich damit beginnen fertige Images der meisten Systeme zu erstellen, sodass ich im Ernstfall bereits eine Basis hätte, auf die ich nur noch aktuelle Backups kopieren müsste.</p>
<p>Der einzige Ausweg bestand für mich darin, die Festplatte durch eine größere zu ersetzen.</p>
<p> </p>
<h4>Hoher "Load Cycle Count"</h4>
<p>Die Systemplatte hatte einen Load Cycle Count von über <em>300.000</em>:</p>
<pre>ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE<br />  9 Power_On_Hours          0x0032   082   082   000    Old_age   Always       -       13753<br /> 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       801<br />192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       132<br />193 Load_Cycle_Count        0x0032   069   069   000    Old_age   Always       -       393058<br /></pre>
<p>...das bedeutet, dass dieses Laufwerk schon mehr Parkvorgange der Leseköpfe hinter sich hatte, als vom Hersteller vorgesehen.<strong> Hinweis: </strong>WD gibt 300.000 Parkvorgänge als Obergrenze an, die S.M.A.R.T Werte sehen aber <em>600.000</em> vor.</p>
<p>Ich hatte dies leider zu spät bemerkt und folglich zu spät <a href="http://wiki.ubuntuusers.de/WD_IntelliPark">WD IntelliPark deaktiviert</a>. Im Zuge der Spiegelung der Backupplatte habe ich dieses Sicherheitsrisiko gleich auch aus dem Weg geschafft.</p>
<p> </p>
<h3>Vorbereitungen</h3>
<p>Bitte folgendes beachten:</p>
<ul>
<li>Bei der Arbeit an Festplatten mit dd und (G)Parted kann immer etwas schief laufen, deshalb zur Vorsorge immer Backups durchführen!</li>
<li>Jeden Schritt extra kontrollieren!</li>
<li>Die neue Platte, auf die die alten geklont wird, muss entweder die gleicher oder eine größere Speicherkapazität besitzen!</li>
</ul>
<p>Um möglichst hohe Transferraten zu erreichen habe ich mir einen Desktop-Rechner mit S-ATA II (sollte eigentlich selbstverständlich sein), idealen Standplatz (Klonprozess dauert laaaange) und relativ guter Leistung ausgesucht. <br />Da das dort installiert Ubuntu leicht "verkonfiguriert" (...oder auch "vermurkst") war, habe ich von einem Live-Stick gebooted und sämtliche anderen Festplatten abgehängt (um eine Verwechslung zu vermeiden).</p>
<p> </p>
<h3>Durchführung</h3>
<p>Nachdem ich die Festplatten in den Rechner eingebaut hatte und den Livestick gebooted hatte, bin ich wie folgt vorgegangen:</p>
<h4>1. Richtige Festplatten aussuchen</h4>
<p>Dieser Schritt dürfte eigentlich nicht schwierig sein. Du musst herausfinden, welche Bezeichnung (<em>/dev/sdX</em>) die alte und die neue Platte besitzen. Mit</p>
<pre class="brush: bash">user@system:~$ cat /proc/partitions<br /></pre>
<p>habe ich mir die Partitionen ausgeben lassen. Um zusätzliche Sicherheit zu gewinnen, kann man sich noch die erkannten Festplatten und UUIDs der Partitionen anzeigen lassen:</p>
<pre class="brush: bash">user@system:~$ ls /dev/sd*      #Festplatten anzeigen<br />user@system:~$ sudo blkid       #UUIDs ausgeben<br /></pre>
<p>Wer komplett auf Nummer sicher gehen will, kann die Festplatten noch mit GParted durchsuchen lassen. Dieser Partitionierungs-Tool findet sich in Gnome 2 unter <em>System</em> → <em>Systemverwaltung</em> → <em>GParted</em>.</p>
<p> </p>
<h4>2. Klonen mit dd</h4>
<p>Nun habe ich mich in einem Terminal als root eingeloggt:</p>
<pre class="brush: bash">root@system:~# sudo -s</pre>
<p>und den dd Befehl gestartet. dd wird wie folgt verwendet:</p>
<pre class="brush: bash">root@system:~# dd if=[alte Platte] of=[neue Platte]               #Syntax<br />root@system:~# dd if=/dev/sda of=/dev/sdb                         #Beispiel</pre>
<p>Anschließend habe ich mich in einem zweiten Terminal ebenfalls als root eingeloggt:</p>
<pre class="brush: bash">user@system:~$ sudo -s<br /></pre>
<p>und mit top die Prozess-ID (PID) des dd-Prozesses bestimmt:</p>
<pre class="brush: bash">root@system:~# top</pre>
<p>Nun habe ich die PID in der Variable <em>$ddpid</em> gespeichert:</p>
<pre class="brush: bash">root@system:~# ddpid=[Prozess-ID]         #Syntax<br />root@system:~# ddpid=1256                   #Beispiel<br /></pre>
<p>...und folgenden Befehl ausgeführt</p>
<pre class="brush: bash">root@system:~# while [ "`ps -a | grep $ddpid`" ]; do sudo kill -SIGUSR1 $ddpid; sleep 10; done </pre>
<p>Als Folge erhält man alle 10 Sekunden den Fortschritt des <em>dd</em>-Prozesses in dem zuerst geöffneten Terminal (das mit <em>dd</em>) angezeigt. Hierfür gibt es natürlich auch noch andere (einfachere) Möglichkeiten, diese erschien mir aber am sichersten.</p>
<p> </p>
<h4>3. Vergrößern mit (G)parted</h4>
<p>Dieser Schriit ist nur dann möglich, wenn die neue Platte größer als die alte ist! Nachdem Klonen der Festplatte habe ich dem System einen Reboot gegönnt (bei USB-Boot: Stick kurz herausziehen), bevor ich bei den einzelnen Platten unterschiedlich fortgefahren bin:</p>
<p> </p>
<h5>3.1 Datenplatte (eine Partition)</h5>
<p>Hier habe ich die neue Platte zuerst mit parted geöffnet, um die GPT-Tabelle zu verschieben:</p>
<pre class="brush: bash">user@system:~$ sudo parted /dev/sdX print                          #/dev/sdX an neue Platte anpassen!!<br />Fehler: Die Sicherung der GPT-Tabelle ist nicht am Ende der Festplatte, wo sie<br />normalerweise sein sollte. Das kann bedeuten, dass ein anderes Betriebssystem<br />glaubt, die Festplatte sei kleiner. Soll das durch Verschieben der Sicherung zum<br />Ende (und löschen der alten Sicherung) korrigiert werden?<br />Fix/Ignorieren/Ignore/Abbrechen/Cancel? F                                 <br />Warnung: Nicht der gesamte verfügbare Platz von /dev/sdb scheint verwendet. Sie<br />können die GPT reparieren, damit der gesamte Platz verwendet wird (zusätzlich<br />1953504000 Blöcke) oder Sie können mit den aktuellen Einstellungen fortfahren. <br />Fix/Ignorieren/Ignore? F                                                  <br />(...)</pre>
<p>Die Fragen müssen zweimal mit <em>F</em> bestätigt werden. Nun konnte ich die Platte mit GParted (<em>System</em> → <em>Systemverwaltung</em> → <em>GParted</em>) öffnen und die Partition vergrößern. Fertig!</p>
<p> </p>
<h5>3.2 Systemplatte (zwei bzw. drei Partitionen)</h5>
<p>Auch hier habe ich zuerst die Platte mit parted geöffnet:</p>
<pre class="brush: bash">user@system:~$ sudo parted /dev/sdX print                          #/dev/sdX an neue Platte anpassen!!                                           <br />(...)</pre>
<p>Da diese Platte eine MBR Partitionstabelle hatte (die andere hatte eine GPT), musste hier die GPT-Tabelle nicht verschoben werden, dies kann bei dir natürlich anders sein! Anschließend habe ich die Platte wieder mit  GParted (<em>System</em> → <em>Systemverwaltung</em> → <em>GParted</em>) geöffnet und die Partitionen analysiert.</p>
<ul>
<li>/dev/sdb1 → logische Partition (Systempartition)</li>
<li>/dev/sdb2 → erweiterte Partition</li>
<li>/dev/sdb5 → logische Partition (Swap)</li>
</ul>
<p>Nun musst du dafür sorgen, dass du die Systemparttion vergrößern kannst, dafür muss (in meinem Fall) die erweiterte Partition an das Ende der Platte verschoben werden. Hierfür gibt es natürlich mehrere Möglichkeiten. Ich erläutere dir mein (etwas umständliches) Vorgehen mit <em>GParted</em>:</p>
<ol>
<li>In GParted habe ich /dev/sdb5 gelöscht</li>
<li>....dann habe ich /dev/sdb2 ans Ende der Platte verschoben ("Anschließend freier Speicherplatz" auf 0 setzen)</li>
<li>....und darin wieder /dev/sdb5 angelegt.</li>
<li>Zu guter Letzt /dev/sdb1 vergrößert und GParted die Anweisung zum Starten gegeben.</li>
<li>Nun habe ich, weil ich in der <em>fstab</em> nicht unbedingt die UUID der Swap-Partition ändern wollte die alte Swap-Partition über die neue geschrieben:<br />
<pre class="brush: bash">user@system:~$ sudo dd if=/dev/sda5 of=/dev/sdb5           #die alte Platte wurde hier als /dev/sda erkannt</pre>
</li>
</ol>
<p>Danach war die Platte geklont und vergrößert. Ich möchte nochmals darauf hinweisen, dass mein Vorgehen die Platte zu vergrößern, mit Sicherheit nicht das Beste war! Wenn du eine bessere Methode kennst, würde ich mir sehr über einen Kommentar freuen.</p>
<p> </p>
<h3>Fazit</h3>
<p>Am Besten sorgt man dafür, dass man nie Festplatten klonen muss. Dies kann vor allem durch richtige Auswahl und Überwachung der Hardware vermieden werden. Hier zeigen sich auch wieder von Atom-Boards mit nur 2 S-ATA Steckplätzen. Also hier zu Boards mit mindestens 3 Slots greifen, so kann später der Speicher einfacher erweitert werden.</p>
<p>Wenn dann mal eine Festplatte geklont werden ist das Dank den Tools <em>dd</em> und <em>GParted</em> wirklich einfach, aber bei großen Speicherkapazitäten sehr Zeitaufwändig.</p>
<p>Dieser Musterablauf soll nur als Orientierung dienen und ist mit Sicherheit verbesserungswürdig. Wenn du der Meinung bist, hier stimme etwas nicht oder das Ganze ginge viel einfacher, dann hinterlasse doch bitte einen Kommentar.</p>]]></description>
			<author>chrisge@mein.homelinux.com (Christoph Winkler)</author>
			<category>Blog</category>
			<pubDate>Sat, 03 Sep 2011 18:56:13 +0000</pubDate>
		</item>
		<item>
			<title>Kurztipp: Hardwareinfo in HTML exportieren</title>
			<link>http://mein.homelinux.com/blog/243-kurztipp-hardwareinfo-in-html-exportieren.html</link>
			<guid>http://mein.homelinux.com/blog/243-kurztipp-hardwareinfo-in-html-exportieren.html</guid>
			<description><![CDATA[<p>Über Hardwarelister habe ich <a href="http://mein.homelinux.com/blog/106-anwendungsserie-3.html">bereits</a> vor zwei Jahren berichtet. In diesem Kurzbeitrag geht es dieses mal darum, die Ausgabe von <em>lshw</em> in HTML zu exportieren. Dazu schauen wir uns zuerst die Ausgabe von <em>lshw --help</em> an:</p>
<pre class="brush: bash">user@system:~$ lshw --help<br />Hardware Lister (lshw) - B.02.14<br />usage: lshw [-format] [-options ...]<br />       lshw -version<br />(...)<br />format can be<br />    -html           output hardware tree as HTML<br />    -xml            output hardware tree as XML<br />    -short          output hardware paths<br />    -businfo        output bus information<br />    -X              use graphical interface<br />(...)<br /></pre>

<p>Wie du erkennen kannst, kann man mit Hilfe der Option <em>-html</em> die Hardwaredaten als HTML ausgeben. Um diese Daten nun in eine Datei umzuleiten, gibst du folgendes ein:</p>
<pre class="brush: bash">user@system:~$ sudo lshw -html > Hardware.html</pre>
<p>Nun wurde die Datei <em>Hardware.html </em>in deinem Homeverzeichnis angelegt. Jene kannst du nun mit dem Browser deiner Wahl öffnen:</p>
<pre class="brush: bash">user@system:~$ firefox Hardware.html      #mit Firefox öffnen<br />user@system:~$ w3m Hardware.html          #mit w3m öffnen<br /></pre>
<p>Das Ergebnis ist allerdings etwas unübersichtlich, wie du aus diesem Screenshot entnehmen kannst. Diese Lösung eignet sich also vor allem dafür, wenn man anderen Usern seine Hardwaredaten (Beispielsweise zur Problemlösung in Foren) zur Verfügung stellen muss oder als Export der Daten auf einem Headless System.</p>
<p><img src="http://mein.homelinux.com/images/stories/lshw/lshw.png" border="0" /></p>]]></description>
			<author>chrisge@mein.homelinux.com (Christoph Winkler)</author>
			<category>Blog</category>
			<pubDate>Sat, 27 Aug 2011 09:34:35 +0000</pubDate>
		</item>
		<item>
			<title>ownCloud – privater Online-Speicher</title>
			<link>http://mein.homelinux.com/blog/240-owncloud-privater-online-speicher.html</link>
			<guid>http://mein.homelinux.com/blog/240-owncloud-privater-online-speicher.html</guid>
			<description><![CDATA[<p><img src="http://mein.homelinux.com/images/stories/owncloud/owncloud.jpg" border="0" style="float: right;" /></p>
<p><em><a href="http://owncloud.org/">"ownCloud</a> ist ein privater Online-Speicher für deinen eigenen Server."  ownCloud ermöglicht es dir, über WebDAV und zusätzlich über ein komfortables Webinterface auf deine hoch geladenen Dateien von überall zurückzugreifen. </em></p>
<p>Das Webinterface verfügt über zahlreiche Funktionen, so kannst du neue Files hoch- und herunterladen, alte löschen und Ordner anlegen. In der experimentellen Version 2.0 stehen weitere Funktionen wie ein Mediaplayer, das Erstellen von "Public Links", das Anbinden an eine Open-ID  und viele weitere zur Verfügung. Der Speicher kann ohne Probleme von gängigen Dateimanagern als WebDAV eingebunden werden.</p>

<p> </p>
<p><a href="http://mein.homelinux.com/wiki/cloud/owncloud"><img src="http://mein.homelinux.com/images/stories/wiki/anleitung.png" border="0" width="646" height="95" /></a></p>
<p> </p>
<p>Ich habe im <a href="http://mein.homelinux.com/wiki/cloud/owncloud">Wiki</a> eine Anleitung zur Installation von ownCloud 1.2 sowie 2.0 veröffentlicht. Darin wird beschreiben, wie du eine der beiden Versionen auf deinem Server installieren kannst. Version 1.2 ist die aktuelle "stable" Version, während ownCloud 2.0 die experimentelle Version darstellt.</p>
<p> </p>
<h4>Screenshots von ownCloud 2.0</h4>
<p><img src="http://mein.homelinux.com/images/stories/owncloud/ownCloud_1311516553264.png" border="0" alt="Bilderanzeige" /></p>
<p>Bilder können direkt im Webinterface betrachtet werden.</p>
<p> </p>
<p><img src="http://mein.homelinux.com/images/stories/owncloud/ownCloud_1311516590255.png" border="0" alt="Public Links" /></p>
<p>"Public Links" können in schnellster Zeit erstellt werden, so können "Außen stehende" diese Files herunterladen.</p>
<p><img src="http://mein.homelinux.com/images/stories/owncloud/ownCloud_1311516601297.png" border="0" alt="Public Links" /></p>
<p>Hier eine Übersicht über erstellte "Public Links".</p>
<p> </p>
<p><img src="http://mein.homelinux.com/images/stories/owncloud/ownCloud_1311516743720.png" border="0" alt="Media" /></p>
<p>Wirklich genial ist der Mediaplayer, so kann man von überall seine Musik wiedergeben.</p>]]></description>
			<author>chrisge@mein.homelinux.com (Christoph Winkler)</author>
			<category>Blog</category>
			<pubDate>Sun, 24 Jul 2011 13:28:33 +0000</pubDate>
		</item>
		<item>
			<title>Textbrowser – Links2, Lynx, w3m, ELinks</title>
			<link>http://mein.homelinux.com/blog/231-textbrowser.html</link>
			<guid>http://mein.homelinux.com/blog/231-textbrowser.html</guid>
			<description><![CDATA[<p><em>Mittels Textbrowsern kann man auch auf Headless-Systemen (Server, ...) im Web surfen. Der wohl bekannteste dieser Art ist </em><em>Lynx. Die Textbrowser </em><em>ELinks und </em><em>Links2 sind jeweils Abspaltungen von dem bereits 1999 veröffentlichten </em><em>Links. </em></p>
<p>Im folgenden Post werde ich auf dies Textbrowser Links2, Lynx, w3m, ELinks eingehen und zeigen, wofür man jene verwenden kann. Dieser Post soll nur eine kleine Übersicht über die Verwendung und Benutzung dieser Textbrowser liefern.<em><br /></em></p>

<p>All diese Textbrowser werden via Tastatur bzw. bei einigen auch via Maus bedient.</p>
<p> </p>
<h3>Links2</h3>
<p><em>Links2</em> ( <a href="http://links.twibright.com/" target="_blank">Projektseite</a>, <a href="http://de.wikipedia.org/wiki/Links2" target="_blank">Wikipedia</a>) besitzt unter anderem einen Grafikmodus. Auch sei erwähnt, dass jener Tabellenstrukturen darstellen kann, was <em>Lynx</em> beispielsweise nicht unterstützt. Auch ist die Nutzung einer Maus möglich.</p>
<p><em>Links2</em> kann unter Ubuntu wie folgt installiert werden:</p>
<pre class="brush: bash">~$ sudo apt-get install links2     #Grundpaket<br />~$ sudo apt-get install gpm        #zur Steuerung mit der Maus (optional)</pre>
<p> </p>
<p>Den Textbrowser nutzt man wie folgt:</p>
<pre class="brush: bash">~$ links2 [url]                               #Syntax<br />~$ links2 http://mein.homelinux.com      #Beispiel</pre>
<p> </p>
<p>Über die Escape-Taste<em> [Esc]</em> lässt sich ein Menü öffnen, in welchem sich unter anderem auch ein Menüpunkt für laufende Downloads befindet. So könnte man diesen Textbrowser auch als Downloadmanager für Headless-Systeme nutzen.</p>
<p><img src="http://mein.homelinux.com/images/stories/textbrowser/links2-menue.png" border="0" width="533" height="46" /></p>
<p> </p>
<p>Der Grafikmodus von<em> Links2</em> sei ebenfalls zu erwähnen (<em>X-Server/Framebuffer</em> benötigt):</p>
<pre class="brush: bash">~$ links2 -g [url]                              #Syntax<br />~$ links2 -g http://mein.homelinux.com    #Beispiel</pre>
<p>Jener sieht in diesem Fall wie folgt aus:</p>
<p><img src="http://mein.homelinux.com/images/stories/textbrowser/links2_graph.png" border="0" width="499" height="352" /></p>
<p> </p>
<p>Weitere mögliche Optionen lassen sich über die Manpages von <em>Links2</em> abfragen:</p>
<pre class="brush: bash">~$ man links2</pre>
<p> </p>
<p> </p>
<h3>Lynx</h3>
<p>Dieser Textbrowser (<a href="http://lynx.isc.org/" target="_blank">Projektseite</a>, <a href="http://de.wikipedia.org/wiki/Lynx_%28Browser%29" target="_blank">Wikipedia</a>) ist der bekannteste und wohl älteste in meiner Auswahl. Allerdings unterstützt er meines Wissens weder Tabellenstrukturen noch einen graphischen Modus, wie ihn <em>Links2</em> vorlegt.</p>
<p>Die Installation funktioniert wie gewohnt:</p>
<pre class="brush: bash">~$ sudo apt-get install lynx</pre>
<p> </p>
<p>Auch die Benutzung ähnelt stark der von <em>Links2</em> (<em>Lynx</em> diente als Vorbild für Links und somit <em>Links2</em>):</p>
<pre class="brush: bash">~$ lynx [url]                                #Syntax<br />~$ lynx http://mein.homelinux.com      #Beispiel<br /></pre>
<p> </p>
<p>Was mir besonders gut gefällt ist die farbliche Hinterlegung der Seiten:</p>
<p><img src="http://mein.homelinux.com/images/stories/textbrowser/lynx.png" border="0" width="528" height="362" /></p>
<p> </p>
<p>Um ein vernünftiges Browsen zu ermöglichen, sollte<em> Lynx</em> mit der Option<em> -cookies</em> gestartet werden:</p>
<pre class="brush: bash">~$ lynx -cookies [url]                                    #Syntax<br />~$ lynx -cookies http://mein.homelinux.com      #Beispiel</pre>
<p> </p>
<p>Die Bedienung erfolgt komplett über die Tastatur. Weitere Optionen können wie folgt erfragt werden:</p>
<pre class="brush: bash">~$ man lynx<br /></pre>
<p> </p>
<p> </p>
<h3>w3m</h3>
<p><em>w3m</em> (<a href="http://w3m.sourceforge.net/" target="_self">Projektseite</a>, <a href="http://de.wikipedia.org/wiki/W3m" target="_blank">Wikipedia</a>) unterstützt sowohl die Bedienung mit einer Maus als auch einen brauchbaren graphischen Modus. Auffällig ist die Unterstützung von Tabs, worauf ich in diesem Post allerdings nicht eingehen werde.</p>
<p><em>w3m</em> ist bereits in einer Ubuntu Standartinstallation enthalten:</p>
<pre class="brush: bash">~$ sudo apt-get install w3m         #falls doch nicht vorhanden<br />~$ sudo apt-get install w3m-img   #zur Anzeige von Grafiken<br /></pre>
<p> </p>
<p>Die Nutzung erfolgt wie gewohnt:</p>
<pre class="brush: bash">~$ w3m [url]                               #Syntax<br />~$ w3m http://mein.homelinux.com      #Beispiel</pre>
<p><br />Ich schätzte diesen Textbrowser vor allem auf Grund seiner sehr guten Integrierbarkeit in Bash-Skripte, mit dieser Option gibt <em>w3m</em> den Code der Webseite aus:</p>
<pre class="brush: bash">~$ w3m -dump_source [url]   #Syntax<br /></pre>
<p>....wobei andere Textbrowser dies natürlich auch unterstützen. Die Ausgabe kann direkt über eine <em>Pipe (|)</em> an andere Programme übergeben werden:</p>
<pre class="brush: bash">~$ w3m -dump_source http://test.tld | grep Test | cut -d "&lt;" -f 4</pre>
<p> </p>
<p>Auch kann man mit w3m den HTTP-Header auslesen:</p>
<pre class="brush: bash">~$ w3m -dump_head [url]     #Syntax<br /><br />~$ w3m -dump_head http://mein.homelinux.com        #Beispiel<br />Received cookie: cdf6b0113b3bdf0c67a506ee67ccc361=oq9s1git8i4b3l4r4i9qqjgu71<br />HTTP/1.1 200 OK<br />Date: Sun, 17 Apr 2011 12:47:45 GMT<br />Server: Apache<br />X-Powered-By: PHP/5.3.2-1ubuntu4.7<br />Set-Cookie: cdf6b0113b3bdf0c67a506ee67ccc361=oq9s1git8i4b3l4r4i9qqjgu71; path=/<br />P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"<br />Expires: Mon, 1 Jan 2001 00:00:00 GMT<br />Last-Modified: Sun, 17 Apr 2011 12:47:45 GMT<br />Cache-Control: post-check=0, pre-check=0<br />Pragma: no-cache<br />Vary: Accept-Encoding,User-Agent<br />Content-Encoding: gzip<br />Content-Length: 20<br />Connection: close<br />Content-Type: text/html; charset=utf-8</pre>
<p>....und ihn anschließend analysieren.</p>
<p> </p>
<p>Der graphische Modus funktioniert allerdings nur in einem <em>xterm</em> (auch in anderen Terminals, leider kein <em>Gnome-Terminal</em>), auch hier wird ein <em>X-Server/Framebuffe</em>r benötigt:</p>
<pre class="brush: bash">~$ xterm                                         #xterm starten und folgendes darin ausführen...<br />~$ w3m [url]                                    #Syntax<br />~$ w3m http://mein.homelinux.com      #Beispiel</pre>
<p>....und sieht wie folgt aus:</p>
<p><img src="http://mein.homelinux.com/images/stories/textbrowser/w3m_graph.png" border="0" width="548" height="382" /></p>
<p> </p>
<p>Weitere Optionen gibt w3m mit folgendem Befehl aus:</p>
<pre class="brush: bash">~$ w3mman</pre>
<p> </p>
<p> </p>
<h3>ELinks</h3>
<p>Dieser Textbrowser (<a href="http://elinks.cz/" target="_blank">Projektseite</a>, <a href="http://de.wikipedia.org/wiki/ELinks" target="_blank">WIkipedia</a>) ist wie <em>Links2</em> ein "Nachfahre" von <em>Links</em>. Er unterstützt Tabs, Tabellen und ist laut der Projektseite erweiterbar durch <em>Lua</em> oder <em>Guile</em> Skripte.</p>
<p>Auch hier ist die Installation nichts Neues:</p>
<pre class="brush: bash">~$ sudo apt-get install elinks</pre>
<p> </p>
<p>Die Benutzung folgt den bereits beschriebenen Textbrowsern:</p>
<pre class="brush: bash">~$ elinks [url]                                    #Syntax<br />~$ elinks http://mein.homelinux.com      #Beispiel<br /></pre>
<p> </p>
<p>Mir gefällt an diesem Textbrowser die gute Menüführung. Das Menü ist wie bei Links2 über die Escape-Taste<em> [Esc] </em>erreichbar und sieht wie folgt aus:</p>
<p><img src="http://mein.homelinux.com/images/stories/textbrowser/elinks-menue.png" border="0" width="589" height="268" /></p>
<p> </p>
<p>Der integrierte Downloadmanager scheint ganz brauchbar zu sein (Annahme einer Datei):</p>
<p><img src="http://mein.homelinux.com/images/stories/textbrowser/elinks_dwl.png" border="0" width="576" height="151" /></p>
<p>Durch Eingabe von <em>D</em> kann man den Status der Downloads betrachten (Alternative: über Menü):</p>
<p><img src="http://mein.homelinux.com/images/stories/textbrowser/elinks_dwlm.png" border="0" width="510" height="253" /></p>
<p> </p>
<p> </p>
<h3>Fazit</h3>
<p>Eines haben alle Textbrowser gemeinsam: Der Funktionsumfang kommt nicht  an den eines richtigen Browsers heran. In bestimmten Situationen muss  man allerdings auf jene zurückgreifen (defekter <em>X-Server</em>,  Headless-System) um Web nach Problemlösungen suchen zu können bzw. div. Files herunterzuladen. Außerdem finden Textbrowser in Webcrawlern und Skripten Einsatz.</p>
<p> </p>
<p><strong>So setzte ich die Textbrowser ein:</strong></p>
<ul>
<li>Ich verwende als Textbrowser für zwischendurch so gut wie immer <em>Links2</em>, da er von der Darstellung und Bedienbarkeit am ehesten an einen richtigen Browser herankommt. </li>
</ul>
<ul>
<li>In Skripten und zur Überprüfung eines HTTP-Headers setzte ich auf <em>w3m</em>. </li>
</ul>
<ul>
<li><em>ELinks</em> und <em>Links2</em> liefern beide brauchbare Downloadmanager, von denen ich bis jetzt leider nur Links2 genutzt habe. Bei Downloads werde ich auf jeden Fall in Zukunft zu <em>ELinks</em> greifen. </li>
</ul>
<ul>
<li><em>Lynx </em>ist einfach der Klassiker unter den Textbrowsern, auch wenn er mir nicht besonders zusagt. Trotzdem lohnt sich ein Blick auf jenen, da er unzählige nützliche Optionen besitzt.</li>
</ul>]]></description>
			<author>chrisge@mein.homelinux.com (Christoph Winkler)</author>
			<category>Blog</category>
			<pubDate>Sun, 17 Apr 2011 14:05:24 +0000</pubDate>
		</item>
	</channel>
</rss>
