Don't understand german? Read or subscribe to my english-only feed.

rsync and Access Control Lists

January 12th, 2007

At last meeting of Security Treff Graz I brought up the question whether rsync is capable of handling extended ACLs (the Access Control Lists you handle with setfacl and getfacl on your Linux system). That’s very important for me when backing up running systems because I’m using ACLs on some systems but only a few programs (like star) are aware of the ACLs. So I took a closer look at it and the answer whether rsync supports extended ACLs is: "depends".

Out of the box rsync does not handle extended ACLs. But: there is a patch available (patches/acls.diff in upstream-sources) which provides support for ACLs via option ‘-A’. The best news: Debian uses the patch by default now starting with rsync 2.6.9-1 so we have ACL support within rsync on upcoming Debian/etch as well. This is very important because the nonstandard option only works if the remote rsync also supports it.

Google Suggest on the commandline

January 11th, 2007

Get Google Suggest on the commandline:

cd /tmp
dh-make-perl --cpan WebService::Google::Suggest --build
sudo dpkg -i libwebservice-google-suggest-perl_0.01-1_all.deb
wget http://hg.grml.org/grml-scripts/raw-file/tip/usr_bin/gsuggest.pl
chmod +x ./gsuggest.pl

% ./gsuggest grml
grml: 175000 results
grmlins: 286 results
grmlin: 816 results
grml linux: 76200 results
grmls: 566 results
grmln: 192 results
grml.ca: 57 results
grmlive: 7 results

Broken feed with WordPress 2.0.6

January 10th, 2007

Thanks to maxx and oliver for reporting a problem with the feed of my blog. rss2email displayed the following warning:

% e2run
W: looks like HTML http://michael-prokop.at/blog/feed/

and whereas bloglines.com, Firefox, Internet Explorer, Awasu and even dog and wget worked without any noticeable problems there also was a problem with rss-reader akregator.

Finally I could track down the problem with:

% GET -e http://michael-prokop.at/blog/feed/

and use of telnet and stumbled upon ticket 3528 in the wordpress bug database then.

Conclusion: if you upgraded your wordpress installation to version 2.0.6 you might want to apply the fix mentioned in ticket 3528.

HP Compaq dc7700 and Linux (Update)

January 9th, 2007

Thanks to Michael Hammer I had the possibility to test grml on a HP Compaq dc7700 Convertible Minitower today. As the box seems to be widely used at TU Graz and there’s not that much information available yet I’m feeding google.

My testing system was of course the grml live-cd using the current stable version grml 0.9 featuring kernel 2.6.18-grml and X.org 7.1.1 and grml’s current develrelease (known as 0.9-1) providing the bleeding edge stable kernel 2.6.19-grml.

The box has ‘Intel® Pentium® D processor 915 dual-core 2.80 GHz 4 MB (2 MB per core) L2 cache 800 MHz front side bus with Extended Memory 64-bit Technology’ inside with a graphic card type ‘Hewlett-Packard Company Integrated Graphics Controller’ known as ‘Intel Corporation 82Q963/Q965 Integrated Graphics Controller’ and provides as network device the ‘Hewlett-Packard Company Ethernet controller’ known as ‘Intel(R) PRO/1000 Network Connection’.

Important: vesa framebuffer does not work (at least not with 2.6.18 and 2.6.19) so you have to boot using vga=normal (known as ‘nofb’ bootoption at grml). And the BIOS seems to be horrible broken, therefore you have to use acpi=off or pci=nommconfig. So boot your grml box using:

nofb acpi=off

or

nofb pci=nommconfig

Booting works fine then. Network and sound work stright out of the box. By default running grml-x will use the vesa module. You might want to use the i810 module instead, so run ‘grml-x -module i810 wm-ng’. Depending of your setup you might want to set ‘Option "MonitorLayout" "CRT, DFP"’ in the Device-section of your /etc/X11/xorg.conf additionally. That’s it.

Update [2007-01-09]: instead of acpi=off you can try pci=nommconfig as well which should provide a (basically) working ACPI setup without hanging at the mmconfig stuff during bootup. Seems to be a problem of Intel 965 based chipsets…

Set up a router with grml within 1 minute

January 8th, 2007

Thanks to schula for writing down the necessary steps how to set up a router with grml in less than 1 minute. JFTR the steps in english (will become part of grml-tips as well):

  • Execute ‘grml-router’
  • Install dnsmasq if not already present: apt-get update ; apt-get install dnsmasq
  • Adjust /etc/dnsmasq.conf according to your needs:
  • domain-needed
    bogus-priv
    dhcp-range=192.168.0.124,192.168.0.254,1m # dhcp range
    dhcp-option=3,192.168.0.1   # dns server
    dhcp-option=1,255.255.255.0 # netmask
    
  • Run ‘Restart dnsmasq’

That’s it. :-)

Reset password of a user in dokuwiki from the commandline

January 8th, 2007

As I usually forgot how to do it ;-) JFTR a cmdline to reset the password of a user in dokuwiki:

# usr='myuser'; passwd='secret_password'
# sed -i "s#$usr:[[:alnum:]$]*:#$usr:`printf ${passwd} | md5`:#"  /var/lib/dokuwiki/acl/users.auth.php

Online-Poker

January 8th, 2007

So, nachdem ich netterweise von Thomas Quaritsch darauf hingewiesen wurde, dass die Software von pokerstars.de durch den Einsatz von Wine auch unter Linux zum Laufen zu bringen ist, habe ich das mal schnell probiert und es tut ohne große Hexerei:

Screenshot von Pokerstars in Wine

Tipp: in der user.ini (hier in ‘~/.wine/drive_c/Program\ Files/PokerStars.NET/user.ini’) unter dem Punkt [Options] ein "f5redrawtable=1" hinzufügen, dann kann man den Tisch auch vergrößern (einfach mit der Maus in der rechten unteren Ecke anpacken, ziehen und dann F5 drücken).

Interessanterweise ist in der Wine-Datenbank die Version 2.070 erwähnt, ich habe aber 2.065 im Einsatz – obwohl ich auf pokerstars.de die deutsche Beta-Version genommen habe (es gibt auch keine andere zur Auswahl). Anscheinend ist da ein Unterschied zwischen der Variante von pokerstars.com und jener von pokerstars.de. Ich hab auf alle Fälle einen Eintrag für Debian/unstable in der pokerstars-Seite der Wine-Datenbank hinterlassen.

So, ich musste das jetzt leider posten, damit das erledigt ist und ich von dem Spiel jetzt endlich wegkomme. 8-)

Pokerspiele am Computer

January 7th, 2007

Seit Weihnachten bin ich stolzer Besitzer eines Poker-Koffers. Und vor Kurzem ist in Debian unstable pokerth aufgetaucht:

PokerTH is a single-player poker game written in C++/QT4. You can play the popular “Texas Hold’em” poker variant against up to four computer-opponents. This poker engine is open-source and available for Linux and Windows.

Nachdem ich selbst auch Texas Hold’em (no limit) spiele, habe ich mir dieses Spiel mal kurz angesehen. Schaut soweit sehr nett aus, obwohl man momentan nur alleine gegen den Computer spielen kann. Das soll sich laut Taskliste des Projektes aber ändern: network-support (There will be network support for multiplayer modus over net). Sehr schön, ich bin auf alle Fälle gespannt, ob daraus was wird. :-)

Was ich sonst noch im Debian-Pool gefunden habe: gtali aus dem Debian-Paket ‘gnome-games’ beschreibt sich mit "sort of poker with dice and less money. An ancient Roman game, this variant is similar to Yahtzee (R)." Ist somit nicht mein Ding, ebenso wenig wie kpoker und das Kommandozeile-basierte sillypoker ("five card draw, five card stud, and seven card stud poker").

Viel versprechend schaut dafür python-poker2d aus, das auf Wunsch gleich alles relevante für den Gebrauch mit dem pokersource.info-Pokerserver einrichtet. Ich muss mich aber erst noch im Detail durchs Interface kämpfen, bevor ich andere Spieler vernichten kann. 8-)

Online-Pokerspiele hab ich mir noch nicht angesehen, falls da jemand Empfehlungen hat (Voraussetzung: muss unter Linux stressfrei laufen): nur her damit.

Torino 2006 Winter Olympics

January 7th, 2007

*

Es ist gar nicht so einfach, für die Playstation 2 Spiele zu finden, die a) kein Shooter, b) kein Kinderspiel und c) für mehrere Personen (Multiplayer) sind. Für den Fall, dass jemand den gleichen Geschmack wie meine Freundin und ich haben sollte, werde ich jetzt mal Google füttern. ;-) (Disclaimer: ich spiele Shooter durchaus, aber auf Spielekonsolen finde ich Shooter von der Steuerung her typischerweise zu anstrengend.)

Torino 2006 (PS2) ist für 1-4 Spieler und bietet 8 verschiedene Winter-Disziplinen. Leider spielt man nicht simultan gegen andere Spieler, sondern immer nur nacheinander. Die meisten Disziplinen sind aber kurz genug um sich nicht zu langweiligen. ;) Durch die verschiedenen Spielemodi ‘einfach’, ‘mittel’ und ‘schwer’ kommt jeder recht schnell in Schwung. Die Disziplinen in Ski-Alpin gefallen mir am Besten und Slalom scheint meine Spezialdisziplin zu sein. 8-) Die Wartezeiten zwischen den einzelnen Spielen sind ziemlich kurz und man kann fast alles einfach und schnell überspringen, dadurch wird es auch zu viert nicht wirklich langweilig, solange man keine langwierige Disziplin wie Biathlon auswählt. Was ein wenig störend auffällt sind die Kommentare. Anfangs noch lustig wird es mit der Zeit einfach nervend. Es sind immer die gleichen wenigen Sprüche und wenn man bei guter Zwischenzeit bei Ski Alpin einen Torfehler begeht hört man ein ‘toll!’ und mit einigen Sekunden Verzögerung ein ‘nein!’. Die Intelligenz von Kommentatoren scheint also auch in Computerspielen beschränkt zu sein. ;-)

Das Spiel finde ich insgesamt aber dennoch sehr nett, auf einer Skala von 0 bis 10 würde ich 8 Punkte vergeben. 1 Punkt Abzug gibt’s für die teilweise doch sehr schwachen Kommentare und 1 Punkt Abzug für den fehlenden Simultan-Spielemodus.

moreutils

January 7th, 2007

You might know of moreutils‘s existence already, but in case you do not use them so far please give it a try as it’s definitely worth a look:

Description: additional unix utilities
 This is a growing collection of the unix tools that nobody thought
 to write thirty years ago.
 .
 So far, it includes the following utilities:
  - isutf8: check if a file or standard input is utf-8
  - sponge: soak up standard input and write to a file
  - ts: timestamp standard input
  - vidir: edit a directory in your text editor
  - vipe: insert a text editor into a pipe
  - combine: combine the lines in two files using boolean operations
  - ifdata: get network interface info without parsing ifconfig output
  - pee: tee standard input to pipes
  - zrun: automatically uncompress arguments to command
  - mispipe: pipe two commands, returning the exit status of the first

grml 0.9-CDs

December 15th, 2006

Ich habe jetzt ein paar grml 0.9-CDs. 5 Stück davon habe ich kostenlos zu vergeben. Du möchtest eine solche grml-CD haben? Dann nenne mir einen guten Grund, warum gerade du so eine CD bekommen sollst. 8-) Die besten Einsendungen gewinnen und bekommen eine solche CD (im deutschsprachigen Raum) kostenfrei zugesandt. Bewerbungen bitte einfach als Kommentar auf diesen Blogeintrag hinterlassen oder Mail an mich [mika (at) grml.org]. Bitte nicht vergessen die Mailadresse anzugeben, damit ich dich im Gewinnfall auch kontaktieren kann. ;-)

Bewerbungsende ist der 18. Dezember 2006 – 23:59 Uhr, damit es die CD noch rechtzeitig unter den Weihnachtsbaum schafft. ;-)

grml 0.9 cds - bild

Verrückte Partitionierungsspielchen mit Windows (Update)

December 9th, 2006

Wer Stress haben will, soll Windows mit einer solchen Partitionierung betreiben:

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2432    19535008+   7  HPFS/NTFS
/dev/sda2            2433        5959    28330627+   5  Extended
/dev/sda3            6081       29027   184321777+  17  Hidden HPFS/NTFS
/dev/sda4           29028       30401    11036655   83  Linux
/dev/sda5            2433        4865    19543041    7  HPFS/NTFS
/dev/sda6            4866        5959     8787523+  83  Linux

Was ist das Problem? Diese ‘Hidden HPFS/NTFS’-Partition wird von Windows gesetzt. Man kann den Partitionstyp von 0x17 (Hidden-NTFS) auf 0x07 (NTFS) zurücksetzen und beim nächsten Booten setzt Windows die Partition wieder auf Hidden-NTFS zurück. Ergo kommt man unter Windows nicht einfach an die Daten auf der Hidden-NTFS-Partition ran.

Weder diskpart, noch regedit mit Bearbeitung von HKLM/System/MountedDevices + CO haben Abhilfe geschafft. Nach jedem Reboot der gleiche Schmarrn… Am Schluss (mangels Zeit zum weiteren Debuggen) half nur das Entfernen der Linuxpartitionen und ein Neuschreiben vom MBR via ms-sys. *grml*#@$@$#$

Update:

Danke an den Hinweis von Jörn. Ich hab jetzt auf einem anderen Rechner das gleiche Problem gehabt und wollte das jetzt mal genauer anschauen.

Und zwar wird die Partitionstabelle wirklich immer exakt dann modifiziert, wenn man Windows bootet. Unter Windows hat man dann auf die ‘Hidden NTFS’-Partition keinen direkten Zugriff (die ‘Daten’-Partition im folgenden Screenshot):

Screenshot von Hidden-NTFS Partition unter Windows

Im Spiel ist dabei:

# lilo -V
LILO version 22.6.1 (Debian GNU/Linux)

Abhilfe schafft der folgende Eintrag in der lilo.conf:

change-rules
reset

Jetzt ist Ruhe im Haus, auch wenn man Windows bootet wird aus NTFS jetzt kein ‘Hidden NTFS’ mehr. Würgs… Dafür hat sich auch gleich ntfs-3g auf grml mit ‘mount.ntfs-3g -o rw,locale=de_DE …’ beweisen können: 14GB Daten erfolgreich von NTFS nach NTFS geschaufelt. *streichel*

grml 0.9 Dioptrienotto und grml-small 0.3 Zwergenaufstand

December 7th, 2006

Screenshot von grml 0.9

Ja, es ist vollbracht. grml 0.9 mit Codenamen ‘Dioptrienotto’ und der kleine Bruder grml-small 0.3 mit Codenamen ‘Zwergenaufstand’ sind verfügbar. Beide haben einen sehr gut ausgestatteten Kernel 2.6.18 an Board. (Jener von grml-small 0.3 hat aufgrund der Platzbeschränkung aber wie üblich nicht so viele Features wie jener vom großen Bruder.)

Für mich auf alle Fälle wieder ein Milestone, da sich unter der Haube doch einiges getan hat. Einerseits verwenden wir jetzt Mercurial für die Versionskontrolle (nicht nur für unsere eigene Software sondern auch für Debian-Pakete), andererseits haben wir dank der Arbeit von Alexander ‘formorer‘ Wirt sehr viel an der Infrastruktur verbessert, unter anderem ein neues grml-Repository.

Wenn neue Blockdevices (wie USB-Sticks) hinzukommen oder auch entfernt werden, wird die dafür zuständige Datei /etc/fstab (sofern nicht deaktiviert) via udev und grml-rebuildfstab automatisch angepasst, auch FS-Labels bzw. UUID werden nun unterstützt (vereinfacht die Handhabung von z.b. USB-Sticks ungemein!). Swap wird per Default nicht mehr aktiviert (lässt sich aber einfach mit Aufruf von ‘grml-swapon’ oder Bootoption ‘swap’ einfach ändern), der SW-RAID-Supportwurde ebenfalls verbessert.

Die Zsh wurde noch feiner konfiguriert, schöne Konfigurationsdateien wie z.B. für Mercurial und lftp sind hinzugekommen und auch diesmal sind wieder neue Skripte mit an Board:

  • grml-ap: einfach und schnell einen Access-Point einrichten
  • grml-bridge: den eigenen Rechner schnell und einfach als Bridge konfigurieren
  • grml-debootstrap: damit geht das Installieren von "reinem" Debian noch einfacher und noch schneller(!)
  • grml-router: aus dem eigenen Rechner einen NAT-Router machen
  • qma: ‘quick manual access’, dank lzop superschnell Manpages via Vim zur Verfügung haben

Natürlich gibt es auch neue Software mit an Board, insgesamt 113 neue Pakete. Darunter aamath, histring, inotail, iwatch, mathomatic, ptfinder, ruby-prof, vim-ruby und xmms2.

Beim kleinen Bruder wurden die Features der großen Version eingepflegt bzw. synchronisiert. Neben Tools wie chntpw, wpasupplicant und xfsprogs hat auch WLAN-Support (z.B. für IPW2200 + IPW3495) Einzug gefunden.

Wie üblich finden sich weitere Details im offiziellen Release-Announcement von grml 0.9 sowie im Release-Announcement von grml-small 0.3. Der Download ist wie immer u.a. via Bittorrent, HTTP und FTP möglich.

Viel Spass mit der neuen Release! Das grml-Team freut sich über Feedback!

EFIKA: PowerPC-Board

December 6th, 2006

Vor über einem halben Jahr habe ich beim EFIKA-Projekt von Genesi um ein PPC-Board für grml angesucht: grml – Linux Live-CD for sysadmins / texttool-users @ EFIKA.

Am Sonntag (03.12.06) war es dann soweit: Genesi USA hat bei mir nachgefragt, ob meine Lieferadresse wohl noch stimmt. Und heute schon (3 Tage später, WTF ging das jetzt schnell!) war das EFIKA 5200B bei mir:

EFIKA Mainboard

Damit man einen Größenvergleich hat, ein Bild gemeinsam mit meinem Samsung X20 15" Laptop:

EFIKA Mainboard on Samsung X20

Jetzt bin ich dank Genesi also stolzer Besitzer von einem EFIKA 5200B Mainboard mit einem Freescale MPC5200B PowerPC SoC 400MHz. Danke! Als ob die gewusst hätten, wann ich eine neue grml-Release rausbringe. 8-)

Du weisst, dass eine neue grml-Release im Anmarsch ist, wenn….

December 6th, 2006
  • du einen ausgeborgten USB-WLAN-Stick über mehrere Wochen nicht getestet hast
  • du seit mehr als einer Woche einen neuen WLAN-AP (Asus 500G Deluxe) und eine neue Festplatte hast, die aber noch immer in der Original-Verpackung hausen
  • du seit einem Monat eine Bluetooth-Maus besitzt, diese aber noch immer nicht ausgepackt hast
  • du seit einem Monat einen AMD64-Rechner hast, der aber immer noch mitten im Zimmer steht und dort auch läuft, weil die Zeit für eine ordentliche Verkabelung gefehlt hat
  • du dein privates Netzwerk-Setup schon seit Ewigkeiten neu machen wolltest, das aber noch immer nicht erledigt hast
  • du Uni-Aufgaben nicht mehr Sonntag Abend sondern Montag Früh machst
  • alle nach der Frage "wie geht’s?" sofort ein "wann kommt denn die neue Release?" nachschieben :-)

… und schliesslich und endlich, wenn deine Top 10 Shell-Kommandos so aussehen:

mika@grml ~ % print -l -- ${(o)history%% *} | uniq -c | sort -nr | head -n 10
    632 hg
    504 mv
    385 vim
    346 cd
    304 grep
    289 ls
    204 rm
    185 scp
    138 patch
    135 lintian

Notes from zsh-workshop

November 29th, 2006

My notes/slides from the zsh-workshop I held yesterday at Medienkunstlabor Graz are available online: zsh-workshop notes

Matroschka-Eis

November 26th, 2006

Original aus der Verpackung:

Matroschka-Eis - Bild

Zuerst der Wecker, jetzt das Eis. Ich bin ja gespannt, was mich als Nächstes erwartet. Vielleicht ein XFCE mit OK-Buttons? 8-)

Guten Morgen!

November 22nd, 2006

Bild vom Wecker - 8 Uhr 84

Na, wann steh ich morgen auf?

Zsh-Workshop in Graz (28.11.06)

November 21st, 2006
% cat > zsh-workshop.txt << EOF

Was:      Zsh-Workshop
Wann:     Dienstag, 28. November 2006, 20 Uhr [OpenEnd]
Wo:       Medienkunstlabor (Lendkai 1, 8020 Graz)
Wer:      Michael Prokop [mika (at) grml.org]
Eintritt: Frei

Details zum Workshop:

Zsh? "Zsh is a shell designed for interactive use, although it is
also a powerful scripting language."       -- http://www.zsh.org/

Einführung in das Arbeiten mit der Zsh:

- Warum eigentlich die Zsh und nicht $ANDERE_SHELL?
- Was muss man kennen? [Poweruser!]
- Wie legt man am Besten los?

Das Arbeiten mit der Zsh wird anhand der Konfiguration von grml
(Linux Live-CD für Sysadmins und Texttool-User - http://grml.org/)
durchgeführt. Die Konfigurationsdateien (auch auf nicht-Debian-Systemen
nutzbar) werden beim Workshop via Web zur Verfügung gestellt.
grml-CDs werden beim Workshop ebenfalls zur Verfügung gestellt.

Mitzubringen:

- gute Laune, Motivation und ~3h Zeit
- eigener Laptop ist definitiv von Vorteil
- Schreibsachen für ev. Offline-Notizen schaden nicht

Erwünschte Vorkenntnisse:

- grundlegende Shellkenntnisse (cd, ls,...)
- keinerlei Vorwissen bezüglich Zsh erforderlich

EOF

histring – highlight strings using ANSI terminal escape sequences

November 19th, 2006

Thanks to ‘T’ for pointing to histring on the grml user mailinglist. histring simply highlights strings using ANSI terminal escape codes. It is very useful e.g. for parsing output of grep and diff. I really like the tool because it simplifies recognition of important patterns to me. I use it for example in highlighting important stuff inside diff output as suggested by T:

% which hidiff
hidiff: aliased to histring -fE '^Comparing files .*|^diff .*' | histring -c yellow -fE '^\-.*' | histring -c green -fE '^\+.*'

See it in action:

hidiff screenshot

The project’s homepage isn’t available, but I managed to built a Debian package using the archived sources from BSD ports. As usual get the .deb via the grml repository.

Oh, and grml 0.9 will ship the hidiff alias as well. ;-) If you have other useful aliases you would like to see in grml please let me know.