<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>controlc.de &#187; how to</title>
	<atom:link href="http://controlc.de/tag/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>http://controlc.de</link>
	<description>mehr als nur ein Notizblock</description>
	<lastBuildDate>Mon, 16 Apr 2012 12:43:35 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>mac &#124; WM und EyeTV — Vuvuzelas filtern mit Boardmitteln</title>
		<link>http://controlc.de/2010/06/16/mac-wm-und-eyetv-vuvuzelas-filtern-mit-boardmitteln/</link>
		<comments>http://controlc.de/2010/06/16/mac-wm-und-eyetv-vuvuzelas-filtern-mit-boardmitteln/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 21:19:09 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[audio]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[adt]]></category>
		<category><![CDATA[au filter]]></category>
		<category><![CDATA[au lab]]></category>
		<category><![CDATA[eyetv]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[soundflower]]></category>
		<category><![CDATA[vuvuzela]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1751</guid>
		<description><![CDATA[Es wurde schon viel im Netz zum Thema Vuvuzela geschrieben. Die Meinungen zu diesen Krachmachern gehen weit auseinander — viele mögen sie nicht und wollen den Klang der Vuvuzelas gerne herausgefiltert werden. Da mit einer Filterung auch der allgemeine Klang verändert wird kann ich durchaus nachvollziehen, warum die Fernseh– und Radiosender nur sehr sanft an [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://controlc.de/wp-content/uploads/2010/06/vuvuzelas.jpg" class="floatbox" rev="group:1751 caption:`Vuvuzelas`"><img class="aligncenter size-medium wp-image-1752" title="Vuvuzelas" src="http://controlc.de/wp-content/uploads/2010/06/vuvuzelas-300x230.jpg" alt="" width="300" height="230" /></a>Es wurde schon viel im Netz zum Thema <a href="http://de.wikipedia.org/wiki/Vuvuzela">Vuvuzela</a> geschrieben. Die Meinungen zu diesen Krachmachern gehen weit auseinander — viele <a href="http://vuvuzelas.org/">mögen sie nicht</a> und wollen den Klang der Vuvuzelas gerne herausgefiltert werden. Da mit einer Filterung auch der allgemeine Klang verändert wird kann ich durchaus nachvollziehen, warum die Fernseh– und Radiosender nur sehr sanft an der Klangschraube drehen wollen — egal was die Presselandschaft so fordert. Deswegen finde ich den Ansatz über die Filterung den Zuschauer entscheiden zu lassen gut. Klar wäre es schön, wenn das wie bei der <a href="http://www.spiegel.de/sport/fussball/0,1518,700931,00.html">BBC geplant</a> funktionieren würde, aber wenn nicht so, dann muss es eben anders gehen.<span id="more-1751"></span>Ursprünglich beim <a href="http://www.surfpoeten.de/tube/vuvuzela_filter">Surfpoeten</a> ausgezeigt, haben sich inzwischen auch andere Seiten mit der Vuvuzela-Filterung auf dem Mac beschäftigt. Es gibt inzwischen die Anleitung mit Hilfe von</p>
	<p style="padding-left: 30px;">Logic Express bei <a href="http://surfpoeten.de/tube/vuvuzela_filter">SurfPoeten</a></p>
	<p style="padding-left: 30px;">Garageband bei <a href="http://imrich.net/2010/06/vuvuzelas-filtern-mit-garageband/">imrich.net</a></p>
	<p style="padding-left: 30px;">VLC bei <a href="http://digitalupgrade.blip.tv/file/3759881/">DigitalUpgrade</a></p>
	<p style="padding-left: 30px;">Vuvuzela.app bei <a href="http://www.albert-feller.de/blog/2010/06/14/vuvuzela-noise-filter-app-for-mac-os-x/">albert-feller.de</a></p>
	<p>Dabei wird der Mac immer als Filterinstrument für einen Fernseher o.ä. verwendet. In den Kommentaren der einzelnen Posts wurde immer wieder nachgefragt, wie man das mit <em>EyeTV</em> macht — als Filtern für eine Fernsehsoftware. Da ich kein <em>Logic Express</em> besitze (und für diesen Fall etwas überteuert ist), <em>Garageband</em> wohl auch etwas überdimensioniert ist und recht viele Ressourcen braucht, habe ich mich nach einer kostenfreien und schlanken Lösung umgeschaut.</p>
	<p>Dabei bin ich über den <a href="http://forums.macworld.com/index.php?/topic/98254-sound-equalizer-for-the-system/page__p__637568&amp;#entry637568">Foreneintrag bei Macworld</a> gestolpert, der den entscheidenden Hinweis brachte: In den Developer-Tools von Apple ist schon mit <em>AU Lab</em> ein Mixer mit der Möglichkeit beliebige Filter einzubinden dabei und mit <a href="http://cycling74.com/products/soundflower/">SoundFlower</a> kann man das intere Audiosignal durch den Mixer von <em>AU Lab</em> leiten und dann erst auf den Lautsprecher geben. Soweit die Theorie, nun zur Praxis.</p>
	<p>Als Grundvoraussetzungen müssen installiert sein:</p>
	<p><a href="http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/OSX_Technology_Overview/Tools/Tools.html#//apple_ref/doc/uid/TP40001067-CH272-BBCBEAJD">Apple Developer Tools</a></p>
	<p><a href="http://cycling74.com/products/soundflower/">Soundflower</a></p>
	<p>Zuerst muß, da das Audiosignal intern umgeroutet wird, ein neues Audiogerät angelegt. Das übernimmt für uns <em>Soundflower</em> — nach deren Installation haben wir zwei weitere Audiogeräte: <code>Soundflower 2ch</code> und <code>Soundflower 16ch</code>. Dies kann man im <em>Audio und Midi Setup</em> sehen</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/06/Audio-Devices.png" class="floatbox" rev="group:1751 caption:`Audio Devices`"><img class="aligncenter size-medium wp-image-1758" title="Audio Devices" src="http://controlc.de/wp-content/uploads/2010/06/Audio-Devices-300x186.png" alt="" width="300" height="186" /></a>Hier kann man das Gerät <code>Soundflower 16ch </code>auch gleich als Standard Ein– und Ausgang festlegen.</p>
	<p>Als nächstes rufen wir <em>AU Lab</em> auf, welches unter<em> /Developer/Applications/Audio/AU Lab.app</em> liegt. Wir benötigen einen Stereo-Eingang<a href="http://controlc.de/wp-content/uploads/2010/06/Document-Configuration-Assistant-2.png" class="floatbox" rev="group:1751 caption:`Document  Configuration Assistant 2`"><img class="aligncenter size-medium wp-image-1760" title="Document  Configuration Assistant 2" src="http://controlc.de/wp-content/uploads/2010/06/Document-Configuration-Assistant-2-300x172.png" alt="" width="300" height="172" /></a>Und einen Stereo-Ausgang<a href="http://controlc.de/wp-content/uploads/2010/06/Document-Configuration-Assistant-1.png" class="floatbox" rev="group:1751 caption:`Document  Configuration Assistant 1`"><img class="aligncenter size-medium wp-image-1759" title="Document  Configuration Assistant 1" src="http://controlc.de/wp-content/uploads/2010/06/Document-Configuration-Assistant-1-300x172.png" alt="" width="300" height="172" /></a>Als Audio-Eingang wird  <code>Soundflower 16ch</code> auf Kanal 1 und 2 definiert<a href="http://controlc.de/wp-content/uploads/2010/06/Document-Configuration-Assistant-31.png" class="floatbox" rev="group:1751 caption:`Document Configuration Assistant 3`"><img class="aligncenter size-medium wp-image-1779" title="Document Configuration Assistant 3" src="http://controlc.de/wp-content/uploads/2010/06/Document-Configuration-Assistant-31-300x210.png" alt="" width="300" height="210" /></a>ebenso als Ausgang, hier aber Kanal 3 und 4<a href="http://controlc.de/wp-content/uploads/2010/06/Document-Configuration-Assistant-41.png" class="floatbox" rev="group:1751 caption:`Document Configuration Assistant 4`"><img class="aligncenter size-medium wp-image-1781" title="Document Configuration Assistant 4" src="http://controlc.de/wp-content/uploads/2010/06/Document-Configuration-Assistant-41-300x210.png" alt="" width="300" height="210" /></a>Und so sieht das dann im Endeffekt aus<a href="http://controlc.de/wp-content/uploads/2010/06/AU-Lab1.png" class="floatbox" rev="group:1751 caption:`AU Lab`"><img class="aligncenter size-medium wp-image-1782" title="AU Lab" src="http://controlc.de/wp-content/uploads/2010/06/AU-Lab1-209x300.png" alt="" width="209" height="300" /></a>Damit fabrizieren wir keine Schleife.</p>
	<p>Nun können wir dem Audio-Eingang mehrere Filter aufbürden, die die Vuvuzelas herausfiltern sollen. Wichtig sind hier die richtigen Frequenzen. Laut <a href="http://surfpoeten.de/tube/vuvuzela_filter">Surfpoeten.de</a> hat das Vuvuzela-Getröte</p>
	<blockquote><p>[…]  eine Frequenz von etzwa 233 Hertz. Obertöne liegen demzufolge bei […] 466 Hertz, dann bei 932 Hertz und 1864 Hertz.</p></blockquote>
	<p>welche gefiltert werden müssen.</p>
	<p>Diese legt man hier an<a href="http://controlc.de/wp-content/uploads/2010/06/AU-Lab.png" class="floatbox" rev="group:1751 caption:`AU Lab`"><img class="aligncenter size-medium wp-image-1765" title="AU Lab" src="http://controlc.de/wp-content/uploads/2010/06/AU-Lab-212x300.png" alt="" width="212" height="300" /></a>Der Filter AU Filter muss ausgewählt werden<a href="http://controlc.de/wp-content/uploads/2010/06/AU-Lab-AU-Filter.png" class="floatbox" rev="group:1751 caption:`AU Lab - AU Filter`"><img class="aligncenter size-medium wp-image-1766" title="AU Lab - AU Filter" src="http://controlc.de/wp-content/uploads/2010/06/AU-Lab-AU-Filter-106x300.png" alt="" width="106" height="300" /></a>Dann stellen wir die Ansicht um, damit wir die Frequenzen in Zahlen eingeben können.</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/06/AU-Lab-AU-Filter-Generic-view.png" class="floatbox" rev="group:1751 caption:`AU Lab - AU Filter - Generic view`"><img class="aligncenter size-medium wp-image-1767" title="AU Lab - AU Filter - Generic view" src="http://controlc.de/wp-content/uploads/2010/06/AU-Lab-AU-Filter-Generic-view-300x141.png" alt="" width="300" height="141" /></a>Es werden zwei Filter angelegt, die folgendermaßen aussehen</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/06/AUFilter-1.png" class="floatbox" rev="group:1751 caption:`AUFilter (1)`"><img class="aligncenter size-medium wp-image-1768" title="AUFilter (1)" src="http://controlc.de/wp-content/uploads/2010/06/AUFilter-1-300x286.png" alt="" width="300" height="286" /></a><a href="http://controlc.de/wp-content/uploads/2010/06/AUFilter-2.png" class="floatbox" rev="group:1751 caption:`AUFilter (2)`"><img class="aligncenter size-medium wp-image-1769" title="AUFilter (2)" src="http://controlc.de/wp-content/uploads/2010/06/AUFilter-2-300x286.png" alt="" width="300" height="286" /></a></p>
	<p>Ein fertiges Filterset (welches ich noch nicht getestet habe) kann man sich auch bei <a href="http://www.dirk-melchers.de/2010/06/13/wm-nun-auch-vuvuzela-frei/">Dirk Melchers</a> herunterladen und nach <em>~/Library/Audio/Presets/Apple/AUFilter</em> kopieren.</p>
	<p><em><strong>Update: Wer es einfacher haben will, der kann sich auch das kostenlose AU Plugin <a href="http://www.vuvux.com/">VuvuX von Prosoniq</a> herunterladen und statt dessen benutzen.</strong></em></p>
	<p>Mit der App <em>Soundflowerbed</em>, welches mit <em>Soundflower</em> mitinstalliert wird und sich in der Menüleiste einnistet<a href="http://controlc.de/wp-content/uploads/2010/06/Soundflowerbed.png" class="floatbox" rev="group:1751 caption:`Soundflowerbed`"><img class="aligncenter size-medium wp-image-1773" title="Soundflowerbed" src="http://controlc.de/wp-content/uploads/2010/06/Soundflowerbed-300x137.png" alt="" width="300" height="137" /></a>legt man noch fest ob und wo was ausgegeben wird <a href="http://controlc.de/wp-content/uploads/2010/06/Soundflowerbed-ch16.png" class="floatbox" rev="group:1751 caption:`Soundflowerbed - ch16`"><img class="aligncenter size-full wp-image-1774" title="Soundflowerbed - ch16" src="http://controlc.de/wp-content/uploads/2010/06/Soundflowerbed-ch16.png" alt="" width="246" height="256" /></a>und auf welchem Kanal — in dem Falle auf Kanal 1 und 2 nichts<a href="http://controlc.de/wp-content/uploads/2010/06/NONE.png" class="floatbox" rev="group:1751 caption:`NONE`"><img class="aligncenter size-full wp-image-1784" title="NONE" src="http://controlc.de/wp-content/uploads/2010/06/NONE.png" alt="" width="166" height="63" /></a>und auf Kanal 3 und 4 jeweils der Built-in Output1<a href="http://controlc.de/wp-content/uploads/2010/06/Output1.png" class="floatbox" rev="group:1751 caption:`Output1`"><img class="aligncenter size-full wp-image-1785" title="Output1" src="http://controlc.de/wp-content/uploads/2010/06/Output1.png" alt="" width="168" height="66" /></a>und Built-in Output2<a href="http://controlc.de/wp-content/uploads/2010/06/Output2.png" class="floatbox" rev="group:1751 caption:`Output2`"><img class="aligncenter size-full wp-image-1786" title="Output2" src="http://controlc.de/wp-content/uploads/2010/06/Output2.png" alt="" width="166" height="64" /></a>Zu guter Letzt muß der Audio-Ausgang im EyeTV noch auf <code>Soundflower 16ch</code> umgestellt werden<a href="http://controlc.de/wp-content/uploads/2010/06/EyeTV1.png" class="floatbox" rev="group:1751 caption:`EyeTV1`"><img class="aligncenter size-medium wp-image-1787" title="EyeTV1" src="http://controlc.de/wp-content/uploads/2010/06/EyeTV1-300x168.png" alt="" width="300" height="168" /></a>und schon kann man vuvuzela-frei Fußball schauen und besonders auch hören (wenn man es mag).</p>
	<p><strong>Ist diese Anleitung nachvollziehbar gewesen? Was gibt es für Probleme? Lebt ihr lieber mit den Vuvuzelas, dafür habt ihr aber den satten Klang oder mögt ihr es gefiltert?</strong>
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2010/06/16/mac-wm-und-eyetv-vuvuzelas-filtern-mit-boardmitteln/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>openwrt &#124; Backfire und OpenVPN</title>
		<link>http://controlc.de/2010/06/01/openwrt-backfire-und-openvpn/</link>
		<comments>http://controlc.de/2010/06/01/openwrt-backfire-und-openvpn/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 08:14:02 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[openwrt]]></category>
		<category><![CDATA[backfire]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[luci]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[uci]]></category>
		<category><![CDATA[webinterface]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1700</guid>
		<description><![CDATA[Seit dem 09. April 2010 gibt es eine neue stabile Version von OpenWRT namens Backfire. Ich habe meine selbst kompilierte Firmware letztes Wochenende durch die aktuelle Stable ersetzt. was relativ problemlos ging. Wichtig in dem Zusammenhang war nur folgendes: Ich hatte bei der Aktualisierung über die Weboberfläche anfangs gesagt, das er die Konfigurationsdateien übernehmen sollte, [...]]]></description>
			<content:encoded><![CDATA[	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2010/01/OpenWrt-OpenVPN-LuCI1.png" class="floatbox" rev="group:1700 caption:`OpenWrt - OpenVPN - LuCI1`"><img class="aligncenter size-full wp-image-1336" title="OpenWrt - OpenVPN - LuCI1" src="http://controlc.de/wp-content/uploads/2010/01/OpenWrt-OpenVPN-LuCI1.png" alt="" width="540" height="314" /></a></p>
	<p>Seit dem 09. April 2010 gibt es eine neue stabile Version von <a href="http://www.openwrt.org/">OpenWRT</a> namens <a href="http://backfire.openwrt.org/10.03/">Backfire</a>. Ich habe meine selbst kompilierte Firmware letztes Wochenende durch die aktuelle Stable ersetzt. was relativ problemlos ging. <span id="more-1700"></span>Wichtig in dem Zusammenhang war nur folgendes: Ich hatte bei der Aktualisierung über die Weboberfläche anfangs gesagt, das er die Konfigurationsdateien übernehmen sollte, was er auch ordentlich tat. Aber ich konnte dann keine weitere Software installieren — die Partition war schon voll. Erst nachdem ich die Werkseinstellungen geladen und den Router neu gestartet hatte, war ein Einspielen von Software möglich.</p>
	<p>Ab der Version Backfire ist es nun möglich die Weboberfläche von OpenVPN direkt zu installieren — leider aber funktioniert die Integration von OpenVPN immer noch nicht so vollautomatisch, wie ich mir das gewünscht hatte. Wer also OpenVPN wie ich auf einem OpenWRT-Router nutzen möchte, für den gelten immer noch die manuellen Anpassungen wie <a href="http://controlc.de/2010/01/24/openwrt-openvpn-mit-weboberflache-unter-openwrt/">hier</a> beschrieben.</p>
	<p>Zuerst muss ein neues Netzwerk-Interface für den VPN-Tunnel angelegt werden:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">uci <span style="color: #000000; font-weight: bold;">set</span> network.vpn=interface
uci <span style="color: #000000; font-weight: bold;">set</span> network.vpn.proto=none
uci <span style="color: #000000; font-weight: bold;">set</span> network.vpn.auto=<span style="color: #000000;">1</span>
uci <span style="color: #000000; font-weight: bold;">set</span> network.vpn.ifname=tun0
uci commit network</pre></div></div>

	<p>Anschließend eine neue Firewall Zone eingerichtet:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">uci add firewall zone
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>zone<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.name=vpn
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>zone<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.forward=ACCEPT
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>zone<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.input=ACCEPT
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>zone<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.output=ACCEPT
uci commit</pre></div></div>

	<p>Und abschließend wird definiert, zwischen welchen Firewall Zonen überhaupt Traffic fließen darf.</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">uci add firewall forwarding
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>forwarding<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.dest=vpn
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>forwarding<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.src=lan
uci commit</pre></div></div>

	<p>Wer mehr darüber erfahren will, was man mit UCI alles anstellen kann, den kann ich nur auf die <a href="http://dev.luci.cyranjo.org/docsrv/index.xml">Befehlsreferenz </a>verweisen.</p>
	<p>Nun fehlen nur noch die Firewall-Einträge</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-A</span> input_rule <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-A</span> forwarding_rule <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-A</span> forwarding_rule <span style="color: #660033;">-o</span> tun+ <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-A</span> output_rule <span style="color: #660033;">-o</span> tun+ <span style="color: #660033;">-j</span> ACCEPT</pre></div></div>

	<p>dies alles in die Datei <em>/etc/firewall.user</em> eingetragen und schon funktioniert der VPN-Tunnel wie er soll.
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2010/06/01/openwrt-backfire-und-openvpn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bash &#124; History aufwerten</title>
		<link>http://controlc.de/2010/03/14/bash-history-aufwerten/</link>
		<comments>http://controlc.de/2010/03/14/bash-history-aufwerten/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 09:00:52 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[allgemeine IT]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[.bash_profile]]></category>
		<category><![CDATA[.profile]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=614</guid>
		<description><![CDATA[Wenn man öfter auf der Kommandozeile arbeitet lernt man die History-Funktion zu schätzen. Hier eine lose Aufstellung einiger Möglichkeiten, wie man die History-Funktion noch weiter aufbohren und an seine Bedürfnisse anpassen kann. Update: Aufgrund von weiteren Recherchen und des Kommentars auf macfidelity habe ich diesen Artikel noch einmal überarbeitet und weitere Informationen hinzugefügt. Einleitung Die [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://controlc.de/wp-content/uploads/2009/06/bash-history-terminal.png" class="floatbox" rev="group:614 caption:`bash-history-terminal`"><img class="aligncenter size-full wp-image-1581" title="bash-history-terminal" src="http://controlc.de/wp-content/uploads/2009/06/bash-history-terminal.png" alt="" width="200" height="178" /></a></p>
	<p>Wenn man öfter auf der Kommandozeile arbeitet lernt man die History-Funktion zu schätzen. Hier eine lose Aufstellung einiger Möglichkeiten, wie man die History-Funktion noch weiter aufbohren und an seine Bedürfnisse anpassen kann.<br />
<strong>Update:</strong> <em>Aufgrund von weiteren Recherchen und des <a href="http://macfidelity.de/2010/03/11/randnotiz-tweaking-terminal-history/#comment-14527">Kommentars</a> auf <a href="http://macfidelity.de">macfidelity</a> habe ich diesen Artikel noch einmal überarbeitet und weitere Informationen hinzugefügt.</em><br />
<span id="more-614"></span></p>
	<h3>Einleitung</h3>
	<p>Die History ist eine eingebaute Funktion in dem Befehlsinterpreter <a href="http://www.gnu.org/software/bash/">bash</a> — der Standardshell inzwischen vieler *nixe bzw. *BSDs, so auch von Mac OS X. Die History hat eingebaute Befehle, die man wunderbar im <a href="http://www.gnu.org/software/bash/manual/bashref.html#Bash-Builtins">Handbuch von Bash</a> nachlesen kann, oder in Kürze erklärt bei <a href="http://macfidelity.de/2010/03/11/randnotiz-tweaking-terminal-history/">macfidelity</a> findet. Das Grundverhalten der History kann man, wie auch ziemlich vieler anderer Funktionen, in den Profil-Dateien der bash definieren. Dazu möchte ich auf den Artikel <a href="http://controlc.de/2010/03/12/bash-shell-einrichten/">Bash-Shell einrichten</a> verweisen.</p>
	<h3>History von mehreren parallel laufenden Terminalsessions sichern</h3>
	<p>Oft genug hat man mehrere Terminalsessions zu einem Host offen um sich z.B. in der einen Session das Logfile anzuschauen, während man in anderen Session einen Befehl ausführt. Beim Beenden der Session wird aber nur eine History gespeichert. Um immer hinzuzufügen führt man folgenden Befehl aus</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">shopt</span> <span style="color: #660033;">-s</span> histappend</pre></div></div>

	<h3>History sofort speichern</h3>
	<p>Die History einer Sesion wird immer erst beim Beenden einer Session in die Datei .bash_history gespeichert. Um bei parallelen Terminalsessions auf die Befehle zuzugreifen, die gerade erst in einer anderen Session getätigt wurden, kann man mit der Umgebungsvariablen</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PROMPT_COMMAND</span>=<span style="color: #ff0000;">'history -a'</span></pre></div></div>

	<p>die Shell dazu zwingen bei jedem Generieren eines neuen Prompts (als einer Befehlseingabezeile) die History zu schreiben.</p>
	<h3>History mit Timestamp</h3>
	<p>Um im Historyfile sich pro Befehl auch einen Timestamp hinzufügen zu lassen gibt man folgendes ein:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HISTTIMEFORMAT</span>=<span style="color: #ff0000;">'%a %T '</span></pre></div></div>

	<p>Die Variablen dafür kann man sich von <a href="http://php.net/manual/de/function.strftime.php">strftime</a> abschauen.</p>
	<h3>Größe des History-Speichers in der Datei</h3>
	<p>Wie viele Zeile die History-Datei speichern kann weiß ich zwar nicht genau (ich denke aber das es 500 Zeilen sind), aber vergrößern kann man ihn mit</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HISTFILESIZE</span>=<span style="color: #000000;">1000</span></pre></div></div>

	<p>oder aber man schaltet gleich die Größenbeschränkung aus:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">unset</span> HISTFILESIZE</pre></div></div>

	<p>Mit der Variable</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HISTSIZE</span>=<span style="color: #000000;">500</span></pre></div></div>

	<p>kann man definieren, wie viele Zeilen maximal beim Beenden einer Terminalsession in die History-Datei geschrieben werden.</p>
	<h3>Ignorieren von Befehlen</h3>
	<p>Alle eingegebenen Befehle werden in die History gespeichert. Dieses Verhalten kann man etwas einschränken, indem man Befehle, welche mit einem Leerzeichen anfangen nicht in die History aufnehmen läßt</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HISTCONTROL</span>=ignorespace</pre></div></div>

	<p>So kann man auch bewußt Befehle nicht in die History schreiben lassen, wenn man z.B. statt »<em>ls«</em> einfach «<em> ls</em>« eingibt.</p>
	<h3>Keine Duplikate in die History</h3>
	<p>Wie oben schon beschrieben werden alle Befehle in die History aufgenommen, auch die, die mehrfach eingegeben wurden. Möchte man das nicht</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HISTCONTROL</span>=ignoredups</pre></div></div>

	<p>Möchte man weder Duplikate, noch die mit einem Leerzeichen am Anfang, so gibt man folgendes ein</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HISTCONTROL</span>=ignoreboth</pre></div></div>

	<h3>Spezielle Zeilen von der History ausschließen</h3>
	<p>Wenn die Variable HISTCONTROL nicht gesetzt ist, kann man auch selbst entscheiden, welche Zeilen nicht in die History aufgenommen werden sollen. Dies geschieht durch die Variable HISTIGNORE, welche mit Doppelpunkten getrennt</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HISTIGNORE</span>=<span style="color: #ff0000;">'cat*:cd*:vi*:ls*'</span></pre></div></div>

	<p>Damit werden alle Zeilen, die mit <em>cat</em>, <em>cd</em> oder<em> vi</em> oder<em> ls</em> beginnen, nicht in der History gespeichert. Es bietet sich auch an hier alle selbst definierten Aliase anzugeben. Da theoretisch hier mit regulären Ausdrücken gearbeitet werden kann, stehen der Phantasie alle Möglichkeiten offen.</p>
	<h3>Fragen über Fragen</h3>
	<p><em>Kennt Ihr noch mehr Befehle um die History zu »pimpen«? <span style="text-decoration: line-through;">Ich kann mich daran erinnern, das es einen Befehl gab, mit dem man automatisch gleich nach jedem Return den Befehl in die History schreiben lassen kann — aber wie hies der nur?</span></em>
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2010/03/14/bash-history-aufwerten/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>mac &#124; Apple Mail und das Füttern von Spamassassin mit Spammails</title>
		<link>http://controlc.de/2010/01/30/mac-apple-mail-und-das-futtern-mit-spammails-an-spamassassin/</link>
		<comments>http://controlc.de/2010/01/30/mac-apple-mail-und-das-futtern-mit-spammails-an-spamassassin/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 11:44:32 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[amavis]]></category>
		<category><![CDATA[apple mail]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[sa-learn]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[spamassassin]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1394</guid>
		<description><![CDATA[Ich betreibe meinen eigenen kleinen Mail-Server, auf dem auch eine Filterung nach Spams und Viren mit den OpenSource-Produkten amavisd-new und spamassassin stattfindet. Trotz alledem rutscht die eine oder andere Mail durch, was mich natürlich dazu animiert, meiner Filterkombination diese Mails noch einmal explizit als Spam vorzuwerfen, damit diese dazulernen kann. Ich möchte zeigen, wie einfach [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://controlc.de/wp-content/uploads/2010/01/SpamInACan.jpg" class="floatbox" rev="group:1394 caption:`SpamInACan`"><img class="aligncenter size-medium wp-image-1406" title="SpamInACan" src="http://controlc.de/wp-content/uploads/2010/01/SpamInACan-294x300.jpg" alt="" width="294" height="300" /></a></p>
	<p>Ich betreibe meinen eigenen kleinen Mail-Server, auf dem auch eine Filterung nach Spams und Viren mit den OpenSource-Produkten <a href="http://www.ijs.si/software/amavisd/">amavisd-new</a> und <a href="http://spamassassin.apache.org/">spamassassin</a> stattfindet. Trotz alledem rutscht die eine oder andere Mail durch, was mich natürlich dazu animiert, meiner Filterkombination diese Mails noch einmal explizit als Spam vorzuwerfen, damit diese dazulernen kann. Ich möchte zeigen, wie einfach man das mit Apple Mail machen kann.</p>
	<p><span id="more-1394"></span></p>
	<p>In meinem Postfach habe ich mir einen Ordner (keine Ahnung, warum das bei Apple Mail Mailbox bzw. Postfach heißt) <em>Spam</em> erstellt, dort werden alle unerkannten Spammails hinverschoben.</p>
	<p style="text-align: left;"><a href="http://controlc.de/wp-content/uploads/2010/01/Mail.app-Spamordner.png" class="floatbox" rev="group:1394 caption:`Mail.app - Spamordner`"><img class="size-medium wp-image-1398 aligncenter" title="Mail.app - Spamordner" src="http://controlc.de/wp-content/uploads/2010/01/Mail.app-Spamordner-300x140.png" alt="" width="300" height="140" /></a>Dieser Ordner wird nun mit einem Rechtsklick/Archivieren … bzw. über das Menü Postfach/Archivieren … ins Dateisystem exportiert</p>
	<p style="text-align: left;"><a href="http://controlc.de/wp-content/uploads/2010/01/Mail.app-Ordner-archivieren.png" class="floatbox" rev="group:1394 caption:`Mail.app - Ordner archivieren`"><img class="aligncenter size-medium wp-image-1399" title="Mail.app - Ordner archivieren" src="http://controlc.de/wp-content/uploads/2010/01/Mail.app-Ordner-archivieren-300x173.png" alt="" width="300" height="173" /></a></p>
	<p style="text-align: left;">Der Einfachheit halber lass ich mir den auf den Desktop legen. Im Dateisystem sieht das dann so aus</p>
	<p style="text-align: left;"><a href="http://controlc.de/wp-content/uploads/2010/01/Spam.mbox-Ordner.png" class="floatbox" rev="group:1394 caption:`Spam.mbox Ordner`"><img class="aligncenter size-full wp-image-1400" title="Spam.mbox Ordner" src="http://controlc.de/wp-content/uploads/2010/01/Spam.mbox-Ordner.png" alt="" width="91" height="88" /></a></p>
	<p style="text-align: left;"><a href="http://controlc.de/wp-content/uploads/2010/01/Spam.mbox-Ordner.png" class="floatbox" rev="group:1394"></a>Eigentlich ist es ein Ordner mit weiteren Dateien bzw. Ordnern drin, MacOSX zeigt das aber vereinfacht als eine Datei an. Dieses Datei/Ordner-Konstrukt wird nun auf den Mail-Server übertragen — ich verwende dazu Cyberduck.</p>
	<p style="text-align: left;">Anschließend öffnet man eine Terminalsession zu Mail-Server wechselt in das Verzeichnis, in das der Spam-Ordner kopiert wurde und verändert zuerst einmal die Zugriffsrechte des Ordners</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #660033;">-R</span> <span style="color: #000000;">777</span> Spam.mbox<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

	<p>Anschließend wechselt man den Benutzer, da nur der Benutzer den Spam lernen kann, der auch für die Filterung zuständig ist. Bei mir heißt der Benutzer <em>amavis</em></p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">su</span> amavis</pre></div></div>

	<p>Nun kann man den Lernprozeß anstoßen</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">sa-learn <span style="color: #660033;">--spam</span> <span style="color: #660033;">--mbox</span> Spam.mbox<span style="color: #000000; font-weight: bold;">/</span>mbox</pre></div></div>

	<p>Und erhält anschließend die Nachricht</p>
	<p style="text-align: center;"><em><a href="http://controlc.de/wp-content/uploads/2010/01/Learned-tokens-from-24-messages-24-messages-examined.png" class="floatbox" rev="group:1394 caption:`Learned tokens from 24 message(s) (24 message(s) examined)`"><img class="size-medium wp-image-1404 aligncenter" title="Learned tokens from 24 message(s) (24 message(s) examined)" src="http://controlc.de/wp-content/uploads/2010/01/Learned-tokens-from-24-messages-24-messages-examined-300x23.png" alt="" width="300" height="23" /></a></em></p>
	<p>Man kann den ganzen Export und Transferprozess auch mit einem Service automatisieren — dazu war ich bisher aber schlichtweg zu faul <img src='http://controlc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
	<p><strong>Wie geht es Euch? Habt Ihr einen Spamfilter? Wenn ja, wie füttert Ihr ihn mit nicht erkannten Spammails?</strong>
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2010/01/30/mac-apple-mail-und-das-futtern-mit-spammails-an-spamassassin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>openwrt &#124; Kompilierungsumgebung aktualisieren</title>
		<link>http://controlc.de/2010/01/26/openwrt-kompilierungsumgebung-aktualisieren/</link>
		<comments>http://controlc.de/2010/01/26/openwrt-kompilierungsumgebung-aktualisieren/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 09:57:21 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[openwrt]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[luci]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1371</guid>
		<description><![CDATA[Nachdem ich, wie in dem Artikel OpenWRT und eigenes Image bauen beschrieben, meine Kompilierungsumgebung für OpenWRT gebaut und mein erstes eigenes Image für meinen Router kompiliert habe, möchte ich jetzt zeigen, wie man sich ein neueres Image kompilieren kann. OpenWRT wird ständig weiterentwickelt — Fehler werden ausgemerzt, neue Funktionen werden eingebaut. Der Quellcode, gerade in [...]]]></description>
			<content:encoded><![CDATA[	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2010/01/OpenWRT-make.png" class="floatbox" rev="group:1371 caption:`OpenWRT- make`"><img class="aligncenter size-full wp-image-1377" title="OpenWRT- make" src="http://controlc.de/wp-content/uploads/2010/01/OpenWRT-make.png" alt="" width="485" height="284" /></a></p>
	<p>Nachdem ich, wie in dem Artikel <a href="http://controlc.de/2009/09/26/debian-openwrt-und-eigenes-image-bauen/">OpenWRT und eigenes Image bauen</a> beschrieben, meine Kompilierungsumgebung für OpenWRT gebaut und mein erstes eigenes Image für meinen Router kompiliert habe, möchte ich jetzt zeigen, wie man sich ein neueres Image kompilieren kann.</p>
	<p>OpenWRT wird ständig weiterentwickelt — Fehler werden ausgemerzt, neue Funktionen werden eingebaut. Der Quellcode, gerade in dem Trunk-Zweig, ist also in ständiger Veränderung. Es verändert sich, neben den einzelnen Paketen von OpenWRT und LuCI auch das Basissystem andauernd. Wenn man also ein neues Image erstellen will, ist es angeraten immer die neuesten Entwicklungen einzuspielen. Es kann natürlich, davor sei hier gewarnt, sein, das bestimmte Dinge nicht funktionieren — eben aufgrund der ständigen Arbeiten am Quellcode. Wenn man aber die neuesten Entwicklungen haben möchte, muss man dies bewusst in Kauf nehmen.<br />
<span id="more-1371"></span><br />
Nun aber zu den Abläufen. Zuerst wechseln wir (das Ganze als Nicht-Root-User) in das Verzeichnis, indem OpenWRT liegt</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> openwrt</pre></div></div>

	<p>Anschließend aktualisieren wir das Basissystem</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">svn</span> up</pre></div></div>

	<p>um danach die Paketliste zu aktualisieren</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>feeds update</pre></div></div>

	<p>und schließlich  die aktualisierten Pakete zu installieren</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>feeds <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #660033;">-a</span> <span style="color: #660033;">-p</span></pre></div></div>

	<p>Und schon kann man sich mit einem</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">V</span>=<span style="color: #000000;">99</span></pre></div></div>

	<p>ein neues Image bauen oder aber mit</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> menuconfig <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">V</span>=<span style="color: #000000;">99</span></pre></div></div>

	<p>die bestehende Konfiguration verändern und anschließend neu bauen lassen.
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2010/01/26/openwrt-kompilierungsumgebung-aktualisieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bash &#124; Zeilen in Dateien löschen</title>
		<link>http://controlc.de/2010/01/25/bash-zeilen-in-dateien-loschen/</link>
		<comments>http://controlc.de/2010/01/25/bash-zeilen-in-dateien-loschen/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 12:59:49 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[openwrt]]></category>
		<category><![CDATA[edit]]></category>
		<category><![CDATA[host key]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[known_hosts]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[vi]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1316</guid>
		<description><![CDATA[Wer kennt das nicht? Da experimentiert man mit virtuellen Maschinen rum und jedes Mal wenn man eine VM neu installiert bekommt man die obige Fehlermeldung. Bisher habe ich mit vi in der  Datei ~/.ssh/known_hosts die entsprechende Zeile gelöscht. Mit folgender Befehls-Zeile sed -i -e 10d ~/.ssh/known_hosts kann man schnell die Zeile 10 der entsprechenden Datei [...]]]></description>
			<content:encoded><![CDATA[	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2010/01/REMOTE-HOST-IDENTIFICATION-HAS-CHANGED.png" class="floatbox" rev="group:1316 caption:`REMOTE HOST IDENTIFICATION HAS CHANGED!`"><img class="aligncenter size-full wp-image-1353" title="REMOTE HOST IDENTIFICATION HAS CHANGED!" src="http://controlc.de/wp-content/uploads/2010/01/REMOTE-HOST-IDENTIFICATION-HAS-CHANGED.png" alt="" width="474" height="164" /></a></p>
	<p>Wer kennt das nicht? Da experimentiert man mit virtuellen Maschinen rum und jedes Mal wenn man eine VM neu installiert bekommt man die obige Fehlermeldung. Bisher habe ich mit <strong>vi</strong> in der  Datei <em>~/.ssh/known_hosts</em> die entsprechende Zeile gelöscht.</p>
	<p>Mit folgender Befehls-Zeile</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-i</span> <span style="color: #660033;">-e</span> 10d ~<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>known_hosts</pre></div></div>

	<p>kann man schnell die Zeile 10 der entsprechenden Datei löschen.
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2010/01/25/bash-zeilen-in-dateien-loschen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>openwrt &#124; OpenVPN mit Weboberfläche unter OpenWRT</title>
		<link>http://controlc.de/2010/01/24/openwrt-openvpn-mit-weboberflache-unter-openwrt/</link>
		<comments>http://controlc.de/2010/01/24/openwrt-openvpn-mit-weboberflache-unter-openwrt/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 21:00:57 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[netzwerk]]></category>
		<category><![CDATA[openwrt]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[kamikaze]]></category>
		<category><![CDATA[luci]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[trunk]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1115</guid>
		<description><![CDATA[Wie ich schon hier und hier geschrieben habe, nutze ich auf meinem Router OpenWRT. Hauptziel meiner anderen Artikel war, aufzuzeigen, wie man sich ein eigenes Image für den Router bauen kann. In diesem Artikel möchte ich nun zeigen, wie man sich ein OpenWRT Image bauen kann mit dem man OpenVPN über eine Weboberfläche konfigurieren und [...]]]></description>
			<content:encoded><![CDATA[	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2010/01/OpenWrt-OpenVPN-LuCI1.png" class="floatbox" rev="group:1115 caption:`OpenWrt - OpenVPN - LuCI1`"><img class="aligncenter size-full wp-image-1336" title="OpenWrt - OpenVPN - LuCI1" src="http://controlc.de/wp-content/uploads/2010/01/OpenWrt-OpenVPN-LuCI1.png" alt="" width="540" height="314" /></a></p>
	<p>Wie ich schon <a href="http://controlc.de/2009/09/26/debian-openwrt-und-eigenes-image-bauen/">hier</a> und <a href="http://controlc.de/2010/01/20/openwrt-openwrt-als-vm/">hier</a> geschrieben habe, nutze ich auf meinem Router OpenWRT. Hauptziel meiner anderen Artikel war, aufzuzeigen, wie man sich ein eigenes Image für den Router bauen kann. In diesem Artikel möchte ich nun zeigen, wie man sich ein OpenWRT Image bauen kann mit dem man OpenVPN über eine Weboberfläche konfigurieren und steuern kann.</p>
	<p><span id="more-1115"></span>Auf dem Host-System, auf dem man das Image kompiliert, muss man nach</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> menuconfig</pre></div></div>

	<p>zuerst das richtige Paket installieren</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/12/OpenWRT-make-menuconfig-LuCI.png" class="floatbox" rev="group:1115 caption:`OpenWRT - make menuconfig - LuCI`"><img class="aligncenter size-medium wp-image-1305" title="OpenWRT - make menuconfig - LuCI" src="http://controlc.de/wp-content/uploads/2009/12/OpenWRT-make-menuconfig-LuCI-300x250.png" alt="" width="300" height="250" /></a><a href="http://controlc.de/wp-content/uploads/2009/12/OpenWRT-make-menuconfig-LuCI-components.png" class="floatbox" rev="group:1115 caption:`OpenWRT - make menuconfig - LuCI components`"><img class="aligncenter size-medium wp-image-1308" title="OpenWRT - make menuconfig - LuCI components" src="http://controlc.de/wp-content/uploads/2009/12/OpenWRT-make-menuconfig-LuCI-components-300x258.png" alt="" width="300" height="258" /></a><a href="http://controlc.de/wp-content/uploads/2009/12/OpenWRT-make-menuconfig-LuCI-OpenVPN.png" class="floatbox" rev="group:1115 caption:`OpenWRT - make menuconfig - LuCI OpenVPN`"><img class="aligncenter size-medium wp-image-1309" title="OpenWRT - make menuconfig - LuCI OpenVPN" src="http://controlc.de/wp-content/uploads/2009/12/OpenWRT-make-menuconfig-LuCI-OpenVPN-300x253.png" alt="" width="300" height="253" /></a>Nach dem das Image wie in dem Artikel <a href="http://controlc.de/2009/09/26/debian-openwrt-und-eigenes-image-bauen/">OpenWRT und eigenes Image bauen</a> kompiliert ist und das Image auf dem Router installiert wurde, kann man über die Weboberfläche auf den Router zugreifen.</p>
	<p>Im Administrations-Menü unter <em>Services</em> findet man den Menüpunkt <em>openvpn</em>.</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/12/OpenWRT-LuCI-OpenVPN.png" class="floatbox" rev="group:1115 caption:`OpenWRT - LuCI OpenVPN`"><img class="aligncenter size-medium wp-image-1310" title="OpenWRT - LuCI OpenVPN" src="http://controlc.de/wp-content/uploads/2009/12/OpenWRT-LuCI-OpenVPN-300x161.png" alt="" width="300" height="161" /></a>Ich denke, die Weboberfläche ist selbsterklärend und werde deswegen nicht näher darauf eingehen. Hier kann man die Konfiguration seines VPN-Tunnels vornehmen — egal ob der Router als VPN-Server oder VPN-Client fungieren soll. Nachdem man seine OpenVPN Konfiguration zusammengestellt hat und den VPN Tunnel aufbaut, wird man feststellen, das es noch nicht richtig funktioniert. Es fehlen noch einige kleine Details, damit man auf das hinter dem OpenVPN-Router liegende Netzwerk zugreifen kann, da zur Zeit die Firewall das VPN-Netz noch nicht kennt.</p>
	<p>Zuerst muss ein neues Netzwerk-Interface für den VPN-Tunnel angelegt werden:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">uci <span style="color: #000000; font-weight: bold;">set</span> network.vpn=interface
uci <span style="color: #000000; font-weight: bold;">set</span> network.vpn.proto=none
uci <span style="color: #000000; font-weight: bold;">set</span> network.vpn.auto=<span style="color: #000000;">1</span>
uci <span style="color: #000000; font-weight: bold;">set</span> network.vpn.ifname=tun0
uci commit network</pre></div></div>

	<p>Anschließend eine neue Firewall Zone eingerichtet:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">uci add firewall zone
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>zone<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.name=vpn
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>zone<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.forward=ACCEPT
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>zone<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.input=ACCEPT
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>zone<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.output=ACCEPT
uci commit</pre></div></div>

	<p>Und abschließend wird definiert, zwischen welchen Firewall Zonen überhaupt Traffic fließen darf.</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">uci add firewall forwarding
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>forwarding<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.dest=vpn
uci <span style="color: #000000; font-weight: bold;">set</span> firewall.<span style="color: #000000; font-weight: bold;">@</span>forwarding<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>.src=lan
uci commit</pre></div></div>

	<p>Wer mehr darüber erfahren will, was man mit UCI alles anstellen kann, den kann ich nur auf die <a href="http://dev.luci.cyranjo.org/docsrv/index.xml">Befehlsreferenz </a>verweisen.</p>
	<p>Nun fehlen nur noch die Firewall-Einträge</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-A</span> input_rule <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-A</span> forwarding_rule <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-A</span> forwarding_rule <span style="color: #660033;">-o</span> tun+ <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-A</span> output_rule <span style="color: #660033;">-o</span> tun+ <span style="color: #660033;">-j</span> ACCEPT</pre></div></div>

	<p>dies alles in die Datei <em>/etc/firewall.user</em> eingetragen und schon funktioniert der VPN-Tunnel wie er soll.</p>
	<p><strong>Konntet Ihr das nachvollziehen? Was ist möglicherweise noch unklar? Habt Ihr Verbesserungsvorschläge? Dann nutzt bitte die Kommentarfunktion.</strong>
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2010/01/24/openwrt-openvpn-mit-weboberflache-unter-openwrt/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>openwrt &#124; OpenWRT als VM</title>
		<link>http://controlc.de/2010/01/20/openwrt-openwrt-als-vm/</link>
		<comments>http://controlc.de/2010/01/20/openwrt-openwrt-als-vm/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 19:57:34 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[netzwerk]]></category>
		<category><![CDATA[openwrt]]></category>
		<category><![CDATA[aptitude]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[kamikaze]]></category>
		<category><![CDATA[luci]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[qemu]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[trunk]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[vmware fusion]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1173</guid>
		<description><![CDATA[Wie ich schon geschrieben hatte, bin ich ein Fan des OpenWRT-Projektes. Um die Neuerungen schneller nutzen zu können, wie zum Beispiel die Weboberfläche für OpenVPN, kompiliere ich mir in unregelmäßigen Abständen selbst eine neue Firmware um diese auf meinen ASUS-Router auszuprobieren. Ich habe aber leider nur den einen Router und mit dem Flashen und anschließendem [...]]]></description>
			<content:encoded><![CDATA[	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2010/01/OpenWRT-als-Virtuelle-Maschine.png" class="floatbox" rev="group:1173 caption:`OpenWRT als Virtuelle Maschine`"><img class="aligncenter size-full wp-image-1223" title="OpenWRT als Virtuelle Maschine" src="http://controlc.de/wp-content/uploads/2010/01/OpenWRT-als-Virtuelle-Maschine.png" alt="" width="512" height="382" /></a></p>
	<p>Wie ich schon <a href="http://controlc.de/2009/09/26/debian-openwrt-und-eigenes-image-bauen/">geschrieben</a> hatte, bin ich ein Fan des <a href="http://www.openwrt.org/">OpenWRT-Projektes</a>. Um die Neuerungen schneller nutzen zu können, wie zum Beispiel die Weboberfläche für <a href="http://www.openvpn.net/">OpenVPN</a>, kompiliere ich mir in unregelmäßigen Abständen selbst eine neue Firmware um diese auf meinen <a href="http://de.asus.com/products.aspx?l1=29&amp;l2=172&amp;l3=743&amp;l4=59&amp;model=1121&amp;modelmenu=1">ASUS-Router </a>auszuprobieren. Ich habe aber leider nur den einen Router und mit dem Flashen und anschließendem Neukonfigurieren ist natürlich auch meine Internetleitung tot. Da man OpenWRT nicht nur auf kleinen Hardware-Routern sondern z.B. auch auf x86-Plattformen laufen lassen kann, probiere ich gerade mal aus was man machen muss um OpenWRT als virtuelle Maschine laufen zu lassen.<span id="more-1173"></span></p>
	<p>Zuerst muss man auf der Maschine, die die Firmware kompiliert, neben den schon beschrieben Voraussetzungen noch die Programme nachinstallieren, die nach der fertigen Kompilierung der Pakete diese als fertiges VM-Image zusammenbauen. Es gibt folgende Image-Versionen, die gebaut werden können:</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/01/OpenWRT-make-menuconfig-VDI-oder-VMDK.png" class="floatbox" rev="group:1173 caption:`OpenWRT - make menuconfig - VDI oder VMDK`"><img class="aligncenter size-full wp-image-1221" title="OpenWRT - make menuconfig - VDI oder VMDK" src="http://controlc.de/wp-content/uploads/2010/01/OpenWRT-make-menuconfig-VDI-oder-VMDK.png" alt="" width="474" height="34" /></a></p>
	<p>Soll das fertige Image in <a href="http://www.virtualbox.org/">VirtualBox</a> laufen, dann muss folgendes gemacht werden:</p>
	<p>Neue Quelle für APT/Aptitude</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;deb http://download.virtualbox.org/virtualbox/debian lenny non-free&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #000000; font-weight: bold;">/</span>sources.list</pre></div></div>

	<p>Herunterladen des public keys</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-q</span> http:<span style="color: #000000; font-weight: bold;">//</span>download.virtualbox.org<span style="color: #000000; font-weight: bold;">/</span>virtualbox<span style="color: #000000; font-weight: bold;">/</span>debian<span style="color: #000000; font-weight: bold;">/</span>sun_vbox.asc <span style="color: #660033;">-O-</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">apt-key</span> add -</pre></div></div>

	<p>Aktualisieren der Paketliste</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> update</pre></div></div>

	<p>Installieren von VirtualBox</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> virtualbox</pre></div></div>

	<p><strong>Aber Achtung: Bei einem frischen Debian Lenny wurden 171MB heruntergeladen, da viele zusätzliche Pakete benötigt wurden. </strong></p>
	<p>Soll das spätere Image unter <a href="http://www.vmware.com/de/">VMware</a> laufen dann muss <a href="http://www.qemu.org/about.html">Qemu</a> installiert werden:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> qemu</pre></div></div>

	<p>Nun kann mit</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> menuconfig</pre></div></div>

	<p>sich wie gewünscht das Firmware Image zusammenbauen.</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/01/OpenWRT-make-menuconfig-Menue.png" class="floatbox" rev="group:1173 caption:`OpenWRT - make menuconfig - Menue`"><img class="aligncenter size-medium wp-image-1231" title="OpenWRT - make menuconfig - Menue" src="http://controlc.de/wp-content/uploads/2010/01/OpenWRT-make-menuconfig-Menue-238x300.png" alt="" width="238" height="300" /></a>Am Besten arbeitet man sich von oben nach unten.</p>
	<p>Als <em>target system</em> wählt man <em>x86</em> aus, <em>subtarget</em> und <em>target profile</em> bleiben auf <em>Generic</em>. Bei <em>target images</em> muss man sich entscheiden, wofür man das Image braucht: VMware oder VirtualBox.</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/01/OpenWRT-make-menuconfig-Target-Images.png" class="floatbox" rev="group:1173 caption:`OpenWRT - make menuconfig - Target Images`"><img class="aligncenter size-medium wp-image-1232" title="OpenWRT - make menuconfig - Target Images" src="http://controlc.de/wp-content/uploads/2010/01/OpenWRT-make-menuconfig-Target-Images-234x300.png" alt="" width="234" height="300" /></a></p>
	<p>Anschließend müssen noch die OpenWRT-Pakete ausgewählt und beim Beenden des Programms die Konfiguration gespeichert werden. Danach</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span></pre></div></div>

	<p>ausgeführt. Nach einer langen Zeit liegt im Unterverzeichnis <em>bin</em> eine Verzeichnis mit dem x86-Image. Dieses Image kann man sich auf seinen Rechner kopieren. Wie man eine virtuelle Maschine für OpenWRT zu erstellt möchte ich am Beispiel von VMware Fusion zeigen.</p>
	<p>Mit dem Erstellen einer neuen VM öffnet sich der Assistent</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-1.png" class="floatbox" rev="group:1173 caption:`VMware Fusion - OpenWRT - 1`"><img class="aligncenter size-medium wp-image-1239" title="VMware Fusion - OpenWRT - 1" src="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-1-300x227.png" alt="" width="300" height="227" /></a>Mit dem Fortfahren »Ohne Datenträger« öffnet sich eine Dialog zur Auswahl des gerade kompilierten Images</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-2.png" class="floatbox" rev="group:1173 caption:`VMware Fusion - OpenWRT - 2`"><img class="aligncenter size-medium wp-image-1240" title="VMware Fusion - OpenWRT - 2" src="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-2-300x231.png" alt="" width="300" height="231" /></a>Als Nächstes gibt man das zu installierende Betriebssystem an</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-3.png" class="floatbox" rev="group:1173 caption:`VMware Fusion - OpenWRT - 3`"><img class="aligncenter size-medium wp-image-1241" title="VMware Fusion - OpenWRT - 3" src="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-3-300x231.png" alt="" width="300" height="231" /></a>Anschließend kann man die Einstellungen der VM noch anpassen.</p>
	<h4>RAM</h4>
	<p>allzu viel RAM braucht OpenWRT nicht und man möchte es ja so reel wie möglich machen.</p>
	<h4><a href="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-5.png" class="floatbox" rev="group:1173 caption:`VMware Fusion - OpenWRT - 5`"><img class="aligncenter size-medium wp-image-1243" title="VMware Fusion - OpenWRT - 5" src="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-5-300x194.png" alt="" width="300" height="194" /></a>Netzwerkkarten</h4>
	<p>Hier kommt es auf die Reihenfolge an, da OpenWRT die erste Netzwerkkarte als <em>eth0</em> für LAN und die zweite als <em>eth1</em> für WAN nimmt.</p>
	<p style="text-align: left;"><a href="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-Network.png" class="floatbox" rev="group:1173"></a><a href="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-6.png" class="floatbox" rev="group:1173 caption:`VMware Fusion - OpenWRT - 6`"><img class="size-medium wp-image-1244 aligncenter" title="VMware Fusion - OpenWRT - 6" src="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-6-300x209.png" alt="" width="300" height="209" /></a>Je nach Reihenfolge sieht die Zuordnung wie folgt aus:</p>
	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-Netzwerkkarten-und-Zuordnung-1.png" class="floatbox" rev="group:1173 caption:`VMware Fusion - Netzwerkkarten und Zuordnung 1`"><img class="alignnone size-medium wp-image-1280" title="VMware Fusion - Netzwerkkarten und Zuordnung 1" src="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-Netzwerkkarten-und-Zuordnung-1-288x300.png" alt="" width="259" height="270" /></a><a href="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-Netzwerkkarten-und-Zuordnung-2.png" class="floatbox" rev="group:1173 caption:`VMware Fusion - Netzwerkkarten und Zuordnung 2`"><img class="alignnone size-medium wp-image-1281" title="VMware Fusion - Netzwerkkarten und Zuordnung 2" src="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-Netzwerkkarten-und-Zuordnung-2-287x300.png" alt="" width="258" height="270" /></a></p>
	<p>Meine VM sieht abschließend so aus</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-7.png" class="floatbox" rev="group:1173 caption:`VMware Fusion - OpenWRT - 7`"><img class="aligncenter size-medium wp-image-1245" title="VMware Fusion - OpenWRT - 7" src="http://controlc.de/wp-content/uploads/2010/01/VMware-Fusion-OpenWRT-7-300x170.png" alt="" width="300" height="170" /></a>Nun kann man die VM das erste Mal starten.</p>
	<p>Nun muss zuerst die Netzwerkkonfiguration vorgenommen werden:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">uci delete network.lan.ipaddr
&nbsp;
uci delete network.lan.netmask
&nbsp;
uci <span style="color: #000000; font-weight: bold;">set</span> network.lan.proto=dhcp
&nbsp;
uci commit network</pre></div></div>

	<p>Nun kann man vom Host-Computer aus auf die OpenWRT-VM zugreifen.
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2010/01/20/openwrt-openwrt-als-vm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mac &#124; Kontakte aus dem Adressbuch per Bluetooth versenden</title>
		<link>http://controlc.de/2009/12/19/mac-kontakte-im-adressbuch-per-bluetooth-versenden/</link>
		<comments>http://controlc.de/2009/12/19/mac-kontakte-im-adressbuch-per-bluetooth-versenden/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 12:55:16 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[adressbuch]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[gigaset]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[siemens]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1086</guid>
		<description><![CDATA[Das Festnetztelefon (ein altes Siemens Gigaset 4000 Comfort) hat nach nunmehr sechs Jahren den Geist aufgegeben und es wurde Zeit etwas Neues zu kaufen. Auf der Suche nach einem vernünftigen DECT-Telefon bin ich wieder bei der Firma Gigaset (Siemens hat seine Telefonsparte vor Jahren verkauft) gelandet. Die Grund-Anforderungen waren recht einfach: Schnurlos, mit AB,  so [...]]]></description>
			<content:encoded><![CDATA[	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2009/12/BluetoothFileExchange.png" class="floatbox" rev="group:1086 caption:`Bluetooth File Exchange`"><img class="aligncenter size-medium wp-image-1087" title="Bluetooth File Exchange" src="http://controlc.de/wp-content/uploads/2009/12/BluetoothFileExchange-300x300.png" alt="Bluetooth File Exchange" width="192" height="192" /></a></p>
	<p>Das Festnetztelefon (ein altes <a href="http://gigaset.com/shc/0,1935,de_de_0_15627_rArNrNrNrN_pageType%253Amanuals,00.html">Siemens Gigaset 4000 Comfort</a>) hat nach nunmehr sechs Jahren den Geist aufgegeben und es wurde Zeit etwas Neues zu kaufen. Auf der Suche nach einem vernünftigen <a href="http://de.wikipedia.org/wiki/Digital_Enhanced_Cordless_Telecommunications">DECT-Telefon</a> bin ich wieder bei der Firma Gigaset (Siemens hat seine Telefonsparte vor Jahren verkauft) gelandet. Die Grund-Anforderungen waren recht einfach: Schnurlos, mit AB,  so strahlungsarm wie möglich und schön sollte es aussehen <img src='http://controlc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<span id="more-1086"></span></p>
	<p>Nach längerer Recherche wurde das Modell <a href="http://gigaset.com/shc/0,1935,de_de_0_163949_rArNrNrNrN,00.html">SL785</a> herausgepickt — schnell online bestellt und gestern war es schon da. Ausgepackt, Angeschlossen, Eingerichtet — Funktioniert. Einfacher kann es ehrlich gesagt nicht gehen.</p>
	<p>Was ich bei unserem alten Gigaset 4000 gut fand, war die Funktion, das es eine »Namensauflösung« der Anrufer gibt, wenn diese einen Telefonbucheintrag haben. Diese Funktion gibt es jetzt auch im SL785. Jetzt stellte sich die  Frage, wie man das Telefonbuch auf das neue Mobilteil gebeamt bekommt. Schön ist es, das das SL785 Bluetooth hat — dachte ich. Also fix das Macbook angeworfen und die Bluetooth-Koppelung eingerichtet. Das funktioniert wie bei jedem anderen Gerät und ist selbsterklärend.</p>
	<p>Nun wollte ich die ersten Kontakte aus dem <em>Adressbuch</em> auf das SL785 senden. Dazu habe ich das Programm gestartet, einen Kontakt ausgewählt und mit einem Rechtsklick …</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/12/Adressbuch-Rechtsklick.png" class="floatbox" rev="group:1086 caption:`Adressbuch - Rechtsklick`"><img class="aligncenter size-medium wp-image-1088" title="Adressbuch - Rechtsklick" src="http://controlc.de/wp-content/uploads/2009/12/Adressbuch-Rechtsklick-300x220.png" alt="Adressbuch - Rechtsklick" width="300" height="220" /></a></p>
	<p>… kann ich keinen Kontakt per Bluetooth versenden?!</p>
	<p>Nachdem ich eine Weile im Netz gesucht habe, weiß ich nun, das es diese Funktion in Mac OS X Tiger wohl gegeben hat, diese aber von Apple wegrationalisiert wurde (Vielen Dank dafür!). Im <a href="http://discussions.apple.com/message.jspa?messageID=5772813#5772813">Apple Support Forum</a> habe ich dann aber zum Glück die Lösung gefunden</p>
	<p>Zuerst muss das Adressbuch als VCARD exportiert werden</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/12/Adressbuch-vcard-export.png" class="floatbox" rev="group:1086 caption:`Adressbuch - vcard export`"><img class="aligncenter size-medium wp-image-1089" title="Adressbuch - vcard export" src="http://controlc.de/wp-content/uploads/2009/12/Adressbuch-vcard-export-300x128.png" alt="Adressbuch - vcard export" width="300" height="128" /></a></p>
	<p>Dann öffnet man in Diensteprogramme-Ordner das Programm <em>Bluetooth-Datenaustausch</em></p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/12/Finder-Bluetooth-Programmaustausch.png" class="floatbox" rev="group:1086 caption:`Bluetooth-Datenaustausch`"><img class="aligncenter size-full wp-image-1092" title="Bluetooth-Datenaustausch" src="http://controlc.de/wp-content/uploads/2009/12/Finder-Bluetooth-Programmaustausch.png" alt="Bluetooth-Datenaustausch" width="255" height="296" /></a>Nun kann wählt man zuerst die eben exportierte VCARD-Datei aus und anschließend das empfangende Gerät</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/12/Datei-senden-„vCards.vcf“.png"><img class="aligncenter size-medium wp-image-1091" title="Datei senden- „vCards.vcf“" src="http://controlc.de/wp-content/uploads/2009/12/Datei-senden-„vCards.vcf“-300x202.png" alt="Datei senden- „vCards.vcf“" width="300" height="202" /></a>Nachdem man das Gerät ausgewählt hat, wird die Datei übertragen. Das SL785 kann zum Glück mit Multi-VCard-Dateien umgehen und hat so für jeden Kontakt mit einer Telefonnummer einen Eintrag im Telefonbuch erstellt. Einziges Problem stellen jetzt noch die Umlaute dar. Weiß jemand wie ich die in der VCARD-Datei umwandeln kann?
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/12/19/mac-kontakte-im-adressbuch-per-bluetooth-versenden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bash &#124; Backups mit tar</title>
		<link>http://controlc.de/2009/11/22/bash-backups-mit-tar/</link>
		<comments>http://controlc.de/2009/11/22/bash-backups-mit-tar/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 11:40:58 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[allgemeine IT]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[tar]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1041</guid>
		<description><![CDATA[In einem älteren Artikel habe ich mich schon mal damit beschäftigt, wie man in *nix-basierten Betriebssystemen leicht Backups anlegen kann. Da der Bedarf bei mir wieder mal akuter wurde, haber ich mich wieder mal damit beschäftigt und möchte hier erklären, wie man was machen kann. Backup von bestimmten Dateien Häufiger möchte man, wenn man mal [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://controlc.de/wp-content/uploads/2009/11/Bash.png" class="floatbox" rev="group:1041 caption:`Bash`"><img class="aligncenter size-medium wp-image-1063" title="Bash" src="http://controlc.de/wp-content/uploads/2009/11/Bash-300x232.png" alt="Bash" width="300" height="232" /></a>In einem <a href="http://controlc.de/2009/05/20/bash-schnelles-backup-anlegen/">älteren Artikel</a> habe ich mich schon mal damit beschäftigt, wie man in *nix-basierten Betriebssystemen leicht Backups anlegen kann. Da der Bedarf bei mir wieder mal akuter wurde, haber ich mich wieder mal damit beschäftigt und möchte hier erklären, wie man was machen kann.</p>
	<h4><span id="more-1041"></span>Backup von bestimmten Dateien</h4>
	<p>Häufiger möchte man, wenn man mal schnell etwas in einer Config-Datei etwas ändert, davon fix ein Backup anlegen. Klassisch habe ich das meist schnell mit</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cp</span> DATEI.conf DATEI.conf.orig</pre></div></div>

	<p>gelöst. Was aber passiert, wenn man dann später nochmal was ändern will respektive ein neues Backup angelegt werden soll?! Wie man dieses Problem erschlägt, habe ich schon mal in <a href="http://controlc.de/2009/05/20/bash-schnelles-backup-anlegen/">diesem Artikel</a> erklärt — das war aber nur ein Schnellschuß. Das Problem dabei ist nämlich, das man ja jeweils die alten Backups nochmal mitsichert und dadurch die Backups immer größer werden. Dies kann man durch einen Exclude-Parameter von tar auschließen. Der Befehl um in einem Verzeichnis alle Dateien zu sichern lautet also</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-cz</span> <span style="color: #660033;">--no-recursion</span> <span style="color: #660033;">--exclude</span>=backup-<span style="color: #000000; font-weight: bold;">*</span>.tar.gz <span style="color: #660033;">-f</span> backup-$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>F-<span style="color: #000000; font-weight: bold;">%</span>H-<span style="color: #000000; font-weight: bold;">%</span>M<span style="color: #7a0874; font-weight: bold;">&#41;</span>.tar.gz <span style="color: #000000; font-weight: bold;">*</span></pre></div></div>

	<h4>Backup von ganzen Pfaden inkl. der Unterverzeichnisse</h4>
	<p>In einigen Fällen will man nicht nur die Dateien in einem Verzeichnis sichern sondern lieber gleich den Inhalt gesamte Verzeichnis inklusive aller Unterverzeichnisse</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-cz</span> <span style="color: #660033;">--exclude</span>=backup-<span style="color: #000000; font-weight: bold;">*</span>.tar.gz <span style="color: #660033;">-f</span> backup-$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>F-<span style="color: #000000; font-weight: bold;">%</span>H-<span style="color: #000000; font-weight: bold;">%</span>M<span style="color: #7a0874; font-weight: bold;">&#41;</span>.tar.gz .</pre></div></div>

	<h4>Backup von Dateien bzw. Pfaden, die im gesamten System verteilt sind</h4>
	<p>Und schließlich hat man den Fall, das man alle wichtigen Dateien eines Systems sichern will, die aber über das gesamte System verteilt sind. Dies erreicht man mit einer Include-Datei</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> cvzf <span style="color: #000000; font-weight: bold;">/</span>backup-$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>F-<span style="color: #000000; font-weight: bold;">%</span>T<span style="color: #7a0874; font-weight: bold;">&#41;</span>.tar.gz <span style="color: #660033;">-T</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>backup-include-dir.conf</pre></div></div>

	<p>wobei man in die Datei <em>/etc/backup-include-dir.conf</em> alle Pfade bzw. alle Dateien reinschreibt, die gesichert werden sollen. Wichtig ist dabei nur: Pro Datei/Pfad jeweils eine Zeile.</p>
	<p>Und denkt daran: Solche Befehlszeilen eignen sich wunderbar dazu als alias definiert zu werden, damit man schnell drauf zugreifen kann, wenn man es mal braucht.
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/11/22/bash-backups-mit-tar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

