1832 Tage zuvor: Drucker-Monitoring mit Munin

Munin ist ein tolles Tool. Aber das sagte ich ja bereits. Vor allem die leichte Erweiterbarkeit mit neuen Plugins macht es mir immer wieder aufs neue sympatisch. Wer es noch nicht kennt (und eine nennenswerte Anzahl an Hosts im Netzwerk hat), sollt es sich definitiv näher anschauen! Ich nutze es auch beruflich um einige Legacy Systeme und Drucker zu überwachen.

Nachdem wir vor einiger Zeit einen neuen Drucker für das Heimnetz angeschafft haben, lag es nahe das entsprechende Plugin auch in meiner privaten Munin-Installation einzusetzen. Hauptsächlich um rechtzeitig neuen Toner kaufen zu können.

Und weil ich den Code so schön aufgearbeitet habe, gibt es das Plugin jetzt auch in meinem Google-Code Repository zum Download (und erweitern).

2070 Tage zuvor: Was ist eigentlich...

proprietäre Software? Und warum wird das Wort meistens in einem negativen Zusammenhang genannt? Ein Beispiel.

Als ich mir Anno 2009 den HP Dreamscreen näher angeschaut habe, dachte ich noch es wäre ein ganz wunderbares Gerät:

Dieser digitale Bilderrahmen, der dank seiner WiFi-Anbindung nicht auf mühselig manuell zu beladener USB-Sticks angewiesen ist, besitzt das Potential zum zentralen Familien-Kalender zu avancieren.

Im Prinzip ist es auch genau das – WiFi Anbindung ist vorhanden, man kann Radio und Bilder aus dem Internet herunterladen, den lokalen Wetterbericht einsehen und seine Facebook-Updates lesen. Leider kann es aber auch nur genau das: Alles, wofür HP eine Applikation spendiert hat. Selber Applikationen schreiben darf man nicht (es ist halt proprietäre Software). Somit ist der Funktionsumfang dieser – auf dem Papier – tollen Hardware leider arg beschränkt.

Anfang letzten Jahres hatte ich dann zumindest eine Lösung für mein Dilemma mit dem automatisch generierten Familienkalender gefunden: Snapfish. Für HP’s Foto-bestell-Website gibt es eine Applikation im Dreamscreen. Zwar muss man selbst das anzuzeigende Foto aufrufen (anstatt es automatisch aktualisieren zu lassen), aber immerhin hat der Bilderrahmen damit endlich das getan, wofür er von vornherein gedacht war.
Zumindest vorerst. Denn (und hier kommt der zweite Nachteil proprietärer Software zum tragen) vor gut dreieinhalb Monaten hat die Applikation plötzlich ihren Dienst eingestellt:

Dreamscreen cannot access the Snapfish Servers at this time. Please try again later or check your Internet Connection.

Geduldig wie man ist wartet man. Darauf, dass die Webseite wieder funktioniert. Oder auf ein Update. Vielleicht einen Hinweis vom Support? Doch nichts passiert – scheinbar hat HP den Support für die Dreamscreen-Geraete eingestellt. Keine Updates heißt keine Bilder-Downloads mehr. Und damit ist der teure Bilderrahmen nicht mehr als ein Stück Plastik – nutzlos.

Mit Zugriff auf die Programm-Sourcen des Dreamscreens (das Prinzip Open Source) könnte man das Problem sicherlich leicht lösen – oder eine alternative Lösung entwickeln. Abertausende von Programmieren wären dazu problemlos in der Lage – kostenlos! Doch da es sich jedoch um eine geschlossene Software-Lösung handelt ist man damit leider auf das Wohlwollen des Lieferanten angewiesen. Und wenn der sich verweigert bleibt man zwangsweise auf seiner Investition sitzen.

Und das ist dann auch der Grund wieso regelmäßig negativ über proprietäre Software berichtet wird. Und Jailbreaks so beliebt sind.

2322 Tage zuvor: Zählen für Anfänger

Unglücklicher Weise musste ich heute eine Datenbank migrieren – oder eigentlich eher kopieren. Denn so ein SQL Server Express bietet leider wenig Möglichkeiten die Daten strukturiert zu extrahieren. Nachdem ich also die Datenbank mit dem Microsoft SQL Server Management Studio auf einen richtigen SQL Server umziehen konnte, wurde ich mit einem merkwürdigen, nicht aussagekräftigen Status abgespeist:

SQL Server Import: Copying Stopped?

Stopped ist weder Fisch noch Fleisch, daher wollte ich zumindest die Anzahl der Datensätze vergleichen. Wie sich herausstellte ist das gar nicht mal so einfach. Aber mit ein wenig Tricksereien (und SQL Injection) geht auch dies:

use myDataBase
declare @TotalNumRows int, @CurNumRows int, @CurTableName varchar(50), @sql varchar(4000)
declare TotalNumRows_Cursor Cursor for
select table_name from information_schema.tables where table_type='BASE TABLE'
set @TotalNumRows = 0

open TotalNumRows_Cursor
fetch next from TotalNumRows_Cursor
while @@FETCH_STATUS = 0
begin
	fetch next from TotalNumRows_Cursor into @CurTableName
	select @sql = 'select * from [' + @CurTableName +']'
	exec(@sql)
	select @TotalNumRows = @TotalNumRows + @@RowCount
End
close TotalNumRows_Cursor
Print @TotalNumRows
deallocate TotalNumRows_Cursor

go

Achja, bei besagtem SQL Server Express kann man sich übrigens mit dem kleinen Programm qsql.exe an der Datenbank via SQL Prompt anmelden. Auch das muss man erst einmal wissen.

2334 Tage zuvor: Ein Bildschirm wie im Film

Was tut man am besten um sich in eine Sprache einzuarbeiten? Richtig! Kleine, meist unnütze Applikationen schreiben. Zum Beispiel ein Skript, dass den Inhalt von Dateien anzeigt – ganz so wie es einem in vielen Filmen und TV-Serien täglich gezeigt wird.

$text_types = ".bat", ".reg", ".kix", ".ps1", ".java", ".txt", ".xml", ".html", ".c"
$sleep_time = 150
$max_size = 4 * 1024 * 1024

function Get-HexDump($path){
	$width = 15
	Get-Content -encoding byte $path -readCount $width -totalCount $max_size | ForEach-Object {
		$characters = $_
		if (($characters -eq 0).count -ne $width){
			$hex = $characters | ForEach-Object {
				" " + ("{0:x}" -f $_).PadLeft(2,"0")
			}
			$char = $characters | ForEach-Object {
				if ([char]::IsLetterOrDigit($_))
					{[char] $_ }else{ "." }
			}
			"$hex $char"
			start-sleep -milliseconds 10
		}
	}
}

foreach ($i in Get-ChildItem . -recurse) {
	if (!$i.PSisContainer) {
		if($text_types -contains $i.Extension){
			get-content $i.fullname | foreach-object { echo $_; start-sleep -milliseconds $sleep_time }
		}else{
			#Get-HexDump($i.fullname)
		}
	}
}

Richtig professionell wird es allerdings erst mit der Hex-Anzeige für binäre Dateien (oder, um genau zu sein, nicht-definierte Datei-Endungen). Die Entsprechende Funktion habe ich auf PowerShell.com gefunden.

Unnützes PowerShell-Skript bei der Arbeit

Wer mag darf es sich gerne herunterladen. Falls man sich mit der PowerShell beschäftigen will (was ich jedem IT’ler mit Windows-Kontakten nur nahelegen kann), sollte allerdings versuchen es selbst umzusetzen. Man lernt dabei eine Menge!

2455 Tage zuvor: Ein Filesystem in Excel

Vor kurzem musste ich die Datei- und Ordner-Struktur unserer File-Server abbilden (mit Zeitstempel der letzten Änderung). Idealer Weise in einer Form, in der man die Daten in einer Tabellenkalkulation weiter bearbeiten konnte. Mit Standard-Mitteln war zu viel manueller Aufwand involviert und die üblichen Skriptsprachen waren zu unflexibel. Daher habe ich meine reichlich angestaubten Java-Fähigkeiten bemüht und ein kleines Tool dafür geschrieben:

public class FileCrawler{
public static void main(String args[]){
	String root = ".";
	if(args.length > 0)
		root = args[0];
	FileCrawler fc = new FileCrawler(root);
}

java.io.FileWriter fout;
java.text.SimpleDateFormat dformat;

public FileCrawler(String root){
	try{
		this.fout = new java.io.FileWriter("FileCrawler.txt");
	} catch(java.io.IOException e){
		System.err.println("Could not write to FileCrawler.txt, using Console...");
	}
	this.dformat = new java.text.SimpleDateFormat("M/d/y  h:m:s a");
	
	this.crawl(root);
	
	try{ this.fout.close(); } catch(java.io.IOException e){ }
}

private void crawl(String path){
	java.io.File root = new java.io.File(path);
	if(!root.exists() && !root.isDirectory()){
		System.err.println("Invalid path: " + path);
		return;
	}

	try{
		java.io.File files[] = root.listFiles();
		for(int i = 0; i < files.length; i++){
			if(files[i].isDirectory())
				this.crawl(root.getPath() + java.io.File.separator + files[i].getName());
			else
				this.writeFile(path, files[i].getName(), files[i].lastModified());
		}
	} catch(java.lang.Exception e){
		System.err.println("Access denied: " + path);
	}
}

private void writeFile(String path, String file, long timestamp){
	String modified = this.dformat.format(new java.util.Date(timestamp));
	String msg = path + "\t" + file + "\t" + modified;
	try{
		this.fout.write(msg + "\n");
	} catch(java.io.IOException e){
		System.out.println(msg);;
	}
}
}

Es nimmt einen zu scannenden Pfad als Parameter entgegen und schreibt die Ergebnisse als CSV-Datei weg. Vielleicht hilft es ja jemandem weiter. Und bedenken: Excel 2003 kann nur bis zu 46500 Zeilen verwalten!

2539 Tage zuvor: PXE und BOOTP

Live-CDs sind eine geniale Erfindung. Auf jedwedem Computer kann man so eine gewohnte Umgebung nutzen ohne zuvor eine langwierige Installations-Prozedur durchlaufen zu müssen. Und das ganz ohne die Daten auf dem Rechner an-zufassen. Leider muss man, um sie zu nutzen, entweder eine CD brennen, oder einen USB-Stick entsprechend herrichten. Das kann sich mitunter mindestens ebenso langwierig gestalten.

Grund genug das Heim-Netzwerk um einen Boot-Server zu erweitern. Damit sollten sich die CD-Flut im Zaum halten und der USB-Stick weniger häufig formatieren lassen. Und die Installation ist dabei auch noch herrlich einfach:

apt-get install tftpd-hpa

Natürlich muss der Dienst auch noch konfiguriert werden, aber das komplizierteste dabei ist noch das Spezifizieren des Installations-Verzeichnisses. Mit diesem Dienst kann man nun fertige PXE-Images via Netzwerk starten. Zum Beispiel eine Debian-Installation, oder Tools wie ConeZilla. Praktisch!

Doch es geht auch noch besser. Wenn man auf seinem Debian-System einen NFS-Server betreibt, ist es auch möglich zum Beispiel Ubuntu via Netzwerk zu starten. Der Trick besteht darin, dass File-System komplett via NFS einzuhängen – und somit einen USB-Stick oder eine CD überflüssig zu machen. Eine feine Sache, und durchaus performant! Kleiner Tipp dazu: Den Inhalt des ISO-Images nicht auf das Filesystem kopieren, sondern direkt auf den freigegeben NFS-Pfad mounten.

2547 Tage zuvor: Bluetooth mal praktisch

Wer ein Handy hat und Linux nutzt, sollte es eigentlich als Pflicht-Tool installiert haben: BlueProximity. Das Tool ist dabei so einfach wie genial: Es lauscht ob das gekoppelte Handy in der Nähe ist und sperrt den Computer, falls dem nicht so sein sollte. Kommt man wieder zurück (oder besser gesagt: nähert sich das Handy wieder dem Computer), wird der Computer wieder entsperrt. Einfach, praktisch und man nicht drumherum sich zu fragen warum das nicht schon viel eher gemacht wurde. Endlich hat Bluetooth auch mal einen praktischen Nutzen!

Nachdem ich nun vor kurzem Opfer einer Computer-Sabotage wurde, habe ich mich auf die Suche nach einer passenden Lösung für Windows gemacht. Und siehe da, es gibt tatsächlich einen Port für Windows: Blue Lock. Leider ist es jedoch entweder nicht mit meinem Bluetooth-Adapter kompatibel, oder mit XP. Jedenfalls kommt eine Meldung das keine Bluetooth-Adapter gefunden werden konnten. Schade!

2560 Tage zuvor: Festplatten-Horror

Wenn jemand den Gang zur Kaffeemaschine dazu ausnutzt die Email-Signatur eben jenes Koffein-Junkies zu ändern, ist das amüsant. Handelt es sich bei dem Opfer jedoch um den lokalen IT-Verantwortlichen, ist es fahrlässig. Und da ich der Geschädigte war, musste ich einfach zurück-sticheln.

Am nächsten Morgen wurde der Täter von einem kleinen Bildschirm begrüßt, der ihn darüber informierte das seine Festplatte gelöscht würde. Sehr zum Gefallen seines Chefs, der auch schon des öfteren das Opfer geben musste.

Er selbst fand es übrigens auch sehr amüsant. Komisch nur, dass sich passend dazu ueber das Wochenende die Festplatte meines Laptops zerlegt hat. Heute früh wurde ich von einem unschönen Error loading Operating System begrüsst. Ein Schelm wer böses dabei denkt!

Für den Fall, dass jemand einen ähnlich gelagerten Scherz vorhat:

@echo off
echo Local Security has been compromised!
echo Performing Emergency System Cleansing, please stand by...

set randID=5623478
set loopcount=0

:loop
call :genrandid
echo Wiping Sector x%randID%
sleep 1
set /a loopcount=%loopcount% + 1
if %loopcount%==30 goto endloop
goto loop

:genrandid
SET /a randID=%randID% + 1
SET /a randID=%randID% * 214013 + 2531011
SET /a randID=%randID% ^>^> 16 ^& 0x7FFF 
goto eof

:endloop
echo ...
echo Waerst du bloss nett zu deinem Admin gewesen,
echo er haette dir helfen koennen...
pause
echo BeNICE!
sleep 5

:eof

2697 Tage zuvor: Spezialist

Eigentlich sollte es ja Certified Linux Administrator heißen, aber Data Center Technical Specialist klingt auch gut:

2715 Tage zuvor: PHP füttern

Vor geraumer Zeit hatte ich schon mal eine RSS-Reader Klasse in PHP vorgestellt. Wie ich mittlerweile gelernt habe, ist es mit PHP5 nicht mehr nötig selbst dem Code auszulesen und zu interpretieren. Es gibt dort die schöne Klasse DOMDocument, die einem diese Arbeit abnimmt. Und das auch noch recht elegant:

$reader = new DOMDocument();
$reader->load($url) || die('Could not read Feed');
foreach($reader->getElementsByTagName('entry') as $item)
	$data[] = $item->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;

Et voilà, man hat alle Titel eines RSS-Feed in seinem Array versammelt. Praktisch! Gedacht ist die Klasse für XML, daher kann man damit noch sehr viel mehr anstellen. Zum Beispiel SOAP. Aber dazu später mehr.

2733 Tage zuvor: GeoIP-Lookup in GeoRSS umwandeln

Um die Frage zu beantworten wie ich denn IP-Adressen in eine Google-Karte bekommen habe: Mittels geoip, GeoRSS und (logisch) Google-Maps. Und zwar folgendermaßen.

  • geoiplookup <IP> >> geolookup.txt speichert die Ausgabe in einer Datei.
  • Mit regulären Ausdrücken extrahiert man die Längen- und Breitenangaben.
  • Diese legt man als GeoRSS-Feed ab.
  • Den Feed wiederum kann man in Google-Maps importieren.

Fertig ist die Karte. Wer es ein wenig einfacher haben will, kann auch folgendes PHP-Script zum umwandeln der geoip-Ausgabe in einen GeoRSS-Feed nutzen.


	
	
	
	
		

%s, %s, %s%s %s\n"; $geodata['points'] = array(); $geodata['rawdata'] = explode("\n", $_POST['geoiplookup']); // XML-Special Characters-Function (alonso05 at gmail dot com) function xml_character_encode($string, $trans=''){ $trans = (is_array($trans)) ? $trans : get_html_translation_table(HTML_ENTITIES, ENT_QUOTES); foreach ($trans as $k=>$v) $trans[$k]= "&#".ord($k).";"; return strtr($string, $trans); } // Parse input foreach($geodata['rawdata'] as $data) if(preg_match_all($regex, $data, $results)) $geodata['points'][] = array( xml_character_encode(htmlentities($results[3][0])), xml_character_encode(htmlentities($results[2][0])), xml_character_encode(htmlentities($results[1][0])), $results[5][0], $results[6][0] ); // Create GeoRSS-Feed header('Content-type: application/xml'); echo(''); echo(''); foreach($geodata['points'] as $point) vprintf($geodata['line'], $point); echo(''); ?>

2734 Tage zuvor: Digitales Anklopfen

Dass das Internet voller böser Menschen ist, bezweifelt ja mittlerweile niemand mehr. Gestern Abend bin ich zufällig auf einen neuerlichen Ansturm dieser Gruppe gestoßen. Eher zufällig, denn beim begutachten einer kleinen Bandbreiten-Statistik habe ich festgestellt, dass viele (sehr viele) Daten fließen obwohl kein Rechner an ist.

Port-Scan

Vorgestern gegen 20:00h hat es angefangen – und erst gegen Mitternacht aufgehört. Nur um dann 14 Stunden später wieder anzufangen und bis dato nicht mehr auf zu hören. Das dazugehörige Verbindungsprotokoll weist die unterschiedlichsten Ports auf, aber man scheint sich von unten nach oben durch-zuarbeiten. Die Vermutung liegt nah, dass es sich dabei um einen Portscan mittels Botnet handelt – wohl dem, der eine Firewall hat! Hier ein kleiner Auszug:

P SHost SPort DHost DPort QoS
UDP 98.243.114.146 44698 my_host (vlan1) 13989 Low
UDP 86.99.40.148 34185 my_host (vlan1) 13989 Low
TCP 71.68.96.135 60260 my_host (vlan1) 61456 Low
UDP 98.148.62.215 36126 my_host (vlan1) 13989 Low
TCP 64.12.24.34 5190 my_host (vlan1) 49261 Low
UDP 189.60.13.108 5620 my_host (vlan1) 13989 Low
UDP 208.114.36.253 47502 my_host (vlan1) 13989 Low
UDP 71.57.211.118 15711 my_host (vlan1) 13989 Low
TCP 64.12.8.93 5190 my_host (vlan1) 49258 Low
TCP 68.81.125.25 6415 my_host (vlan1) 61294 Low
UDP 65.55.158.116 3544 my_host (vlan1) 53283 Low
TCP 24.79.8.42 3701 my_host (vlan1) 56033 Low
TCP 69.235.134.90 9585 my_host (vlan1) 56001 Low
UDP 90.203.190.82 2800 my_host (vlan1) 13989 Low
UDP 67.82.27.105 8224 my_host (vlan1) 13989 Low
UDP 82.243.61.53 34095 my_host (vlan1) 13989 Low
UDP 69.144.216.97 25070 my_host (vlan1) 13989 Low
TCP 65.54.81.24 80 my_host (vlan1) 57724 High
UDP 24.144.203.229 32643 my_host (vlan1) 13989 Low
TCP 98.110.25.129 34278 my_host (vlan1) 56022 Low
TCP 65.55.182.111 80 my_host (vlan1) 56040 High
TCP 68.173.253.21 51024 my_host (vlan1) 55996 Low

Oder ein wenig graphischer:


View Scanners in a larger map

2743 Tage zuvor: Tages-Planung

Vor nicht allzu langer Zeit erwähnte ich, dass der HP DreamScreen eine tolle Sache sei. Denn er bietet die Möglichkeit Bilder (und Musik) über die integrierte WiFi-Schnittstelle nachzuladen. Soweit, so gut.

Nachdem ich mir Ende November günstig einen zugelegt habe, konnte ich die letzten Tage auch endlich ein wenig intensiver Zeit investieren um ihn für das zu nutzen, für das er gedacht war. Nämlich morgendlich eine Übersicht über all jenes anzuzeigen, was den Tag über so los ist. Ist heute etwas geplant? Was macht Mami? Wer kommt zu Besuch? Wie wird das Wetter? Was ist über Nacht in der Welt passiert?

Das Programm um ein entsprechendes Bild aus diversen Feeds zu erstellen war auch recht zügig geschrieben. Allerdings sind die Grenzen des DreamScreen ein wenig zu eng gesteckt, um das Ziel zu erreichen. Denn es gibt zwar die Möglichkeit Daten drahtlos abzugleichen und Musik direkt aus dem Netzwerk abzuspielen (auch wenn man dazu den Windows Media Player installiert haben muss). Man ist dabei jedoch leider auf Pull-Dienste angewiesen, sprich man muss manuell am DreamScreen die Daten abfragen – eine Push-Möglichkeit, bei der ein Programm ein Bild zur Anzeige an den Bilderrahmen schickt, gibt es nicht.

Damit ist das Projekt also frühzeitig gescheitert. An einer unzureichenden Software-Implementation seitens HP. Auch ein SDK um gegebenenfalls eine eigene Lösung dafür zu entwickeln, gibt es nicht. Dabei läuft der DreamScreen auf einer Embedded Linux Plattform und bietet daher theoretisch alle Funktionalitäten um das gewünschte Verhalten problemlos zu bieten. Zwar offenbarte ein Netzwerk-Sniffer das die Daten mittels SOAP abgeglichen werden, man auf diese Weise vermutlich auch automatisch Bilder hochladen könnte, allerdings fehlen damit immer noch Steuerungsfunktionen wie zum Beispiel ein bestimmtes Bild anzeigen zu lassen.

Bleibt nur zu hoffen, dass HP seine angeblichen Pläne umsetzt und in der Tat grosses aus der ansonsten guten Hardware macht – oder zumindest jemand es schafft Zugang zu dem Linux-System zu erhalten.

2744 Tage zuvor: Wiederherstellungsorgie

Zwei Jahren lief er. Nahezu ununterbrochen. Dennoch kam ich letzte Woche leider nicht mehr drumherum in neu aufzusetzen, meinen kleinen Heim-Server. Die Fehlermeldungen haben sich zuletzt arg gehäuft. Beim Aufrufen der Einstellungen in der WHS Konsole stürzte selbige immer ab. Und neue Rechner konnten auch nicht mehr eingehängt werden. Gut, dass es genau dafür eine ausgeklügelte Wiederherstellungs-Funktion gibt!

Wiederherstellung
Um den Server wieder her zu stellen, muss lediglich ein Programm von einer CD gestartet und ein wenig gewartet werden. Theoretisch jedenfalls, denn leider wurde mir stets auf neue gesagt, dass bei der Harware-Initialisierung ein Fehler aufgetreten sei. Nach einigem Hin und Her stellte sich heraus: Die getauschte CPU sowie die nachträglich hinzugefügte Festplatte waren der Grund. Die schnelle Wiederherstellung zog sich daher über insgesamt gut drei Tage hin.

Homeserver-Grundkonfiguration
Bei der Wiederherstellung wird lediglich das Betriebssystem neu installiert. Vorhandenen Daten bleiben dabei ausdrücklich erhalten. Jedenfalls wenn alles glatt geht. In meinem Fall waren alle nicht-gespiegelten Daten verloren, was jedoch nicht weiter tragisch war. Auch wenn dadurch alle Daten manuell zurück-kopiert werden mussten. Was bei einer Herstellung allerdings definitiv verloren geht sind jedwede Konfigurationen. Also mussten User wieder eingerichtet, Zugriffsrechte neu gesetzt und Computer eingebunden werden (allein die initialen Backups der beiden Windows-Clients zogen sich über fünf Stunden hin). Nicht zu vergessen das auch noch ein paar WHS-Add-Ins erneut installiert werden wollten.

Server-Konfiguration
Nachdem das alles geschafft war, ging es mit den nicht-WHS-Komponenten weiter: RADIUS-, IIS- sowie FTP-Dienste wollten aktiviert und konfiguriert werden. Und die darauf angewiesenen Clients wie zum Beispiel die Überwachungskamera mussten selbstredend auch wieder damit zusammen funktionieren. Außerdem gilt es Skripte einzuplanen und – nicht zu vergessen – die CPU sowie die zusätzliche Festplatte wollen auch wieder eingebaut werden.

Zusatz-Software
Die Ziellinie scheint in Reichweite, doch die eigentlichen Aufgaben kommen erst jetzt: zusätzliche Software muss installiert und eingerichtet werden. mControl, die Software zur Haussteuerung ist da noch das einfachste – auch wenn das Backup der Datenbank sich nicht zurück spielen lässt und somit alles manuell neu konfiguriert werden muss. BeyondTV, die PVR-Lösung hatte schon immer Treiber-Probleme die sich leider nur durch Try & Error beheben lassen (mit dutzendweise Sender-Suchläufen). Und auch hier sind dank mangelhaftem Restore alle Aufnahmekriterien manuell neu anzulegen. Da ist der letzte Schritt schon vergleichsweise simpel: Die VirtualBox-Instanzen müssen wieder als Windows-Service automatisch starten und herunterfahren.

Immerhin, nach nunmehr ziemlich genau einer Woche funktioniert alles wieder wie zuvor. Nebenbei wurde viel scheinbar entrümpelt, denn es wurden nahezu 100GB Plattenplatz frei gemacht – auch wenn sich das mit den neu aufzubauenden Backup-Versionen relativieren dürfte. Allerdings wurde vermutlich auch irgendwo etwas grundlegend aufgeräumt, denn der Server fühlt sich nicht nur schneller an, der Daten-Durchsatz ist auch von zuvor ~30MB/s auf nunmehr ~50MB/s gestiegen. Dennoch hoffe ich, dass derartiges frühstens in zwei Jahren wieder nötig wird.

2781 Tage zuvor: Schreibhilfe

Ich habe mir also letztens diese neue Tastatur gekauft. War, dank des Black Friday auch ein echtes Schnäppchen – statt $80 lediglich $30. Und im zwielichtigen Arbeitszimmer ist es wirklich eine angenehme Sache leuchtende Tasten vor sich zu haben. Sogar der Anschlag – bislang das Kriterium aufgrund dessen ich stets die Anschaffung einer neuen Tastatur gescheut habe – ist sehr eingängig und durchaus angenehm.

Logitech Illuminated Keyboard

Einzig die Umstellung auf ein amerikanisches Tastatur-Layout ist weniger mühelos als ich bislang angenommen hatte. Nachdem mein Desktop-Rechner der einzige mit einer deutschen Tastatur war, dachte ich mich schon mehr an die Eigenheiten der US-Pendant (vor allem die physikalischen wie z.B. die Größe und Position der Tasten) gewöhnt zu haben. Was ich mir allerdings stattdessen offenbar angeeignet habe, ist der ansonsten unnötige Blick weg vom Monitor hin zur Tastatur. So gesehen sind die leuchtenden Tasten zugleich Hilfe und Hindernis – Hilfe beim erlernen der hiesigen Tasten-Geräte und hinderlich beim blind-tippern.

2788 Tage zuvor: Zurück

Vor ein paar Tagen habe ich mich doch dazu überwinden können und das Backup meiner Windows-Installation zurück gespielt. Es ist mir wirklich nicht leicht gefallen – schließlich ist mir Tux auch ein Stück weit ans Herz gewachsen. Aber die anhaltenden Abstürze durch die mangelhafte Treiber-Implementation seitens nVidia wurden mir zum Schluss schlichtweg zu häufig. Mag sein, dass die Hardware nicht optimal für eine Linux-Konfiguration ist, aber ich bin nicht gewillt neue Hardware für bessere Treiberunterstützung zu kaufen (mit Windows 7 käme ich günstiger weg). Allerdings werde ich beim nächsten Kauf durchaus darauf achten.

Apropos Windows 7: Den Schritt werde ich mir (vorerst) sparen. Beim ersten Service Pack werde ich es mir allerdings nochmals genauer anschauen.

2801 Tage zuvor: Linux-Bilanz

Vor drei Wochen bin ich auf Linux umgestiegen. Seinerzeit hatte ich mir vorgenommen mindestens für eben diese Zeit die Entscheidung nicht rückgängig zu machen. Grund genug für eine kleine Bilanz:

Nachteile

  • ACPI funktioniert nicht zuverlässig, StandBy und Hibernate können nicht genutzt werden. Hibernate funktioniert überhaupt nicht, StandBy hat Probleme den Computer wieder korrekt aufzuwecken. Skurriler Weise führt dies dazu, dass ich den Linux-Rechner wesentlich häufiger herunterfahre als sein Windows-Pendant.
  • Die nVidia-Treiber sind unausgereift. Es kommt laufend zu spontanen Abstürzen in 3D-Applikationen. Weder die Ubuntu-Treiber, noch die Original nVidia-Treiber leisten Abhilfe.
  • Tastatur-Eingaben hängen manchmal hinterher, allerdings scheint dies auf FireFox beschränkt zu sein.
  • Magnetische Fenster sind nicht toll, das Feature lässt sich leider auch nicht abschalten.
  • Dauerhaft verzerrter Sound in VirtualBox-Instanzen (kommt unter Windows nur nahezu gar nicht vor) – gelegentlich auch unter Wine.
  • Man bekommt den Desktop nicht grundsätzlich Icon-frei.

Vorteile

  • Die TV-Karte funktioniert auch in der 64-Bit Ausführung des Betriebssystems (welche aufgrund von 8GB RAM Pflicht ist).
  • Widgets sind unter gnome wesentlich toller!

Rein optisch betrachtet spricht diese Liste durchaus für sich selbst. Der Weg zurück zu Bill ist Dank eines Disk-Images auch sehr kurz und schmerzfrei. Allerdings habe ich mich mittlerweile durchaus an einige Funktionen (Multi-Desktop) und Methoden (File-System) gewöhnt, die ich unter Windows schmerzlich vermissen würde. Und am Ende würde ich vermutlich auch noch zu Windows 7 neigen. Vielleicht nutze ich doch erst noch ein wenig die Zeit an den Knackpunkten zu arbeiten. Auch wenn bei den Grafiktreibern vermutlich nicht viel zu machen sein wird…

2803 Tage zuvor: Mobiles WLAN

Ich habe heute mein Telefon via USB mit dem Computer verbunden um ein paar Dateien zu übertragen. Nichts aufregender als das einstecken eines USB-Sticks. Eigentlich. Doch was musste ich sehen, als ich nach dem Mount-Point des Gerätes geschaut habe?

maztica:~# dmesg | tail -20
[28035.631359] usb 1-2.1: new high speed USB device using ehci_hcd and address 8
[28035.750943] usb 1-2.1: configuration #1 chosen from 1 choice
[28035.832013] rndis_host 1-2.1:1.0: RNDIS_MSG_QUERY(0x00010202) failed, -47
[28035.851942] eth1: register 'rndis_host' at usb-0000:00:1a.7-2.1, RNDIS device, 80:00:60:0f:e8:00
[28035.851967] usbcore: registered new interface driver rndis_host
[28036.021362] cfg80211: Calling CRDA to update world regulatory domain
[28036.025282] usbcore: registered new interface driver rndis_wlan
[28036.030602] cfg80211: World regulatory domain updated:
[28036.030606] (start_freq - end_freq (a) bandwidth), (max_antenna_gain, max_eirp)
[28036.030609] (2402000 KHz - 2472000 KHz (a) 40000 KHz), (300 mBi, 2000 mBm)
[28036.030612] (2457000 KHz - 2482000 KHz (a) 20000 KHz), (300 mBi, 2000 mBm)
[28036.030614] (2474000 KHz - 2494000 KHz (a) 20000 KHz), (300 mBi, 2000 mBm)
[28036.030617] (5170000 KHz - 5250000 KHz (a) 40000 KHz), (300 mBi, 2000 mBm)
[28036.030620] (5735000 KHz - 5835000 KHz (a) 40000 KHz), (300 mBi, 2000 mBm)
[28046.381255] eth1: no IPv6 routers present

Sollte sich das Telefon einfach als Ethernet-Adapter am System angemeldet haben?

maztica:~# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 80:00:60:0f:e8:00
inet addr:169.254.2.2 Bcast:169.254.2.255 Mask:255.255.255.0
inet6 addr: fe80::8200:60ff:fe0f:e800/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:32 errors:26 dropped:0 overruns:0 frame:0
TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2653 (2.6 KB) TX bytes:6347 (6.3 KB)

Ja, hat es. Tolle Sache! Falls ich irgendwann mal Bedarf an einer WLAN-Karte haben sollte.

2809 Tage zuvor: Der Zertifikate zwei

Heute konnte ich mir schon meine Zertifikate für den bestandenen MCTS herunterladen. Richtig, Plural. Denn man bekommt eine als MCTS im allgemeinen und eine als Windows Server 2008 Network Infrastructure, Configuration im besonderen:

Microsoft Certified Technology Specialist

Das ist freilich nur einen digitale Version. Eine ausgedruckte bekommt man gegen ein geringes Endgeld zugeschickt. Jetzt fehlt mir nur noch ein Büro um sie aufzuhängen.

2811 Tage zuvor: Ausgesperrt

Freitag war’s, die MCTS Vorbereitung behandelte gerade das Thema VPN, als ich auf meinem Heimserver die Routing & Remote Access Services installierte. Eben um VPN-Verbindungen in mein Heimnetz aufbauen zu können. Klappte auch wunderbar. Jedenfalls bis ich dann versucht habe das Routing zu optimieren. Geendet ist es dann in einer deaktivierten Netzwerkkarte. Bedenkt man das es sich bei dem HP MediaSmart EX475 um ein Headless-System, also einen Rechner ohne Tastatur oder Monitor-Anschluss, handelt, stellt das doch in gewisser Weise ein Problem dar. Interessanter Weise lief der auf dem System gehostete Linux-Server in seiner virtuellen Umgebung weiter – und war auch im Netz erreichbar.

Doch was tut man um den Server wiederherzustellen? Das Netzwerk funktioniert nicht, lokal anmelden ist auch keine Option. Eine USB-Netzwerkkarte benötigt Treiber und mit einer USB-Tastatur im Dunkel herumzutippen wäre auch nur eine Verzweiflungstat gewesen (obwohl mir hier das MCTS-Wissen in Sachen netsh weitergeholfen hätte). Doch eine Lösung wäre wesentlich eleganter: Die Festplatte im Server aus- und in den Desktop einbauen. Also alle andere Festplatten abgehängt, die SATA-Einstellungen angepasst (also RAID- und AHCI-Modus deaktiviert), die Systemplatte des Heimservers eingehängt, gebootet und… Erfolg!

Jedenfalls beinahe. Denn jetzt bootet das Server-System zwar auf meinem Desktop und ich kann mich auch anmelden, doch bevor man irgendetwas damit anstellen kann wird man von einem Aktivierungsbildschirm begrüsst. Klar, die Hardware unterscheidet sich signifikant und mit einem Anruf (die Netzwerkkarte funktioniert weiterhin nicht – was man zu diesem Zeitpunkt allerdings nur vermuten kann) kam ich leider auch nicht an das erhoffte Ziel: “Your Product is not supported or not genuine.”

Während ich dann so überlegte was ich denn noch tun könnte um wieder Zugriff zu erlangen, beantwortete sich die Frage quasi von selbst: Ein Internet Explorer erschien plötzlich und unerwartet. Mit einer Fehlermeldung zwar, aber es genügte mir um Zugriff auf die Systemsteuerung zu erlangen. Kaum dort angekommen wurden die Routing-Dienste komplett deaktiviert, der Rechner heruntergefahren, die Festplatte zurück gebaut und der Heimserver wieder hochgefahren. Nach einigen Minuten begrüsste er mich dann auch wieder mit einer kühl blau leuchtenden Status LED: Alles bestens.

Glück gehabt!

2812 Tage zuvor: Der Netzwerk-Spezialist

Heute habe ich den ersten Schritt zum Microsoft Certified Professional gemacht: Ich habe die Prüfung zum MS Certified Technology Specialist: Windows Server 2008 Network Infrastructure, Configuring (wer soll sich das merken) bestanden!

Auch wenn es die vermeintlich leichtere der beiden Vor-Prüfungen ist muss ich sagen: Ufz! Bill legt die Latte merklich höher als Tux. Aber das mag auch daran liegen, dass ich primär Linux-Rechner im Heimnetz betreue und der Windows Home Server auf Windows Server 2003 aufsetzt.

Ein paar Bemerkungen zum Test:

  • Die deutschen Begrifflichkeiten sind reichlich merkwürdig. Wer denkt sich sowas aus? Zumal man, im Gegensatz zur LPIC-Prüfung, eine Frage nicht Alternativ auch auf Englisch angezeigt bekommt. Die nächste Prüfung mache ich jedenfalls auf Englisch.
  • IPv6 stand durchaus im Fokus. Komplett im Gegensatz zur Aussage im Buch.
  • Und auch bei dieser Prüfung gab es wieder Inhalte, die im Buch nicht mal am Rande erwähnt wurden. Allerdings hatte ich diesmal ein offizielles Prüfungsvorbereitungsbuch – sehr enttäuschend!
  • Dafür waren inhaltlich alle Fragen korrekt. Von den Vorbereitungsfragen konnte man das ja leider nicht behaupten.

Mal schauen ob ich für den MCTS auch schon ein schickes Zertifikat bekomme. Das MCP Begrüßungspaket gibt es jedenfalls erst als erfolgreich geprüfter MCP.

2813 Tage zuvor: LPIC vs MCTS

Nach meiner erfolgreichen LPIC habe ich mich dem MCTS zugewandt. Ziel ist zwar eine MCP-Zertifizierung, aber auf dem Weg dahin hat Bill zwei Vor-Zertifizierungen gestellt. Angefangen habe ich mit dem 70-642, da es einige Teile dessen enthält, die ich erst kürzlich für die LPIC gelernt habe. Interessant sind dabei die Unterschiede zwischen beiden Ansätzen. Hier ein paar Exemplare.

  • Bei Microsoft ist der Ansatz für TCP/IP ein wenig anders. IP-Adressen werden hier in Netzwerk- und Host-IDs aufgeteilt. Derlei Terminologie fehlte bei Linux komplett – zumindest was den Host-Teil betrifft, die Netzwerk-Adresse wurde in einem etwas anderen Kontext benutzt. Allerdings ist es eine gute Grundlage für die CIDR-Notation (die übrigens die klassische Aufteilung in A-, B- und C-Netzwerke abgelöst hat, wie ich nun weiß), wenn die Definition denn auch beim Subnetting noch um die Subnet-ID erweitert werden muss.
  • IPv6 war beim LPIC kein Thema. Der MCTS wird hier konkret. Im Allgemeinem kann man sagen, dass der MCTS in Sachen Netzwerk wesentlich detaillierter ist (was allerdings auch in der Natur der Sache liegt).
  • Für das LPIC reicht es den Befehl zu kennen – Hilfe-Funktionen und manpages helfen einem bei den Parametern schließlich weiter. Das MCTS legt allerdings wert darauf, dass Kandidaten wissen das start /w ocsetup DNS-Server-Core-Role den DNS-Serverdienst installiert.
  • Dafür gibt es für die Microsoft-Prüfungen offene Prüf-Testprogramme. Ähnlich wie für den theoretischen Teil der Führerscheinprüfung (die ich hauptsächlich dich das auswendig-lernen der Fragen gemeistert habe).
  • Der gravierenste Unterschied jedoch: Sind beim LPIC Gewichtung der Themengebiete und Mindestmaß für eine erfolgreiche Zertifizierung offen gelegt, hüllt sich Microsoft hier in schweigen. In dem mitgelieferten Test-Fragen hatte ich öfters 76% – und bin damit durchgefallen.

Am besten gefällt mir jedoch die mitgelieferte Test-Umgebung. Einfach ein paar virtuelle Maschinen mit Windows Server 2008 bestücken (die 8GB RAM lohnen sich auch hierbei) und die Praxis-Aufgaben im Buch mitmachen. Das klappt nicht nur super um das soeben gelernte zu verfestigen, sondern macht auch noch Spaß!

MCTS-Vorbereitung

Unschön am Buch hingegen: Es gibt Kapitel in denen erst Gemacht und anschließend Erklärt wird. Man richtet also zum Beispiel erst eine Health Requirement Policy ein und bekommt dann anschließend erklärt was das eigentlich ist, woraus sie besteht und was sie macht – bekommt also das, was man zuvor getan hat erklärt. Umgekehrt ist es wesentlich verständlicher. In den Auflösungen zu (mindestens einer) Testfrage ist im übrigen auch eine falsche Antwort genannt (DHCP-Option 015 ist nunmal nicht der Router).

Im Allgemeinen ist es schon sehr schockierend / amüsant (je nachdem, auf welcher Seite man steht), wie oft man in den Übungen die Server der Test-Umgebung neu starten soll. IPv6 deaktiviert? Server neu starten. NetBIOS aktiviert? Server neu starten. Nicht, dass man das wirklich müsste – abgesehen von etwaigem merkwürdigen Verhalten bei der Namensauflösung – aber was soll man davon halten wenn dieses Vorgehen konsequent in den offiziellen Microsoft-Büchern beschrieben ist? Die Ausführungen über die Notwendigkeit einer Network Access Protection seien besser erst garnicht erwähnt.

2817 Tage zuvor: Feuriger Fuchs

Firefox ist ja schon seit nunmehr etlichen Jahren mein Browser der Wahl. Weniger aus philosophischen oder sicherheits-technischen Gründen, sondern schlichtweg wegen der Funktionalität, die durch diverse Add-Ons geboten wird. Nachdem ich erst letztens wieder erfahren musste, dass man sich besser notiert was einem lieb geworden ist, hier mal eine ebensolche Liste der bei mir installierten Add-Ons:

Adblock Plus Hinweg mit den teils dreisten Werbebannern (und einigen Signaturen in Foren)
All-in-one Gestures Mouse-Gestures – geht es noch ohne?
Brief Praktischer RSS-Reader
Delicious Bookmarks Bookmarks direkt aus dem Browser heraus ablegen
Deutsches Wörterbuch Damit die Rechtschreibprüfung auch auf deutsch funktioniert
Dictionary Switcher Um die Rechtschreibprüfung schnell umzustellen
Locationbar² Zum schnellen navigieren im URL-Feld
New Tab King Prima Homepage/Neuen Tab-Ansicht
Perspectives Damit SSL auch sicher ist
Searchbar Autosizer Platz dort, wo man ihn braucht
Web Developer Klasse Toolbar, mit der man auch Webseiten austricksen kann
Xmarks Klasse Bookmark-Synchronisation

2821 Tage zuvor: Adios, Bill!

Ich hab es getan. Donnerstag, so ganz nebenbei. Es hat ein wenig gezwickt, aber alles in allem ging es doch problemlos. Zugegeben, ein wenig gezögert habe ich schon. Aber wer kann einem die Aufregung schon verdenken? Immerhin ist es das erste Mal. Und nach wie vor mutiger Schritt. Den ich bislang auch noch nicht bereut habe – wenn ein Resümeé allerings auch verfrüht wäre.

Was genau ich denn getan habe? Meine Sachen gepackt, wie so viele es derzeit tun, und den Umstieg gewagt:

Nein, nicht auf einen Mac. Überteuerte Hardware mit einem bevormundenden Betriebssystem wäre ja auch eher ein Schritt zurück. Nein, ich bin auf Linux umgestiegen. Ubuntu, um genau zu sein. Canonical hat nämlich Karmic Koala (Version 9.10) gerade verabschiedet. Getestet habe ich die Version ja ohnehin schon einige Wochen. Und auf das einzig fehlende Featurebin ich mittlerweile auch nicht mehr angewiesen.

Mal schauen wie es sich entwickelt. So sorgenfrei wie Windows ist eine Linux-Installation jedenfalls nicht – wenn sich die Sorgen auch eher auf technische Aspekte beschränken und nicht auf Sicherheit.

2822 Tage zuvor: Getunnelt

Wie konnte man doch gleich Webseiten aufrufen, die die Herkunft der Anfrage anhand der IP-Adresse feststellen, von die die Anfrage ausgeht? Richtig, mit einem SSH-Tunnel! Und wie genau geht das doch gleich? Unter Linux ist es recht einfach:

ssh -D 8080 <host>

Unter Windows geht es dank PuTTY allerdings auch:

PuTTY-Tunnel

Anschließend im lokalen Browser localhost:8080 als SOCKS-Proxy hinterlegen und lossurfen! Für Webseiten funktioniert das wunderbar. Ob Videos auch über den Proxy angefragt werden oder, wie zum Beispiel DNS-Anfragen, weiterhin direkt angefordert werden, müsste noch getestet werden.

2824 Tage zuvor: Tücken mit Linux

Man sollte es eigentlich besser wissen, wenn man die Test-Version von Debian auf seinen Systemen installiert: Manchmal funktioniert irgend etwas nicht mehr. Urplötzlich. Und einfach so. War es vor einigen Wochen noch der VLC-Player (der auf einmal einen Filter nicht mehr enthielt, den ich für meinen Streaming-Server genutzt habe), war es dann vor einigen Tagen BackupPC, die Backup-Lösung für meine Linux-Systeme (und den Windows-Server). Besonders ärglich war dies, weil ich gerade auf einen Restore-Point zurückgreifen musste.

Im Falle des BackupPC-Problems war die Fehlermeldung leider nicht wirklich offensichtlich. Beim Aufruf der entsprechenden Webseite beschwerte sich die Installation auf einmal, dass sie unter einem falschen User laufen würde. Lighttpd, der nicht nativ unterstützt wird, zeigte sich unschuldig. Ein fehlendes SUID-Bit für /usr/share/backuppc/cgi-bin/index.cgi war die Ursache. Hier hatte wohl ein Update zugeschlagen.

Leider funktionierte danach noch weniger als zuvor: Beim Aufruf der Seite kam jetzt zwar nicht mehr die oben genannte Meldung, dafür aber interne Server-Fehler (500) ohne weitere Auskunft – auch nicht in den Log-Dateien. Ein ausführen der betroffenen index.cgi direkt in der Konsole klappte zwar mit root problemlos, mit dem www- oder backuppc-User jedoch kam eine neue Fehlermeldung:

perl: error while loading shared libraries: libperl.so.5.10: cannot open shared object file: Permission denied

Kein Wunder, existierte die Datei doch garnicht (mehr). Irgend ein Update hatte sie wohl gelöscht. Das erklärt zwar nicht, warum mit root-Rechten der Aufruf immernoch funktionierte, lieferte jedoch einen Lösungs-Ansatz:

apt-get install libperl5-10

Und siehe da: Alles funktioniert wieder wie gehabt. Vielleicht sollte man doch die stable-Versionen von Debian nutzen. Aber die hängen der Funktionalität mitunter ja leider um Jahre hinterher.

2825 Tage zuvor: 255.255.224.0

Teil der momentan angestrebten Zertifizierung ist die Berechnung von Subnetz-Masken, CIDR-Adressbereichen und der damit einhergehenden Anzahl an verfügbaren Host-Adressen. Vorwärts, rückwärts und auch seitwärts. Daher habe ich mir die Zeit genommen wieder ein kleines JavaScript dazu zu basteln:



Auch davon gibt es im Netz genügend, aber das erstellen eines solchen Scripts hilft beim Lernen eine Menge mehr, als lediglich das austesten.

2827 Tage zuvor: Wunschzettel

Weihnachten steht vor der Tür, das weiß jeder der Kinder hat spätestens seit Ostern. Und da zu den neuen Tugenden ja auch das gegenseitige beschenken der nicht-Kinder der Familie im Allgemeinen und der Mitglieder des Haushalts im speziellen gehört, hier ein paar Produkt-Ideen deren Anschaffung mir schon seit geraumer Zeit vorschwebt.

HP DreamScreen 100: ~$250,-
Dieser digitale Bilderrahmen, der dank seiner WiFi-Anbindung nicht auf mühselig manuell zu beladener USB-Sticks angewiesen ist, besitzt das Potential zum zentralen Familien-Kalender zu avancieren. Jedenfalls wenn man es schafft die Daten aus dem Google-Kalender in ein entsprechendes Startbild zu pressen. Und fernsehen kann man damit auch noch!

Acer Aspire Revo: ~$250,-
Dieser kleine Rechenknecht interessiert für zweierlei: Dank nVidia’s Ion- sowie intel’s Atom-Chip ist er winzig klein und verfügt zudem direkt über alle Anschlüsse um ihn an einen (HD) Fernseher anzuschließen. Das macht ihn zum idealen XBMC Client, der mich durchaus einige Stunden früher pro Woche ins Bett zu befördern könnte. Zum anderen habe ich ihn als Rechner für die Kinder im Auge – schließlich kommt er (in der richtigen Version) Standard-mäßig mit kabelloser Tastatur und Maus daher.
Vorsicht: Momentan ist in den USA lediglich die abgespeckte Version mit Single-Core CPU und Ion-LE erhätlich. Aber ein Newegg Geschenkgutschein tut es auch.

Optimus Maximus Keyboard: ~€1.200,-
Die ultimative Tastatur. Leider auch mit ultimativen Preis. Dafür aber auch das ultimative Geschenk!

2832 Tage zuvor: Junior-Pinguin

Habe heute die LPIC-102 Prüfung erfolgreich absolviert und darf man daher ab sofort Junior Level Linux Professional nennen!

Wie schon in der vorherigen Prüfung hab es auch diesmal wieder Themengebiete, die nicht im Buch genannt wurden (Aufbau der ntpd.conf, X-Konfiguration, CIDR). Für die kommende Zertifizierung sollte ich mir aneignen vorher nochmal den Anforderungskatalog abzugleichen.

2836 Tage zuvor: 11110111010

Ich befinde mich gerade im Endspurt für die anstehende LPI-102 Prüfung, mit der ich dann meine LPI Level 1-Zertifizierung bekommen würde. Ein Teil davon ist das umrechnen von dezimalen “Subnet-Masken”: in die binäre Form. Warum man das braucht weiß ich ehrlich gesagt auch nicht wirklich, aber zumindest die Prüfung erfordert es.

Nun habe ich nicht das Umrechnen nicht nur in das binäre, sondern auch in das oktale und hexadezimale Format bereits vor einigen Jährchen in der Berufsschule lernen dürfen. Sogar inklusive Rechenoperationen in selbigen Formaten. Es Bedarf bei mir also nur ein wenig Übung um wieder rein zukommen. Und genau dafür habe ich heute fix ein kleines JavaScript geschrieben:



Für das Auswendig-lernen diverser Standard-Ports habe ich allerdings weniger Aufwand betrieben: Lernkärtchen eigenen sich hier wesentlich besser. Und können zudem auch problemloser mitgenommen werden.

2839 Tage zuvor: Adios Exchange!

Ich hatte es kurz bei identi.ca erwähnt: Googlemail bietet neuerdings die Möglichkeit Email-Konten via Active-Sync mit Windows Mobile-Geräten abzugleichen. Gratis, selbstredend. Da ich bislang einen (kostenpflichtigen) Exchange-Account bei einem Hoster hatte, konnte ich der Versuchung nicht widerstehen das Google-Pendant zu testen.

Dafür habe ich zunächst meine Email-Accounts in Googlemail integriert (sprich, Google ruft dort meine Mails ab und kennzeichnet sie entsprechend der Konten, von denen sie kamen). Anschließend wurden die Kontakte sowie mein Kalender von Outlook (Export als Windows-CSV) nach Googlemail (Import) übertragen. Das alles ging wunderbar einfach und schnell gleichermaßen. Selbst das Einrichten von Googlemail unter Windows-Mobile war absolut problemlos. Nach einigen Minuten tröpfelten dann die so abgeglichenen Mails, Kalendereinträge und Kontakte auf meinem Handy ein.

Doch einen Haken hat die Geschichte leider. Denn als Desktop-Frontend taugt Outlook für Googlemail leider nicht mehr. Zwar kann man Kalender (als Internet-Kalender) und Mails (via IMAP) weiterhin abgleichen, aber für die Kontakte gibt es nur dubiose Synchronisierungs-Programme. Unter Linux hat man Dank Evolution hier keinerlei Probleme: Alle Funktionen von Googlemail werden unterstützt – selbst das Versenden von Mails unter verschiedenen Accounts. Doch unter Windows musste ich ein wenig suchen. Gelandet bin ich dann bei Thunderbird.

Von Haus aus unterstützt Thunderbird zwar Googlemail direkt, allerdings nur als POP-Abruf (und ohne Kontakt / Kalender-Synchronisation). Ein IMAP-Konto ist jedoch schnell auch manuell eingerichtet. Mittels der Identitäts-Verwaltung kann man auch unter anderen Accounts Mails über das so eingerichtete Konto versenden. Doch wirklich integriert wird Googlemail erst durch das bereits von Firefox bekannten Addon-Konzept. So bietet Google-Contacts die Schnittstelle zu den Kontakten, Lightning bietet die Kalender-Funktionalität und Provider for Google Calendar die dazugehörige Schnittstelle für den Google-Kalender.

Alles in allem bin ich also quasi wieder da, wo ich am Anfang war. Allerdings kostenlos, Plattform-übergreifend (unter Linux funktioniert es gleichermaßen) und mit einem mächtigen Web-Frontend.

2846 Tage zuvor: Kryptisches

Ich bin gerade dabei meine Passwort-Verwaltung umzustellen. Das proprietäre SPB Wallet wird, obwohl es seine Sache gut gemacht hat, vom freien KeePass abgelöst. Warum? Nun, es ist Plattform-übergreifend sowohl für Linux und Windows, als auch für Windows Mobile verfügbar. Außerdem ist die Verschlüsselungsmethodik von KeePass dokumentiert, was es vermutlich auch sicherer macht. Und darüber hinaus kann es auch ohne Desktop-Verbindung synchronisiert werden.

Da es jedoch keinen automatischen Import von SPB Wallet in KeePass gibt (was ja irgendwo auch sehr beruhigend ist), müssen die Daten manuell konvertiert werden. Aber das ist eigentlich auch besser, so kann man dabei wenigstens gleich ausmisten und diverse Passwörter ändern. Denn selbst wenn man darauf achtet diversifizierte und kryptische Passwörter zu haben, sind hier und da doch welche, die sich gleichen oder schlichtweg zu einfach sind. Und wann würde man ansonsten schon dazu kommen Passwörter zu ändern?

Dabei ist mir aufgefallen, dass man sich zwar überall im Web 2.0 registrieren darf, eine Funktion zum löschen von Accounts gibt es jedoch nahezu nirgends. Warum ist das so? Sicher, mit derlei Daten kann man durchaus auch Geld verdienen, aber die meisten Webseiten versprechen einem ja, dass die ebendieses nicht tun. Ich vermute der wahrscheinlichere Grund liegt darin, dass es in den Standard-Ausführungen der beliebtesten Foren-Software schlichtweg keine Funktion dafür gibt. Und das sollte dringend geändert werden. Denn was passiert zum Beispiel mit den Daten, wenn die Webseite nicht mehr existiert? Sobald sie aufgelöst wird (oder einschläft) sinkt die Hemmschwelle zum Verkauf der Daten vermutlich immens. Aber ganz davon abgesehen gibt es auch viele Accounts, die ich einfach nicht mehr benötige. Warum muss ich sie also weiterleben lassen?

2853 Tage zuvor: Den Überblick behalten

Wenn man als IT’ler viel Zeit an der Hand hat, gedeiht das Heim-Netzwerk meistens prächtig. Schließlich gibt es Unmengen an Sachen, die man schon immer mal ausprobieren wollt; jedoch nie Zeit genug dafür gefunden hat. Wenn Zeit also nicht mehr das limitierende Element ist, nimmt vieles seinen Gang. So auch bei uns zu Hause. Mit neun ganz realen Netzwerk-Clients sowie diversen virtuellen (doch dazu vielleicht später mehr) ist es schon nicht mehr wirklich ein Selbstläufer. Aber man ist ja Geek genug um auch diese Aufgaben zu automatisieren.

Nun gibt es in der weiten Welt der IT lauter schöne Tools zur Systemüberwachung. Spezial-Tools für Server, welche für Anwendungen und auch fürs Netzwerk selbst. Gemeinsam haben sie alle, dass sie meistens viel Geld kosten. Jedoch gibt es ein Tool, dass diese Aufgaben kombiniert anbietet, flexibel zu konfigurieren ist und zu alledem nichts kostet (für den Privat-Gebrauch zumindest): Manage Engine’s Application Manager.

Seit einigen Monaten habe ich es nun schon bei mir im Einsatz und bin nach wie vor davon begeistert. Ich kann alle meine Clients einbinden und individuell Schwellwerte und Benachrichtigungen konfigurieren, je nach Anforderung. Gleichzeitig kann ich die Historie verfolgen und frühzeitig erkennen wenn irgendwo ein (Speicher-)Engpass droht oder irgendwelche File-Systeme voll-laufen. Auch zur Planung der nächtlichen Jobs lässt sich die CPU- und Netzwerk-Auslastung hervorragend ablesen. Selbstredend läuft der Applications Manager wartungsfrei und ist angemessen komfortabel zu bedienen. Was will der Heim-Netzwerk-Administrator mehr?

Einzig die Möglichkeiten zur Überwachung von SAP- oder Datenbank-Systemen habe ich noch nicht getestet. Allerdings sind diese auch nicht mehr kostenlos zu haben.

2878 Tage zuvor: Zuwenig Speicher für SMB-Mounts?

Ich spiele ja nach wie vor mit einer Ubuntu-Installation herum um zu sehen an welchen Ecken mir noch Funktionalität zu meiner Vista-Installation fehlt. Und, zugegeben, auch um ein wenig für die zweite Prüfung herumzuspielen. Dabei bin ich vorhin auf einen eher ungewöhnlichen Fehler gestossen:

root:maztica:~/# mount -a
mount error(12): Cannot allocate memory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Gemountet werden sollten in diesem Fall diverse SMB-Shares meines Windows Home-Servers. Vermutet man zunächst einen Speicherengpass auf dem Linux-Client (was eher ungewöhnlich wäre mit circa 7GB freiem RAM) bescheinigen einem die einschlägigen Suchergebnisse einen Fehler auf der Server-Seite. Nur das ich keinen dazugehörigen Eintrag im Event-Protokoll hatte.

Mit ein wenig Nachdenken (was man prinzipiell vor dem Befragen einer Suchmaschine machen sollte) lag die Antwort denn auch auf der Hand: Der in der /etc/fstab verlinkte User hat schlicht und ergreifend keine Berechtigungen auf den Shares. Kaum macht man es richtig, funktioniert es denn auch:

root:maztica:~/# mount -t cifs //toril/music /media/music/ -o user=kaibo
Password:
root:maztica:~/# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdc1 75529312 12704404 58988188 18% /
tmpfs 4097176 0 4097176 0% /lib/init/rw
varrun 4097176 212 4096964 1% /var/run
varlock 4097176 0 4097176 0% /var/lock
udev 4097176 412 4096764 1% /dev
tmpfs 4097176 1484 4095692 1% /dev/shm
/dev/sdb1 244195324 165611640 78583684 68% /media/dataDisk
//toril/public 467403140 -349886360 817289500 - /media/public
//toril/music 467403140 -349886360 817289500 - /media/music

2879 Tage zuvor: Testfahrt mit dem Pinguin

Mentale Notiz an mich:

Wenn du mal wieder nach der Seite zur Erneuerung deiner N4S-Demo Lizenz suchst, klicke einfach hier.

2888 Tage zuvor: Visitenkarte

Mal schauen was schneller passiert: Das ich meine gewünschte Zertifizierung (oder auch selbige im Plural) erhalte, oder das Jonas Jäger sein Programm zur Erstellung von AR-Visitenkarten endlich veröffentlicht.

Augmented Business Card from jonas on Vimeo.

2916 Tage zuvor: X ohne X

Manchmal fragt man sich ja, warum man eigentlich bei einfachen Sachen so lange herumbasteln muss, bis sie funktionieren. Zum Beispiel bei einer Remote X-Session. Dabei ist es doch so einfach:

ssh -Y [host]

Allein der Hinweis darauf, dass auf dem Client ein X-Server laufen muss, stand nirgends dabei. Ist aber eigentlich, wenn man mal ein klein wenig drüber nachdenkt, auch selbstverständlich. Ein weiterer Beweis dafür, dass Google einem zunehmenden das Denken abnimmt. Und dafür, dass die Bing-Werbung wirklich gelungen ist:

2917 Tage zuvor: Sendeleistung

Garnicht mal so einfach, zwei Wireless-AccessPoints zu einem Verbund zusammen zu schließen. Nicht nur, dass man dazu mindestens ein kompatibles Gerät braucht – man muss auch noch alles genau richtig einstellen. Mit WDS allein ist es da nicht getan. Die Sicherheitseinstellungen müssen übereinstimmen (kein WPA2) und der Sende-Kanal muss auch derselbe sein.

Um einen zu verwirren sind im Netz auch teils gegensprüchliche Anweisungen, vor allem im Bezug auf die Kanäle, zu finden. Ich vermute hier mal einfach Hersteller-abhängige Unterschiede. Trotzdem sollte man denken, dass es mittlerweile auch dafür einen Standard gäbe.

Aber gut, jetzt funktioniert es und WiFi ist mittlerweile im gesamten Haus zu empfangen. Bei der Einrichtung viel mir dann auch gleich wieder auf, dass alle Nachbarn netter Weise auf denselben Kanäle sitzen:

2972 Tage zuvor: Die Suche nach den Mail-Einstellungen

Falls jemand mal in die Verlegenheit kommen sollte unter einem 64Bit-Vista nach den Outlook-Einstellungen zu suchen: Die verstecken sich unter den Additional Options des Control Panel bei den 32-bit Control Panel Items.

Logisch, eigentlich.

2979 Tage zuvor: Rechtschreibung

Wieso ist die Rechtschreibprüfung von OpenOffice eigentlich so schlecht? Der Name selbst ist eigentlich total falsch gewählt, denn da passiert ja nichts weiter als ein nachschlagen der jeweiligen Wörter in einer Liste. Quasi prüfen per Duden. Zusammenhang der Wörter? Fehlanzeige. Konjugierte Wörter werden nicht auf ihren Kontext geprüft.

Was soll ich mit so einer Prüfung? Da werden doch gerade mal Buchstaben-Dreher bei der Texteingabe mit behoben… Traurig, traurig!

2994 Tage zuvor: Tasks abschießen

Wenn man viel mit Linux arbeitet, vermisst man ab und an schon mal eine Funktion unter Windows. In vielen Fällen gibt es allerdings ein Äquivalent – man kennt es nur nicht. Eines davon ist taskkill. Und, falls ich es mal wieder suchen sollte, so funktioniert es:

taskkill /F /FI "IMAGENAME eq VirtualBox.exe"

Das Ganze geht natürlich auch mit anderen Prozessen. Beim Namen der Prozesse hilft tasklist weiter.

3023 Tage zuvor: Schlechte Menschen

Diese Welt ist voller schlechter Menschen. Eigentlich wollte ich die Tage ja voller Lob von dem Sheeva Plug reden. Allein ein fieser Hacker meinte sich einen Spaß erlauben zu müssen und das arme, kleine System zu infiltrieren. Gut, ich hätte den Port am Router nicht auflassen dürfen – auch nicht für nur einen Tag.

Werde ich in Zukunft auch nicht mehr tun. Denn das Wiederherstellen des Systems hat mich circa zwei Tage beschäftigt. Konstruktionsbedingt sind Plug Computer nicht wirklich mal eben neu aufgesetzt. Daher bin ich jetzt schlauer was das Einrichten eines USB-Seriell-Adapters unter Debian betrifft (geht nicht), wie sich U-Boot konfigurieren lässt (Unmengen Hex-Codes), worum es sich bei TFTP und NFS handelt und wie man mit JFFS2-Dateisystemen umzugehen hat.

Ach ja, was mir schlussendlich geholfen hat, was das Booten von der eingebauten SD-Karte samt anschließendem flashen des internen Speichers mit den Original-Images. Für alle Nachahmungstäter:

setenv bootargs='console=ttyS0,115200 mtdparts=nand_mtd:0x4000000×100000(uImage),0×1fb00000@0×500000(rootfs) rw root=/dev/mmcblk0p1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none’@

3034 Tage zuvor: Shell für Bill

Wir haben hier so eine Überwachungskamera an der Haustür hängen. Eine durchaus lustige Sache, nicht nur um zu sehen wann die Post ankommen oder das Kommen und Gehen der Besucher im Auge zu behalten (oder gar die Nachbarn zu beobachten). Zumal sie eine beeindruckende Nachtsicht mit einer sehr fein einstellbaren Bewegungserkennung mitbringt (man kann sich sogar via Telnet in das dort laufende Linux einklinken).

Das Problem bei all der schönen Überwachung sind allerdings die anfallenden Datenmengen. Zwar wird alles brav mit Mpeg-4 komprimiert, trotzdem kommen schnell einige GB(Gigabyte) damit zusammen. Und da ich leider des öfteren vergesse dort regelmäßig zu entrümpeln, habe ich mich heute einmal daran gemacht das Löschen der überflüssigen Bits und Bytes zu automatisieren.

Da die Daten der Kamera via FTP auf meinem Heimserver abgelegt werden, musste also eine Windows-konforme Lösung her. Doch wie tut man das, wenn eine Batch-Datei dabei an ihre Grenzen kommt? Ganz recht: Mit der PowerShell. Gehört hatte ich von ihr schon zuvor, allerdings bis heute noch nie benutzt. Und ich muss sagen: Tolle Sache! In nicht mal einer halben Stunde war ich in der Lage die PowerShell zu installieren, ein passendes Script zusammenzustellen, es zu testen und anschließend einzuplanen.

Ich zeige mich beeindruckt und ziehe den Hut, Herr G.!

3042 Tage zuvor: Debian in klein

Diese kleinen EeePC von Asus machen ihrem Namen ja alle Ehre. Vor allem jene der ersten Generation. Stattliche 2GB bietet die mitgelieferte SSD im Inneren nämlich dem Betriebssystem an Platz. Klingt ja erst einmal nach zwar nicht viel, aber wohl doch genug Platz. Denkste.

Zwar gibt es durchaus einige spezielle Varianten für die trendigen Netbooks, aber es gibt eben doch nur eine, die auch auf dem schmalbrüstigsten aller EeePCs ihren Dienst verrichtet.

Dabei wäre zumindest das Speicherproblem eigentlich ganz einfach gelöst – und wäre für jede Distribution als Standard wünschenswert: Man muss nur die ganzen Applikationen weglassen. Bei Bedarf kann man sie ja immer noch nachinstallieren. Aber in den meisten Fällen benötige (ich) sie nicht.

Nun gut, um das manuelle Einrichten der Hardware-Besonderheiten komme ich wohl jetzt nicht mehr drumherum. Aber das nehme ich für eine Schnörkel-lose OS-Basis dann auch gerne in Kauf.

3090 Tage zuvor: Textpattern bei 1und1

Nachdem diese Domain ja mittlerweile bei ihrem neuen Hoster angekommen ist, habe ich heute dann auch den letzten Fehler behoben: Saubere URLs in Textpattern. Ein wenig kniffelig, aber durchaus einfach zu lösen. Mit folgender .htaccess-Datei:

DirectoryIndex index.php index.html
# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymLinks
Options +SymLinksIfOwnerMatch
RewriteBase /

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteRule ^(.*) index.php

3253 Tage zuvor: Es ist, wie es ist

So ein Server zu Hause ist ja durchaus praktisch: Er macht automatisch Backups von jedem Computer und bietet die Möglichkeit zur zentralen Ablage von Fotos, Musik und Filmen. Man ist also, sozusagen, auf der sicheren Seite. Allerdings bin ich immer am überlegen, wie man den Nutzen noch weiter steigern kann. Die Sicherung der wichtigsten, persönlichen Daten auf eine Ablage im Internet ist zum Beispiel so eine Sache. Denn was nützen mir die Backups auf dem Server, wenn der Server selbst bei einem Hurrikan weg fliegt? Aber auch die anderen, üblichen Download-Dienste verrichten zuverlässig ihren Dienst. Ja, um Strom zu sparen kann man den schwarzen Wunderkasten sogar automatisch ein- und ausschalten lassen.

Aber das interessanteste, vor allem im Zusammenspiel mit der Xbox ist wohl ein DVR. Und weil es mittlerweile auch genügend Software dafür gibt, habe ich mir vor einigen Wochen auch eine entsprechende Tuner-Karte besorgt. Nach ein wenig herum testen stellte sich dabei ein klarer Favorit heraus: Beyond TV. Die Features entsprechen genau dem, was ich gesucht habe und mein Tuner wird sogar im Bundle mit der Software verkauft. Ein kleiner Haken allerdings blieb: Die hiesigen digitalen Kanäle, die mittels QAM ausgestrahlt werden, will die Software einfach nicht darstellen. Eine kleine Support-Anfrage sowie einige Beta-Versionen später ist das Problem leider nicht behoben. Meine Trial-Version hingegen ist nunmehr ausgelaufen. Aber auch darauf hat der Beta-Support eine passende Antwort parat:

If you have a purchased key, please use that, if you do not own a copy of Beyond TV, I’m afraid it is what it is until you are able to obtain a purchased copy.

Jetzt stelle ich mir nur noch die Frage, ob dort tatsächlich jemand glaubt, dass ich zum testen der versprochenen, aber nicht funktionierenden, Features eine Lizenz kaufe. Blöder Weise habe ich mich doch schon sehr an die Annehmlichkeiten dieses kleinen Zusatznutzens gewöhnt…

3272 Tage zuvor: Virtuelle Einbrecher

A network computer (minint-034fc9n) was assigned the IP address of xxx.xxx.xxx.xxx.

Mit diesen Worten wurde ich letzte Woche von meinem Router begrüßt, nachdem sich mein kleiner Homeserver unerwartet aufgehängt hatte. Zweimal. Jeweils zu ziemlich genau demselben Zeitpunkt, zu dem die IP-Adresse vergeben wurde.

Nach einigen Recherchen bin ich dann recht schnell dahinter gekommen, dass es sich dabei um einen Windows PE Host gehandelt haben muss. Fragt sich nur noch, wo dies hergekommen sein soll. Die zu dem eingangs genannten DHCP-Lease genannte MAC-Adresse gehörte jedenfalls meinem Server.

Seitdem ist jedenfalls alles still, obwohl ich keinerlei Änderungen an meiner Konfiguration vorgenommen habe. Der Virenscanner blieb still – logisch, er scannt ja auch nicht den Inhalt virtueller Maschinen. Solange sich der Server jedenfalls immer aufhängt, sobald jemand Unfug treiben will, kommt dabei immerhin auch nichts abhanden. Und auch keine ungebetene Gäste an Bord.

3274 Tage zuvor: Entferntes Fernsehen

XBMC für die XBox-Classic ist ja nunmehr schon ein alter, jahrelanger Wegbegleiter. Seinerzeit wurde die die XBox ja nur allein deswegen angeschafft: Filmchen vom Rechner direkt auf dem schönen Wohnzimmer-Fernseher schauen. Die Killer-Applikation schlechthin. Und wie ich jetzt feststellen durfte, ist sie noch viel besser geworden.

XBMC

Konnte man, eine Internetverbindung vorausgesetzt, schon früher auf Wetterberichte und RSS-Feeds zugreifen, wurde der Gedanke von den Entwicklern seitdem durchaus weiterentwickelt. Zuerst wurden Skripts eingeführt, mit denen man zum Beispiel auf die Apple Movie Trailer zugreifen kann. Schon eine wirklich kurzweilige Sache! Als nächstes sind die Internet-Streams hinzugekommen. Auf diese Weise kann man nicht nur Radiosender via Internet hören (endlich wieder EinsLive), sondern auch MMS-Streams (zB n-TV oder auch Giga) abspielen. Doch das wirklich beste sind die PlugIns. Sie spielen den Gedanke eines Skripts noch weiter und ermöglichen so direkten Zugriff auf YouTube oder – und das ist für mich persönlich der Höhepunkt – die ZDF Mediathek.

Ach ja, die schnöden Filmchen auf dem heimischen Server kann man natürlich weiterhin wie gewohnt schauen. Dank WebGuide übrigens auch übers Internet – in die umgekehrte Richtung.

3279 Tage zuvor: Dein DNS und Du

Heute schon den DNS-Server auf den berüchtigten Sicherheitsfehler geprüft? Ich tat dies soeben und musste dabei leider feststellen, dass mein Provider sich scheinbar noch nicht genötigt sah etwas dagegen zu unternehmen. Er steht damit zwar nicht alleine da, aber das macht die Sache ja nun auch irgendwie nicht besser.

3288 Tage zuvor: Heimserver für Deutschland!

Nachdem der HP Mediasmart Server nun, passend zum heutigen Release des Power Pack 1, auch in Deutschland erhältlich ist, sei jedem potentiellen Käufer das direkte RAM-Upgrade empfohlen. Es lohnt sich!

3349 Tage zuvor: Virtuelle 64-Bit

Allen, die versuchen ein 64-Bit Client-Betriebssystem unter Vista-64 zum Laufen zu bekommen sei gesagt:

Virtualbox does not support 64-bit guests.

Mich hat es einige Stunden gekostet, dies herauszufinden.

3369 Tage zuvor: Sag beim Abschied leise Servus

Angefangen hat es, logisch, bei WOW. Nimmt ja schließlich auch den Großteil in Anspruch. Ab und an, immer öfter, gab es Checksummenfehler beim Starten. Ein diskchck später war dann wieder alles bestens. Immer öfter kam es vor, mischte sich mit sporadisch auftretenden, spontanen Bluescreens. Bis dann vor ein paar Tagen gar nichts mehr ging – und die Festplatte das Booten verweigerte.

Zufällig hatte ich da schon das Nachfolgemodell in meinen Händen, mit der ersten Vista-Testinstallation betankt. Windows-Homeserver sei Dank gingen auch keinerlei Daten verloren. Der Wechsel verläuft also doch ein wenig schneller als geplant. Trotzdem ein ziemlich treffender Zufall.

Bleibt nur noch jedem anzuraten, nie mit einer Festplatte im Handgepäck auf (Flug-)Reisen zu gehen.

3460 Tage zuvor: PHP5 unter IIS6

Falls jemand in die Verlegenheit kommen sollte PHP5 unter einem IIS6 laufen lassen zu wollen und alle Guides einfach nicht weiterhelfen, sollte mal probieren für die PHP-Erweiterung in den Web Extensions denselben Pfad einzutragen wie in der Web Site Configuration. Also im alten MS-DOS Format (mit Tilden). Damit wird zumindest das Problem bei einem 404 2 1260 Fehler behoben (keine Berechtigung zum Ausführen der Erweiterung).

Klar, oder?