2. April 2013

Skript zum Reparieren der Samsung-TV-Festplatte

Nachdem ich viel herumprobiert habe (siehe dieser frühere Post), habe ich inzwischen ein Skript geschrieben, um das Reparieren der Festplatte möglichst automatisch durchzuführen. Wer es benutzen will, muss nur am Anfang des Skriptes in der Variablen "HDNAME" die Gerätekennung seiner Festplatte eintragen. Bei mir ist das eben "My Passport", da ich eine Festplatte von WD verwende.

Zur Erläuterung: Man braucht ein laufendes Linux (z.B. Ubuntu) oder kann sich (wie ich) einen USB-Stick mit einem Live-System erstellen (wie das geht steht auch in meinem früheren Post). Dann muss man nur noch das Skript unten in einer Datei auf dem USB-Stick speichern, das Linux booten und das Skript aufrufen.

Hier kommt das Skript:

Schatzkarte bei Google-Maps

Ein gelungener Aprilscherz von Google: Per Google-Maps wurde zur Schatzsuche aufgerufen. Hier eine gute Zusammenfassung und die gefundenen Schätze: http://mapsblog.de/google-maps/schatzkarte/

Direkte Links:
Google-Maps mit Schatzmodus [UPDATE: Wurde von Google inzwischen deaktiviert]
Promo-Video von Google

25. Januar 2013

Beliebiges Programm als Windows-Dienst installieren

Ab und zu ist man in der Verlegenheit, ein beliebiges Programm (z.B. ein in Java geschriebenes Programm) unter Windows als Dienst laufen zu lassen.

Mit dem in den Windows Server 2003 Resource Kit Tools enthaltenen Tools srvany.exe und instsrv.exe ist das realtiv einfach möglich.

Wie das ganze funktioniert ist hier beschrieben: Erstellen eines benutzerdefinierten Dienstes

Was dort nicht steht ist, dass man unter dem Regitry-Schlüssel
HKLM\SYSTEM\CurrentControlSet\Services\<MeinDienst>\Parameters
nicht nur den Pfad zum Executable eintragen kann, sondern auch Aufrufparameter sowie das Verzeichnis in dem das Programm gestartet werden soll:

Application  = Executable
AppDirectory  = Absoluter Pfad in dem Anwendung gestartet wird
AppParameters  = Aufrufparameter

Dateien aus msi-Installer extrahieren

Mit einer speziellen Option lassen sich aus einer msi-Installerdatei die Dateien extrahieren, ohne alle anderen Schritte durchzuführen, die der Installer eigentlich noch durchführen würde. Wenn man also nur die Dateien auspacken will, die der Installer enthält, dann geht das mit diesem Aufruf:

msiexec /a Irgendwas.msi /qb TARGETDIR="C:\MeinVerz" 

Nicht erschrecken, es wird dennoch ein Installer-Fenster angezeigt, es werden aber dennoch nur die Dateien extrahiert.

Diese Info habe ich z.B. hier gefunden. Dort wird auch gleich noch erklärt, wie man diesen Befehl in das Popup-Menü für eine MSI-Datei (im Windows-Explorer) einbauen kann.

8. Januar 2013

Samsung TV Festplatte nicht mehr lesbar? Eine Lösung...

Samsung hat offensichtlich mindestens bei einigen seiner LED TV-Geräte einen heftigen Bug in der PVR-Funktion (Videorecorder, Aufzeichnung).
Das Problem äußert sich dadurch, dass das TV-Gerät nach einiger Zeit der Benutzung der Aufnahmefunktion die angeschlossene Festplatte plötzlich nicht mehr erkennt ("Kein Gerät angeschlossen" etc.)

Anscheinend gibt es da einen Bug in der Verarbeitung des für die Festplatte genutzten XFS-Dateisystems. Die Platte kann nun ohne erweiterte Computerkenntnisse nur noch formatiert werden, wodurch natürlich alle zuvor aufgenommenen Sendungen gelöscht werden.

Für etwas computererfahrene Benutzer gibt es allerdings eine Lösung. Den entscheidenden Hinweis habe ich hier gefunden. Allerdings hat es mich dennoch einige Zeit gekostet, das wirklich hinzukriegen. Deswegen hier nun nochmal eine hoffentlich vollständige Anleitung.

1. Schritt: Ubuntu auf einem USB-Stick installieren

Hinweis:
Wer sowieso schon Ubuntu irgendwo laufen hat, kann sich natürlich dieen Schritt sparen und gleich bei Schritt 2 weiterlesen.
Falls die XFS-Befehle (d.h. auch xfs_repair) in einem bestehenden Ubuntu noch nicht installiert sein sollten, kann dies mit dem Befehl "sudo apt-get install xfsprogs" nachgeholt werden. (Danke an Stephan Terrill für den Hinweis)

Voraussetzung:
Man braucht einen leeren USB-Stick, auf dem Ubuntu installiert und dann gebootet werden kann.

Vorgehen:
  • Ein aktuelles Ubuntu-ISO-Image herunterladen (die Standard-Desktop-Version in 32bit ist völlig ausreichend)
  • Diese Anleitung befolgen, um den USB-Stick zu installieren (im Artikel etwas weiter unten steht die Lösung für Windows-User)
  • Ubuntu von USB-Stick booten
  • /usr/bin/xterm ausführen, um eine Shell zu erhalten (z.B. direkt über den Filebrowser auswählen und ausführen)

2. Schritt: Festplatte (Dateisystem) "reparieren"


Hinweis: In diesem späteren Blogpost habe ich ein automatisches Skript für die folgenden Abläufe gepostet. (Hinweis eingefügt am 07.01.2014)


Vorgehen:
  • "kaputte" Festplatte an den Rechner anschließen
  • In der Shell (z.B. xterm) den Befehl
    sudo lshw -short -class storage,disk,volume ausführen, um die Liste der Massenspeichergeräte und deren Device-Bezeichner zu erhalten. 
  • Aus dieser Liste nun die Festplatte heraussuchen (sollte an Hand der Hersteller- oder Gerätebezeichnung machbar sein). Bei mir war das z.B. /dev/sdb1
  • Mit dem richtigen Device-Bezeichner dann den folgenden Befehl aufrufen:
    sudo xfs_repair -L /dev/sdXY
    wobei /dev/sdXY dann natürlich euer richtige Device-Bezeichner sein muss.
  • Um sicher zu gehen nochmal ein xfs_repair hinterherschicken:
    sudo xfs_repair /dev/sdXY
    Warum? Weil bei mir einen Tag nach dem Schreiben dieser Anleitung die Platte schon wieder "kaputt" war. Mal sehen, ob das wirklich eine längerfristige Lösung darstellt (ergänzt am 09.01.2013).
  • Fertig! 
Jetzt kann die Festplatte vom PC getrennt und wieder an den Fernseher angeschlossen werden. Bei mir waren danach wieder alle Aufnahmen da als wäre nichts gewesen.

Also eigentlich ganz einfach, wenn man weiß, was man tun muss. Wie so oft.

Update vom 25.01.2013:

3. Schritt: Wenn trotz reparieren der Festplatte der Fernseher nicht mehr will

Nun hat sich unser Fernseher etwas Neues überlegt: Trotz bereinigen der XFS-Logs (siehe oben) wollte er die Platte nicht mehr lesen. Er versuchte es zwar und zeigt die "Sanduhr", aber es passierte nichts. Außer, dass der Fernseher plötzlich ausging und dann das Samsung-Logo erschien, so als hätte man ihn gerade eingeschaltet. Sieht für mich aus wie ein Absturz.

Lösung: Die Dateien im Verzeichnis "database" löschen (unter Linux, siehe oben) und dann wieder an den Fernseher anschließen. Nun konnte unser Fernseher die Platte und alle Aufnahmen darauf wieder lesen. Die Datenbank legt er sich wohl selbst wieder an.

By the way: Der Treiber, den Samsung da für die Festplatte verwendet, ist wirklich ziemlich kaputt: Sämtliche Änderungsdaten aller Dateien und Verzeichnisse sind 01.01.1970... :-/

4. Januar 2013

sshd unter Windows einrichten

Mit Hilfe von Cygwin lässt sich unter Windows 7 etc. relativ leicht ein SSH-Server sprich sshd einrichten. Dazu müssen über Cygwin die OpenSSH-Pakete installiert werden und dann kann in einer als Benutzer Administrator gestarteten Shell das Kommando "ssh-host-config" zum Einrichten des sshd verwendet werden.
Näheres dazu z.B. hier:
http://www.howtogeek.com/howto/41560/how-to-get-ssh-command-line-access-to-windows-7-using-cygwin/