Release new version 0.7.3
[grml-tips.git] / grml_tips
index 7d95d77..5fa27d1 100644 (file)
--- a/grml_tips
+++ b/grml_tips
@@ -1,59 +1,16 @@
-Install grml to harddisk:
-
-# grml2hd
-
-Notice: You can pre-select the partition for the partition selector
-and mbr dialogs inside grml2hd using:
-# grml2hd /dev/hda1 -mbr /dev/hda
-
-See: man grml2hd + http://grml.org/grml2hd/
--- 
-Install grml on software RAID level 1:
-
-Create /dev/md0 (and some more /dev/md* devices) first of all:
-# cd /dev && MAKEDEV dev
-
-Create RAID:
-# mdadm --create --verbose /dev/md0 --level=raid1 \
-        --raid-devices=2   /dev/hda1  /dev/hdc1
-
-Finally install grml on it:
-# SWRAID='mbr-only' grml2hd /dev/md0 -mbr /dev/md0
-
-See: man grml2hd + http://grml.org/grml2hd/
--- 
-Install grml in non interactive mode with grml2hd:
-
-Adjust configuration as needed:
-# vim /etc/grml2hd/config
-
-Then execute:
-
-# GRML2HD_NONINTERACTIVE=yes grml2hd
-
-or run:
-
-# grml2hd -i
-
-Use with care and only if you really know what you are doing!
-
-See: man grml2hd + http://grml.org/grml2hd/
--- 
 Configure network:
 
 # grml-network
 Configure network:
 
 # grml-network
--- 
-Boot grml via network:
-
-# grml-terminalserver
 
 
-See: man grml-terminalserver + http://grml.org/terminalserver/
+Tags: configuration, network
 -- 
 Deactivate error correction of zsh:
 
 % NOCOR=1 zsh
 
 Run zsh-help for more information regarding zsh.
 -- 
 Deactivate error correction of zsh:
 
 % NOCOR=1 zsh
 
 Run zsh-help for more information regarding zsh.
+
+Tags: zsh, configuration
 -- 
 Disable automatic setting of title in GNU screen:
 
 -- 
 Disable automatic setting of title in GNU screen:
 
@@ -64,12 +21,16 @@ Set it manually e.g. via:
 % screen -X title foobar
 
 Run zsh-help for more information regarding zsh.
 % screen -X title foobar
 
 Run zsh-help for more information regarding zsh.
+
+Tags: zsh, configuration
 -- 
 Do not use menu completion in zsh:
 
 % NOMENU=1 zsh
 
 Run zsh-help for more information regarding zsh.
 -- 
 Do not use menu completion in zsh:
 
 % NOMENU=1 zsh
 
 Run zsh-help for more information regarding zsh.
+
+Tags: zsh, configuration
 -- 
 Run GNU screen with grml-configuration:
 
 -- 
 Run GNU screen with grml-configuration:
 
@@ -78,51 +39,20 @@ Run GNU screen with grml-configuration:
 or
 
 % screen -c /etc/grml/screenrc
 or
 
 % screen -c /etc/grml/screenrc
+
+Tags: screen, configuration
 -- 
 Print out grml-version:
 
 % grml-version
 -- 
 Print out grml-version:
 
 % grml-version
+
+Tags: grml
 -- 
 Configure mutt:
 
 % grml-mutt
 -- 
 Configure mutt:
 
 % grml-mutt
--- 
-Configure mutt-ng / muttng:
-
-% grml-muttng
--- 
-Set up Inode-PPTP connection:
-
-# grml-pptp-inode
-or
-# grml-pptp-xdsl-students
--- 
-Set up VPN / WLAN connection at TUG (TU Graz):
-
-Set ESSID and request for ip-address via DHCP:
-# iwconfig $DEVICE essid tug
-# dhclient $DEVICE
-
-Now run the main script:
-# grml-vpnc-tugraz
-
-After running the script an init script is available:
-
-# /etc/init.d/vpnctug [start|stop]
--- 
-Set up PPTP connection at VCG (Virtual Campus Graz):
-
-# grml-pptp-vcgraz
--- 
-Set up VPN:
 
 
-# grml-vpn <options>
-
-Usage example:
-
-# grml-vpn -k 2005 add 1000 192.168.20.1 192.168.20.2
-
-See: man grml-vpn
+Tags: mutt
 -- 
 Use encrypted files / partitions:
 
 -- 
 Use encrypted files / partitions:
 
@@ -142,18 +72,26 @@ Use:
 # grml-crypt stop /mnt/test
 
 See: man grml-crypt
 # grml-crypt stop /mnt/test
 
 See: man grml-crypt
+
+Tags: crypto, grml-crypt, dmcrypt, luks
 -- 
 Change resolution of X:
 
 % xrandr -s '1024x768'
 -- 
 Change resolution of X:
 
 % xrandr -s '1024x768'
+
+Tags: x11, xorg, resolution
 -- 
 Change resolution of framebuffer:
 
 # fbset 800x600-60
 -- 
 Change resolution of framebuffer:
 
 # fbset 800x600-60
+
+Tags: resolution
 -- 
 Configure newsreader slrn:
 
 % grml-slrn
 -- 
 Configure newsreader slrn:
 
 % grml-slrn
+
+Tags: slrn
 -- 
 Configure grml system:
 
 -- 
 Configure grml system:
 
@@ -163,16 +101,22 @@ Or directly run scripts:
 
 # grml-config-root
 % grml-config-user
 
 # grml-config-root
 % grml-config-user
+
+Tags: grml, configuration
 -- 
 Lock screen (X / console):
 
 % grml-lock
 
 Press ctrl-alt-x to lock a GNU screen session.
 -- 
 Lock screen (X / console):
 
 % grml-lock
 
 Press ctrl-alt-x to lock a GNU screen session.
+
+Tags: grml, lock, grml-lock, screen
 -- 
 Change wallpaper in X:
 
 % grml-wallpaper <press-tab>
 -- 
 Change wallpaper in X:
 
 % grml-wallpaper <press-tab>
+
+Tags: grml, wallpaper
 -- 
 Start X window system (XFree86 / Xorg / X.org):
 
 -- 
 Start X window system (XFree86 / Xorg / X.org):
 
@@ -181,8 +125,10 @@ Start X window system (XFree86 / Xorg / X.org):
 Usage examples:
 
 % grml-x fluxbox
 Usage examples:
 
 % grml-x fluxbox
-% grml-x -mode '1024x768' wmii
-% grml-x -nosync wm-ng
+% grml-x -mode '1024x768' fluxbox
+% grml-x -nosync
+
+Tags: grml-x, x11, xorg, graphic
 -- 
 Collect hardware information:
 
 -- 
 Collect hardware information:
 
@@ -193,6 +139,8 @@ or run as root to collect some more information:
 # grml-hwinfo
 
 will generate a file named info.tar.bz2.
 # grml-hwinfo
 
 will generate a file named info.tar.bz2.
+
+Tags: grml, hardware, hwinfo, collect
 -- 
 Configure hardware detection features of harddisk installation:
 
 -- 
 Configure hardware detection features of harddisk installation:
 
@@ -201,6 +149,8 @@ Configure hardware detection features of harddisk installation:
 or manually edit /etc/grml/autoconfig[.small]
 
 See: man grml-autoconfig
 or manually edit /etc/grml/autoconfig[.small]
 
 See: man grml-autoconfig
+
+Tags: grml, installation, configuration
 -- 
 Bootoptions / cheatcodes / bootparams for booting grml:
 
 -- 
 Bootoptions / cheatcodes / bootparams for booting grml:
 
@@ -209,6 +159,8 @@ On the grml-ISO if not running grml:
 
 When running grml:
 % most /usr/share/doc/grml-docs/grml-cheatcodes.txt.gz
 
 When running grml:
 % most /usr/share/doc/grml-docs/grml-cheatcodes.txt.gz
+
+Tags: grml, cheatcodes, boot, bootoptions, bootparam
 -- 
 Report bugs to Debian's Bug Tracking System (BTS):
 
 -- 
 Report bugs to Debian's Bug Tracking System (BTS):
 
@@ -220,6 +172,8 @@ See:
 
   http://grml.org/bugs/
   http://www.debian.org/Bugs/
 
   http://grml.org/bugs/
   http://www.debian.org/Bugs/
+
+Tags: bug, reportbug, bts, debian
 -- 
 Offline documentation:
 
 -- 
 Offline documentation:
 
@@ -230,11 +184,14 @@ Online documentation:
   http://grml.org/faq/
   http://grml.org/docs/
   http://wiki.grml.org/doku.php
   http://grml.org/faq/
   http://grml.org/docs/
   http://wiki.grml.org/doku.php
+
+Tags: info, grml, grml-info, documentation
 -- 
 -- 
-Mount ntfs partition (read-write):
+Mount NTFS partition (read-write):
+
+# mount.ntfs-3g /dev/sda1 /mnt/sda1
 
 
-# modprobe fuse
-# ntfsmount /dev/hda1 /mnt/hda1
+Tags: ntfs, mount
 -- 
 Overwrite specific file on an NTFS partition:
 
 -- 
 Overwrite specific file on an NTFS partition:
 
@@ -249,6 +206,8 @@ Usage example:
 ntfsresize -n -s 10G /dev/hda1 # testcase
 ntfsresize -s 10G /dev/hda1    # testing was successfull, now really resize partition
 cfdisk /dev/hda   # delete partition hda1, create new one with 10000MB and fs-type 07 (NTFS)
 ntfsresize -n -s 10G /dev/hda1 # testcase
 ntfsresize -s 10G /dev/hda1    # testing was successfull, now really resize partition
 cfdisk /dev/hda   # delete partition hda1, create new one with 10000MB and fs-type 07 (NTFS)
+
+Tags: ntfs, resize, ntfsresize
 -- 
 Modify resolution for intel graphic chipsets:
 
 -- 
 Modify resolution for intel graphic chipsets:
 
@@ -277,37 +236,45 @@ Secure delete file / directory / partition:
 See: man wipe
 
 Also take a look at shred(1), sfill(1) and http://dban.sourceforge.net/
 See: man wipe
 
 Also take a look at shred(1), sfill(1) and http://dban.sourceforge.net/
--- 
-Use grml on Samsung X20 laptop:
 
 
-# apt-get install grml-samsung-x20
-
-See: http://www.michael-prokop.at/computer/samsung_x20.html
+Tags: delete, secure, wipe, shred
 -- 
 Development information regarding grml:
 
 -- 
 Development information regarding grml:
 
-  http://grml.supersized.org/
+  http://blog.grml.org/
+
+Tags: blog, grml, developmnet
 -- 
 -- 
-Contact grml team:
+Contact Grml team:
 
 #grml on irc.freenode.org - http://grml.org/irc/
 http://grml.org/contact/
 
 #grml on irc.freenode.org - http://grml.org/irc/
 http://grml.org/contact/
+
+Tags: contact, irc, freenode, email
 -- 
 Join the grml mailinglist:
 
 http://grml.org/mailinglist/
 -- 
 Join the grml mailinglist:
 
 http://grml.org/mailinglist/
+
+Tags: grml, mailinglist
 -- 
 Help us - donate!
 
 http://grml.org/donations/
 -- 
 Help us - donate!
 
 http://grml.org/donations/
+
+Tags: grml, donation
 -- 
 Commercial support / system administration / adjusted live-cds:
 
 grml-solutions: http://grml.org/solutions/
 -- 
 Commercial support / system administration / adjusted live-cds:
 
 grml-solutions: http://grml.org/solutions/
+
+Tags: grml, commercial, customize
 -- 
 Information regarding the kernel provided by grml:
 
   http://grml.org/kernel/
 -- 
 Information regarding the kernel provided by grml:
 
   http://grml.org/kernel/
+
+Tags: documentation, grml, kernel
 -- 
 SMTP command-line test tool:
 
 -- 
 SMTP command-line test tool:
 
@@ -318,12 +285,16 @@ Usage example:
 % swaks -s $MAILSERVER -tlsc -a -au $ACCOUNT -ap $PASSWORD -f $MAILADRESSE -t $MAILADRESSE
 
 See: man swaks
 % swaks -s $MAILSERVER -tlsc -a -au $ACCOUNT -ap $PASSWORD -f $MAILADRESSE -t $MAILADRESSE
 
 See: man swaks
+
+Tags: swak, smtp, test
 -- 
 NTFS related packages:
 
 scrounge-ntfs
 salvage-ntfs
 ntfsprogs
 -- 
 NTFS related packages:
 
 scrounge-ntfs
 salvage-ntfs
 ntfsprogs
+
+Tags: utils, ntfs
 -- 
 Modify service through init script:
 
 -- 
 Modify service through init script:
 
@@ -333,6 +304,8 @@ Modify service through init script:
 # Reload postfix
 # service gpm start
 # /etc/init.d/lvm start
 # Reload postfix
 # service gpm start
 # /etc/init.d/lvm start
+
+Tags: init, script, start, stop
 -- 
 Test joystick:
 
 -- 
 Test joystick:
 
@@ -341,19 +314,27 @@ Test joystick:
 Play movie:
 
 % mplayer /path/to/movie
 Play movie:
 
 % mplayer /path/to/movie
+
+Tags: movie, mplayer
 -- 
 Use webcam with mplayer:
 
 % mplayer tv:// -tv driver=v4l:width=352:height=288:outfmt=yv12:device=/dev/video0
 -- 
 Use webcam with mplayer:
 
 % mplayer tv:// -tv driver=v4l:width=352:height=288:outfmt=yv12:device=/dev/video0
+
+Tags: webcam, mplayer
 -- 
 Powerful network discovery tool:
 
 # scapy
 -- 
 Powerful network discovery tool:
 
 # scapy
+
+Tags: network, python, tool
 -- 
 Grab an entire CD and compress it to Ogg/Vorbis,
 MP3, FLAC, Ogg/Speex and/or MPP/MP+(Musepack) format:
 
 % abcde
 -- 
 Grab an entire CD and compress it to Ogg/Vorbis,
 MP3, FLAC, Ogg/Speex and/or MPP/MP+(Musepack) format:
 
 % abcde
+
+Tags: rip, abcde, mp3, transcode, audio
 -- 
 Show a console session in several terminals:
 
 -- 
 Show a console session in several terminals:
 
@@ -374,6 +355,8 @@ Local (send file):
 
 Remote (receive file):
 % npoll
 
 Remote (receive file):
 % npoll
+
+Tags: copy, file, network
 -- 
 utility for sorting records in complex ways:
 
 -- 
 utility for sorting records in complex ways:
 
@@ -418,6 +401,8 @@ Grep with highlighting:
 
 % grep --color=auto ...
 % hgrep ...
 
 % grep --color=auto ...
 % hgrep ...
+
+Tags: grep, color, highlight
 -- 
 Extract matches when grepping:
 
 -- 
 Extract matches when grepping:
 
@@ -430,10 +415,6 @@ Output text as sound:
 % say 'ghroummel'
 % xsay            # when running X and text selected via mouse
 -- 
 % say 'ghroummel'
 % xsay            # when running X and text selected via mouse
 -- 
-Adjust a grml harddisk (grml2hd) installation:
-
-# grml2hd-utils
--- 
 Get information on movie files:
 
 % tcprobe -i file.avi
 Get information on movie files:
 
 % tcprobe -i file.avi
@@ -489,6 +470,8 @@ Hardware monitoring without kernel dependencies:
 Install grml-iso to usb-stick:
 
 % grml2usb grml.iso /mount/point
 Install grml-iso to usb-stick:
 
 % grml2usb grml.iso /mount/point
+
+Tags: usbpen, usbstick, installation, grml2usb
 -- 
 Use mplayer on framebuffer console:
 
 -- 
 Use mplayer on framebuffer console:
 
@@ -510,6 +493,8 @@ Or run one of the following commands:
 or
 # loadkeys i386/qwertz/de-latin1-nodeadkeys.kmap.gz # console
 % setxkbmap de                                      # X11
 or
 # loadkeys i386/qwertz/de-latin1-nodeadkeys.kmap.gz # console
 % setxkbmap de                                      # X11
+
+Tags: language, keyboard, configuration
 -- 
 Switch setting of caps-control key (switch between ctrl + shift) on keyboard:
 
 -- 
 Switch setting of caps-control key (switch between ctrl + shift) on keyboard:
 
@@ -576,14 +561,24 @@ vim -c ":set ff=unix" -c ":wq" file      # convert using vim
 vim -c "se ff=dos|x" file                # ... and even shorter ;)
 recode ibmpc..lat1 file                  # convert using recode
 echo -e "s/\r//g" > dos2unix.sed; sed -f dos2unix.sed < dosfile > unixfile
 vim -c "se ff=dos|x" file                # ... and even shorter ;)
 recode ibmpc..lat1 file                  # convert using recode
 echo -e "s/\r//g" > dos2unix.sed; sed -f dos2unix.sed < dosfile > unixfile
+
+Tags: windows, line, convert, recode, tr, line end,
 -- 
 Save live audio stream to file:
 
 -- 
 Save live audio stream to file:
 
-% mplayer -ao pcm:file=$FILE
+% mplayer -ao pcm:file=$FILE $URL
+-- 
+Save live stream to file:
+
+% mplayer -dumpfile $FILE -dumpstream $STREAM
 
 or
 
 
 or
 
-% mencoder mms://file.wmv -o $FILE -ovc copy -oac copy
+% mencoder mms://$URL -o $FILE -ovc copy -oac copy
+
+or
+
+% mimms mms://file.wmv
 -- 
 Merge video files:
 
 -- 
 Merge video files:
 
@@ -625,7 +620,7 @@ Read BIOS:
 -- 
 Read HTTP via netcat:
 
 -- 
 Read HTTP via netcat:
 
-echo "GET / HTTP/1.0\r\n\r\n" | netcat $DOMAIN 80
+echo -e "GET / HTTP/1.1\r\nHost: $DOMAIN\r\n\r\n" | netcat $DOMAIN 80
 -- 
 Get X ressources for specific program:
 
 -- 
 Get X ressources for specific program:
 
@@ -659,17 +654,13 @@ to get a list of all supported trees
 -- 
 Transfer your SSH public key to another host:
 
 -- 
 Transfer your SSH public key to another host:
 
-% ssh-copy-id -i ~/.ssh/id_dsa.pub user@remote-system
+% ssh-keygen   # ssh-keygen / ssh-key-gen: if you don't have a key yet
+[...]
+% ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-system
 or
 % cat $HOME/.ssh/id_rsa.pub  | ssh user@remote-system 'cat >> .ssh/authorized_keys'
 or
 % cat $HOME/.ssh/id_rsa.pub  | ssh user@remote-system 'cat >> .ssh/authorized_keys'
--- 
-Update /etc/fstab entries:
-
-# grml-rebuildfstab
 
 
-See "man grml-rebuildfstab" for more details about
-generation of /etc/fstab (including stuff like
-fs LABELs / UUIDs,...).
+Tags: ssh, ssh key, public key, ssh-copy-id, ssh-keygen
 -- 
 Fetch and potentially change SCSI device parameters:
 
 -- 
 Fetch and potentially change SCSI device parameters:
 
@@ -688,6 +679,8 @@ Find and remove duplicate files:
 Perform layer 2 attacks:
 
 # yersinia ...
 Perform layer 2 attacks:
 
 # yersinia ...
+
+Tags: network, attack, security
 -- 
 rootsh
 -- 
 -- 
 rootsh
 -- 
@@ -700,13 +693,15 @@ Perform a standard scan:
 
 Write back the guessed table:
 # gpart -W /dev/ice /dev/ice
 
 Write back the guessed table:
 # gpart -W /dev/ice /dev/ice
+
+Tags: partition, recovery, disk
 -- 
 Develop, test and use exploit code with the Metasploit Framework:
 
 cd /tmp
 -- 
 Develop, test and use exploit code with the Metasploit Framework:
 
 cd /tmp
-wget http://www.metasploit.com/tools/framework-2.7-snapshot.tar.gz
-unp framework-2.7-snapshot.tar.gz
-cd framework*
+wget http://spool.metasploit.com/releases/framework-3.2.tar.gz
+unp framework-3.2.tar.gz
+cd framework-3.2
 ./msfcli
 -- 
 Useful documentation:
 ./msfcli
 -- 
 Useful documentation:
@@ -726,6 +721,8 @@ http://www.tldp.org/            The Linux Documentation Project
 Tips and tricks:
 
 % fortune debian-hints
 Tips and tricks:
 
 % fortune debian-hints
+
+Tags: documentation
 -- 
 Fun stuff:
 
 -- 
 Fun stuff:
 
@@ -735,6 +732,8 @@ Fun stuff:
 Backup master boot record (MBR):
 
 # dd if=/dev/ice of=/tmp/backup_of_mbr bs=512 count=1
 Backup master boot record (MBR):
 
 # dd if=/dev/ice of=/tmp/backup_of_mbr bs=512 count=1
+
+Tags: backup, mbr
 -- 
 Backup partition table:
 
 -- 
 Backup partition table:
 
@@ -743,6 +742,8 @@ Backup partition table:
 Restore partition table:
 
 # sfdisk /dev/hda < hda.out
 Restore partition table:
 
 # sfdisk /dev/hda < hda.out
+
+Tags: backup, partition, sfdisk, recovery
 -- 
 Clone disk via network using netcat:
 
 -- 
 Clone disk via network using netcat:
 
@@ -755,11 +756,15 @@ Adjust blocksize (dd's option bs=...) and include 'gzip -c'
 to tune speed:
 
 # dd if=/dev/hda1 bs=32M | gzip -c | nc -vq 0 192.168.1.2 30000
 to tune speed:
 
 # dd if=/dev/hda1 bs=32M | gzip -c | nc -vq 0 192.168.1.2 30000
+
+Tags: network, backup, dd, netcat
 -- 
 Backup specific directories via cpio and ssh:
 
 # for f in directory_list; do find $f >> backup.list done
 # cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device"
 -- 
 Backup specific directories via cpio and ssh:
 
 # for f in directory_list; do find $f >> backup.list done
 # cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device"
+
+Tags: backup
 -- 
 Clone disk via ssh:
 
 -- 
 Clone disk via ssh:
 
@@ -769,6 +774,8 @@ This one uses CPU cycles on the remote server to compare the files:
 
 This one uses CPU cycles on the local server to compare the files:
 # ssh target_address cat <localfile "|" diff - remotefile
 
 This one uses CPU cycles on the local server to compare the files:
 # ssh target_address cat <localfile "|" diff - remotefile
+
+Tags: network, backup, ssh
 -- 
 Useful tools for cloning / backups:
 
 -- 
 Useful tools for cloning / backups:
 
@@ -784,6 +791,8 @@ Useful tools for cloning / backups:
 * cpio: copy files to and from archives
 * pax: read and write file archives and copy directory hierarchies
 * netcat / ssh / tar / gzip / bzip2: additional helper tools
 * cpio: copy files to and from archives
 * pax: read and write file archives and copy directory hierarchies
 * netcat / ssh / tar / gzip / bzip2: additional helper tools
+
+Tags: network, backup, ssh, udp, rescue, recovery
 -- 
 Use grml as a rescue system:
 
 -- 
 Use grml as a rescue system:
 
@@ -826,6 +835,8 @@ NTFS:
   * salvage-ntfs: free NTFS data recovery tools
   * scrounge-ntfs: data recovery program for NTFS file systems
   * ntfsresize: resize ntfs partitions
   * salvage-ntfs: free NTFS data recovery tools
   * scrounge-ntfs: data recovery program for NTFS file systems
   * ntfsresize: resize ntfs partitions
+
+Tags: ntfs, jfs, xfs, ext3, rescue, recovery, backup, filesystem, tools
 -- 
 Get ASCII value of a character with zsh:
 
 -- 
 Get ASCII value of a character with zsh:
 
@@ -850,6 +861,8 @@ remote host:
 
 local host:
 % ssh user@localhost -p 3333
 
 local host:
 % ssh user@localhost -p 3333
+
+Tags: port forwarding, ssh, remote port, network
 -- 
 Reverse Shell with Netcat:
 
 -- 
 Reverse Shell with Netcat:
 
@@ -858,6 +871,8 @@ local host:
 
 remote host:
 % netcat 192.168.0.1 3333
 
 remote host:
 % netcat 192.168.0.1 3333
+
+TagS: port forwarding, ssh, remote, network
 -- 
 Reverse Shell via SSH:
 
 -- 
 Reverse Shell via SSH:
 
@@ -866,6 +881,8 @@ local host (inside the network):
 
 remote host (outside the network):
 % ssh localhost -p 1234
 
 remote host (outside the network):
 % ssh localhost -p 1234
+
+Tags: port forwarding, ssh, remote port, network
 -- 
 Remove empty directories with zsh:
 
 -- 
 Remove empty directories with zsh:
 
@@ -897,6 +914,8 @@ Tunnel all traffic through an external server:
 
 Then set the SOCKS4/5 proxy to localhost:3333.
 Check whether it's working by surfing e.g. to checkip.dyndns.org
 
 Then set the SOCKS4/5 proxy to localhost:3333.
 Check whether it's working by surfing e.g. to checkip.dyndns.org
+
+Tags: ssh, network, proxy, socks, tunnel
 -- 
 Tunnel everything through SSH via tsocks:
 
 -- 
 Tunnel everything through SSH via tsocks:
 
@@ -920,6 +939,8 @@ external host are prefixed with tsocks, e.g.:
 
 If you call tsocks without parameters it executes a shell witht the
 LD_PRELOAD environment variable already set and exported.
 
 If you call tsocks without parameters it executes a shell witht the
 LD_PRELOAD environment variable already set and exported.
+
+Tags: ssh, network, proxy, socks, tunnel, tsocks
 -- 
 smartctl - control and monitor utility for harddisks using Self-Monitoring,
 Analysis and Reporting Technology (SMART):
 -- 
 smartctl - control and monitor utility for harddisks using Self-Monitoring,
 Analysis and Reporting Technology (SMART):
@@ -941,6 +962,8 @@ Display results of test:
 
 Query device information:
 # smartctl -i /dev/ice
 
 Query device information:
 # smartctl -i /dev/ice
+
+Tags: smart, s.m.a.r.t, info, test, hardware
 -- 
 Mount a BSD / Solaris partition:
 
 -- 
 Mount a BSD / Solaris partition:
 
@@ -953,6 +976,8 @@ Use ufstype sunx86 for SunOS for Intel (Solarisx86) (read-write).
 
 See /usr/share/doc/linux-doc-$(uname -r)/Documentation/filesystems/ufs.txt.gz
 for more details.
 
 See /usr/share/doc/linux-doc-$(uname -r)/Documentation/filesystems/ufs.txt.gz
 for more details.
+
+Tags: ufs, bsd, mount, solaris
 -- 
 Read BIOS (and or BIOS) password:
 
 -- 
 Read BIOS (and or BIOS) password:
 
@@ -973,161 +998,48 @@ Unmount via:
 % fusermount -u /mnt/test
 
 (Notice: requires fuse kernel module)
 % fusermount -u /mnt/test
 
 (Notice: requires fuse kernel module)
+
+Tags: ssh, sshfs, network, mount, directory, remote, fuse
 -- 
 Install Gentoo using grml:
 
 See http://www.gentoo.org/doc/en/altinstall.xml
 -- 
 -- 
 Install Gentoo using grml:
 
 See http://www.gentoo.org/doc/en/altinstall.xml
 -- 
-Install (plain) Debian (sarge release) via grml:
-
-Assuming you want to install Debian to sda1:
-
-mkfs.ext3 /dev/sda1           # make an ext3 filesystem on /dev/sda1
-mount -o rw,suid,dev /dev/sda1 /mnt/test # now mount the new partition
-debootstrap sarge /mnt/test ftp://ftp.tugraz.at/mirror/debian # get main packages from a debian-mirror
-chroot /mnt/test /bin/bash    # let's chroot into the new system
-mount -t devpts none /dev/pts # ...otherwise running base-config might fail ("Terminated" or "openpty failed")
-mount -t proc   none /proc    # make sure we also have a mounted /proc
-base-config                   # now configure some main settings
-vi /etc/mkinitrd/mkinitrd.conf # adjust $ROOT (to /dev/sda1) for your new partition, autodetection will fail in chroot
-cd /dev ; ./MAKEDEV generic                                # make sure we have all necessary devices for lilo
-apt-get install lilo linux-image-2.6.12-1-386              # install lilo and a kernel which fits your needs
-cp /usr/share/doc/lilo/examples/conf.sample /etc/lilo.conf # let's use a template
-vi /etc/lilo.conf && lilo                                  # adjust the file for your needs and run lilo afterwards
-umount /proc ; umount /dev/pts                             # we do not need them any more
-exit                                                       # now leave chroot
-cp /etc/hosts /etc/fstab /mnt/test/etc/           # you might want to take the existing files...
-cp /etc/network/interfaces /mnt/test/etc/network/ # ...from the running grml system for your new system
-umount /mnt/test && reboot    # unmount partition and reboot...
-
-See also: http://www.debian.org/releases/stable/i386/apcs04.html.en
-Avoid all of the above steps - use grml-debootstrap(8) instead!
--- 
-Install (plain) Debian (etch release) via grml
-
-Assuming you want to install Debian to sda1:
-
-mkfs.ext3 /dev/sda1           # make an ext3 filesystem on /dev/sda1
-mount -o rw,suid,dev /dev/sda1 /mnt/test # now mount the new partition
-debootstrap etch /mnt/test ftp://ftp.tugraz.at/mirror/debian # get main packages from a debian-mirror
-chroot /mnt/test /bin/bash    # let's chroot into the new system
-mount -t proc   none /proc    # make sure we have a mounted /proc
-apt-get install locales console-data  # install locales
-dpkg-reconfigure locales console-data # adjust locales to your needs
-apt-get install vim most zsh screen less initrd-tools file grub     \
-        usbutils pciutils bzip2 sysfsutils dhcp3-client resolvconf  \
-        strace lsof w3m # install useful software
-apt-get install linux-headers-2.6-686 linux-image-686  # install current kernel
-
-echo "127.0.0.1       localhost" > /etc/hosts   # adjust /etc/hosts and network:
-cat >> /etc/network/interfaces << EOF
-iface lo inet loopback
-iface eth0 inet dhcp
-auto lo
-auto eth0
-EOF
+Convert files from Unicode / UTF-8 to ISO:
 
 
-ln -sf /usr/share/zoneinfo/Europe/Vienna /etc/localtime # adjust timezone and /etc/fstab:
-cat >> /etc/fstab << EOF
-sysfs          /sys         sysfs   auto                       0   0
-proc           /proc        proc    defaults                   0   0
-/dev/sda1      /            ext3    defaults,errors=remount-ro 0   1
-/dev/sda2      none         swap    sw                         0   0
-/dev/cdrom     /mnt/cdrom0  iso9660 ro,user,noauto             0   0
-EOF
-passwd             # set password of user root
-
-mkdir /boot/grub   # setup grub
-cp /usr/share/doc/grub/examples/menu.lst /boot/grub
-cat >> /boot/grub/menu.lst << EOF
-title           Debian Etch, kernel 2.6.18-3-686 (on /dev/sda1)
-root            (hd0,0)
-kernel          /boot/vmlinuz-2.6.18-3-686 root=/dev/sda1 ro
-initrd          /boot/initrd.img-2.6.18-3-686
-EOF
-vim /boot/grub/menu.lst               # adjust grub configuration to your needs
-cd /dev && MAKEDEV generic            # create default devices
-cp -i /usr/lib/grub/i386-pc/* /boot/grub/ # copy stage-files to /boot/grub/
-grub install  # now install grub, run in grub-cmdline following commands:
-> root (hd0,0)
-> setup (hd0)
-> quit
-umount -a # unmount all filesystems in chroot and finally:
-exit      # exit the chroot and:
-reboot
-
-If you want to use lilo instead of grub take a look at
-/usr/share/doc/lilo/examples/conf.sample or use the following template:
-
-cat > /etc/lilo.conf << EOF
-# This allows booting from any partition on disks with more than 1024 cylinders.
-lba32
-
-# Specifies the boot device
-boot=/dev/sda1
-
-# Specifies the device that should be mounted as root.
-root=/dev/sda1
-
-# use Debian on software raid:
-# raid-extra-boot=mbr-only
-
-install=text
-# prompt
-timeout=1
-map=/boot/map
-vga=normal
-
-image=/boot/vmlinuz-2.6.18-grml
-        label="2.6.18-grml"
-        #append="...."
-        read-only
-        initrd=/boot/initrd.img-2.6.18-grml
-EOF
-
-See also: http://www.debian.org/releases/stable/i386/apcs04.html.en
-Avoid all of the above steps - use grml-debootstrap(8) instead!
--- 
-Convert files from Unicode / UTF to ISO:
-
-% iconv -f utf8 -t iso-8859-15 < utffile > isofile
+% iconv -c -f utf8 -t iso-8859-15 < utffile > isofile
 
 and vice versa:
 
 % iconv -f iso-8859-15 -t utf8 < isofile > utffile
 
 and vice versa:
 
 % iconv -f iso-8859-15 -t utf8 < isofile > utffile
+
+Tags: utf-8, iso, unicode, utf8
 -- 
 -- 
-Assign static setup for network cards (eth0 and eth1) via udev:
+Assign static setup for network cards (NICs) via udev:
+
+Retrieve information for address (corresponding to MAC address):
 
 
-First method - manual:
-~~~~~~~~~~~~~~~~~~~~~~
-Get information for SYSFS address:
-# udevinfo -a -p /sys/class/net/eth0/ | grep address
+  # udevadm info -a -p /sys/class/net/eth0/ | grep -i 'ATTR{address}'
 
 
-Then create udev rules:
-# cat /etc/udev/network.rules
-# match eth* stuff:
-KERNEL=="eth*", SYSFS{address}=="00:00:00:00:00:01", NAME="wlan0"
-KERNEL=="eth*", SYSFS{address}=="00:00:00:00:00:02", NAME="lan0"
-# do not match eth* drivers but also e.g. firewire stuff:
-ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="00:00:00:00:00:03", NAME="1394"
+Execute /lib/udev/write_net_rules with according values (INTERFACE
+is old NIC name, INTERFACE_NAME is new NIC name and MATCHADDR
+is the MAC address retrieved with udevadm info command):
 
 
-Now activate the rules:
-# cd /etc/udev/rules.d/ && ln -s ../network.rules z35_network.rules
+  # INTERFACE=eth0 INTERFACE_NAME=lan0  MATCHADDR=00:00:00:00:00:01 /lib/udev/write_net_rules
 
 
-Unload the drivers, restart udev and load the drivers again to activate
-the settings.
+This will generate file /etc/udev/rules.d/70-persistent-net.rules with content:
 
 
-Second method - automatic:
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-Run /lib/udev/write_net_rules shipped with recent udev versions:
+SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:00:00:00:00:01", KERNEL=="eth*", NAME="lan0"
 
 
-# INTERFACE=wlan1 /lib/udev/write_net_rules 00:00:00:00:00:04
+Finally take down the interface (ifdown/ifconfig) and execute:
 
 
-This command will create /etc/udev/rules.d/z25_persistent-net.rules containing:
+  # udevadm trigger --action=add --subsystem-match=net
 
 
-SUBSYSTEM=="net", DRIVER=="?*", SYSFS{address}=="00:00:00:00:00:04", NAME=wlan1
+so the interface will be renamed. (Rebooting or
+unloading drivers/restart udev/loading drivers again
+works as well of course.)
 
 
-See /usr/share/doc/udev/writing_udev_rules/index.html for more information.
+Tags: udev, configuration, name, eth0, howto
 -- 
 Change the suffix from *.sh to *.pl using zsh:
 
 -- 
 Change the suffix from *.sh to *.pl using zsh:
 
@@ -1190,6 +1102,8 @@ Also take a look at make-ssl-cert (debconf wrapper for openssl):
 # /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/apache.pem
 
 and mod-ssl-makecert (utility to create SSL certificates in /etc/apache/ssl.*/).
 # /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/apache.pem
 
 and mod-ssl-makecert (utility to create SSL certificates in /etc/apache/ssl.*/).
+
+Tags: openssl, howto
 -- 
 Change Windows NT password(s):
 
 -- 
 Change Windows NT password(s):
 
@@ -1201,6 +1115,8 @@ Notice: if mounting the partition read-write did not work (check syslog!)
 try using mount.ntfs-3g instead: mount.ntfs-3g /dev/hda1 /mnt/hda1
 
 (Be careful with deactivating syskey!)
 try using mount.ntfs-3g instead: mount.ntfs-3g /dev/hda1 /mnt/hda1
 
 (Be careful with deactivating syskey!)
+
+Tags: password, windows, recovery, chntpw, howto
 -- 
 glark - replacement for grep written in Ruby:
 
 -- 
 glark - replacement for grep written in Ruby:
 
@@ -1227,11 +1143,15 @@ Scan using ATA Packet specific SCSI transport:
 
 Get specific information for /dev/ice:
 # cdrecord dev=/dev/ice -scanbus
 
 Get specific information for /dev/ice:
 # cdrecord dev=/dev/ice -scanbus
+
+Tags: hardware, info, cd burn
 -- 
 Create devices in /dev on udev:
 
 For example create md devices (/dev/md0, /dev/md1,...):
 # cd /dev ; WRITE_ON_UDEV=1 ./MAKEDEV md
 -- 
 Create devices in /dev on udev:
 
 For example create md devices (/dev/md0, /dev/md1,...):
 # cd /dev ; WRITE_ON_UDEV=1 ./MAKEDEV md
+
+Tags: raid, device
 -- 
 Identify network device (NIC):
 
 -- 
 Identify network device (NIC):
 
@@ -1248,6 +1168,8 @@ If your NIC shows some aging signs, you may want to be sure:
 Disable TCP/UDP checksums:
 
 # ethtool -K $DEVICE tx off
 Disable TCP/UDP checksums:
 
 # ethtool -K $DEVICE tx off
+
+Tags: configuration, network, device
 -- 
 grml2hd seems to hang? Getting Squashfs errors? Problems while booting?
 
 -- 
 grml2hd seems to hang? Getting Squashfs errors? Problems while booting?
 
@@ -1264,34 +1186,74 @@ Check your CD low-level via running:
 
 If the medium really is ok and it still fails try to boot with deactivated DMA
 via using grml nodma at the bootprompt.
 
 If the medium really is ok and it still fails try to boot with deactivated DMA
 via using grml nodma at the bootprompt.
+
+Tags: grml2hd, installation, verify, squashfs, error
 -- 
 Write a Microsoft compatible boot record (MBR) using ms-sys
 
 -- 
 Write a Microsoft compatible boot record (MBR) using ms-sys
 
-Write a Windows 2000/XP/2003 MBR to device:
+Write a Windows 2000/XP/2003 MBR to device:
 
 # ms-sys -m /dev/ice
 
 # ms-sys -m /dev/ice
+
+Notice: grab ms-sys from http://ms-sys.sourceforge.net/ - demo:
+
+ wget http://surfnet.dl.sourceforge.net/sourceforge/ms-sys/ms-sys-2.1.3.tgz
+ unp ms-sys-2.1.3.tgz
+ cd ms-sys-2.1.3
+ make
+ ./bin/ms-sys ...
+
+Tags: mbr, windows, ms-sys, recovery
 -- 
 Use a Vodafone 3G Datacard (UMTS) with Linux:
 
 Plug in your vodafone card and check in syslog whether the appropriate
 -- 
 Use a Vodafone 3G Datacard (UMTS) with Linux:
 
 Plug in your vodafone card and check in syslog whether the appropriate
-(probably /dev/ttyUSB0 or /dev/noz0 when using newer vodafone cards) has
-been created. If so run:
+(probably /dev/ttyUSB0 or /dev/noz0) has been created. If so run:
 
 
-# gcom -d $DEVICE
+# comgt -d $DEVICE
 # wvdial --config /etc/wvdial.conf.umts $PROFILE
 
 Usage examples:
 # wvdial --config /etc/wvdial.conf.umts $PROFILE
 
 Usage examples:
-# gcom -d /dev/ttyUSB0
+# comgt -d /dev/ttyUSB0
 # wvdial --config /etc/wvdial.conf.umts a1usb
 
 # wvdial --config /etc/wvdial.conf.umts a1usb
 
-# gcom -d /dev/noz0
+# comgt -d /dev/noz0
 # wvdial --config /etc/wvdial.conf.umts tmnozomi
 
 # wvdial --config /etc/wvdial.conf.umts tmnozomi
 
-# gcom -d /dev/noz0
+# comgt -d /dev/noz0
 # wvdial --config /etc/wvdial.conf.umts dreiusb
 
 # wvdial --config /etc/wvdial.conf.umts dreiusb
 
-Notice: newer vodafone cards require the nozomi driver. Run 'modprobe nozomi' on
-your grml system.
+# comgt -d /dev/ttyACM0
+# wvdial --config /etc/wvdial.conf.umts yesss
+
+If you receive invalid DNS nameservers when connecting, like:
+
+[...]
+--> primary   DNS address 10.11.12.13
+--> secondary DNS address 10.11.12.14
+
+just provide a working nameserver to resolvconf via:
+
+# echo "nameserver 80.120.17.70" | resolvconf -a ppp0
+
+Notice: some vodafone cards require the nozomi driver (run 'modprobe nozomi' on
+your grml system), some other ones require the sierra driver (run
+'modprobe sierra').
+
+If your device isn't supported by usbserial yet, manually provide vendor and
+product ID when loading the usbserial module. Usage example:
+
+% lsusb
+[...]
+Bus 004 Device 008: ID 1199:6813 Sierra Wireless, Inc.
+
+# modprobe usbserial vendor=0x1199 product=0x6813
+
+To get a list of available providers execute:
+
+# comgt -s -d /dev/ttyUSB0 /etc/comgt/operator
+
+Tags: umts, 3g, vodafone, sierra, wvdial, ppp, howto
 -- 
 hdparm - get/set hard disk parameters
 
 -- 
 hdparm - get/set hard disk parameters
 
@@ -1304,6 +1266,8 @@ Request identification info directly from the drive:
 
 Perform timings of device + cache reads for benchmark and comparison purposes:
 # hdparm -tT /dev/ice
 
 Perform timings of device + cache reads for benchmark and comparison purposes:
 # hdparm -tT /dev/ice
+
+Tags: hardware, performance, configuration, harddisk
 -- 
 bonnie++ - program to test hard drive performance.
 
 -- 
 bonnie++ - program to test hard drive performance.
 
@@ -1311,6 +1275,8 @@ bonnie++ - program to test hard drive performance.
 # mount /dev/ice /mnt/benchmark
 # chmod go+w /mnt/benchmark
 # bonnie -u grml -d /mnt/benchmark -s 2000M
 # mount /dev/ice /mnt/benchmark
 # chmod go+w /mnt/benchmark
 # bonnie -u grml -d /mnt/benchmark -s 2000M
+
+Tags: benchmark, harddisk
 -- 
 Use gizmo with a bluetooth headset:
 
 -- 
 Use gizmo with a bluetooth headset:
 
@@ -1328,6 +1294,8 @@ Then running xawtv should work:
 Run apt-get with timeout of 3 seconds:
 
 # apt-get -o acquire::http::timeout=3  update
 Run apt-get with timeout of 3 seconds:
 
 # apt-get -o acquire::http::timeout=3  update
+
+Tags: apt-get
 -- 
 Debian GNU/Linux device driver check page
 
 -- 
 Debian GNU/Linux device driver check page
 
@@ -1353,10 +1321,14 @@ now install grub (usage example for /dev/sda1):
 # grub install
 root (hd0,0)
 setup (hd0)
 # grub install
 root (hd0,0)
 setup (hd0)
+
+Tags: grml2hd, grub
 -- 
 Install Ubuntu using grml:
 
 See https://wiki.ubuntu.com/Installation/FromKnoppix
 -- 
 Install Ubuntu using grml:
 
 See https://wiki.ubuntu.com/Installation/FromKnoppix
+
+Tags: ubuntu, installation
 -- 
 Resize ext2 / ext3 partition:
 
 -- 
 Resize ext2 / ext3 partition:
 
@@ -1367,6 +1339,8 @@ Resize ext2 / ext3 partition:
 # fsck.ext2 -v -y -f /dev/iceX        # check filesystem again
 # resize2fs -p /dev/iceX              # resize it to maximum
 # tune2fs -j /dev/iceX                # re-enable journal
 # fsck.ext2 -v -y -f /dev/iceX        # check filesystem again
 # resize2fs -p /dev/iceX              # resize it to maximum
 # tune2fs -j /dev/iceX                # re-enable journal
+
+Tags: resize, ext2, ext3, ext4, partition, howto
 -- 
 Tune ext2 / ext3 filesystem:
 
 -- 
 Tune ext2 / ext3 filesystem:
 
@@ -1384,14 +1358,20 @@ Now run e2fsck with the -D option to have the directories optimized:
 
 Notice: since e2fsprogs (1.39-1) filesystems are created with
 directory indexing and on-line resizing enabled by default.
 
 Notice: since e2fsprogs (1.39-1) filesystems are created with
 directory indexing and on-line resizing enabled by default.
+
+Tags: configuration, ext2, ext3, ext4, partition
 -- 
 Search for printers via network:
 
 # pconf_detect -m NETWORK -i 192.168.0.1/24
 -- 
 Search for printers via network:
 
 # pconf_detect -m NETWORK -i 192.168.0.1/24
+
+Tags: printer, network, scan
 -- 
 Mount a remote directory via webdav (e.g. Mediacenter of GMX):
 
 # mount -t davfs https://mediacenter.gmx.net/ /mnt/test
 -- 
 Mount a remote directory via webdav (e.g. Mediacenter of GMX):
 
 # mount -t davfs https://mediacenter.gmx.net/ /mnt/test
+
+Tags: webdav, mount, mediacenter, gmx
 -- 
 System-Profiling using oprofile:
 
 -- 
 System-Profiling using oprofile:
 
@@ -1412,6 +1392,8 @@ Then take a look at the reports using something like e.g.:
 # opreport -t 0.5 --exclude-dependent
 # opreport -t 0.5 /path/to/executable_to_check
 # opannotate -t 0.5 --source --assembly
 # opreport -t 0.5 --exclude-dependent
 # opreport -t 0.5 /path/to/executable_to_check
 # opannotate -t 0.5 --source --assembly
+
+Tags: profile, profiling, opcontrol, howto
 -- 
 Install ATI's fglrx driver for Xorg / X.org:
 
 -- 
 Install ATI's fglrx driver for Xorg / X.org:
 
@@ -1422,6 +1404,8 @@ After installing adjust xorg.conf via running:
 # aticonfig --initial --input=/etc/X11/xorg.conf
 
 For more information take a look at http://wiki.grml.org/doku.php?id=ati
 # aticonfig --initial --input=/etc/X11/xorg.conf
 
 For more information take a look at http://wiki.grml.org/doku.php?id=ati
+
+Tags: xorg, x11, driver, ati
 -- 
 Install nvidia driver for Xorg / X.org:
 
 -- 
 Install nvidia driver for Xorg / X.org:
 
@@ -1431,11 +1415,15 @@ Usually there already exist drivers for the grml-system:
 Then switch from module nv to nvidia:
 
 # sed -i 's/Driver.*nv.*/Driver      "nvidia"/' /etc/X11/xorg.conf
 Then switch from module nv to nvidia:
 
 # sed -i 's/Driver.*nv.*/Driver      "nvidia"/' /etc/X11/xorg.conf
+
+Tags: xorg, x11, driver, nvidia
 -- 
 glxgears - a GLX demo that draws three rotating gears
 
 To print frames per second (fps) use:
 % glxgears -printfps
 -- 
 glxgears - a GLX demo that draws three rotating gears
 
 To print frames per second (fps) use:
 % glxgears -printfps
+
+Tags: xorg, x11, glx,
 -- 
 You forgot to boot with 'grml noeject noprompt' to avoid
 ejecting and prompting for CD removal when rebooting/halting
 -- 
 You forgot to boot with 'grml noeject noprompt' to avoid
 ejecting and prompting for CD removal when rebooting/halting
@@ -1456,6 +1444,8 @@ If you want to avoid only the prompting part, run:
 or:
 
 # noprompt halt
 or:
 
 # noprompt halt
+
+Tags: bootparam, fix, grml
 -- 
 Mount wikipedia local via fuse:
 
 -- 
 Mount wikipedia local via fuse:
 
@@ -1485,6 +1475,8 @@ Mount it (/wiki must exist of course):
 
 Unmount via:
 % fusermount -u /wiki
 
 Unmount via:
 % fusermount -u /wiki
+
+Tags: fuse, wikipedia, mount
 -- 
 Remote notification on X via osd (on screen display):
 
 -- 
 Remote notification on X via osd (on screen display):
 
@@ -1538,6 +1530,8 @@ ForwardAgent yes
 Notice: if you get 'ABORT: Requested font not found' make sure the
 requested font is available, running 'LANG=C LC_ALL=C osd_server.py...'
 might help as well.
 Notice: if you get 'ABORT: Requested font not found' make sure the
 requested font is available, running 'LANG=C LC_ALL=C osd_server.py...'
 might help as well.
+
+Tags: osd, notification, ssh, network, port-forwarding
 -- 
 Avoid automatical startup of init scripts via invoke-rc.d:
 
 -- 
 Avoid automatical startup of init scripts via invoke-rc.d:
 
@@ -1559,6 +1553,8 @@ If you want to disable automatical startup of newly installed packages
 
 To restore the default behaviour set EXITSTATUS back to '0' in
 /etc/policy-rc.d.conf.
 
 To restore the default behaviour set EXITSTATUS back to '0' in
 /etc/policy-rc.d.conf.
+
+Tags: policy, init, script, invode-rc.d
 -- 
 Install VMware-Tools for grml:
 
 -- 
 Install VMware-Tools for grml:
 
@@ -1582,6 +1578,8 @@ modprobe vmxnet
 In an X terminal, launch the VMware Tools running:
 
 vmware-toolbox
 In an X terminal, launch the VMware Tools running:
 
 vmware-toolbox
+
+Tags: vmware, tool, vmware-toolbox, howto
 -- 
 Some important Postfix stuff
 
 -- 
 Some important Postfix stuff
 
@@ -1637,6 +1635,8 @@ mode 1000 - sticky bit:
 
 - for files: not used
 - for directories: only the owner of a file can delete or rename the file
 
 - for files: not used
 - for directories: only the owner of a file can delete or rename the file
+
+Tags: postix, mailq, postsuper, queue, delete, smtp
 -- 
 Create MySQL database
 
 -- 
 Create MySQL database
 
@@ -1653,6 +1653,8 @@ grant all on grml.* to mika;
 Give a user access to the database (with password):
 
 grant all on grml.* to enrico identified by "PASSWORD";
 Give a user access to the database (with password):
 
 grant all on grml.* to enrico identified by "PASSWORD";
+
+Tags: mysql, database
 -- 
 Setup an HTTPS website:
 
 -- 
 Setup an HTTPS website:
 
@@ -1679,6 +1681,8 @@ Listen 443
 and make sure the SSL module is used:
 
 # a2enmod ssl
 and make sure the SSL module is used:
 
 # a2enmod ssl
+
+Tags: ssl, https, configuration, apache
 -- 
 Useful Apache / Apache2 stuff
 
 -- 
 Useful Apache / Apache2 stuff
 
@@ -1693,29 +1697,39 @@ Enable a site:
 Enable a module
 
 # a2enmod modulename
 Enable a module
 
 # a2enmod modulename
+
+Tags: apache, configuration
 -- 
 Create tar archive and store it on remote machine:
 
 % tar zcf - /sourcedir | ssh user@targethost "cat >file.tgz"
 -- 
 Create tar archive and store it on remote machine:
 
 % tar zcf - /sourcedir | ssh user@targethost "cat >file.tgz"
+
+Tags: tar, backup, remote, network, ssh
 -- 
 Pick out and displays images from network traffic:
 
 # driftnet
 -- 
 Pick out and displays images from network traffic:
 
 # driftnet
+
+Tags: remote, network, sniff, image
 -- 
 Install Flash plugin:
 
 # dpkg-reconfigure flashplugin-nonfree
 -- 
 Install Flash plugin:
 
 # dpkg-reconfigure flashplugin-nonfree
+
+Tags: flash, plugin
 -- 
 To test a proxy, low level way:
 
 % telnet proxy 8080
 [...]
 GET http://www.google.com HTTP/1.0 [press enter twice]
 -- 
 To test a proxy, low level way:
 
 % telnet proxy 8080
 [...]
 GET http://www.google.com HTTP/1.0 [press enter twice]
+
+Tags: proxy
 -- 
 Adjust system for use of qemu with kqemu:
 
 Make sure you have all you need:
 -- 
 Adjust system for use of qemu with kqemu:
 
 Make sure you have all you need:
-# apt-get update ; apt-get install qemu grml-kerneladdons-$KERNELVERSION
+# aptitude update ; aptitude install qemu kqemu-modules-$(uname -r)
 
 Then set up kqemu:
 
 
 Then set up kqemu:
 
@@ -1744,6 +1758,8 @@ Usage examples:
 # vmstat 1
 # atsar -t 60 10
 # dstat -af
 # vmstat 1
 # atsar -t 60 10
 # dstat -af
+
+Tags: test, debug, information, hardware, statistic
 -- 
 Using WPA for network setup manually:
 
 -- 
 Using WPA for network setup manually:
 
@@ -1751,17 +1767,25 @@ Using WPA for network setup manually:
 
 Adjust the options and configuration file to your needs.
 Also take a look at 'grml-network'.
 
 Adjust the options and configuration file to your needs.
 Also take a look at 'grml-network'.
+
+Tags: wireless, wpa, network, configuration
 -- 
 Start X and lock console via exiting:
 
 % startx 2>~/.xsession-errors &| exit
 -- 
 Start X and lock console via exiting:
 
 % startx 2>~/.xsession-errors &| exit
+
+Tags: xorg, x11, startx, graphical
 -- 
 -- 
-Which process is writing to disk?
+Which process is writing to disk and/or causes the disk to spin up?
+
+First of all use lsof to check what's going on. Does not help? ->
 
 # echo 1 > /proc/sys/vm/block_dump
 
 
 # echo 1 > /proc/sys/vm/block_dump
 
-Warning: you must disable syslogd before you do this, or you must
-make sure that kernel output is not logged.
+The command sets a sysctl to cause the kernel to log all disk
+writes. Please notice that there is a lot of data.  So please
+disable syslogd/syslog-ng before you do this, or you must make
+sure that kernel output is not logged.
 
 When you're done, disable block dump using:
 # echo 0 > /proc/sys/vm/block_dump
 
 When you're done, disable block dump using:
 # echo 0 > /proc/sys/vm/block_dump
@@ -1769,10 +1793,18 @@ When you're done, disable block dump using:
 Alternative:
 laptop-mode-tools provides a tool named lm-profiler (laptop mode profiler)
 which handles block_dump on its own.
 Alternative:
 laptop-mode-tools provides a tool named lm-profiler (laptop mode profiler)
 which handles block_dump on its own.
+
+See: $KERNEL-SOURCE/Documentation/laptop-mode.txt
+
+Also take a look at event-viewer(8) which is part of grml-debugtools.
+
+Tags: debug, device, block, partition
 -- 
 Install initrd via initramfs-tools for currently running kernel:
 
 # update-initramfs -c -t -k $(uname -r)
 -- 
 Install initrd via initramfs-tools for currently running kernel:
 
 # update-initramfs -c -t -k $(uname -r)
+
+Tags: initrd
 -- 
 Install initrd via yaird for currently running kernel:
 
 -- 
 Install initrd via yaird for currently running kernel:
 
@@ -1855,6 +1887,8 @@ mdadm --detail /dev/md0 | grep -e "Array Size" -e 'Device Size'
 
 # Last step - resize the filesystem (online again):
 resize2fs /dev/md0
 
 # Last step - resize the filesystem (online again):
 resize2fs /dev/md0
+
+Tags: raid, resize, raid5, mdadm
 -- 
 ext3 online resizing:
 
 -- 
 ext3 online resizing:
 
@@ -1866,13 +1900,13 @@ Demo:
 
 cfdisk /dev/hda                           # create a partition with type 8e (lvm)
 pvcreate /dev/hda2                        # create a physical volume
 
 cfdisk /dev/hda                           # create a partition with type 8e (lvm)
 pvcreate /dev/hda2                        # create a physical volume
-vgcreate resize_me /dev/hda2              # create volume group
-lvcreate -n resize_me -L100 resize_me     # create a logical volume
-mkfs.ext3 /dev/resize_me/resize_me        # now create a new filesystem
-mount /dev/resize_me/resize_me /mnt/test  # mount the new fs for demonstrating online resizing
+vgcreate vg0 /dev/hda2                    # create volume group
+lvcreate -n resize_me -L1G vg0            # create a logical volume
+mkfs.ext3 /dev/mapper/vg0-resize_me       # now create a new filesystem
+mount /dev/mapper/vg0-resize_me /mnt/test # mount the new fs for demonstrating online resizing
 df -h                                     # check the size of the partition
 df -h                                     # check the size of the partition
-lvextend -L+100M /dev/resize_me/resize_me # let's extend the logical volume
-resize2fs /dev/resize_me/resize_me        # and finally resize the filesystem
+lvextend -L+2G /dev/mapper/vg0-resize_me  # let's extend the logical volume
+resize2fs -p /dev/mapper/vg0-resize_me    # and finally resize the filesystem
 df -h                                     # recheck the size of the partition
 
 This also works for Software-RAID. Demo:
 df -h                                     # recheck the size of the partition
 
 This also works for Software-RAID. Demo:
@@ -1893,6 +1927,8 @@ Notice: online resizing works as soon as the kernel can re-read the
 partition table. So it works for example with LVM and SW-RAID but not with
 a plain device (/dev/[sh]d*). The kernel does not re-read the partition
 table if the device is already mounted.
 partition table. So it works for example with LVM and SW-RAID but not with
 a plain device (/dev/[sh]d*). The kernel does not re-read the partition
 table if the device is already mounted.
+
+Tags: resize, raid, lvm, ext2, ext3, ext4, raid1
 -- 
 Use vim as an outline editor:
 
 -- 
 Use vim as an outline editor:
 
@@ -1908,6 +1944,8 @@ Monitor /tmp for changes:
 Monitor files/directories specified in /etc/iwatch.xml
 and send mail on changes:
 % iwatch
 Monitor files/directories specified in /etc/iwatch.xml
 and send mail on changes:
 % iwatch
+
+Tags: inotify, watch, file, directory
 -- 
 Some often used mdadm commands:
 
 -- 
 Some often used mdadm commands:
 
@@ -1970,6 +2008,8 @@ Producing /etc/mdadm/mdadm.conf:
 
 See also: man mdadm | less -p "^EXAMPLES"
           http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html
 
 See also: man mdadm | less -p "^EXAMPLES"
           http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html
+
+Tags: raid, raid1, raid5, configuration, mdadm, howto
 -- 
 A quick summary of the most commonly used RAID levels:
 
 -- 
 A quick summary of the most commonly used RAID levels:
 
@@ -1987,6 +2027,8 @@ RAID 30: A stripe across dedicated parity RAID systems
 RAID 100: A stripe of a stripe of mirrors
 
   -- http://en.wikipedia.org/wiki/RAID
 RAID 100: A stripe of a stripe of mirrors
 
   -- http://en.wikipedia.org/wiki/RAID
+
+Tags: raid, raid1, raid5, raid01, raid10, raid100
 -- 
 Logical Volume Management (LVM) with Linux
 
 -- 
 Logical Volume Management (LVM) with Linux
 
@@ -2043,6 +2085,8 @@ Remove logical volume:
 
 See also: man lvm
           http://www.tldp.org/HOWTO/LVM-HOWTO/
 
 See also: man lvm
           http://www.tldp.org/HOWTO/LVM-HOWTO/
+
+Tags: lvm, howto, pvcreate, lvcreate
 -- 
 How to use APT locally
 
 -- 
 How to use APT locally
 
@@ -2056,40 +2100,76 @@ dpkg-scansources debs | gzip > debs/Sources.gz
 echo "  deb-src file:/root debs/" >> /etc/apt/sources.list
 
 See also: http://www.debian.org/doc/manuals/apt-howto/ch-basico.en.html
 echo "  deb-src file:/root debs/" >> /etc/apt/sources.list
 
 See also: http://www.debian.org/doc/manuals/apt-howto/ch-basico.en.html
+
+Tags: mirror, local
 -- 
 Check filesystem's LABEL:
 
 generic way:
 -- 
 Check filesystem's LABEL:
 
 generic way:
-# vol_id -l /dev/sda1
+# blkid /dev/sda1
 
 
-ext2/3 without vol_id:
+ext2/3 without blkid:
 # dumpe2fs /dev/sda1 | grep "Filesystem volume name"
 
 # dumpe2fs /dev/sda1 | grep "Filesystem volume name"
 
-xfs without vol_id:
+xfs without blkid:
 # xfs_admin -l /dev/sda1
 
 # xfs_admin -l /dev/sda1
 
-reiserfs without vol_id:
-# debugreiserfs /dev/sda1 | grep UUID
+reiserfs without blkid:
+# debugreiserfs /dev/sda1 | grep -i label
+
+jfs without blkid:
+# jfs_tune -l /dev/sda1 | grep -i label
 
 
-reiser4 without vol_id:
-# debugfs.reiser4 /dev/sda1 | grep uuid
+reiser4 without blkid:
+# debugfs.reiser4 /dev/sda1 | grep -i label
+
+Tags: filesystem, ext2, ext3, ext4, blkid, jfs, xfs, label
 -- 
 Check filesystem's UUID:
 
 generic way:
 -- 
 Check filesystem's UUID:
 
 generic way:
-# vol_id -u /dev/sda1
+# blkid /dev/sda1
 
 
-ext2/3 without vol_id:
-# dumpe2fs /dev/sda1 | grep UUID
+ext2/3 without blkid:
+# dumpe2fs /dev/sda1 | grep -i UUID
 
 
-xfs without vol_id:
+xfs without blkid:
 # xfs_admin -u /dev/sda1
 
 # xfs_admin -u /dev/sda1
 
-reiserfs without vol_id:
-# debugreiserfs /dev/sda1 | grep LABEL
+reiserfs without blkid:
+# debugreiserfs /dev/sda1 | grep -i UUID
+
+reiser4 without blkid:
+# debugfs.reiser4 /dev/sda1 | grep -i UUID
+
+Tags: filesystem, ext2, ext3, ext4, blkid, jfs, xfs, uuid
+-- 
+Change a filesystem's LABEL:
+
+swap:
+# mkswap -L $LABEL /dev/sda1
 
 
-reiser4 without vol_id:
-# debugfs.reiser4 /dev/sda1 | grep label
+ext2/ext3:
+# e2label /dev/sda1 $LABEL
+# tune2fs -L $LABEL /dev/sda1
+
+reiserfs:
+# reiserfstune -l $LABEL /dev/sda1
+
+jfs:
+# jfs_tune -L $LABEL /dev/sda1
+
+xfs:
+# xfs_admin -L $LABEL /dev/sda1
+
+fat/vfat:
+# echo 'drive i: file="/dev/sda1"' >> ~/.mtoolsrc
+# mlabel -s i:$LABEL
+
+ntfs:
+# ntfslabel $LABEL /dev/sda1
+
+Tags: filesystem, ext2, ext3, ext4, blkid, jfs, xfs
 -- 
 Disable pdiffs feature of APT:
 
 -- 
 Disable pdiffs feature of APT:
 
@@ -2111,8 +2191,10 @@ Restore the backup using unzsplit:
 # unzsplit -D /dev/sda -d archiveofsda
 
 More usage examples: man zsplit + man unzsplit
 # unzsplit -D /dev/sda -d archiveofsda
 
 More usage examples: man zsplit + man unzsplit
+
+Tags: backup, reocvery, spllt, limit, howto
 -- 
 -- 
-Measure network performance using ipserf
+Measure network performance using iperf:
 
 Server side:
 % iperf -s -V
 
 Server side:
 % iperf -s -V
@@ -2127,6 +2209,8 @@ Server with 128k TCP window size:
 
 Client with running for 60 seconds and bidirectional test:
 % iperf -c <server_address> -r -w128k -t60
 
 Client with running for 60 seconds and bidirectional test:
 % iperf -c <server_address> -r -w128k -t60
+
+Tags: network, benchmark
 -- 
 Framebuffer resolutions:
 
 -- 
 Framebuffer resolutions:
 
@@ -2169,6 +2253,8 @@ vga=0x... modes:
   Mode 0x0346: 1600x1200 (+3200), 16 bits
   Mode 0x034d: 1400x1050 (+2816), 16 bits
   Mode 0x035c: 1400x1050 (+5632), 24 bits
   Mode 0x0346: 1600x1200 (+3200), 16 bits
   Mode 0x034d: 1400x1050 (+2816), 16 bits
   Mode 0x035c: 1400x1050 (+5632), 24 bits
+
+Tags: framebuffer, resolution
 -- 
 Portscan using netcat:
 
 -- 
 Portscan using netcat:
 
@@ -2206,6 +2292,8 @@ To use apt-cacher on the router itself, add the following
 line to your /etc/apt/apt.conf:
 
 Acquire::http::Proxy "http://localhost:3142/";
 line to your /etc/apt/apt.conf:
 
 Acquire::http::Proxy "http://localhost:3142/";
+
+Tags: proxy, debian, apt-get, howto
 -- 
 Version control using Mercurial
 
 -- 
 Version control using Mercurial
 
@@ -2257,8 +2345,6 @@ host2% hg merge # merge changes into your working directory
 Set up a CGI server on your webserver:
 % cp hgwebdir.cgi ~/public_html/hg/index.cgi
 % $EDITOR ~/public_html/hg/index.cgi # adjust the defaults
 Set up a CGI server on your webserver:
 % cp hgwebdir.cgi ~/public_html/hg/index.cgi
 % $EDITOR ~/public_html/hg/index.cgi # adjust the defaults
-
-Mercurial repositories of grml can be found at http://hg.grml.org/
 -- 
 Download binary codecs for mplayer:
 
 -- 
 Download binary codecs for mplayer:
 
@@ -2285,6 +2371,8 @@ Server:
 
 Client:
 # netperf -t TCP_STREAM -H 192.168.0.41
 
 Client:
 # netperf -t TCP_STREAM -H 192.168.0.41
+
+Tags: benchmark, network
 -- 
 Setup Xen within 20 minutes on Debian/grml
 
 -- 
 Setup Xen within 20 minutes on Debian/grml
 
@@ -2351,6 +2439,8 @@ xm list
 xm shutdown 1
 
 This HowTo is also available online at http://grml.org/xen/
 xm shutdown 1
 
 This HowTo is also available online at http://grml.org/xen/
+
+Tags: howto, xen, grml
 -- 
 Play tetris with zsh:
 
 -- 
 Play tetris with zsh:
 
@@ -2379,17 +2469,8 @@ EOF
 
 Start dnsmasq finally:
 # Restart dnsmasq
 
 Start dnsmasq finally:
 # Restart dnsmasq
--- 
-Find out which process(es) cause the disk to spin up:
 
 
-# echo 1 > /proc/sys/vm/block_dump
-
-The command sets a sysctl to cause the kernel to log all disk
-writes. Please notice that there is a lot of data.
-
-See: $KERNEL-SOURCE/Documentation/laptop-mode.txt
-
-Also take a look at event-viewer(8).
+Tags: network, router, grml
 -- 
 Display stats about memory allocations performed by a program:
 
 -- 
 Display stats about memory allocations performed by a program:
 
@@ -2437,3 +2518,750 @@ Tip: w_scan (see http://free.pages.at/wirbel4vdr/w_scan/index2.html)
 might be useful if you do not know the initial configuration
 details.
 -- 
 might be useful if you do not know the initial configuration
 details.
 -- 
+Get the lastest mercurial snapshot:
+
+Make sure you have the python-dev package available:
+# apt-get update ; apt-get install python-dev
+
+Get and build the source:
+% hg clone http://selenic.com/repo/hg mercurial
+% cd mercurial
+% make local
+% export PYTHONPATH=$(pwd)
+% export PATH=$PATH:$(pwd)
+
+now you should have the newest version of mercurial whenever you execute hg.
+
+To update to the lastest development snapshot, additionally use
+the following commands:
+% hg pull -u http://hg.intevation.org/mercurial/crew
+% make local
+-- 
+Configure timezone
+==================
+
+Available bootoptions relevant in live-cd mode:
+-----------------------------------------------
+
+* utc: set UTC, if your system clock is set to UTC (GMT)
+* gmt: set UTC, if your system clock is set to UTC (GMT) [like bootoption utc]
+* tz=$option: set timezone to corresponding $option, usage example:
+  tz=Europe/Vienna
+
+Configuration options relevant on harddisk installation:
+--------------------------------------------------------
+
+* Use the tzconfig utility to set the local timezone:
+
+  # tzconfig
+
+  which adjusts /etc/timezone and /etc/localtime according
+  to the provided information. Running:
+
+  # dpkg-reconfigure tzdata
+
+  might be useful as well.
+
+* /etc/default/rcS: set variable UTC according to your needs,
+  whether your system clock is set to UTC (UTC='yes') or
+  not (UTC='no')
+
+* /etc/localtime: adjust zoneinfo according to your needs:
+
+  # ln -sf /usr/share/zoneinfo/$WHATEVER_YOU_WANT /etc/localtime
+
+  The zoneinfo directory contains the time zone files that were
+  compiled by zic. The files contain information such as rules
+  about DST. They allow the kernel to convert UTC UNIX time into
+  appropriate local dates and times. Use the zdump utility to
+  print current time and date (in the specified time zone).
+
+* /etc/adjtime: This file is used e.g. by the adjtimex function,
+  which can smoothly adjust system time while the system runs
+
+* If you change the time (using 'date --set ...', ntpdate,...)
+  it is worth setting also the hardware clock to the correct time:
+
+  # hwclock --systohc [--utc]
+
+  Remember to add the --utc -option if the hardware clock is set
+  to UTC!
+
+Still problems?
+---------------
+
+Check your current settings via:
+
+  cat /etc/timezone
+  zdump /etc/localtime
+  echo $TZ
+  hwclock --show
+  grep hwclock /etc/runlevel.conf
+  grep '^UTC' /etc/default/rc
+
+Further information:
+--------------------
+
+  hwclock(8) tzselect(1) tzconfig(8)
+  http://www.debian.org/doc/manuals/system-administrator/ch-sysadmin-time.html
+  http://wiki.debian.org/TimeZoneChanges
+
+Tags: timezone, rtc, configuration
+-- 
+Recorder shellscript session using script:
+
+% script -t 2>~/upgrade.time -a ~/upgrade.script
+% scriptreplay ~/upgrade.time ~/upgrade.script
+-- 
+Test UTF-8 capabilities of terminal:
+
+wget http://www.linux-cjk.net/Console/garabik/UTF-8-demo.txt.gz
+zcat UTF-8-demo.txt.gz
+
+or:
+
+wget http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt
+cat UTF-8-test.txt
+-- 
+UTF-8 at grml / some general information regarding Unicde/UTF-8:
+
+  http://wiki.grml.org/doku.php?id=utf8
+-- 
+
+This allows one ssh connection attepmt per minute per source ip, with a initial
+burst of 10.  The available burst is like a counter which is initialised with
+10. Every connection attempt decrements the counter, and every minute where the
+connection limit of one per minute is not overstepped the counter is
+incremented by one.  If the burst counter is exhausted the real rate limit
+comes into play. This gives you 11 connectionattepmts in the first minute
+before blocked for 10minutes.  After 10 minutes block the game restarts.
+
+Hint: you could set the burst value to 5 and the block time to only 5 minutes
+to achive the same average connection rate but with halve the block time.
+
+iptables -A inet_in -p tcp --syn --dport 22 -m hashlimit --hashlimit-name ssh \
+         --hashlimit 1/minute \ --hashlimit-burst 10 --hashlimit-mode srcip   \
+         --hashlimit-htable-expire 600000 -j ACCEPT
+iptables -A inet_in -p tcp --dport 22 -m state --state NEW -j REJECT
+-- 
+Tunnel a specific connection via socat:
+
+On the client:
+% socat TCP4-LISTEN:8003 TCP4:gateway:500
+
+On the gateway:
+# socat TCP4-LISTEN:500,fork TCP4:target:$PORT
+
+Using localhost:8003 on the client uses the tunnel now.
+-- 
+Set date:
+
+# date --set=060916102007
+
+where the bits are month(2)/day(2)/hour(2)/minute(2)/year(4)
+
+Set date using a relative date:
+
+# date -s '+3 mins'
+
+or
+
+# date -s '+tomorrow'
+
+Display a specific relative date:
+
+# date -d '+5 days -2 hours'
+
+Don't forget to set hardware clock via:
+
+# hwlock -w
+-- 
+Booting grml via network / PXE:
+
+Start grml-terminalserver on a system with network access
+and where grml is running:
+
+# grml-terminalserver
+
+Then booting your client(s) via PXE should work without
+any further work.
+
+See: man grml-terminalserver + http://grml.org/terminalserver/
+
+Tags: howto, pxe, network, boot
+-- 
+Debugging SSL communications:
+
+% openssl s_client -connect server.adress:993 > output_file
+% openssl x509 -noout -text -in output_file
+
+or
+
+# ssldump -a -A -H -i eth0
+
+See http://prefetch.net/articles/debuggingssl.html for more details.
+
+Tags: debug, ssl, openssl
+-- 
+Remove bootmanager from MBR:
+
+# lilo -M /dev/hda -s /dev/null
+
+Tags: mbr, lilo
+-- 
+Rewrite grub to MBR:
+
+# mount /mnt/sda1
+# grub-install --recheck --no-floppy --root-directory=/mnt/sda1 /dev/sda
+
+Tags: mbr, grub
+-- 
+Rewrite lilo to MBR:
+
+# mount /mnt/hda1
+# lilo -r /mnt/hda1
+
+Tags: mbr, lilo
+-- 
+Create screenshot of plain/real console - tty1:
+
+# fbgrab -c 1 screeni.png
+-- 
+Create screenshot when running X:
+
+% scrot
+
+Tip: use the gkrellshoot plugin when using gkrellm
+
+Tags: screenshot, xorg
+-- 
+Redirect all connections to hostA:portA to hostB:portB, where hostA and hostB are
+different networks:
+
+Run the following commands on hostA:
+
+echo 1 > /proc/sys/net/ipv4/ip_forward
+iptables -t nat -A PREROUTING -p tcp --dport portA -j DNAT --to hostB:portB
+iptables -A FORWARD -i eth0 -o eth0 -d hostB -p tcp --dport portB -j ACCEPT
+iptables -A FORWARD -i eth0 -o eth0 -s hostB -p tcp --sport portB -j ACCEPT
+iptables -t nat -A POSTROUTING -p tcp -d hostB --dport portB -j SNAT --to-source hostA
+
+Tags: howto, network, redirect, port
+-- 
+Flash BIOS without DOS/Windows:
+
+Dump flash info and set the flash chip to writable:
+# flashrom
+
+Backup the original BIOS:
+# flashrom -r backup.bin
+
+Notice: the following step will overwrite your current BIOS!
+So make sure you really know what you are doing.
+
+Flash the BIOS image:
+# flashrom -wv newbios.bin
+
+Also check out LinuxBIOS: http://linuxbios.org/
+-- 
+Enable shadow passwords:
+
+# shadowconfig on
+-- 
+Set up an IPv6 tunnel on grml:
+
+# ipv6-tunnel start
+-- 
+Set up console newsreader slrn for use with Usenet:
+
+% grml-slrn
+-- 
+Calculate with IPv6 addresses:
+
+% ipv6calc
+
+For usage examples refer to manpage ipv6calc(8).
+
+Tags: ipv6
+-- 
+Common network debugging tools for use with IPv6:
+
+% ping6
+% tracepath6
+% traceroute6
+% tracert6
+% nc6
+% tcpspray6
+
+Tags: ipv6
+-- 
+Set up NFS (Network File System):
+
+Server-side
+~~~~~~~~~~~
+Make sure the relevant services are running on the server side:
+
+# /etc/init.d/portmap start
+# /etc/init.d/nfs-common start
+# /etc/init.d/nfs-kernel-server start
+
+Export shares via /etc/exports:
+
+/backups 192.168.1.100/24(rw,wdelay,no_root_squash,async,subtree_check)
+
+... or manually export a directory running:
+
+# exportfs -o rw,wdelay,no_root_squash,async,subtree_check 192.168.1.100:/backups
+
+and unexport a share running:
+
+# exportfs -u 192.168.1.100:/backups
+
+and every time when you modify /etc/exports file run
+
+# exportfs -ra
+
+Display what NFS components are running:
+
+# rpcinfo -p
+
+Display list of exported shares:
+
+# exportfs -v
+or
+# showmount -e
+
+Client-side
+~~~~~~~~~~~
+Make sure the relevant services are running on the client side:
+
+# /etc/init.d/portmap start
+# /etc/init.d/nfs-common start
+
+Verify that the server allows you to access its RPC/NFS services:
+
+# rpcinfo -p server_name
+
+Check what directories the server exports:
+
+# showmount -e server_name
+
+On the client side you can use something like the following in /etc/fstab:
+
+192.168.1.101:/backups /mnt/nfs nfs defaults,users,wsize=8192,rsize=8192 0 0
+
+Tags: nfs, howto, network
+-- 
+Mount a cloop file:
+
+# aptitude install cloop-src
+# m-a a-i cloop-src
+
+# modprobe cloop file=/path/to/cloop/file
+# mount -r -t iso9660 /dev/cloop /mnt/test
+-- 
+Create a PS/PDF of a plaintext file:
+
+% a2ps --medium A4dj -E -o output.ps input_file
+% ps2pdf output.ps
+-- 
+Print two pages on one in a PDF file:
+
+% pdfnup --nup 2x1 input.pdf
+
+Concatenate, extract pages/parts, encrypt/decrypt,
+compress PDFs using 'pdftk'.
+-- 
+Read a PS/PDF file on console:
+
+% pstotext file.pdf
+
+or on plain framebuffer console in graphical mode:
+
+% pdf2ps file.pdf ; ps2png file.ps file.png ; fbi file.png
+
+or
+
+% fbgs file.pdf
+-- 
+Bypass the password of a PDF file:
+
+% gs -q -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf input.pdf -c quit
+-- 
+Record sound:
+
+% rec test.aiff
+
+This will record a AIFF audio file.
+-- 
+Change passphrase / password of an existing SSH key:
+
+% ssh-keygen -p
+-- 
+Enable syntax highlighting in nano:
+
+Just uncomment the include directives for your respective
+language at the bottom of the file /etc/nanorc
+-- 
+Create netboot package for grml-terminalserver:
+
+# bash /usr/share/doc/grml-terminalserver/examples/create-netboot
+-- 
+To boot grml via network (PXE) check out grml-terminalserver:
+
+# grml-terminalserver
+
+See http://grml.org/terminalserver/ for more details.
+-- 
+Rotate pictures:
+
+Using the 'Orientation' tag of the Exif header, rotate
+the image so that it is upright:
+% jhead -autorot *.jpg
+
+Manually rotate a picture:
+% convert -rotate 270 input.jpg output.jpg
+-- 
+Rename files based on the information inside their exif header:
+
+% jhead -n%Y-%m-%d_%Hh%M_%f *.jpg
+
+This will rename a file named img_2071.jpg to something like:
+
+2007-08-17_10h38_img_2071.jpg
+
+if it was shot at 10:38 o'clock on 2007-08-17 (according to
+the information inside the exif header).
+-- 
+Calculate network / netmask:
+
+Usage examples:
+% ipcalc 10.0.0.28 255.255.255.0
+% ipcalc 10.0.0.0/24
+-- 
+Blacklist a kernel module:
+
+# blacklist <name_of_kernel_module>
+
+-> running 'blacklist hostap_cs' for example will generate an
+entry like this in /etc/modprobe.d/grml:
+
+blacklist hostap_cs
+alias hostap_cs off
+
+To remove the module from the blacklist again just invoke:
+
+# unblacklist <name_of_kernel_module>
+
+or manually remove the entry from /etc/modprobe.d/grml.
+-- 
+Create a Debian package of a perl module:
+
+% dh-make-perl --cpan Acme::Smirch --build
+-- 
+The Magic SysRq Keys (SysReq or Sys Req, short for System Request):
+
+To reboot your system using the SysRq keys just hold down the Alt and
+SysRq (Print Screen) key while pressing the keys REISUB ("Raising
+Elephants Is So Utterly Boring").
+
+R = take the keyboard out of raw mode
+E = terminates all processes (except init)
+I = kills all processes (except init)
+S = synchronizes the disk(s)
+U = remounts all filesystems read-only
+B = reboot the system
+
+Notice: use O instead of B for poweroff.
+
+Or write the sequence to /proc/sysrq-trigger instead:
+
+# for i in r e i s u b ; do echo $i > /proc/sysrq-trigger ; done
+
+To enable or disable SysRq calls:
+
+# echo 0 > /proc/sys/kernel/sysrq
+# echo 1 > /proc/sys/kernel/sysrq
+
+See http://en.wikipedia.org/wiki/Magic_SysRq_key for more details.
+
+Tags: reboot, documentation, sysrq, magic
+-- 
+Memtest / memcheck:
+
+Just boot your grml Live-CD with "memtest" to execute a memcheck/memtest
+with Memtest86+.
+-- 
+Tunnel TCP-Traffic through DNS using dns2tcp:
+
+Server-side:
+~~~~~~~~~~~~
+1. Create necessary DNS-Records:
+dnstun.example.com.     3600    IN      NS      host.example.com.
+dnstun.example.com.     3600    IN      A       192.168.1.1
+host.example.com.       3600    IN      A       192.168.1.1
+
+2. Configure dns2tcpd on host.example.com.:
+# cat /etc/dns2tcpd.conf 
+listen = 192.168.1.1          #the ip dns2tcpd should listen on
+port = 53                     #" port " " " "
+user = nobody
+chroot = /tmp
+domain = dnstun.example.com.  # the zone as specified inside dns
+ressources = ssh:127.0.0.1:22 # available resources
+
+3. Start the daemon:
+# cat > /etc/default/dns2tcp << EOF
+# Set ENABLED to 1 if you want the init script to start dns2tcpd.
+ENABLED=1
+USER=nobody
+EOF
+# /etc/init.d/dns2tcp start
+
+Client-side:
+~~~~~~~~~~~~
+You have two possibilities:
+- Use the DNS inside your network (DNS must allow resolving for external domains)
+# grep nameserver /etc/resolv.conf 
+nameserver 172.16.42.1
+# dns2tcpc -z dnstun.example.com 172.16.42.1
+Available connection(s) : 
+        ssh
+# dns2tcpc -r ssh -l 2222 -z dnstun.example.com 172.16.42.1 &
+Listening on port : 2222
+# ssh localhost -p 2222
+user@host.example.com:~#
+
+- Directly contact the endpoint (port 53 UDP must be allowed outgoing)
+# dns2tcpc -z dnstun.example.com dnstun.example.com
+Available connection(s) : 
+        ssh
+# dns2tcpc -r ssh -l 2222 -z dnstun.example.com dnstun.example.com &
+Listenning on port : 2222
+# ssh localhost -p 2222
+user@host.example.com:~#
+
+Notice: using 'ssh -D 8080 ..' you will get a socks5-proxy listening on
+localhost:8080 which you can use to tunnel everything through your "dns-uplink".
+
+Tags: howto, network, tunnel
+-- 
+Configure a MadWifi device for adhoc mode:
+
+Disable the autocreation of athX devices:
+# echo "options ath_pci autocreate=none" > /etc/modprobe.d/madwifi
+
+Remove the autocreated device for now:
+# wlanconfig ath0 destroy
+
+Configuration in /etc/network/interfaces:
+
+iface ath0 inet static
+  madwifi-base wifi0
+  madwifi-mode adhoc
+  ...
+
+Hints:
+  - Do not use interface names without ending 0 (otherwise startup fails).
+  - Only chooss unique names for interfaces.
+-- 
+Find dangling symlinks using zsh:
+
+% ls **/*(-@)
+-- 
+Use approx with runit supervision
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Install the packages:
+# apt-get install approx runit
+
+Add user approxlog for the logging daemon:
+# adduser --system --home /nonexistent --no-create-home approxlog
+
+Create config directory:
+# mkdir /etc/sv/approx
+
+Use /var/run/sv.approx as supervise directory:
+# ln -s /var/run/sv.approx /etc/sv/approx/supervise
+
+# cat > /etc/sv/approx/run << EOF
+#!/bin/sh
+echo 'approx starting'
+exec approx -f 2>&1
+EOF
+
+You normally do not need a logging service for approx because it logs
+to syslog too. So just for completion:
+# mkdir -p /etc/sv/approx/log
+# ln -s /var/run/sv.approx.log /etc/sv/approx/log/supervise
+# cat > /etc/sv/approx/log/run << EOF
+#!/bin/sh
+set -e
+LOG="/var/log/approx"
+test -d "$LOG" || mkdir -p -m2750 "$LOG" && chown approxlog:adm "$LOG"
+exec chpst -uapproxlog svlogd -tt -v "$LOG"
+EOF
+
+Now activate the new approx service (will be started within 5s):
+# ln -s /etc/sv/approx/ /var/service/
+
+Make approx managed via runit available via init-script interface:
+# dpkg-divert --local --rename /etc/init.d/approx
+# ln -s /usr/bin/sv /etc/init.d/approx
+-- 
+Remote-reboot a grml system using SysRQ via /proc (execute as root):
+
+eject &>/dev/null
+umount -l /cdrom
+eject /dev/cdrom
+echo b > /proc/sysrq-trigger
+
+Tags: reboot, howto, grml, network
+-- 
+Show what happens on /dev/sda0:
+
+# mount the debugfs to relay kernel info to userspace
+mount -t debugfs none /sys/kernel/debug
+
+# is a convenient wrapper arround blktrace and blkparse
+btrace /dev/sda0
+
+Tags: debug, block, partition, trace
+-- 
+Convert Flash to Avi:
+
+% ffmpeg -i input.flv output.avi
+
+Extract MP3 from Flash file:
+
+% for i in *.flv; do ffmpeg -i $i -acodec copy ${i%.flv}.mp3 ; done
+-- 
+Usage example for cryptsetup / -luks encrypted partition on LVM:
+
+volume group name:   x61
+logical volume name: home
+
+echo "grml-crypt_home /dev/mapper/x61-home none luks" >> /etc/crypttab
+Start cryptdisks
+mount /dev/mapper/grml-crypt_home /mnt/test
+-- 
+fdisk/parted/... complains with something like
+'unable to open /dev/sda - unrecognised disk label'?!
+
+See http://grml.org/faq/#fdisk =>
+
+* use /sbin/fdisk.distrib from util-linux
+* switch to sfdisk, cfdisk,...
+* use parted's mklabel command (but please read the
+  parted manual before executing this command)
+-- 
+dmraid - support for SW-RAID / FakeRAID controllers
+like Highpoint HPT and Promise FastTrack
+
+Activate all software RAID sets discovered:
+# dmraid -ay
+
+Deactivates all active software RAID sets:
+# dmraid  -an
+
+Discover all software RAID devices supported on the system:
+# dmraid -r
+-- 
+Extract winmail.dat:
+
+List content:
+% ytnef winmail.dat
+
+Extract files to current directory:
+% ytnef -f . winmail.dat
+-- 
+Approx - Debian package proxy/cacher howto
+
+% apt-get install approx
+% echo 'debian  http://ftp.de.debian.org/debian' >>/etc/approx/approx.conf
+% Restart approx
+
+Add your new approx to sources.list
+
+eg.
+deb http://localhost:9999/debian  unstable  main contrib non-free
+
+use approx in grml-debootstrap like:
+% grml-debootstrap -r squeeze -t /dev/sda1 -m http://127.0.0.1:9999/debian
+-- 
+Simple webserver with python:
+
+% python -m SimpleHTTPServer
+-- 
+Upgrade only packages from the grml-stable Debian repository:
+
+echo 'deb http://deb.grml.org/ grml-stable main' > /etc/apt/grml-stable.list
+apt-get -o Dir::Etc::sourcelist=/etc/apt/grml-stable.list -o Dir::Etc::sourceparts=/doesnotexist update
+apt-get upgrade
+-- 
+Install Centos into a directory:
+
+% febootstrap centos-5 directory http://mirror.centos.org/centos-5/5.3/os/i386/
+-- 
+Install Fedora into a directory:
+
+% febootstrap fedora-11 target_directory
+-- 
+Use Nessus / OpenVAS (remote network security auditor):
+
+Install software packages:
+# apt-get update
+# apt-get install openvas-client openvas-server openvas-plugins-base openvas-plugins-dfsg
+
+Add a user:
+# openvas-adduser
+
+Start openvas server (takes a while):
+# Start openvas-server
+
+Invoke client as user:
+% OpenVAS-Client
+-- 
+Find packages not available from any active apt repository:
+
+% apt-show-versions | awk '/No available version in archive/{print $1}'
+-- 
+Simple mailserver with python:
+
+% python -m smtpd -n -c DebuggingServer localhost:1025
+-- 
+finger via netcat:
+
+echo $USER | nc $HOST 79
+-- 
+Install Archlinux using Grml:
+
+https://wiki.archlinux.org/index.php/Install_from_Existing_Linux
+or
+wget http://tokland.googlecode.com/svn/trunk/archlinux/arch-bootstrap.sh
+-- 
+Export blockdevices via AoE (ATA over Ethernet):
+
+% vblade -m 11:22:33:44:55:66 160 2 eth0 /dev/sdb1
+
+Allow the host with the mac address 11:22:33:44:55:66 to access /dev/sdb1
+via eth0, using the shelf and slot numbers 160 and 2. These numbers are
+arbitrary but should be unique within the network.
+
+A word of warning: AoE is prone to all kind of nasty ethernet attacks,
+especially arp spoofing. Do not use in hostile networks.
+
+Tags: aoe, blockdevice, export, server
+-- 
+Access blockdevices via AoE (ATA over Ethernet):
+
+% sudo aoe-discover
+
+and the device should show up under /dev/etherd/. If your shelf and
+slot numbers re 160 and 2 the device will be /dev/etherd/e160.2
+
+A word of warning: AoE is prone to all kind of nasty ethernet attacks,
+especially arp spoofing. Do not use in hostile networks.
+
+Tags: aoe, blockdevice, export, client
+--