Archiv der Kategorie: Informatik

Neuigkeiten über eines meiner Lieblingshobbies, die Programmierung, aber auch andere Informatik-bezogene Themen wie bsp. Hardware. U.A. auch News zur Hauptseite www.satoprogs.de

Incompetech-Downloader für die Kommandozeile

Kennt ihr das Problem? Ihr entwickelt ein Spiel, macht youTube-Videos, spielt Rollenspiele oder seit einfach Musik-Fetischisten und wollt daher immer neue Musik haben, möglichst gemafrei?
Das Schlüsselwort lautet Royalty Free Music.
Der main approach to Royalty Free Music ist wohl Kevin MacLeod von , der seine gesamte Musik kostenlos zur Verfügung stellt. Solange man ihn in den Credits erwähnt, ist seine Musik völlig frei zur Verwendung. Was macht man nun, wenn man gern ein Lied verwenden möchte? Man sucht sich das entsprechende Lied auf der Website heraus oder hört es sich dort an.
Nun gibt es aber Jäger und Sammler wie mich. Ich möchte bei so einer Gelegenheit immer gern alles auf ein mal haben. Also habe ich, auch aus spendengründen, einmalig die $48 bezahlt, um die gesamte Sammlung herunterladen zu dürfen.
Ich wurde prompt von ihm mit einer persönlichen Dankesmail belohnt, das erlebt man nur äußerst selten, danke dafür :). Der eher unschöne Nachteil war, dass diese Collection, im Februar „gekauft“, das letzte mal November letzten Jahres aktualisiert wurde. Seitdem wurden viele neue Titel veröffentlicht, die ich nun hätte per Hand laden müssen. Nicht zuletzt sieht man auf der Webseite nur die neuesten 19 Tracks aufgezählt, mehr nicht.
Meine Idee: ein Incompetech-Downloader. Sowas gab es schon, allerdings ging der bei mir gar nicht, veraltet und naja… nicht wirklich schön geschrieben.
Darum habe ich einfach mein eigenes Projekt ins Leben gerufen.
Hier gehts lang
Dieser Downloader ist, wie sollte es auch anders sein, für die Kommandozeile ausgelegt und vollständig in Python geschrieben. Er ist für Python 2 konzipiert und wird unter Python 3 bislang nur Fehler werfen, jedoch plane ich ihn später auch dahingehend anzupassen.
Außerdem werde ich nach und nach verschiedene Filter-Mechanismen einbauen.
Derzeit kann man beispielsweise nur nach Alphabet und nach Erscheinungsdatum herunterladen, wobei man die Liste optional auch von unten nach oben abarbeiten kann.
Die Tracks können entweder alle in einem Ordner abgelegt werden, oder in Unterordner nach ihrem Genre einsortiert werden.
Mehr ist bislang nicht drin, jedoch plane ich eine starke Erweiterung, beispielsweise das ausschließliche Laden eines bestimmten, wählbaren Genres oder das Suchen nach Schlüsselworten. In welchem Zeitrahmen mir das möglich sein wird weiß ich nicht, aber er funktioniert auch bisher schon einwandfrei.
Ihr könnt ihn gern verwenden. Da er vollständig ohne Abhängigkeiten klar kommt, kann er auf einer simplen Out-of-the-box-Installation von Python 2.7 angeworfen werden.
Um die Liste der Argumente zu sehen zu bekommen, startet den Downloader mit dem Argument –help.
Und jetzt viel Spaß damit :).

Review: Zalman ZM-VE400 2,5 Zoll Festplattengehäuse mit Virtuellem BD-Laufwerk

Hallo Leser/innen,
erst einmal wünsche ich euch fröhliche Weihnachten nachträglich und einen guten Rutsch vorträglich. Aber nun zum eigentlichen Thema.
Heute stelle ich euch das 2,5 Zoll Festplattengehäuse ZM-VE400 von Zalman, zu Kaufen beispielsweise hier, vor. Eine englische Beschreibung des Herstellers findet ihr dort. Und dennoch noch einmal kurz:

1. Was ist das überhaupt?

Wer den Preis sieht schluckt und denkt sich, es handelt sich hierbei nur um ein einfaches 2,5 Zoll Gehäuse für externe Festplatten, vermutlich mit Gold lackiert, wenn man die 61 €, die es kostet, in Betracht zieht. Das stimmt, aber nur teilweise. Hier ein paar Randinformationen, bevor wir zu der Attraktion kommen:

* Es unterstützt tatsächlich 2,5 Zoll Festplatten zum Einbau und das sogar sehr einfach, sodass ein Blinder keine Schwierigkeiten hat, eine Festplatte einzustecken.
* eingesteckt werden können SATA/SATA II Festplatten.
* ein mitgeliefertes Kabel garantiert USB 3.0 Geschwindigkeit (der an der Festplatte einzusteckende Anschluss ist eine USB 3.0-Lösung, die ich bisher nur von Seagate-Platten kannte und, zumindest bei mir, sehr anfällig ist. Stecke ich ein solches Kabel einer Seagate-Platte beispielsweise während des laufenden Betriebes an meinen Rechner an (mit mehreren Rechnern probiert), passiert es häufiger, dass mein interner USB-Hub kurz aussetzt, woraufhin alle USB-Geräte kurz abgemeldet und dann wieder angemeldet werden. Gesund kann das nicht sein. Bei diesem Gehäuse ist mir das bisher allerdings nicht passiert)
* ein stylisches Leder-Case ist im Umfang enthalten.
* außerdem im Umfang enthalten sind zwei Minifurz-Schrauben zum Verschrauben des Gehäuses (bekannt von so ziemlich allen 2,5 Zoll Gehäusen) und ein passender Schraubenzieher (danke hierfür an Zalman!)
* die Oberseite des Gehäuses ziert, für Blinde unfühlbar, ein Touchpad zur Eingabe von Zeichen und Bedienen der Funktionen des Gehäuses

Bis jetzt ein ganz simples und noch dazu überteuertes Gehäuse, oder? Keinesfalls!
Das ZM-VE400 ist nämlich ein Mini-Computer. Es unterstützt folgende- maßgebliche Funktionen:

* Emulierung virtueller BluRay-Laufwerke
* Verwaltung von Festplatten mit Hardware-Verschlüsselung
* Bereitstellung festplattenrelevanter Informationen (S.M.A.R.T.)

Vor Allem die Emulierung der virtuellen BluRay-Laufwerke ist etwas Spezielles. Welcher Informatiker kennt es nicht: ein Computer hat prinzipiell mindestens 2 Funktionen, um Systeme zu booten: von Festplatte oder von externen Datenträgern. An externen Datenträger unterstützt jedes System mindestens Floppy, aber da gehen uns langsam die Leser für aus. Kein Wunder ;). Die nächste Option sind CD-Laufwerke. Von dem Fakt mal abgesehen, dass Netbooks davon auch schon keines mehr haben, fällt hier dennoch der ständige optische Verschleiß an. Eine neue Version einer Live-CD? Wer keine RWs besitzt, braucht einen neuen Rohling. Und glaubt mir, selbst mit RWs stresst das ständige neu Brennen auch irgendwann extrem. Die dritte Option wäre schließlich USB, aber auch das ständige neu einrichten von USB-Sticks mittels beispielsweise Unetbootin ist aufwändig und unnötig. Zumindest jetzt, seid dem ZM-VE400.

2. Das Einrichten

Dazu gehört tatsächlich weniger als Gedacht. Platte rein, Kabel ran, angesteckt, fertig. Das Gerät steht tatsächlich standardmäßig auf „Dual Boot“, was bedeutet, dass am Computer gleichzeitig ein leeres BD-RE-Laufwerk und eine Festplatte sichtbar sind. Wobei die Festplatte bei mir noch fehlte, denn ich habe eine frische Samsung M8 HN-M500MBB eingebaut, die ich im Übrigen auch empfehlen kann: schnelle Startzeit, kaum hörbar, fixe Leseraten, aber das ist nur Nebensache. Jedenfalls war diese Platte noch nicht partitioniert, weshalb auch nichts zu sehen war. Und da ich gerade kein Linux greifbar hatte, habe ich kurz diskpart von Windows genutzt und mal etwas aus meiner Platte gemacht:

list disk
select (in meinem Fall 3)
create partition primary
format fs:ntfs quick
assign letter: (in meinem Fall J)
exit

Soviel zur Einrichtung, das wars. Unter J: liegt jetzt die Platte, die den vollen Speicher der im Gehäuse befindlichen Platte bietet, wie üblich.

3. Nutzung des Laufwerk-Features

3.1 Die Grundlagen

Wie bereits oben erwähnt löst dieses spezielle Feature des ZM-VE400 sämtliche unserer CD- und Stick-Probleme, denn es unterstützt die Möglichkeit, CD-Abbilder in einen speziellen Ordner auf der Festplatte zu kopieren und diese anschließend von der Platte aus in das virtuelle Laufwerk einzubinden. Tatsächlich ist dieses virtuelle Laufwerk auch vom BIOS oder UEFI aus ansteuerbar und bootbar, so das Gerät am Rechner beim Bootvorgang angeschlossen ist.
Bisher stand auf der Platte eine generelle Übersicht, die folgende Informationen lieferte:

USB xx (20 für USB 2.0 und vermutlich 30 für USB 3.0, habe ich allerdings noch nicht getestet)
1. Partition: 0

Diese Information sagt einem, dass die Platte die erste Partition der in ihr verbauten Platte nicht finden konnte. Dies könnte folgende Gründe haben:
* Es gibt keine ;). Dies war in meinem Fall so. Einfach ein mal partitionieren, wie oben beschrieben, und fertig.
* Man hat in einem für die Platte unleserlichen Dateisystem partitioniert: Die Platte unterstützt von Haus aus nur einige wenige Systeme: NTFS, exFAT, FAT32 und FAT. FAT32 und FAT sind aufgrund der Dateigrößenbeschränkung nicht zu empfehlen, weshalb man NTFS oder exFAT wählen sollte. Hier sollte man nun richtig lesen:

3.2 Nutzung mit NTFS

In meinem Fall war die neueste Firmware für die Nutzung mit NTFS bereits aufgespielt. Dies wusste ich allerdings nicht, weshalb ich vorsichtshalber einfach noch einmal die neueste Firmware installierte. Dazu gibt es auf der oben genannten Homepage des Herstellers die NTFS-Firmware zum Herunterladen. Das Gerät einfach anschließen, die Datei ausführen und auf „Update“ klicken. Dann einen Moment warten. Nach Abschluss des Vorganges das Gerät abziehen und neu anschließen. Taucht nun ein „Flashing, please wait“ mit blinkendem Bildschirm auf, so wird die neueste Firmware eingerichtet. Lasst das Gerät einfach eine Weile in Ruhe, dies kann bis zu 30 Sek. dauern. Anschließend wird NTFS in vollem Umfang unterstützt. Sollte dieser Bildschirm gar nicht erst auftauchen, ist bereits die aktuellste Firmware installiert.

3.3 Nutzung mit exFAT/FAT32/FAT

Hier folgt im Prinzip das gleiche Prozedere: Firmware herunterladen, Datei ausführen, Updaten, Abziehen, Anstecken und warten.

3.4 Toubleshooting

Bei mir gab es ein Problem: nachdem nämlich die erste Aktualisierung keine Früchte trug, versuchte ich es erneut und veranlasste das Gehäuse dabei zum Freeze. Ich dachte schon, ich hätte 60 € in den Sand gesetzt, da fand ich die Lösung aller Probleme ;). Es gibt nämlich einen Reset-Knopf. Man nehme also die Platte an der Unterseite des Gehäuses ab und öffne es. Dort, an der Seite mit dem Kabelanschluss, befindet sich ein kleiner runder Knopf an der Innenseite des Gehäuses. Diesen halte man nun gedrückt, während man das Gerät an den Rechner ansteckt. Das Display wird wie verrückt blinken und der Rechner wird die Platte die ersten Sekunden nicht finden, aber nach relativ kurzer Zeit wird alles wieder im Lot sein.

3.5 Einbinden von Dateien

Nach mehrfachem Abstecken und anstecken und hoffentlich korrekt eingerichteter Firmware sollte sich auf dem Display nun folgende Information befinden:

No _ISO Folder

Dies ist auch schon so ziemlich alles, was wir wissen müssen: auf der Platte muss ein Ordner namens _ISO angelegt werden. Dort werden dann einfach alle ISO-Dateien hineinkopiert, die später einbindbar gemacht werden sollen. Man soll hier auch VHD-Dateien, also virtuelle Festplatten, einbinden können, dies habe ich allerdings nocht nicht versucht.
Und ja, solche Images sind von sich aus angeblich auch bearbeitbar, man kann also beispielsweise ein Betriebssystem live booten und im Image, also auf der im Betriebssystem befindlichen Hauptpartition, Daten ablegen, die dann von dem Gehäuse einfach mit in das Image gepackt werden. Außer man aktiviert die ebenfalls im Gehäuse integrierte Schreibschutz-Funktion.
So, nun haben wir eine, oder mehrere, ISO-Dateien im _ISO Ordner. Nun stecke man die Platte ab und wieder an. Jetzt werden auf dem Übersichtsschirm alle ISO-Dateien gezeigt. Man bestätige eine davon und drücke die Zahl 5 auf dem Touchpad. Die Datei wird nun in das Laufwerk eingehängt. Durch erneutes Drücken wird sie wieder ausgehängt. Sehr praktisch also, denn somit kann man alle notwendigen Images auf einem Datenträger mit sich führen. Und sämtliche Versuche, Multiboot-USB-Sticks zu erstellen scheiterten meist an unzureichender Software, beispielsweise GRUB2, welches allerdings ein Bootsystem wie Syslinux oder Isolinux benötigt, was bei Windows-Datenträgern allerdings garantiert nicht vorhanden ist.

3.6 Mode-Selection

Über das Menü kann man nun auf der Platte auch die Mode-Selection auswählen, wo momentan der Dual Mode ausgewählt ist. Andere Optionen hier sind:
* HDD Mode: Ausschließlich die Festplatte als Datenspeicher wird beim System angezeigt
* ODD Mode: Ausschließlich das Laufwerk wird beim System angezeigt

4. Hardwareverschlüsselung

Hierzu kann ich nicht viel sagen, da ich es noch nicht getestet habe. Allerdings kann dies über den Punkt „Encryption“ des Platten-Menüs gesteuert werden.

5. Kleine Verbesserungswünsche

So an sich habe ich an dem Gehäuse nichts zu verbessern, alle Funktionen funktionieren tadellos. Das einzige Problem ist wohl das Touchpad. Es ist wohl sehr unflüssig zu bedienen, teilweise reagiert es nur begrenzt oder gar nicht, sodass man mehrere Anläufe für eine Geste benötigt. Dies könnte noch verbessert werden.

6. Hinweise für Blinde

Wenn dies eine mit Blindheit geschlagene Person gelesen hat wird diese sich sicherlich fragen, wie man denn das Touchpad bedienen können soll. Ja, dies geht ohne sehende Hilfe tatsächlich nicht, oder höchstens eingeschränkt. Allerdings habe ich meistens, wenn ich dieses Gerät nutze, jemand Sehenden dabei. Und diese Person muss ja von der Materie nichts verstehen, sondern nur tippen. Und falls man doch eine günstigere und zumindest halbwegs bedienbare Lösung sucht, schaue man sich einfach die Vorgängerversion, dass ZM-VE300 an. Dieses unterstützt zwar keine Hardwareverschlüsselung, besitzt aber dafür auch noch haptische Schalter, auch wenn diese wohl recht billig verarbeitet sein sollen. Dafür spart man hier aber knappe 20 €.

7. Fazit

Ich bin mit dem Produkt voll zufrieden und kann es nur weiterempfehlen, seinen Dienst tut es jedenfalls tadellos. Für einen Informatiker, der häufiger mit Neuinstallationen von Betriebssystemen betraut wird, ein MUSS.

Audio CDs via Kommandozeile rippen – Beta-Release des Easy CD Ripper (ECR)

Heute möchte ich ein neues Produkt aus meinen Händen präsentieren, dass Früher oder Später auch in der Satoprogs-Softwareliste auftauchen soll. Ein Kommandozeilen CD-Ripper, mit dem unheimlich ausdrucksstarken Namen Easy CD Ripper, kurz ECR. Angeboten wird hier die Version 1.0, die bisher noch nicht wirklich speziell ist. Sie ist vorerst nur für Windows verfügbar, und da die Bibliothek, derer sie sich bedient, so alt ist, dass die ursprüngliche Version unter Linux gar nicht mehr erstellbar ist, ist es auch offen, ob sie für Linux je erscheinen wird. Weiterhin kann man bei ihr den Rip-Prozess noch nicht einmal abbrechen, das löst einen Fehler aus, woraufhin man den Prozess via Task Manager beenden muss, aber den Prozess des Rippens führt sie tadellos durch.
Ihr seht, es ist noch nicht einmal als Beta, eher als Alpha zu bezeichnen, aber da ich von einem Studienkollegen angehalten wurde, ihn doch mal zu veröffentlichen, kriegt ihr ihm zum grenzenlosen Ausprobieren hier auf meinem Blog. Ideen, Wünsche und Featurevorschläge in die Kommentare, ich werde mein Bestes geben und es ist noch ein Haufen zutun.
Ladet ihn euch hier runter: Easy CD Ripper v1.0
Beim Start des Tools wird er automatisch versuchen, dass erste Laufwerk zu rippen. Um Kommandozeilen-Parameter zu sehen, ruft ihr ihn daher am besten mit dem Befehl

./ecr.exe --help

auf.
So, und jetzt fröhliches Testen!

Squasher – Bash shell script zur Erstellung von Festplatten-Abbildern unter Linux

In den letzten Tagen habe ich meine Bash Shell Scripting Kenntnisse erweitert, sodass ich mir endlich eine schöne Applikation aufsetzen konnte, die das Erstellen von Festplattenabbildern via Linux-Kommandozeile möglichst erleichtert. Dazu genutzt wird dd, welches ja der Alleskönner unter Linux zum Thema Datei/Gerätesicherung, insbesondere von ganzen Festplatten, ist. Da die entstehende Datei dann allerdings genau so groß ist wie die Festplatte und das unter Umständen viel zu groß ist, habe ich noch das Squash-Komprimierungssystem benutzt, welches die Daten nicht nur komprimiert, sondern auch noch on-the-fly mountbar ist, sodass man jeder Zeit auf seine Daten zugreifen kann. Eine genaue Anleitung zur Datensicherung/Auslesung inkl. meines Squasher-Scriptes folgt nun:

1. Wiping empty space

Ein wenig zur Praxis: Werden Dateien/Daten auf einer Festplatte gelöscht, werden sie nicht gleich richtig „gelöscht“, sondern nur deren Dateiindex in der logischen Sektion der Festplatte, in der die Positionen aller Dateien auf der Festplatte stehen. Das ganze läuft unter dem Motto: ich kenne deinen Namen nicht, also kenne ich dich nicht mehr. Aus den Augen, aus dem Sinn. Die Datei existiert praktisch weiter. Zumindest solange, bis die Platte neue Daten darüber schreibt. Da diese Dateien aber bei einer kompletten Plattensicherung mit gesichert werden, aber ja eigentlich nicht mehr gebraucht werden, können wir sie praktisch überschreiben. Optimalerweise mit Daten, die sich viel besser komprimieren lassen, also 0-en. Dann wird das Festplattenabbild um so kleiner. Man nehme also das Zielgerät, welches man sichern möchte, und binde es ein:

sudo mount device zielpfad

Zum Beispiel:

sudo mount /dev/sda1 /mnt

Sollte das ganze ohne Fehler ablaufen, findet ihr den gesamten Platteninhalt nun im Zielpfad, oder in meinem Beispiel unter /mnt.
Dorthin verfrachten wir nun eine Datei, welche ausschließlich 0-en enthält und den gesamten freien Speicher der Platte belegen wird, sodass wirklich alle gelöschten Daten vernichtet sind. Dazu nutzen wir, oh Wunder, dd:

dd if=/dev/zero of=/mnt/tmp.zero bs=4M

Das ganze zeigt praktisch keine Ausgabe und blockiert die Konsole solange, bis die Platte restlos voll ist. Dann gilt es nur noch, die tmp.zero-Datei zu löschen (siehe Plattenstrategie oben):

rm /mnt/tmp.zero

Jetzt noch die Platte aushängen:

sudo umount /mnt

Noch ein wenig zur Erklärung der obigen Vorgänge: /dev/zero ist ein von Linux bereitgestelltes Gerät, welches ausschließlich 0-en ausgibt, egal, wie lange man daran nuckelt. Daher ist es sehr praktisch zur Befüllung von Speicher mit 0-en. Zur Anwendung von dd betrachte man sich bitte das dd-manual, welches beispielsweise direkt vom Ubuntu-Wiki und vielen Anderen zur Verfügung gestellt wird.

2. Saving harddrive

Jetzt greift mein squasher ein: sämtliche Kompression und Sicherung an einen frei wählbaren Ordner übernimmt der squasher. Und das sogar mit einer hübschen Fortschrittsanzeige. Klingt praktisch, oder?
Ladet euch ersteinmal mein Wunderwerk herunter: Squasher
Das ganze jetzt in einen Ordner eurer Wahl gelegt und ausführbar gemacht, beispielsweise mit:

chmod 755 squasher.sh

Um das Script zu nutzen, muss allerdings noch etwas nachinstalliert werden, nämlich die für das eigentliche squashing und das Auslesen des Squash-Systems nötigen Tools:

sudo apt-get update
sudo apt-get install squashfs-tools

Und außerdem, falls nicht sowieso längst vorhanden, die Bash shell:

sudo apt-get install bash

Jetzt sollte alles funktionieren :).
Das Script nimmt als ersten Parameter das Gerät, von welchem ein Backup erstellt werden soll. Der zweite Parameter, welcher optional ist, nimmt die Zieldatei an. Wird keine Zieldatei angegeben, wird die Ausgabe in squasher.squash gespeichert. Wir führen das Script also folgendermaßen aus:

sudo ./squasher.sh /dev/sda2 festplatte.squash

Wichtig dabei ist, dass das Script mit root-Rechten ausgeführt wird, denn sonst wird dd nicht korrekt arbeiten. Aber keine Angst, dass Script warnt euch, falls es nicht als root ausgeführt wird. Es erwartet euch nach kurzem eine wunderhübsche Fortschrittsanzeige, die wie folgt aussieht:

dd: xxx MB, ab,cd MB/s; squashed: ef,ghI

Beispiel:

dd: 250 MB, 65,0 MB/s; squashed: 235M

Die Erklärung dazu: Die dd-Ausgabe im ersten Teil des Fortschrittsbalkens gibt an, wie viel Daten dd schon kopiert hat und wie schnell dd gerade arbeitet. Die squashed-Angabe gibt dazu an, wie groß das squash-Archiv gerade ist. Optimalerweise sind die dd-Werte mit denen der Squash-Ausgabe nicht kompatibel, squash müsste eigentlich immer kleiner sein.
Hinweis: Man kann nicht nur einzelne Partitionen sichern, sondern problemlos auch ganze Festplatten auf einen Rutsch. Dazu einfach die gesamte Platte zum Sichern angeben, also:

sudo ./squasher.sh /dev/sda

Einzig und allein das Auslesen macht hinterher den Unterschied.

3. Reading through treasures

Und beim Auslesen sind wir auch schon angekommen. Wir haben nun ein optimalerweise schön kleines squash-Archiv (im Vergleich zur Originalplatte!) und wollen Daten auslesen, ohne das Archiv erst wieder auf eine physikalische Platte zu schreiben? In voller Größe? Keine Sache:

sudo mount festplatte.squash /mnt

Über die „read-only“-Ausgabe beschweren wir uns nicht weiter. Ja, das System kann im Nachhinein nicht mehr verändert werden, aber das wollen wir ja auch nicht, wir wollen nur Lesen, also was solls. im Ordner /mnt finden wir jetzt das dd-Image, welches von unserem zu sichernden Ziellaufwerk/unserer zu sichernden Partition erstellt wurde.

3.1 Reading partitions

Fangen wir mit dem einfachen an: Das Auslesen von Partitionen. Das ist nämlich ein Witz:

sudo mount /mnt/festplatte.squash.img /mnt2

Fast trivial, findet ihr nicht?
Unter /mnt2 findet ihr jetzt alle gesicherten Daten. Na dann viel Spaß damit :).

3.2 Reading through (hard)drives

Das Auslesen von ganzen partitionierten und gesicherten Platten dagegen erfordert die Installation eines extra Werkzeugs:

sudo apt-get install kpartx

Dieses Werkzeug erlaubt es uns, ein dd-Image mit mehreren Partitionen in seine Ursprungspartitionen zu zerlegen und diese einzubinden. Dazu führen wir aus:

sudo kpartx -a /mnt/festplatte.squash.img

Dieses Kommando bietet uns nun im Ordner /dev/mapper eine Liste von loopback-Geräten an, also unserer Festplatte, beispielsweise loop0 mit einer Partition dahinter, beispielsweise p1. Um nun eine in festplatte.squash.img enthaltene Partition einzubinden, genügt Folgendes:

sudo mount /dev/mapper/loop0p1 /mnt2

Und ihr findet alles, was ihr braucht, in /mnt2

4. Finished!

So, dass wars. Ich hoffe das Tool hilft euch etwas. Nur zur Demonstration, was man beim Sichern einer Platte eigentlich eingeben müsste:

mksquashfs empty_dir festplatte.squash -p 'festplatte.squash.img f 444 root root dd if=/dev/sda1 bs=4M'

Dieses Kommando würde aber auch keine ordentliche Ausgabe liefern, sondern nur eine mksquashfs Ausgabe, die angibt, wieviel bereits gesquashed wurde und welche Kompressionsstärke gerade anliegt. Die dd-Ausgabe sieht man gar nicht. Dazu müsste man ein weiteres Terminal-Fenster öffnen und dort folgendes eingeben:

sudo kill -USR1 $(pidof dd)

Dann wieder zurück in das squash-Fenster, wo auf magische Weise, mitten in der squash-Ausgabe, ein dd-Statusbericht erschienen ist. Nicht gerade schön, oder?
Davon mal abgesehen bietet mein Script auch jederzeit die Möglichkeit zum Abbruch mittels ctrl+c. Dieser Vorgang löscht dann sämtliche Spuren des nicht abgeschlossenen squash-Vorgangs und kehrt wieder in die Konsole zurück, als wäre nichts gewesen. Ein Luxus, wie ich finde…
So, und jetzt viel Spaß beim squashen. Und habt ihr Ideen, Korrekturen oder Wünsche, nutzt die allgegenwärtige Kommentar-Funktion.

Update zum DevPro DeckPrinter

Wieder eine kurze Info:
Der DevPro DeckPrinter hat ein Update bekommen. Dabei wurden folgende Sachen verbessert/geändert:
– er unterstützt nun ein paar neue Switches, wie -w zum Ändern auf Windows Line-Endings und -p zum Definieren des DevPro Pfades, falls das Script nicht im DevPro-Verzeichnis liegt
– das Anzeigen nicht vorhandener Karten wird nun keinen Fehler mehr auslösen, sondern dem Benutzer mitgeteilt und dann ignoriert
– als Wert für den deck-Parameter darf nun auch „-“ übergeben werden, damit alle vorhandenen Decks ausgegeben werden
– der Datenbank-Overhead wurde stark reduziert. D.h. es wird nur noch ein sql-Request durchgeführt und nicht mehr einer für jede Karte. Dadurch wird die Geschwindigkeit des Scripts stark verbessert
– außerdem werden die Level-Informationen der Pendel-Monster nun korrekt angezeigt, und zwar mit blauer und roter Zone (in dieser Reihenfolge)

Der Download-Link im alten Post funktioniert noch einwandfrei, folgt also einfach dem obenstehenden Link zum alten Beitrag und ladet es euch herunter.

DeckPrinter für YGOPro DevPro

In den letzten Tagen habe ich für den Yu-Gi-Oh Online-Simulator YGOPRO mit dem DevPro Interface, zu finden auf YGOPRO.de, einen DeckPrinter gebaut, da es vor Allem für Blinde schwer ist, dieses Programm zu bedienen, nämlich praktisch unmöglich, weshalb ich immer mit sehender Hilfe spiele. Da ich trotzdem gern mal alle Karten eines Decks auf einen Blick sehen würde, inkl. aller Effekte etc, habe ich ein Python-Script gebaut, welches dies realisiert. Es wird einfach in den DevPro-Installationsordner gelegt und ausgeführt, indem man den Decknamen als Parameter übergibt. Es handelt sich hierbei natürlich wieder um ein Kommandozeilen-Script. Für weitere switches siehe man das Argument „–help“.
Das Programm ist multilingual in der Hinsicht, dass es die Sprache zur Ausgabe wählt, welche man in DevPro zuletzt gewählt hat.
Außerdem sollte es mit allen gängigen Python „Compilern“ funktionieren. Für py2exe und cx_Freeze sind jedenfalls diesbezügliche Tweaks enthalten.
Sollte es irgendwo Fehler geben oder Wünsche bezüglich der Features bestehen, schreibt es in die Kommentare.
Ihr findet das Script hier zum Download.

Plattencrash und Datenrettung

Eine längere Vorgeschichte: Mein Desktop läuft inzwischen mehrere Jahre problemlos und hatte inzwischen mal eine Reinigung nötig. Bei mir stehen hier inzwischen 7,5 TB Daten auf externen Festplatten rum, die auch wirklich bis zum Rand gefüllt sind, weshalb kein Backup möglich war. Nun fing ich an, alle wichtigen Daten von meinem Rechner auf eine 3 TB externe Festplatte zu schieben. Fertig. Abschluss sollte eine komplette Kopie meiner internen Platte sein, damit ich eventuell zu kopieren vergessene Daten immernoch haben würde. Gesagt, getan. Linux angeschmissen, Kopie weggeschrieben, Linux aus, Windows an…
Problem: Wo war die 3 TB Platte hin? Im Geräte-Manager erschein ein unbekanntes Gerät. Angeschlossen habe ich es nicht mehr bekommen. Windows aus, Linux an, mounting-Versuch… Fehlschlag. ntfsfix drüber gejagt… hing sich irgendwann auf. Windows an, chkdsk-Versuch… lief am Anfang noch recht gut und behob ein paar Fehler, konnte die Dateien auch noch erkennen, auch wenn es keinen Zugriff gab, irgendwann begann die Platte mit merkwürdigen Lese-Geräuschen und chkdsk blieb stecken.
Nun wurde die Platte nicht mehr erkannt. Datenrettungsversuche mit Software wie GetDataBack for NTFS brachten nichts, auch Testdisk scheiterte. Also wandte ich mich an die Datenrettungsfirma Datenphoenix. Platte eingepackt und losgeschickt. Kaum war die Platte da, bekam ich einen Anruf von Datenphoenix, die mich darüber informierten, dass die Platte in Bearbeitung ist. Allerdings auch mit den Informationen, dass die Platte äußerst schwach sei und nur mit 20% der normalen Laufgeschwindigkeit gearbeitet werden könne. Das war am Dienstag. Heute der zweite Anruf. Die selbe Person informierte mich, dass diese Nacht der letzte Versuch zur Rettung anlaufen würde, es allerdings sehr schlecht um meine Daten stünde und von des Bearbeiters Seite keine Hoffnung mehr vorhanden wäre. Ehrlichkeit, fand ich gut.
Nun warte ich gespannt auf den endlichen Bericht, der morgen eintreffen soll. Per Telefon wird er mich dann nicht erreichen können, da ich morgen früh um 9 schon wieder im Zug zu meiner Freundin sitzen werde. Allerdings werde ich die E-Mail mit Spannung erwarten, denn auf der Platte waren viele persönliche Daten, um nicht zu sagen alle, die mir ungemein wichtig sind. Neben jeglicher Musik, Hörbüchern, Hörspielen und anderen Daten, wie meiner Sounddatenbank, die über 200 GB groß war und einer eben so großen Musiksammlung von Royalty Free Music und Film- und Videospielsoundtracks.
Alles in Allem geht eine ganze Menge wichtiges Zeug verloren, auch mal wieder von mir geschriebener Code, von dem ich allerdings genügend Backups in store habe.
Fazit: Datenphoenix‘ Spruch auf Facebook: „Daten sind niemals verloren“ stimmt definitiv nicht, ich bin der Beweis. Die Platte war außerdem schrott, weshalb auch immer, kann ein Produktionsfehler gewesen sein, wie auch immer, die Platten sind eigentlich gut und eine identisch Platte hatte ich mir gerade eine Woche vor dem Vorfall neu gekauft, um meinen externen Bestand zu erweitern. Diese werde ich auch wieder in Betrieb nehmen, wenn auch mit etwas mehr Vorkenntnis als vor einem Jahr. Außerdem gerät meine Spieleentwicklung ins Stocken, inkl. Avalon. Zwar sind meine programmiererischen Fähigkeiten nicht angetastet, aber meine Möglichkeit, Sounds und Musik für Spielegestaltung zu bekommen, ist stark eingeschränkt. Und die gesamten Bücher, die ich noch am Hören war, muss ich auch erstmal neu auftreiben. Von der Erstellung sämtlicher nötiger virtuellen Maschinen mal abgesehen, die ebenfalls mit auf der Platte waren. Debian und Windows XP neu aufsetzen, sämtliche Software installieren… die vielen Stunden, die dabei verloren gehen.
Alles in Allem kann ich der Firma Datenphoenix aber eine Empfehlung aussprechen. Ich habe mich im Vornherein über Preise informiert und dabei persönliche Daten angegeben, einen Tag später wurde ich direkt telefonisch kontaktiert, da man sich über meine Situation informieren wollte. Ein wirklich guter Service, auch nach dem Einschicken der Platte. Wenn jetzt noch der Facebook-Slogan stimmen würde… ich wäre durchaus bereit gewesen, etwas mehr Geld auszugeben, daraus zu lernen und meine persönlichen Daten dreifach und inkl. Cloud zu sichern, aber gar keine Daten… naja, noch steht nichts fest und die Hoffnung stirbt zuletzt.

Projekt ‚yugi‘

Ich möchte euch heute über ein Projekt berichten, welches Dranor und ich schon seid einigen Jahren, nämlich 2010, immer mal wieder weiterentwickeln. Es handelt sich hierbei um das Projekt „yugi“.

Was ist das Projekt „yugi“?
Yugi ist der kurze Name unseres Projekts, bei welchem es sich um ein Yu-Gi-Oh-Spiel im klassischen Stil handelt. Wer Yu-Gi-Oh nicht kennt, kann es Googlen. Jedenfalls ist es eines der komplexesten Tradingcard Games, welches heute existiert und meiner Meinung nach auch eines der fesselnsten.

Wie soll das ganze Ablaufen?
Das Spiel soll nicht ganz so dynamisch aufgebaut sein, wie die Yu-Gi-Oh-Spiele, welche von Conami persönlich entwickelt werden. Tatsächlich wollen wir dem Benutzer mehr Interaktion gestatten. Er muss seine einzelnen Phasen selbst durchwechseln und muss aufmerksam sein, denn die Aktivierung seiner Karten wird ihm nicht vorgeschlagen, er muss also Eigeninitiative zeigen.Allerdings soll es auch weiter automatisiert werden, als YVD (Yugioh Virtual Desktop) es beispielsweise ist. In diesem Spiel muss man tatsächlich alles alleine machen, in unserem Projekt sollen so viele wie Möglich Prozesse automatisiert werden, allerdings auch viel dem Spieler überlassen werden.

Die Mitarbeiter
Wie bereits gesagt, arbeiten Dranor und ich als Hauptentwickler an diesem Projekt. Eine Freundin entwickelt für uns die Bedienoberfläche, da dies als Blinder ein wenig umständlich ist.

Der Fortschritt
Wir haben schon eine gute Grundlage geschaffen. das Duell-Interface steht bereits, die Internetkommunikation ebenfalls. Man kann sogar schon gegeneinander spielen. Angriffe sind möglich, sowohl der Kampf der Monster untereinander, als auch direkte Angriffe. Es ist außerdem möglich natürlich möglich, die Karten aus der Hand auf das Spielfeld zu legen. Eine Chat-Funktion für die Spieler ist ebenfalls integriert und eine rund 300 Karten umfassende Datenbank ist ebenfalls bereits vorhanden. Was allerdings nocht überhaupt nicht eingebunden ist ist das Effekt-Handling. D.h. keine Karte hat bisher ein Effekt, wodurch das Spiel natürlich noch relativ uninteressant ist.

Da es sich bei diesem Projekt um ein Freizeit-Projekt handelt, steht kein Datum fest, an welchem die Entwicklung fertiggestellt sein wird oder zumindest für einen öffentlichen Test zulässig ist. Da die Entwicklung allerdinbs bisher schon 3 Jahre dauert, kann es sich durchaus noch ein wenig in die Länge ziehen.

Toni bloggt?

Als erstes einmal, herzlich willkommen auf meinem Blog. Ihr werdet euch vielleicht wundern, denn bisher war ich ja immer strikter Gegner dieser Blogsache. Warum? Naja, vielleicht komme ich später nochmal darauf zurück. Als erstes einmal, was will ich damit erreichen, was werdet ihr zukünftig hier finden und, vor Allem, wer bin ich eigentlich?
Ich bin der Meinung, Offenheit festigt die Beziehung zu seinen Lesern. Daher möchte ich hier auch einige Basis-Daten über mich verbreiten, auch wenn einige von euch mich nicht persönlich bzw. nur über ein Spiel kennen und diesbezüglich nur mit meinen Charakternamen etwas anfangen können.
Mein Name ist Toni Barth, ich bin derzeit 18 Jahre alt und vollblind, angehender Abiturient und hoffentlich Student für angewandte Informatik ab dem nächsten Jahr. Wichtig ist sonst vielleicht noch, dass ich bisher integrativ beschult wurde und mich somit von Sonderschulen wie Königswusterhausen und Mahrburg distanziert habe. Soviel zu mir, dass muss für das allgemeine Verständnis reichen.
Was möchte ich mit diesem Blog erreichen?
Ich möchte informieren und vielleicht auch ein klein wenig unterhalten. Ironie ist sicherlich auch öffters mit enthalten – wer also prinzipiell mit Kritik nicht viel Anfangen kann muss nicht weiterlesen. Aber soviel sei gesagt, ich werde sicherlich keine Hetztiraden gegen Person XY loslassen, keine Angst. Konstruktiv aber Effektiv ist mein Motto. Außerdem möchte ich natürlich auch einfach nur einen berichtenden Faktor ins Spiel bringen, wenn ich hier über etwas schreibe dann deswegen, weil es mich interessiert und beschäftigt. Vielleicht kommen über die Kommentare ja sogar einige Diskussionen zu stande.
Was werdet ihr hier finden?
Für den Anfang habe ich folgende Kategorien geplant:
Avalon: Eines meiner Lieblingsspiele, zu welchem ich allerdings auch eine kleine Einführung posten werde und zu welchem ich hier nach und nach auch einige Artikel verfassen möchte.
Diesbezüglich auch die Unterkategorie Soundpack, in welchem ich Neuerungen und Änderungen unseres Avalon-Soundpacks vorstellen möchte…. dazu in der Kategorie mehr.
Freizeit-Programmierung: Diese Kategorie wird vor Allem für die Leute interessant sein, welche über unsere Hauptseite (www.satoprogs.de) hier her gefunden haben. Ich werde hier sicherlich mehr veröffentlichen, als ich es auf der Webseite tun werde. Grund dafür ist, dass ich auf der Webseite nur handfeste Sachen veröffentliche und hier auch mal Vorgeplänkel oder andere Sachen schreiben werde. Wie es der Name schon sagt, geht es hierbei um die Programmierung an sich, welche bei mir bisher nur im Freizeitbereich stattfinden kann.
Lifestyle: Hier werde ich über Sachen berichten, welche mir einfach so im Leben begegnet sind und mich zum Nachdenken angeregt haben. Diskussionen, Begegnungen, alles mögliche.
YouTube: Tjaja, Toni ist auch auf YouTube und ein angehender Let’s Player… lol, tatsächlich bin ich schon eine Weile dabei, da ich allerdings nicht viel fürs Auge mache sondern recht viel für die Ohren (Audiogames) und ansonsten nur Together-Projekte mit Freunden starte, haben noch nicht viele Leute den Weg zu mir gefunden. Vielleicht kann man das ja ändern :). Hier jedenfalls Neuerungen zu Videos auf meinem Kanal.
Jop, soviel zur Planung am Anfang. Ich hoffe hier kommen zukünftig ein paar Einträge zusammen. Kontakt könnt ihr natürlich über das Kommentar-System aufnehmen oder ihr schreibt mir via software[at]satoprogs[dot]de eine Mail.
Achso, zum Abschluss, bevor ihr euch in die spezifischen Kategorien einlest: Wer Rechtschreibfehler findet, darf sie behalten!
Und nun wünsche ich mir: „Happy Blogging“ und euch viel Spaß beim Lesen.