Is it just み?

Tag: Linux

Desktop-Fernbedienung für Dune HD Mediaplayer

by on Aug.12, 2012, under Programmierung, Technik

Ich besitze einen Dune BD Prime 3.0 Mediaplayer mit dem ich sehr zufrieden bin. Er befüttert den Fernseher zwischen den Arbeitsplätzen von meiner Freundin und mir – und jeder will die Fernbedienung haben. Glücklicherweise haben alle neueren Dune-HD-Geräte eine “IP-Steuerung“, also einen eingebauten Webserver mit einem per cgi zugänglichen Programm, dass Parameter auswertet wie Eingaben der normalen Infrarot-Fernbedienung.

Also musste eine Möglichkeit her den Player vom Rechner aus zu bedienen. Hier ist meine Implementierung in C++ mit Qt, sie erstellt drei System-Tray-Icons (nur eins unter Gnome/Unity, wer da Hilfe weiß, bitte Bescheid sagen), Play/Pause, Previous und Next und blendet auf Wunsch eine vollständige Fernbedienung ein. Konfigurieren kann man derzeitig nur die IP (bzw. den Hostname) des Players, mehr wird nicht benötigt. Zum Download gibt es derzeitig neben dem Quellcode eine 64Bit Linux-Version und eine 32Bit Windows Version. Sollte die Nachfrage da sein reiche ich weitere Versionen gerne nach.

http://dev.himmelrath.net/projects/miduneremote/

Für die Zukunft sind noch ein paar Features geplant, wie weitere Fernbedienungsmodelle, Tastaturbedienung und Playerstatusanzeige, aber als einfacher Fernbedienungsersatz läuft es schon mal.

Über Tester und Rückmeldungen würde ich mich sehr freuen.

Comments Off on Desktop-Fernbedienung für Dune HD Mediaplayer :, , , , , , more...

[Linux] Verzeichnis mit Hard-Links kopieren

by on Nov.16, 2011, under Linux

Wieder einer dieser Einträge um es selbst nicht wieder zu vergessen…

Wenn man versucht ein Verzeichnis mit Hard-Links einfach so zu kopieren, erstellt man für jede Datei eine neue im Zielverzeichnis, auch wenn im Original zwei Dateien auf die gleichen Daten auf der Festplatte zeigen (hard link).

In meinem Fall hatte ich ein inkrementelles Backup gemacht, bei dem alle unveränderten Dateien nur “hart” mit der Datei aus dem letzten Backup verlinkt wurden, so habe ich jeweils einen Snapshot des so gesicherten Verzeichnisses ohne sehr viel Platz einzunehmen. Beim Versuch meine Backup-Platte auf eine Größere umzuziehen sagte er mir dann, dass mir ein paar TB an Platz fehlen.

Die Lösung ist einfach: Hard-Links mit kopieren. Das mache ich mit dem gleichen Tool mit dem ich das Backup auch erstellt habe, rsync:

rsync -a -H -v /altePlatte/backup /neuePlatte/backup

Die Optionen machen folgendes:

-a Ist eine zusammenfassung (fast) aller Optionen die man benötigt um ein Backup mit rsync zu machen
-H Der springende Punkt – sucht nach Hard-Links und stellt diese im Zielverzeichnis wieder her
-v Zeigt welche Datei gerade kopiert wird. Gibt mir ein besseres Gefühl, wenn ich nicht Stundenlang auf einen leeren Bildschirm gucke und einfach nur hoffe, dass im Hintergrund alles läuft.

Vorsicht: die “-H”-Option benötigt ziemlich viel Speicher, weil rsync sich für jede Datei merken muss, wo ihre Daten liegen.

Comments Off on [Linux] Verzeichnis mit Hard-Links kopieren :, , more...

[Ubuntu] Verschlüsselte Partition nimmt Passwort nicht mehr an

by on Dec.23, 2010, under Linux

Falls jemand von euch auch mal auf das Problem stößt:

Nach der Neuinstallation sagte mir mein Ubuntu plötzlich, dass meine Passwörter falsch seien – egal wie oft ich versuchte.

Lösung: “sudo apt-get install cryptsetup”
Das kleine Programm cryptsetup war nicht installiert und so liefen meine Passwörter ins Leere – Ubuntu sagte mir aber “Falsches Passwort”. Jetzt läuft alles wieder.

Comments Off on [Ubuntu] Verschlüsselte Partition nimmt Passwort nicht mehr an :, , , more...

[Linux] Festplatte sicher löschen

by on May.06, 2010, under Computer, Linux

Wenn man eine Festplatte wegwirft oder verkauft, will man ja normalerweise sicher gehen, dass keine persönlichen Daten mehr von dieser Platte ausgelesen werden können – einfaches “Löschen” reicht da nicht, weil “löschen” nur bedeutet, dass der Verweis im Dateisystem auf die Daten entfernt wird, jedoch die Daten selbst werden nicht überschrieben (das wäre nämlich ziemlich langsam). Um nun also sicher zu gehen, kann man die Festplatte mit Daten voll schreiben, das ist einfach und effektiv, denn aller Paranoia zum Trotz hat es bisher niemand geschafft einfach überschriebene Daten wiederherzustellen.

(Im folgenden muss man natürlich /dev/DEVICE noch durch das echte Festplatten-Gerät ersetzen, also sowas wie /dev/sdb oder /dev/sdc – aber bitte vorher sicher gehen, dass man nicht die falsche Platte platt macht z.B. indem man die Platte mountet und dann mit “df -h” oder “mount” überprüft welches Gerät wirklich an der Stelle hängt. Aber Vorsicht: Nicht im normalen System das Gerät raussuchen, dann mit Livesystem von CD starten und die Platte überschreiben, da könnte sich der Gerätenahme ändern.)

Die einfache Version schreibt die Festplatte mit Nullen voll:

dd if=/dev/zero of=/dev/DEVICE bs=1M

bzw. mit pseudo-zufälligen Daten:

dd if=/dev/urandom of=/dev/DEVICE bs=1M

Wichtig: /dev/urandom benutzen, sonst kann es ziemlich lange dauern, /dev/random wartet nämlich bis das System wirklich halbwegs zufällige Daten gesammelt hat und gibt diese dann aus, während /dev/urandom (u für “unlocked”) nicht wartet und dann weniger sichere Zufallszahlen liefert – was bei dieser Verwendung aber relativ Schnuppe ist.

Mit Hilfe des bs-Parameters kann man ein wenig an der Geschwindigkeit schrauben – einfach mal ein paar Werte ausprobieren und 20 Sekunden schreiben lassen, dann mit Strg-C abbrechen – dd zeigt dann an wie schnell geschrieben wurde in MB/sec.

Wenn man die Festplatte gleich noch testen will während man sie überschreibt, gibt es folgende Möglichkeit:

badblocks -w -t random /dev/DEVICE

Dieses Programm schreibt nämlich nicht nur alle Sektoren voll, sonder überprüft hinterher auch ob die Daten genau so wieder gelesen werden können. Also die perfekte Möglichkeit Daten zu vernichten, wenn man eine Festplatte verkaufen oder selbst weiter nutzen möchte. Diese Methode ist natürlich langsamer als die dd-Variante oben.

Comments Off on [Linux] Festplatte sicher löschen :, , more...

[Linux] CPU Taktung

by on Nov.10, 2009, under Linux

Dies ist einer der Einträge in meinem Blog, der wohl hauptsächlich deshalb da ist, weil ich es wohl selbst wieder vergessen und daher nachschlagen müssen werde.

Mit Hilfe des Befehls
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
kann man sich ausgeben lassen welche Taktfrequenzen von der CPU unterstützt werden. Da man ja nun mal keine unterschiedlichen CPUs auf dem Board hat, sollten die ausgegebenen Werte für alle CPUS des Systems gelten, auch wenn man nur “cpu0” (also die erste CPU) abgefragt hat.

Die Ausgabe kann dann z.B. so aussehen:
2000000 1800000 1000000

Dies sind die unterstützten (funktionierenden) Werte, die man dann z.B. dem Programm cpufreq-selector übergeben kann:
sudo cpufreq-selector -f 1000000

Obiger Befehl stellt meine CPU in den Stromsparmodus. (sudo davor nicht vergessen, denn an der CPU-Geschwindigkeit darf nur root herumspielen)

Natürlich geht das ganze auch deutlich einfacher indem man sich eines der unzähligen Programme wie den CPU Frequency Scaling Monitor (gehört zu Gnome) installiert und es bequem über den Desktop einstellt. Spätestens wenn man das mal per ssh auf einem entfernten Rechner einstellen will hilft dieser manuelle Weg jedoch sehr.

Comments Off on [Linux] CPU Taktung :, , more...

Komprimierung mit 7z

by on Nov.09, 2009, under Computer, Linux

Dies ist einer der Einträge in meinem Blog, der wohl hauptsächlich deshalb da ist, weil ich es wohl selbst wieder vergessen und daher nachschlagen müssen werde.

Ich komprimiere meine Dateien fast immer mit 7z, nur wenn ich Quellcode weitergebe nutze ich das traditionelle tar.bz2. Vor allem habe ich mir angewöhnt alles was ich an CD und DVD Images besitze vor dem verschieben auf die Backupplatte noch einmal zu komprimieren – der Zugriff muss ja nicht schnell gehen, sondern im Optimalfall nicht einmal nötig sein.

Da ich in diesem Fall keine Rücksicht auf irgend wen nehmen muss, kann ich die Parameter so wählen, dass ein für meinen Rechner optimale Komprimierung herauskommt – auch wenn es sich deshalb auf Rechnern mit wenig Arbeitsspeicher nicht mehr entpacken lassen würde.

Mein Kommando zur Komprimierung lautet (Achtung, nicht auf Systemen nutzen die weniger als 4GB Hauptspeicher haben):
nice -n 10 7z a -mx=9 -mmt=16 -t7z -mfb=258 -md=384m -ms=8g "[ZIEL].7z" "[DATEN]"

Kurze Erklärung:

Kommandoteil Bedeutung
nice -n 10 Starte das folgende Kommando mit geringer Priorität. Das bedeutet, dass man nebenher noch relativ gut arbeiten kann, bzw. andere Prozesse weniger ausgebremst werden.
7z a Füge Daten zu einem Archiv hinzu (a steht für “add”).
-mx=9 Benutze die maximale Kompressionsstufe.
-mmt=16 Bestimmt die Anzahl der benutzten Threads. Alternativ kann man auch -mmt=on angeben, dann bestimmt 7z selbst die Anzahl der Threads. Bei meinen Tests war jedoch die Anzahl 16 (ich habe einen Dualcore Prozessor) seltsamerweise fast 10% schneller als die Angabe on.
-t7z Sagt 7z, dass es das 7z-Format benutzen soll. Eigentlich überflüssig wenn wir den Archivnamen auf .7z enden lassen. Da 7z aber auch so ziemlich alle anderen halbwegs frei verfügbaren Komprimierungsverfahren unterstützt, gehe ich hier noch einmal sicher, dass auch wirklich das effiziente 7z benutzt wird.
-mfb=258 Die Wortgröße wird hier festgelegt. Faustregel: Je höher die Wortgröße, desto besser die Kompression. Dies ist, soweit ich weiß, der derzeitig maximal zulässige Wert.
-md=384m Die Wörterbuchgröße. Auch heir gilt die gleiche Faustregel wie bei der Wortgröße, allerdings kann man hier noch deutlich größer werden. In diesem Fall ist die Wörterbuchgröße 384 MB – das bedeutet, dass man beim Entpacken schon mindestens 512 MB RAM haben muss und beim Komprimieren ungefähr das Zehnfache der Wörterbuchgröße. Ich habe 6 GB RAM und benutze daher diese Einstellung wenn ich über Nacht die Backups komprimiere. Sobald ich parallel noch Firefox, Thunderbird und Eclipse (um mal Speicherfresser zu nennen) benutzen will, setze ich den Wert auf unter 300m.
-ms=8g Die maximale Größe der soliden Blöcke – auch hier gilt die gleiche Faustregel, auch wenn der Einfluss mit steigender Größe immer geringer wird. Alternativ sollte ein -ms=on auch dafür Sorgen, dass ein ganzes DVD-Image als ein großer Block (“solid”) komprimiert wird.
“[ZIEL].7z” Das Zielarchiv. Es muss nicht auf .7z enden, aber das hat sich aus praktischen Gründen eingebürgert. Unter Windows sollte es natürlich auf jeden Fall so heißen, da Windows das Archiv nicht automatisch als solches erkennen kann.
“[DATEN]” Das ist dann die Datei, die Dateien oder das Verzeichnis das komprimiert werden soll. Die Anführungsstriche kommen allerdings nicht um mehrere Dateien oder Verzeichnisse, sondern jeweils um eins (damit es keine Probleme mit Leerzeichen gibt).

Um dann viele Images über Nacht zu komprimieren benutze ich folgendes Mini-Script:

#!/bin/bash
for i in *.iso; do
nice -n 10 7z a -mx=9 -mmt=16 -t7z -mfb=258 -md=384m -ms=8g "$i.7z" "$i"
if [[ $? -eq 0 && -f "$i.7z" ]]; then
rm "$i"
fi
done

Comments Off on Komprimierung mit 7z :, , , , , more...