Unix: Dateien mit nicht druckbaren Zeichen

Ich hatte gerade ein Verzeichnis auf einem Solaris 10 System, welches eine Datei mit dem Namen ¨ beinhaltete. Meistens sind solche Dateien Überbleibsel von wilden Kommandozeilen Orgien, bei denen irgend eine Umleitung schief gelaufen ist. Irgend ein Sonderzeichen hat sich dann im Dateinamen verewigt.

Doch wie schaut man solch eine Datei an (um entscheiden zu können, dass diese wirklich weg kann?) und wie löscht man diese dann?

Am einfachsten geht das wohl, wenn man statt über den Dateinamen über die Inode Nummer geht. (Eine Inode ist ein Eintrag in einem Unix-Dateisystem, der Metadaten einer Datei enthält.)

# ls -alFi
385683 drwxr-xr-x   8 pcs      iccc         512 Oct 29 11:59 ./
338148 drwxr-xr-x  23 root     root         512 Oct 13 12:55 ../
461707 drwxrwsr-x   2 root     iccc         512 Oct 13 12:54 tmp/
386788 -rw-r–r–   1 root     root        7694 Sep  1 08:31 ¨

Nun hat man aber immer noch das Problem, dass z.B. ein cat oder ein rm die Datei nicht behandeln können, da diese Programme nicht mit der Inode umgehen können. Hier hilft find, welcher gezielt nach Inodes suchen kann und dabei den korrekten Dateinamen mittels exec an ein anderes Programm übergeben kann.

Einige Beispiele

# Die Datei umbenennen in foobar
find . -inum 386788 -exec mv {} foobar \;

# Datei anschauen mit less
find . -inum 386788 -exec less {} \;

# Datei direkt löschen
find . -inum 386788 -exec rm {} \;




No Deal: Dayeal!

Logo von Daydeal
Logo von Daydeal

Am letzten Mittwoch hatte man bei Daydeal die Möglichkeit, ein Asus EEE 1101HA zu kaufen. Da ich mir schon länger ein EEE Netbook zulegen wollte und ich hier 100 CHF einsparen konnte, habe ich sofort zugeschlagen.

Die gesparten 100CHF habe ich dann sogleich für ein externes Laufwerk von Samsung sowie für einen Memory Upgrade auf 2GB genutzt. Beides übrigens Empfehlungen, welche vom Moderator Guido getätigt wurden.

Nun muss man wissen, dass die Firma BRACK – welche hinter Daydeal steckt – ein offizieller Partner von ASUS Notebooks ist und wenn es mich nicht täuscht sogar offizieller schweizer Importeur für diese Geräte ist. Wenn die also auf den RAM Riegel von Kingston verlinken, dann wird das schon seine Richtigkeit haben…

Denkste,

denn die RAM Bausteine entpuppten sich als unbrauchbar für das EEE.

Nun ist es nicht etwa so, dass die Riegel nicht funktionieren. Im Gegenteil. Steckt man diese ein, hat man brav seine 2 GB. Jedoch verliert man wegen des Memory Riegels zwei der wichtigsten Funktionalitäten dieses Notebooks.

  1. Die von ASUS vorgesehene und im Handbuch beschriebene Übertacktungsmöglichkeit ist im BIOS nicht mehr anwählbar.
  2. Im Powersaving Mode wird bei der geringsten Last die maximal verfügbare CPU Geschwindikeit verwendet.

Konkret bedeutet dies folgendes:

  • Während ich mit dem ursprünglich verbauten 1GB Riegel im BIOS den SHE (Super Hybrid Engine) Overclock Value auf max. 30% setzen kann, fehlt diese Funktion mit dem 2GB Modul komplett.
  • Stelle ich somit unter Windows die Super Hybrid Engine auf (Super Performance Mode) ändert sich der CPU Takt beim 1GB Riegel auf 1.7 GHz wohingegen beim 2GB Riegel die Geschwindikeit auf 1.3 GHz bleibt.
  • Im Power Saving Modus der SHE ist es jedoch so, dass mit dem 1GB Riegel die CPU auch bei Last maximal 1GHz zieht, wohingegen der 2GB Riegel einfach bis auf 1.3GHz klettert. Der Nachteil hierbei ist, dass ich somit bei Last mehr Energie verbrauche als beim 1GB Modul, was wiederum dazu führt, dass sich die Akkulaufzeit um ca. 1-2h verkürzt.

Die einzige Möglichkeit dieses Problem zu behben ist die Verwendung eines 2GB Memory Modules von Hynx. Das HYMP125S64CP8-S6 soll hierbei perfekt funktionieren. Die Frage ist nun nur noch a) wie komme ich an solch ein Modul und b) was sagt Brack dazu?

Folgende Links zeigen übrigens, dass ich nicht der einzige mit diesem Problem bin:




Blog Attacke: Nachtrag

Die Logfiles sind ausgewertet und das Ergebnis steht fest. Es war keine DDOS Attacke welche den Blog lahmgelegt hat, sondern eine Kommentarspam Attacke.

Innerhalb von 8 Minuten wurde die Webseite von 179 verschiedenen Adressen beglückt. Der Grossteil der «Besucher» sind Systeme mit offenen Proxies drauf die ausserdem richtig potent sind (verglichen mit Proxies die man sonst so auf Online Listen findet). Die eine hälfte dieser Zugriffe waren reine Aufrufe von Artikeln, die andere hälfte versuchte sich im platzieren von Kommentaren. Wahrscheinlich wollte der Spammer durch die normalen Zugriffe ein gewisses «rauschen» erzeugen.

Der Grund waum das ganze diesem Ansturm nicht standgehalten hat, waren falsche Settings in der Mysql sowie Apache Konfiguration. Da mein System lediglich 512MB hat wurden zuviele Apache Instanzen geöffnet, welche nach und nach den ganzen RAM weggefressen haben. Ich hoffe nun, dass die gemachten Änderungen das nächste mal mehr als 8 Minuten durchhalten.




Wo ist der Preis heiss?

Es gibt ja zwei Arten von Käufern. Diejenigen die zwar wissen dass Sie z.B. einen Monitor für den Computer wollen, sich aber bisher keine Gedanken darüber gemacht haben welches Modell, welche Auflösung, wieviel Zoll oder welche Attribute der Monitor sonst haben soll. Solche Leute lassen sich am besten in einem Fachgeschäft beraten oder nehmen den Computerversierten Nachbarsjungen mit.

Dann gibt es die Gruppe von Käufern, welche bereits im Vorfeld das Internet nach Modellen, Testberichten, Positiv-/Negativlisten etc. durchforsten und mit der Zeit ganz genau wissen, dass Sie z.B. den Samsung SyncMaster 2243EW und nicht etwa den 2243BW wollen. Diese wenden sich dann entweder direkt an die Geschäfte in unmittelbarer Umgebung oder grasen ihre Stamm-Web-Shops ab. Meistens werden diese dort dann auch fündig.

Mühsam ist es dann nur, wenn man zwei Tage danach von einem Bekannten erfährt, dass genau der selbe Monitor beim Händler XYZ ganze 80 CHF günstiger zu haben gewesen wäre.

Um diesem Problem vorzubeugen gibt es seit ettlichen Jahren Webseiten, welche die Preise der einzelnen Shops vergleichen. Eine Seite die ich immer wieder einmal besuche ist http://www.toppreise.ch. Sucht man dort z.B. nach oben genanntem Monitor, dann findet man Shoppreise die sich zwischen 296 CHF und 605 !! CHF bewegen. Angesichts der Tatsache, dass man beim billigsten Händler gleich zwei Samsung Monitore zum Preis eines Samsung Monitors beim teuersten Händlers bekommt, lohnt sich der Blick in die Vergleichsseite allemal!

Ausserdem ist die Seite ganz praktisch um vielleicht den einen oder anderen neuen Webshop kennenzulernen oder um mit dem eigenen Händler mal über die Rabattstufe zu diskutieren 😉




Flohmarkt in Rapperswil

Flohmarkt, copyright stock.xchng
Flohmarkt, copyright stock.xchng

Heute sind wir wieder einmal früh aufgestanden. Denn von 08:30 Uhr bis 16:00 Uhr war heute der grosse Floh-/Trödelmarkt in der Rapperswiler Altstadt und dem Seequai. Natürlich waren alle umliegenden Parkhäuser bis auf den letzten Quadratzentimeter zuparkiert, aber wir hatten glück und haben im Gebäude des Hotels Schwanen noch einen Parkplatz gefunden.

Als wir auf den Platz angekommen sind war das bunte Treiben bereits in vollem Gange. Mindestens gefühlte hundert Stände waren auf dem ganzen Platz verteilt und preisten Ihre Waren an. Und zu kaufen gab es alles mögliche. Von Kitsch bis zu Kunst, von Müll bis zu Raritäten war alles zu finden. Es wurde gefeilscht, gehandelt, diskutiert und gefachsimpelt.

Und dank des tollen Wetters und der warmen Temperaturen profitierten auch die Eisverkäufer und Würstchenstände vom Flohmarkt. Kurz, der Flohmarkt war ein Erlebnis.

Natürlich haben auch wir zugeschlagen und die eine oder andere Trophähe heimgebracht. So habe ich mir für fünf Franken eine IBM Laptoptasche im Stil einer Freitag Tasche gekauft. Die brauche ich zwar nicht für meinen Laptop, aber solch eine stabile Tasche ist immer Gold wert, wenn man einen Familienausflug macht.

Dann habe ich noch zwei englische Origami Bücher gefunden, welche reich bebildert und mit witzigen Faltereien gefüllt sind. Zusammen haben diese acht Franken gekostet. Für Nina haben wir aus einer «Gratis» Schachtel einen Bast-Koffer gefunden der lediglich einen kaputten Verschluss hatte. Den habe ich mittlerweile zweckmässig aber nicht schön geflickt. Stören tut das Nina jedoch herzlich wenig, denn dieser Koffer ist nun IHR ganz persönlicher Zauberkoffer der ganz alleine für Sie bestimmt ist. Da darf sie all ihre Geheimnisse aufbewahren ohne angst haben zu müssen, dass wir darin stöbern. Nebenbei haben wir auch einige dieser wunderbaren Wuselbücher gekauft, bei denen es auf jeder Seite hundert Dinge zu entdecken gibt (Zwei Franken das Stück). Auch Katja hat zugeschlagen und zum Beispiel eine schöne Bernsteinkette für acht Franken gekauft.

Alles in allem war es ein tolles Erlebnis für die ganze Familie. Wer den Flohmarkt dieses Jahr verpasst hat sollte nächstes Jahr unbedingt hingehen. Hmm… Wenn ich jetzt so in der Wohnung herumschaue, da gäbe es doch bestimmt das eine oder andere zum verkaufen 😉




Serie: DOSBox unter Windows kompilieren 10/10

Diese Artikelserie zeigt auf, wie man unter Windows eine Entwicklungsumgebung mit Open Source basierten Programmen erstelllt und darin Programme und deren Abhängigkeiten kompiliert. Die daraus entstehenden Dateien können unter Windows wie normale Programme verwendet werden.

Im zehnten und letzten Teil wird das selbst kompilierte DOSBox endlich ausprobiert und zum laufen gebracht.

Das kompilierte DOSBox befindet sich im Verzeichnis (D:\Entwicklung\MinGW-MSYS\MSYS\home\matse\dosbox-0.72\src\) und heisst dosbox.exe. Am einfachsten kopiert man sich die Datei in ein leeres Verzeichnis.

Versucht man die Datei zu starten, erhält man zunächst einmal eine Fehlermeldung:

DOSBox Fehlermeldung
DOSBox Fehlermeldung

Der Grund für die Meldung ist die nicht auffindbare SDL.dll Datei. Diese – und alle weiteren Abhängigkeiten – befindet sich im Verzeichnis (D:\Entwicklung\MinGW-MSYS\MinGW\bin\). Kopiert man aus diesem Verzeichnis die SDL.dll Bibliothek in das selbe Verzeichnis wie sich die dosbox.exe befindet, wird die Meldung bezüglich SDL.dll nicht mehr erscheinen. Nun kann man einfach für jede Fehlermeldung welche erscheint die entsprechende dll in das Verzeichnis mit der dosbox.exe kopieren.

Sind alle Abhängigkeiten aufgelöst startet DOSBox mit dem allseits bekannten DOS Bildschirm.

Dosbox funktioniert
Dosbox funktioniert

In der DOSBox kann man den Befehl config -writeconf default.cfg eingeben um eine Standard Konfigurationsdatei zu erzeugen.

Um nun die Umlaute nutzen zu können, muss die eben erstellte default.cfg Datei editiert werden. Hierzu beendet man zuerst DOSBox durch Eingabe von exit.

Als nächstes erstellt man im Verzeichnis, in welchem sich die dosbox.exe befindet ein Verzeichnis mit dem Namen disk. Dieses Verzeichnis dient später als Laufwerk C: für die DOSBox.

Nun editiert man die default.cfg Datei und fügt folgende Befehle hinzu, welche das disk Verzeichnis als Laufwerk C in DOSBox einbinden, das Tastaturlayout auf Deutsch stellt und auf das Laufwerk C: wechselt.

[...]
[autoexec]
# Lines in this section will be run at startup.
keyb gr 850
mount C "./disk"
C:

Hat man die Änderungen abgespeichert, startet man DOSBox mit folgendem Befehl:

dosbox -conf defalt.cfg

Nun kann man z.B. ein Verzeichnis Namens Hülle erstellen mit dem Befehl (mkdir Hülle). Wenn alles gklappt hat, sieht man mit dem dir Befehl das Verzeichnis und hat somit eine DOSBox Version kompiliert, welche Umlaute unterstützt.




Serie: DOSBox unter Windows kompilieren 9/10

Diese Artikelserie zeigt auf, wie man unter Windows eine Entwicklungsumgebung mit Open Source basierten Programmen erstelllt und darin Programme und deren Abhängigkeiten kompiliert. Die daraus entstehenden Dateien können unter Windows wie normale Programme verwendet werden.

Nachdem in den vorangegangenen Teilen die MinGW/MSYS Entwicklungsumgebung erstellt und alle Abhängigkeiten kompiliert wurden, kann in diesem Teil endlich DOSBox kompiliert werden.

Das bereits in Teil 5 dieser Artikelserie heruntergeladene DOSBox Archiv wird nochmals benötigt. Hat man es nicht mehr, kann man dosbox-0.72.tar.gz in das MSYS Heimverzeichnis herunterladen.

Mein Umlaute Patch kann ebenfalls in das MSYS Heimverzeichnis heruntergeladen werden.

Nun kann Dosbox entpackt, mein Umlautepatch eingespielt und das Programm endlich kompiliert werden.

tar xvzf dosbox-0.72.tar.gz
bunzip2 dosbox072matse.diff.bz2
cd dosbox-0.72
patch -p1<../dosbox072matse.diff
LIBS="-lvorbisfile" ./configure --prefix=/mingw && make
strip src/dosbox.exe

Im letzten Teil dieser Artikelserie wird gezeigt, wie man das selbst kompilierte dosbox verwenden kann, wo seine Abhängigkeiten zu finden sind und wie man eine Basiskonfiguration erstellt.




Serie: DOSBox unter Windows kompilieren 8/10

Diese Artikelserie zeigt auf, wie man unter Windows eine Entwicklungsumgebung mit Open Source basierten Programmen erstelllt und darin Programme und deren Abhängigkeiten kompiliert. Die daraus entstehenden Dateien können unter Windows wie normale Programme verwendet werden.

In diesem Artikel wird die auf SDL basierende Soundbibliothek SDL_sound kompiliert. Diese wird benötigt, um z.B. CD Images mit OGG Dateien als Audio Tracks mounten zu können. Die SDL_sound Bibliothek unterstützt von Haus aus das MP3 Format. Um Ogg Vorbis Dateien abspielen zu können, müssen erst einige zusätzliche Bibliotheken heruntergeladen und kompiliert werden.

Zunächst müssen die Dateien der folgenden Tabelle heruntergeladen und in das Heimvereichnis von MSYS kopiert werden:

Paket Beschreibung Link
libogg Container für z.B. Vorbis Musikdateien. libogg-1.1.3
libvorbis Vorbis Musik-Komprimieralgorithmus libvorbis-1.2.2rc1
SDL_sound Auf SDL basierende Musikbibliothek. SDL_sound-1.0.3

Die OGG Bibliothek kann ohne grössere Umstände entpackt und kompiliert werden.

tar xvzf libogg-1.1.3.tar.gz
mkdir libogg-build
cd libogg-build
../libogg-1.1.3/configure --prefix=/mingw && make && make install
cd ..

Die hier verwendete Version von libvorbis ist eigentlich ein Release Candidate. Also eine Version die zwischen Betaversion und offiziell veröffentlich ist. Der Grund für diese Wahl ist die mangelnde Unterstützung für MinGW in der offiziell verfügbaren Version.

tar xvjf libvorbis-1.2.2rc1.tar.bz2
mkdir libvorbis-build
cd libvorbis-build
../libvorbis-1.2.2/configure --prefix=/mingw && make && make install
cd ..

Versucht man das SDL_sound Paket unter MinGW zu kompilieren, funktioniert dies nicht, da gewisse Headerdateien mehrfach referenziert werden. Um dieses Problem zu umgehen müssen mit SED Anpassungen am Sourcecode vorgenommen werden.

cd
tar xvzf SDL_sound-1.0.3.tar.gz
mkdir SDL_sound-build
cd SDL_sound-build
for a in mpglib/mpg123_sdlsound.h timidity/tables.h;do
sed -e "s/#include.*
//g" ../SDL_sound-1.0.3/decoders/${a}>/tmp/gaga
cat /tmp/gaga > ../SDL_sound-1.0.3/decoders/${a}
rm /tmp/gaga
done
../SDL_sound-1.0.3/configure --prefix=/mingw && make && make install
cd ..

Da nun alle Abhängigkeiten erzeugt wurden, wird im neuten Teil dieser Artikelserie endlich die DOSBox kompiliert.




Serie: DOSBox unter Windows kompilieren 7/10

Diese Artikelserie zeigt auf, wie man unter Windows eine Entwicklungsumgebung mit Open Source basierten Programmen erstelllt und darin Programme und deren Abhängigkeiten kompiliert. Die daraus entstehenden Dateien können unter Windows wie normale Programme verwendet werden.

Im siebten Teil wird die auf SDL aufbauende Netzwerkbibliothek SDL_net erzeugt. Durch diese Bibliothek hat man in der DOSBox die Möglichkeit Spiele wie etwa Quake über das Netzwerk zu spielen. Prinzipiell kann man diese Abhängigkeit auch einfach auslassen. DOSBox wird trotzdem kompiliert, bietet aber keine Netzwerkunterstützung an. Da wir jedoch eine vollständie DOSBox kompilieren wollen, wird nachfolgend erläutert wie man SDL_net kompiliert.

Von der Webseite, von welcher man bereits SDL heruntergeladen hat, lädt man sich das Paket SDL_net-1.2.7.tar.gz herunter und kopiert es in das Heimverzeichnis der MSYS Umgebung.

Das Paket wird folgendermassen kompiliert.

cd
tar xvzf SDL_net-1.2.7.tar.gz
mkdir SDL_net-build
cd SDL_net-build
../SDL_net-1.2.7/configure --prefix=/mingw --disable-gui && make && make install
cd ..

Im achten Teil dieser Artikelserie wird die Soundunterstützung für DOSBox kompiliert.




Serie: DOSBox unter Windows kompilieren 6/10

Diese Artikelserie zeigt auf, wie man unter Windows eine Entwicklungsumgebung mit Open Source basierten Programmen erstelllt und darin Programme und deren Abhängigkeiten kompiliert. Die daraus entstehenden Dateien können unter Windows wie normale Programme verwendet werden.

Im fünften Teil wurde die Simple DirectMedia Library kompiliert, in diesem Teil wird die PNG Bibliothek kompiliert. Diese Bibliothek ermöglicht einem Programm die Verwendung und Erstellung von PNG Grafiken. Die PNG Bibliothek wird von DOSBox benötigt um die Screenshots – welche während einer DOSBox Session erstellt werden können – abspeichern zu können.

Zuerst müssen die Pakete der folgenden Tabelle in das Heimverzeichnis der MSYS Umgebung heruntergeladen werden.

Paket Beschreibung Link
Z Bibliothek Bibliothek mit dem Komprimieralgorithmus Z. zlib-1.2.3
libpng PNG Bibliothek libpng-1.2.35

Um zlib unter Windows als dll kompilieren zu können müssen einige Änderungen vorgenommen werden. Ausserdem wird die Installation (make install) Fehlermeldungen ausgeben, da einige if Abfragen ohne zugehöriges fi vorhanden sind. Die Fehlermeldungen haben jedoch keine Relevanz, da die wichtigen Dateien installiert werden.

cd
tar xvzf zlib-1.2.3.tar.gz
cd zlib-1.2.3
sed -e 's/INSTALL = $(CP)/INSTALL = install/g' win32/Makefile.gcc > Makefile
make && make test testdll && INCLUDE_PATH=/mingw/include LIBRARY_PATH=/mingw/lib make install
install zlib1.dll /mingw/bin
cd ..

libpng lässt sich im Gegensatz zur zlib bereits schon einfach kompilieren.

cd
tar xvzf libpng-1.2.35.tar.gz
mkdir libpng-build
cd libpng-build
cp ../libpng-1.2.35/scripts/makefile.mingw Makefile
SRCDIR=/home/matse/libpng-1.2.35 prefix=/mingw make
SRCDIR=/home/matse/libpng-1.2.35 prefix=/mingw make test
SRCDIR=/home/matse/libpng-1.2.35 prefix=/mingw make install
cd ..

Im siebten Teil dieser Artikelserie wird die SDL_net Bibliothek kompiliert.