<?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>blog.dennis.io &#187; linux</title>
	<atom:link href="http://blog.dennis.io/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dennis.io</link>
	<description>... geek and proud of it</description>
	<lastBuildDate>Thu, 08 Dec 2011 18:34:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>WakeOnLan beim Starten/Aufwachen</title>
		<link>http://blog.dennis.io/wakeonlan-beim-startenaufwachen/</link>
		<comments>http://blog.dennis.io/wakeonlan-beim-startenaufwachen/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 11:40:59 +0000</pubDate>
		<dc:creator>dennis</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mac osx]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[wakeonlan]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[wol]]></category>

		<guid isPermaLink="false">http://blog.kips-world.de/?p=352</guid>
		<description><![CDATA[Wir haben in unserem Netzwerk einen Rechner mit Linux der als Router, Firewall, Fileserver und ein paar andere Dinge dient. Der Rechner ist so konfiguriert, dass er ab 0.00 Uhr nachts alle 15 Minuten das lokale Netz überprüft und sich automatisch ausschaltet, sobald kein anderer PC mehr läuft. Auf Client Seite ist unser Netzwerk bunt [...]]]></description>
			<content:encoded><![CDATA[<p>Wir haben in unserem Netzwerk einen Rechner mit Linux der als Router, Firewall, Fileserver und ein paar andere Dinge dient. Der Rechner ist so konfiguriert, dass er ab 0.00 Uhr nachts alle 15 Minuten das lokale Netz überprüft und sich automatisch ausschaltet, sobald kein anderer PC mehr läuft.</p>

<p>Auf Client Seite ist unser Netzwerk bunt gemischt. Mit MacOSX, Linux und Windows sind alle nennenswerten Betriebsysteme vertreten. Nun möchten alle natürlich, dass der Router morgens anspringt sobald der eigene Rechner eine Internetverbindung benötigt. Dazu habe ich den Router so konfiguriert, dass er auf <a href="http://wiki.ubuntuusers.de/Wake_on_LAN">Wake-On-Lan Pakete</a> reagiert.</p>

<p><span id="more-352"></span>
Für MacOSX und Linux habe ich ein kleines Python Script gebastelt, dass ein <i>MagicPaket</i> sendet und so den Router aufweckt (der merkwürdig aussehende String in der letzten Zeile des Skriptes ist die Mac-Adresse des zu weckenden Rechners).</p>

<div><pre class="brush:python">
    #!/usr/bin/env python
    import socket
    s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.sendto('\xff'*6+'\x01\x40\x24\x2b\x12\xf7'*16, ('192.168.2.2', 80))
</pre></div>

<p>Unter Linux das Skript einfach <a href="http://wiki.ubuntuusers.de/Autostart">per Autostart ausführen</a>. Unter MacOSX könnte man das Skript einfach zu den Login-Items hinzufügen, um es bei jedem Anmelden auszuführen.</p>

<p><a href="http://blog.kips-world.de/wp-content/uploads/2010/06/login_items_macosx.PNG"><img src="http://blog.kips-world.de/thumb.php?file=http://blog.kips-world.de/wp-content/uploads/2010/06/login_items_macosx.PNG" alt="Login Items MacOSX" /></a></p>

<p>Allerdings habe ich unter MacOSX einen etwas anderen Usecase. Ich schalte den Rechner praktisch nie aus, sondern versetze ihn nur in den SleepModus. Deshalb muss ich das Skript immer dann ausführen, wenn der Rechner aus dem SleepModus wieder aufwacht. Dazu nutze ich das kleine Tool <a href="http://www.bernhard-baehr.de/">SleepWatcher</a>. SleepWatcher kann Skripte beim Aufwachen und Schlafengehen von MacOSX ausführen.</p>

<p>Bleibt die Windows-Dose. Auch hier hat der Usecase eine kleine Besonderheit, denn das WOL-Paket muss über WLAN gesendet werden das erst einige Sekunden nach dem Login verfügbar ist. Außerdem muss der Windows-Rechner nach dem Starten des Routers dazu gebracht werden sich vom DHCP Server eine neue IP zu holen.</p>

<p>Zum Senden des MagicPackets habe ich das kleine Tool <a href="http://www.matcode.com/wol.htm">MC-WOL</a> heruntergeladen. Dabei handelt es sich um ein Kommandozeilenprogramm, dass als Parameter einfach nur die MacAdresse des zu weckenden Rechners bekommt. Das ganze habe ich in eine Batch-Datei verpackt:</p>

<p><pre class="brush:bash">
ping localhost -n 15 > NULL
c:\mc-wol.exe 01:40:24:2b:12:f7
ping localhost -n 60 > NULL
ipconfig /renew
</pre></p>

<p>Die beiden Ping Befehle sind ein kleiner Hack. Windows Batch Dateien kennen keinen &#8220;sleep&#8221;-Befehl. Ein Ping dauert jedoch genau eine Sekunde. Wenn man nun 15mal <i>ins leere Pingt</i>, hat man effektiv einen Sleep von 15 Sekunden. Die ersten 15s warten sind zum aktivieren der WLAN-Verbindung, dann sendet die Batch das MagicPaket, wartet wiederum 60s (bis der Router hochgefahren ist) und holt sich dannach eine neue IP.</p>

<p>Von dieser Batch Datei einfach noch eine Verknüpfung erstellen und in den Autostart Ordner verschieben. Der Verknüpfung kann man nun noch sagen, dass sie minimiert starten soll und den Benutzer so nicht stört (geht über die Eigenschaften der Verknüpfung).</p>

<p><a href="http://blog.kips-world.de/wp-content/uploads/2010/06/wol_3.png"><img src="http://blog.kips-world.de/wp-content/uploads/2010/06/wol_3.png" alt="WakeOnLan Windows" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dennis.io/wakeonlan-beim-startenaufwachen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>virtualbox &#8211; einen gast ins LAN einbinden</title>
		<link>http://blog.dennis.io/virtualbox-einen-gast-ins-lan-einbinden/</link>
		<comments>http://blog.dennis.io/virtualbox-einen-gast-ins-lan-einbinden/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 21:37:33 +0000</pubDate>
		<dc:creator>dennis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[gast]]></category>
		<category><![CDATA[netzwerk]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[virtualisierung]]></category>

		<guid isPermaLink="false">http://blog.kips-world.de/?p=197</guid>
		<description><![CDATA[Ich benutze zur Zeit neben Ubuntu 9.04 auch Windows 7 auf meinem Desktop Rechner. Ich muss zugeben, obwohl mir das neue Windows ganz gut gefällt, möchte ich lieber eine LAMP Umgebung zur Webentwicklung benutzen, auch unter Windows. Also warum nicht ein Ubuntu in einer virtuellen Maschine laufen lassen und den Apache und MySQL Server von [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.kips-world.de/wp-content/uploads/2009/09/vbox-logo-150x150.png" alt="vbox-logo" title="vbox-logo" width="150" height="150" class="alignleft size-thumbnail wp-image-199" />
Ich benutze zur Zeit neben Ubuntu 9.04 auch Windows 7 auf meinem Desktop Rechner. Ich muss zugeben, obwohl mir das neue Windows ganz gut gefällt, möchte ich lieber eine LAMP Umgebung zur Webentwicklung benutzen, auch unter Windows. Also warum nicht ein Ubuntu in einer virtuellen Maschine laufen lassen und den Apache und MySQL Server von Ubuntu nutzen.
<span id="more-197"></span></p>

<p>Zur Virtualisierung benutze ich das konstenlose <a href="http://www.virtualbox.org/">Virtual Box</a>. Um mein Gast-System als vollwertigen Server zu nutzen, muss ich das virtualisierte Ubuntu in mein Netzwerk einbinden. Das System soll eine eigene IP im Netzwerk haben und auch von anderen Rechnern aus ansprechbar sein, als wäre es ein zusätzlicher Rechner im Netzwerk. Seit Virtual Box 2.2 soll dies sehr einfach sein &#8211; zumindestens laut Dokumentation. Man muss in den Einstellungen der virtuellen Maschine unter dem Punkt <code>Netzwerk</code> lediglich ein paar Einstellungen ändern. Wichtig ist, dass man unter dem Punkt <i>Angeschlossen an</i> <code>Netzwerkbrücke</code> auswählt. Als Netzwerk-Schnittstelle muss man die Netzwerkkarte auswählen, die an das lokale Netzwerk angeschlossen ist. Was in der Dokumentation leider nicht erwähnt wird, ist, dass der Bridge Modus nicht mit jedem virtuellen Adaptertyp funktioniert.</p>

<p><a href="http://blog.kips-world.de/wp-content/uploads/2009/09/virtual-box-network-config.png"><img src="http://blog.kips-world.de/wp-content/uploads/2009/09/virtual-box-network-config-150x150.png" alt="virtual-box-network-config" title="virtual-box-network-config" width="150" height="150" class="alignright size-thumbnail wp-image-200" /></a>
Standardmäßig arbeitet die Virtual Box mit dem Adaptertyp <em>PCnet-Fast III</em>, der bei meinen Bemühungen aber nicht als Bridge arbeiten wollte. Ich habe mich dann für die <em>Intel PRO/1000 T Server</em> entschieden &#8211; damit lief der Bridge Modus auf Anhieb. Man muss dem Netzwerkadapter im Gast-System dann einfach eine IP aus dem lokalen Netzwerk zuweisen, den Rest übernimmt VirtualBox. Über die zugewiesene IP ist die virtuelle Ubuntu Maschine dann auch von anderen Rechnern im LAN aus ansprechbar. Der Zugriff aufs Internet aus dem Gastsystem heraus funktionierte bei mir auch auf Anhieb. Ich habe unter Ubuntu dazu einfach die IP meines Routers als Gateway und DNS Server eingetragen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dennis.io/virtualbox-einen-gast-ins-lan-einbinden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Festplatte retten</title>
		<link>http://blog.dennis.io/festplatte-retten/</link>
		<comments>http://blog.dennis.io/festplatte-retten/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 15:56:52 +0000</pubDate>
		<dc:creator>dennis</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[dd]]></category>
		<category><![CDATA[ddrescue]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[rescue]]></category>
		<category><![CDATA[testdisk]]></category>

		<guid isPermaLink="false">http://blog.kips-world.de/?p=152</guid>
		<description><![CDATA[Ich habe heute verzweifelt einen Laptop in die Hand gedrückt bekommen: &#8220;Beim Booten erscheint Partitionstabelle ungültig &#8211; was soll ich machen?&#8221;. Erstmal ist wichtig nicht zu versuchen die Festplatte mit irgendwelchen Windows Tools wieder zu retten, denn wenn das schiefgeht sind die Daten vielleicht wirklich weg. Mein erster Schritt war also eine Ubuntu Live CD [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe heute verzweifelt einen Laptop in die Hand gedrückt bekommen: &#8220;Beim Booten erscheint Partitionstabelle ungültig &#8211; was soll ich machen?&#8221;.</p>

<p>Erstmal ist wichtig nicht zu versuchen die Festplatte mit irgendwelchen Windows Tools wieder zu retten, denn wenn das schiefgeht sind die Daten vielleicht wirklich weg. Mein erster Schritt war also eine Ubuntu Live CD zu booten und die gesamte Festplatte mit dem Linux Tool <code>dd</code> auf eine externe USB Platte zu sichern:</p>

<p><pre class="brush:bash">
dd if=/dev/sda of=/media/disk/sda.dd.img
</pre></p>

<p>Das dauert ein Weilchen, denn dd kopiert byte für byte genau wie die Daten auf der Festplatte stehen, alles in eine Datei. Dabei werden auch leere Bereich der Festplatte mitkopiert. Das heißt, dass eine 120GB Festplatte wie in meinem Fall &#8211; selbst wenn nur 10GB belegt sind &#8211; ein Image der Größe 120GB erzeugt.</p>

<p>Nachdem die Festplatte gesichert ist können wir das Problem etwas genauer analysieren. Mit sfdisk ersteinmal schauen, was von der Partitionstabelle noch übrig ist:</p>

<div><pre class="brush:bash">
sfdisk -d /media/disk/sda.dd.img 
Warnung: erweiterte Partition beginnt nicht an einer Zylindergrenze
DOS und Linux werden den Inhalt unterschiedlich interpretieren.
\# Partitionstabelle von /media/disk/sda.dd.img
unit: sectors

/media/disk/sda.dd.img1 : start=229197824, size=  5240832, Id= c, bootable
/media/disk/sda.dd.img2 : start=   241664, size= 20971520, Id= 7
/media/disk/sda.dd.img3 : start= 21213184, size=207982592, Id= 7, bootable
/media/disk/sda.dd.img4 : start=229195776, size=  5242880, Id= f
/media/disk/sda.dd.img5 : start=229197824, size=  5240832, Id= 0
</pre></div>

<p>Sieht ja garnicht so schlecht aus. Ich weiß, dass die Platte drei Partitionen hatte (es handelt sich um ein DELL Notebook, zwei der drei Partitionen sind von DELL angelegt, eine der angezeigten 5 Partitionen ist wohl eine erweiterte). Die Daten-Partition ist die Wichtige um die es mir geht. Woran man die erkennt? Es sollte eine der größeren Partitionen sein. Jetzt sind ein paar Grundkenntnisse über Festplatten-Partionierung und Dateisysteme vorteilhaft. Nach der Ausgabe von sfdisk vermute ich, dass es sich bei img2 um eine erweiterte Partition handelt (also nur um den Container für eine logische Partition). img3 scheint mir die Daten-Partition zu sein nach der ich suche.  Um diese Partition jetzt zu mounten, muss ich noch den richtigen Offset berechnen. sfdisk sagt mir, dass img3 bei &#8220;21213184&#8243; startet. Dieser Wert muss jetzt aber noch mit 512 multipliziert werden (Bei (S)ATA Platten ist ein Sektor 512 Byte groß). Der mount-Befehl sieht dann so aus:</p>

<p><pre class="brush:bash">
mount /media/disk/sda.dd.img /mnt/sda-3 -t ntfs-3g -o ro,loop,offset=10861150208
</pre></p>

<p>Bingo! Ich kann die Partition aus dem Image heraus lesen. Alle Daten scheinen da zu sein!
Jetzt kann ich mich an die Reparatur der Festplatte wagen. Dazu werde ich <a href="http://www.cgsecurity.org/wiki/TestDisk">TestDisk</a> benutzen, aber alle anderen (auch Windows Tools) sind jetzt auch in Ordnung &#8211; zur Not hat man ja ein komplettes Image der Festplatte das man zurückspielen kann.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dennis.io/festplatte-retten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

