Tag Archives for linux

dateien rekursiv von iso-8859-1 in utf-8 konvertieren

immer wieder holen einem die gleichen probleme ein. gerade windows nutzer, die keine vernuenftigen editoren benutzen, machen dem rest das leben schwer. in 95% aller faelle ist es vollkommen schnurzegal, wie man seine dateien abspeichert. ein webserver unter linux nimmts halt etwas genauer (hat er ja auch recht). das passende shirt dazu (siehe bild) gibt bei getdigital

mal so als gedaechtnisstuetze fuer mich und falls jemand auch mal so ein problem hat. ich musste dateien einer webpraesenz auf einen neuen server umziehen. das problem dabei war, dass manche schon in utf-8 abgespeichert waren und der rest in iso-8859-1. abhilfe schafft ein kleines bash scriptchen, welches man als “convert.sh” abspeichert:

#!/bin/sh
if [ `file $1|grep UTF-8|wc -l` = "0" ]; then
    # datei ist kein utf-8 -> auflisten
    echo $1 >> "kein_utf8.txt"
    # konvertieren
    iconv -f ISO-8859-1 -t UTF-8 "$1" -o "$1"_conv
    # original loeschen
    rm "$1"
    # konvertierte datei umbenennen
    mv "$1"_conv "$1"
    # falls das charset angegeben ist, dann ersetzen
    sed -i 's/charset=iso-8859-1/charset=utf-8/g' "$1"
else
    # datei ist bereits utf-8 -> auflisten
    echo $1 >> "ist_utf8.txt"
fi

sicherlich nicht das non plus ultra und noch verbesserungsfaehig, aber fuer meinen zweck hat es das getan. in der datei “kein_utf8.txt” werden die aufgelistet, die umgewandelt wurden und in der “ist_utf8.txt” nur die, die schon utf-8 encoding hatten.

diese datei ruft man dann einfach in dem verzeichnis auf, von dem aus man abwaerts die z.b. html dateien konvertieren will:

find . -name "*.html" -print | xargs -i -t ./convert.sh '{}'

20110109224337 by sd
shorturl: http://sd.vc/314
tags: , ,
1 comment

ubuntu auf dem desktop

ich starte den naechsten versuch, mal mit linux auf dem desktop zurecht zu kommen. vor ein paar jahren hab ich das schonmal probiert und auch ca. 2 jahre durchgehalten. aber irgendwann hatte ich die schnauze voll und bin wieder zu windows (xp) gewechselt. das lag aber eher an der schlechten unterstuetzung mehrerer matrox dualhead grafikkarten. die treiber unterstuetzen in dieser konstellation die 2d beschleunigung nicht und ein fluessiges arbeiten war unmoeglich. logischerweise waren damals die rechner auch nicht so leistungsfaehig wie heute.

ich weiss nicht mehr genau, wie lange ich dann wieder windows auf dem desktop hatte. danach war ich auf dem apple trip und hab mir das mal von vorne bis hinten angetan. war auch nicht alles gold, was glaenzt und osx hat auch so seine tuecken. ueber zwei jahre habe ich das durchgehalten, bis ich im fruehling diesen jahres zu windows 7 gewechselt bin. so richtig zufrieden war ich damit auch nicht, kann aber auch nicht genau festmachen warum. wahrscheinlich eher die neugier trieb mich dann gestern abend dazu, ein ubuntu auf den windows rechner zu installieren. erstmal die quick and dirty loesung mit dem “windows installer” draufkloppen und testen, wie sich das anfuehlt. kurze zeit spaeter hat dann auch schon alles funktioniert, was ich so im alltag brauche.

erstmal mussten die propritaeren nvidia treiber drauf und xinerama aktiviert werden, damit die zwei bildschirme richtig genutzt werden koennen. mit der geilen apple tastatur hatte ich ja schon unter windows so meine problemchen und musste die belegung umbiegen. unter linux ist das noch ein bischen anstrengender. die funktionstasten haben standardmaessig mediafunktionen, was mit einem kernelparameter behoben werden kann und ein paar andere muessen noch vertauscht werden, damit man halbwegs gluecklich wird. hier die datei .Xmodmap aus meinem homedir:

keycode 37 =    Control_L
keycode 133 =   Alt_L Meta_L
keycode 64 =    Super_L
keycode 108 =   Super_R
keycode 134 =   ISO_Level3_Shift Multi_key
keycode 105 =   Control_R       Multi_key
clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5
add    Shift   = Shift_L Shift_R
add    Lock    = Caps_Lock
add    Control = Control_L Control_R
add    Mod1    = Alt_L 0x007D
add    Mod2    = Num_Lock
add    Mod4    = Super_L Super_R
add    Mod5    = Mode_switch ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift
! Configure '=' key on numpad as '='.
keycode 0x7D =  equal
keycode  49 = less greater less greater bar brokenbar bar
keycode  94 = dead_circumflex degree dead_circumflex degree U2032 U2033 U

mit diesem befehl kann man die config neu laden:

xmodmap ~/.Xmodmap

dank firefox sync, dem thunderbird addon synckolab und servergespeichertem roaster im jabber-account sind die lebenswichtigen funktionen in null komma nix hergestellt. enigmail konnte ich nicht ueber die thunderbird addon funktion installieren, da dort anscheinend keine 64bit version verfuegbar ist, aber im ubuntu software-center findet man das. ein bischen popelig sind die ganzen kleinen bildbetrachter und bearbeiter. muss ich halt doch schon bei kleinigkeiten zu gimp greifen. die musik spielt seit dem ersten login aus der “Rhythmbox” und selbst der vmware player fuer mein windows mit ausschliesslich onlinebanking- und steuersoftware laeuft bereits. aus steht noch die geschichte mit den verschluesselten partitionen, rumspielen mit truecrypt fuer die externen platten und vielleicht endlich mal die inbetriebnahme des crypto sticks der german privacy foundation. unter windows 7 wollte der damals nicht so wie ich.

auf jeden fall bin ich schonmal begeistert, dass das alles fast reibungslos geklappt hat. ich werde mir das ganze mal ein paar tage ansehen und bin gespannt, ob ich das auf dauer aushalten werde. hin und wieder mal ein kompletter tapetenwechsel beim deskop haeltfit 😉

20101127193032 by sd
shorturl: http://sd.vc/2sq
tags: ,
Leave a comment

pimp my bash

die history funktion in der bash shell ist ja schon geil (pfeil nach oben/unten), aber es geht noch besser! wenn man diese zeilen in die datei ~/.inputrc schreibt:


# pfeil (cursortaste) nach oben:
# gehe zu der vorherigen zeile in der history
# die mit den eingetippten buchstaben beginnt
"\e[B": history-search-forward
# pfeil nach unten: das gegenteil von pfeil nach oben
"\e[A": history-search-backward

nach einem erneuten login steht dann die funktion zur verfuegung. als beispiel:
gib “ssh” ein und druecke die cursortaste nach oben und du “scrollst” durch die history, aber nur die eintraege, die mit “ssh” beginnen.

ich finds genial…

20101006231627 by sd
shorturl: http://sd.vc/281
tags: , ,
1 comment

die susi und der adac

ich hatte gestern einen server von einem rootkit zu befreien… zumindest nach bestem wissen und gewissen, damit die kiste wieder laeuft und keinen unfug mehr macht. an einer neuinstallation geht da sowieso nichts dran vorbei… sicher ist sicher.

auf jeden fall kann man da auch mal schmunzeln, wenn einem sowas unterkommt:

# lsattr /bin/ls
suS-iadAc--------- /bin/ls

# chattr -suSiadAc /bin/ls

was nur die susi mit dem adac hat…

wens interessiert… das sind flags im ext2 dateisystem. wikipedia schreibt dazu:

Das Flags-Feld enthält einige ext2-spezifische Flags, die nicht beispielsweise durch chmod beeinflusst werden können. Diese Flags können mit dem Programm lsattr gelistet werden und mit chattr geändert werden. Diese Flags erlauben einer Datei besonderes Verhalten, welches über die POSIX-Dateiflags nicht darstellbar ist: Es gibt Flags für sicheres Löschen, Unlöschbarkeit, Kompression, synchrone Updates, Schreibschutz, indizierte Verzeichnisse, Journaling und einiges mehr. Nicht alle Flags werden jedoch vom ext2-Treiber im Kernel umgesetzt.

bei selflinux.org gibts leicht verstaendliche erklaerungen auf deutsch dazu, die ich einfach mal hier reinkopiert hab:

s (Secure Delete)

Wenn das System diese Datei löscht, werden alle Datenblöcke auf dem Datenträger zufällig überschrieben.

u (Undelete)

Wenn eine Anwendung das Löschen der Datei fordert, soll das System die Datenblöcke so “konservieren”, dass das Löschen der Datei auch wieder rückgängig gemacht werden kann. Diese Funktion ist derzeit noch nicht impementiert.

S (Sync)

Wenn eine Anwendung gerade den Schreibprozess durchführt, soll das System alle Änderungen sofort und ungepuffert auf dem physischen Datenträger abspeichern.

i (Immutable)

Das System verbietet jegliche Änderungen an der Datei. Im Falle eines Verzeichnisses können Dateien, die in diesem Verzeichnis bereits existieren, verändert werden. Weder das Löschen noch das Anlegen von Dateien ist möglich.

a (Append Only)

Das System erlaubt das Öffnen dieser Datei nur zum Zwecke der Erweiterung und verbietet explizit allen Prozessen das Überschreiben bzw. Löschen bereits gespeicherter Daten (sinnvoll bei log-Dateien). Ebenfalls untersagt ist das Löschen, Umbenennen, Verschieben und “hartes” Linken der Datei. Wird das Flag auf einem Verzeichnis angewendet, dürfen darin keine Dateien angelegt oder gelöscht werden.

d (No Dump)

Das dump Programm soll diese Datei beim Backup ignorieren.

A (Atime)

Das System soll die “atime” (access time) dieser Datei nicht aktualisieren.

c (Compress)

Das System soll diese Datei “transparent” komprimieren. Beim Schreiben in die Datei wird deren Inhalt komprimiert und erst danach auf dem physischen Datenträger abgelegt, beim Lesen der Datei werden jedoch stets dekomprimierte Daten zurückgegeben. Diese Funktion ist derzeit noch nicht implementiert.

20100827230747 by sd
shorturl: http://sd.vc/28w
tags: , ,
Leave a comment

raid1 und grub

das stand schon lange auf meiner liste der “sachen, die ich unbedingt nachschlagen muss”: die grub konfiguration bei einem software raid1 unter linux. und jetzt bin ich rein zufaellig beim hostbogger drueber gestolpert: “Insbesondere ist es wichtig, sicherzustellen, dass beim Totalausfall eines physikalischen Laufwerks von der nächsten (meist einzigen) anderen, die in diesem Falle dann zur ersten wird, gebootet werden kann.

• /boot/grub/device.map editieren:

(hd0) /dev/sda
(hd0) /dev/sdb
(hd0) /dev/sd

• in der Grub-Shell

root (hd0,1) # Natürlich die /boot-Partition angeben
setup (hd0)
setup (hd1)
setup (hd)

Das Ganze hat den Hintergrund, dass sich beim Booten mit fehlendem Laufwerk die Nummerierung ändert, aber immer ein hd0 vorhanden ist.

20100824063044 by sd
shorturl: http://sd.vc/291
tags: , ,
1 comment

vmware-server waste time

es war mal wieder so weit und ich musste einen vmware server installieren. dank meines eigenen howto’s sollte das eigentlich kein problem sein… dachte ich. die installation hat soweit auch geklappt (mit den beschriebenen tricks). bloss der erste connect mit dem browser nach der oblogatorischen fehlermeldung wegen des zertifikats ins leere. in der datei /var/log/vmware/hostd.log konnte ich massig dann eintraege wie diese finden:

[2010-08-18 21:43:51.807 'Proxysvc' 1076664656 warning] SSL Handshake on client connection failed: SSL Exception:

das war sowohl im firefox, als auch im IE so. langes googlen brachte viele voodoo tricks ans tageslicht, aber darunter auch eine ernsthafter, der dann geholfen hat:

Turns out it is Firefox 3.6, in the update the default setting for SSL 2 is off, easy fix, go to about:config and switch security.enable_ssl2 to true.

nach einem reload hat dann der firefox endlich die loginmaske angezeigt. lustigerweise hats dann auch mit dem internet explorer funktioniert. verstehen muss ich das jetzt nicht…

gefreut hat mich, dass der firefox nun ein “bischen kompatibler” zu sein scheint. den mist, den er beim letzten mal angezeigt hat, macht er jetzt nicht mehr. dafuer tauchen andere kuriositaeten auf:

meine physikalische maschine hat 4GB ram:

und der vmware server sagt mir, dass ich maximal 8GB vergeben kann, weil die kiste sonst zu swappen anfaengt:

hmm… ich wills mal lieber nicht ausprobieren. auf jeden fall scheint erstmal alles zu laufen. die webgui ist gewohnt scheisse und haengt ab uns zu, die remote console funktioniert auch nicht immer beim ersten mal, und manchmal muss man sich einfach ausloggen und wieder einloggen, damit die kleinen merkwuerdigkeiten wenigstens termporaer verschwinden.

und wenn die gui schon merkwuerdig ist, muss sich mein server anscheinend auch noch merkwuerdig verhalten… aus heiterem himmel zeigt mir die ssh session das an:

ich wars nicht. die kiste steht im keller und ich bin drei stockwerke weiter oben. ich gehe mal davon aus, dass niemand in meinem keller war und die kiste ausgeschaltet hat… suspicious…

20100818223812 by sd
shorturl: http://sd.vc/297
tags: , ,
Leave a comment

kacka serva hacka

nachdem mein kleines virtuelles maschinchen fuer dieses blog ja nun komplett frisch gemacht ist, muss es auch wieder ins backup rein. aufgrund des langsam eintretenden platzmangels auf der backup kiste habe ich bei den alten backups mal ein bischen aufraeumen muessen. dabei bin ich noch ueber ein uraltes backup dieses servers gestolpert, dessen verzeichnis “kacka serva hacka” heisst. nachdem das lachen wieder nachgelassen hatte, musste ich erstmal ueberlegen, was das ueberhaupt sein soll. schnell kamen die erinnerungen: ich hatte ein rootkit auf dem server, hab das ding deswegen neu installiert und das kompromittierte backup umbenannt. anscheinend wollte ich noch etwas forensische analyse damit betreiben… habs aber dann wohl vergessen. und jetzt… weg damit.

UPDATE: hehe.. und da ich jeden dreck in google eingebe, hab ich das mit “kacka serva hacka” auch mal gemacht. natuerlich stehe ich da mit diesem posting (zumindest im moment) auf platz eins, aber das schwedische “Department of Information Technology” hat die woerter auch in irgendwelchen wortlisten drin. weiss der geier, was die damit machen… eine verzeichnisebene weiter oben liegen bilder mit “krypto” im namen und so… vielleicht habe ich mit meiner wortkreation eine verschluesselte botschaft ueberliefert? 😉

20100729220929 by sd
shorturl: http://sd.vc/2a1
tags:
Leave a comment

ueberfaelliges server update

gestern hab ich noch gross getoent, dass das blog vier jahre alt ist… kurz darauf ist mir wie schuppen von den augen gefallen, dass die installation des servers dann ja noch ein bischen aelter ist. duerfte ein etch gewesen sein und mit den updates hatte ich es auch nicht so genau genommen.

also hab ich kurzerhand mal eine neue virtuelle maschine installiert, darauf ein debian lenny installiert, den ganzen kram rueberkopiert und angepasst und voila… hier sind wir wieder. der betrieb ging sogar nahtlos weiter, da ich einfach eine andere ip genommen habe und anschliessend erst den dns eintrag geaendert habe. die alte maschine laeuft derweil weiter.

sogar die performance ist ein bischen besser geworden. ist aber immernoch das gleiche traegersystem an dem gleichen popeligen dsl anschluss. solange die 1 mio hits im monat ausbleiben (was sie auch machen werden), ist das vollkommen ausreichend 😉

20100728223148 by sd
shorturl: http://sd.vc/2a3
tags: , ,
Leave a comment

ein neues virtuelles rechenzentrum

ein neues “virtuelles rechenzentrum” muss her. meine alte spielwiese hat nun 2 jahre auf dem buckel und muss mal neu gemacht werden. ausserdem ist es fuer manche faelle zwingend erforderlich, ein 64 bit betriebssystem als gast installieren zu koennen. also muss auch ein 64 bittiger vmware server her. als basis dient ein debian lenny (5.0.3) in der amd64 variante auf einem intel core2duo.
kam mir erst etwas merkwuerdig vor, dass da “AMD64” steht, aber ein blick in die faq verraet, dass ich richtig bin:

Q: Is this port only for AMD 64-bit CPUs?
A: No. “AMD64” is the name chosen by AMD for their 64-bit extension to the Intel x86 instruction set. Before release, it was called “x86-64” or “x86_64”, and some distributions still use these names. Intel refers to its AMD64 implementation as “Intel64” previously named “EM64T”. The architecture is AMD64-compatible and Debian AMD64 will run on AMD and Intel processors with 64-bit support. Because of the technology paternity, Debian uses the name “AMD64”.

die anleitung hab ich fuer die nachwelt als page unter den howtos festgehalten.
in den naechsten tagen werde ich auf dieser basis ein paar sachen installieren. darunter windows 2008, exchange 2010, bes 5.0, sql server 2008 und wie die ganzen dinger heissen. vielleicht schreib ich noch ein bischen darueber… vielleicht auch nicht.

20091226233650 by sd
shorturl: http://sd.vc/2g2
tags: ,
Leave a comment

fuer manche ein segen…

…fuer andere die hoelle. die meisten, die perl kennen, moegen es wahrscheinlich. ich habe aber auch den ein oder anderen kollegen, der die skript-/programmiersprache perl absolut nicht leiden kann. fuer die habe ich dieses nette nummernschild geknipst:

20090714_bad_perl

20090714212522 by sd
shorturl: http://sd.vc/2ka
tags: ,
Leave a comment