X-Git-Url: http://git.grml.org/?p=grml-tips.git;a=blobdiff_plain;f=grml_tips;h=5fa27d10a2e802327a0c22d644ee58219714127b;hp=c62e22a1c794a2a090244e3b27735b98cb567cec;hb=HEAD;hpb=ff31f67f4e522a2b68a8b8aa0ca51aca74a69124 diff --git a/grml_tips b/grml_tips index c62e22a..5fa27d1 100644 --- a/grml_tips +++ b/grml_tips @@ -1,53 +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 + +Tags: configuration, network -- 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: @@ -58,12 +21,16 @@ Set it manually e.g. via: % 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. + +Tags: zsh, configuration -- Run GNU screen with grml-configuration: @@ -72,51 +39,20 @@ Run GNU screen with grml-configuration: or % screen -c /etc/grml/screenrc + +Tags: screen, configuration -- Print out grml-version: % grml-version + +Tags: grml -- 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 - -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: @@ -136,18 +72,26 @@ Use: # grml-crypt stop /mnt/test See: man grml-crypt + +Tags: crypto, grml-crypt, dmcrypt, luks -- Change resolution of X: % xrandr -s '1024x768' + +Tags: x11, xorg, resolution -- Change resolution of framebuffer: # fbset 800x600-60 + +Tags: resolution -- Configure newsreader slrn: % grml-slrn + +Tags: slrn -- Configure grml system: @@ -157,16 +101,22 @@ Or directly run scripts: # 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. + +Tags: grml, lock, grml-lock, screen -- Change wallpaper in X: % grml-wallpaper + +Tags: grml, wallpaper -- Start X window system (XFree86 / Xorg / X.org): @@ -175,8 +125,10 @@ Start X window system (XFree86 / Xorg / X.org): 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: @@ -187,6 +139,8 @@ or run as root to collect some more information: # grml-hwinfo will generate a file named info.tar.bz2. + +Tags: grml, hardware, hwinfo, collect -- Configure hardware detection features of harddisk installation: @@ -195,6 +149,8 @@ Configure hardware detection features of harddisk installation: or manually edit /etc/grml/autoconfig[.small] See: man grml-autoconfig + +Tags: grml, installation, configuration -- Bootoptions / cheatcodes / bootparams for booting grml: @@ -203,6 +159,8 @@ On the grml-ISO if not running grml: 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): @@ -214,6 +172,8 @@ See: http://grml.org/bugs/ http://www.debian.org/Bugs/ + +Tags: bug, reportbug, bts, debian -- Offline documentation: @@ -224,11 +184,14 @@ Online documentation: 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: @@ -243,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) + +Tags: ntfs, resize, ntfsresize -- Modify resolution for intel graphic chipsets: @@ -271,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/ --- -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: - 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/ + +Tags: contact, irc, freenode, email -- Join the grml mailinglist: http://grml.org/mailinglist/ + +Tags: grml, mailinglist -- Help us - donate! http://grml.org/donations/ + +Tags: grml, donation -- 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/ + +Tags: documentation, grml, kernel -- SMTP command-line test tool: @@ -312,12 +285,16 @@ Usage example: % 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 + +Tags: utils, ntfs -- Modify service through init script: @@ -327,6 +304,8 @@ Modify service through init script: # Reload postfix # service gpm start # /etc/init.d/lvm start + +Tags: init, script, start, stop -- Test joystick: @@ -335,19 +314,27 @@ Test joystick: 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 + +Tags: webcam, mplayer -- 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 + +Tags: rip, abcde, mp3, transcode, audio -- Show a console session in several terminals: @@ -368,6 +355,8 @@ Local (send file): Remote (receive file): % npoll + +Tags: copy, file, network -- utility for sorting records in complex ways: @@ -412,6 +401,8 @@ Grep with highlighting: % grep --color=auto ... % hgrep ... + +Tags: grep, color, highlight -- Extract matches when grepping: @@ -424,10 +415,6 @@ Output text as sound: % 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 @@ -483,6 +470,8 @@ Hardware monitoring without kernel dependencies: Install grml-iso to usb-stick: % grml2usb grml.iso /mount/point + +Tags: usbpen, usbstick, installation, grml2usb -- Use mplayer on framebuffer console: @@ -504,6 +493,8 @@ Or run one of the following commands: 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: @@ -570,6 +561,8 @@ 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 + +Tags: windows, line, convert, recode, tr, line end, -- Save live audio stream to file: @@ -627,7 +620,7 @@ Read BIOS: -- 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: @@ -666,14 +659,8 @@ Transfer your SSH public key to another host: % 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' --- -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: @@ -692,6 +679,8 @@ Find and remove duplicate files: Perform layer 2 attacks: # yersinia ... + +Tags: network, attack, security -- rootsh -- @@ -704,6 +693,8 @@ Perform a standard scan: 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: @@ -730,6 +721,8 @@ http://www.tldp.org/ The Linux Documentation Project Tips and tricks: % fortune debian-hints + +Tags: documentation -- Fun stuff: @@ -739,6 +732,8 @@ Fun stuff: Backup master boot record (MBR): # dd if=/dev/ice of=/tmp/backup_of_mbr bs=512 count=1 + +Tags: backup, mbr -- Backup partition table: @@ -747,6 +742,8 @@ Backup partition table: Restore partition table: # sfdisk /dev/hda < hda.out + +Tags: backup, partition, sfdisk, recovery -- Clone disk via network using netcat: @@ -759,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 + +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" + +Tags: backup -- Clone disk via ssh: @@ -773,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 /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 - -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-8 to ISO: % iconv -c -f utf8 -t iso-8859-15 < utffile > isofile @@ -1099,39 +1012,34 @@ Convert files from Unicode / UTF-8 to ISO: 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: @@ -1194,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.*/). + +Tags: openssl, howto -- Change Windows NT password(s): @@ -1205,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!) + +Tags: password, windows, recovery, chntpw, howto -- glark - replacement for grep written in Ruby: @@ -1231,11 +1143,15 @@ Scan using ATA Packet specific SCSI transport: 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 + +Tags: raid, device -- Identify network device (NIC): @@ -1252,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 + +Tags: configuration, network, device -- grml2hd seems to hang? Getting Squashfs errors? Problems while booting? @@ -1268,6 +1186,8 @@ 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. + +Tags: grml2hd, installation, verify, squashfs, error -- Write a Microsoft compatible boot record (MBR) using ms-sys @@ -1282,25 +1202,30 @@ Notice: grab ms-sys from http://ms-sys.sourceforge.net/ - demo: 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 (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: -# gcom -d /dev/ttyUSB0 +# comgt -d /dev/ttyUSB0 # wvdial --config /etc/wvdial.conf.umts a1usb -# gcom -d /dev/noz0 +# comgt -d /dev/noz0 # wvdial --config /etc/wvdial.conf.umts tmnozomi -# gcom -d /dev/noz0 +# comgt -d /dev/noz0 # wvdial --config /etc/wvdial.conf.umts dreiusb +# comgt -d /dev/ttyACM0 +# wvdial --config /etc/wvdial.conf.umts yesss + If you receive invalid DNS nameservers when connecting, like: [...] @@ -1326,7 +1251,9 @@ Bus 004 Device 008: ID 1199:6813 Sierra Wireless, Inc. To get a list of available providers execute: -# gcom -s -d /dev/ttyUSB0 /usr/share/doc/gcom/examples/operator +# comgt -s -d /dev/ttyUSB0 /etc/comgt/operator + +Tags: umts, 3g, vodafone, sierra, wvdial, ppp, howto -- hdparm - get/set hard disk parameters @@ -1339,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 + +Tags: hardware, performance, configuration, harddisk -- bonnie++ - program to test hard drive performance. @@ -1346,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 + +Tags: benchmark, harddisk -- Use gizmo with a bluetooth headset: @@ -1363,6 +1294,8 @@ Then running xawtv should work: 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 @@ -1388,10 +1321,14 @@ now install grub (usage example for /dev/sda1): # grub install root (hd0,0) setup (hd0) + +Tags: grml2hd, grub -- Install Ubuntu using grml: See https://wiki.ubuntu.com/Installation/FromKnoppix + +Tags: ubuntu, installation -- Resize ext2 / ext3 partition: @@ -1402,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 + +Tags: resize, ext2, ext3, ext4, partition, howto -- Tune ext2 / ext3 filesystem: @@ -1419,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. + +Tags: configuration, ext2, ext3, ext4, partition -- 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 + +Tags: webdav, mount, mediacenter, gmx -- System-Profiling using oprofile: @@ -1447,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 + +Tags: profile, profiling, opcontrol, howto -- Install ATI's fglrx driver for Xorg / X.org: @@ -1457,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 + +Tags: xorg, x11, driver, ati -- Install nvidia driver for Xorg / X.org: @@ -1466,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 + +Tags: xorg, x11, driver, nvidia -- 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 @@ -1491,6 +1444,8 @@ If you want to avoid only the prompting part, run: or: # noprompt halt + +Tags: bootparam, fix, grml -- Mount wikipedia local via fuse: @@ -1520,6 +1475,8 @@ Mount it (/wiki must exist of course): Unmount via: % fusermount -u /wiki + +Tags: fuse, wikipedia, mount -- Remote notification on X via osd (on screen display): @@ -1573,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. + +Tags: osd, notification, ssh, network, port-forwarding -- Avoid automatical startup of init scripts via invoke-rc.d: @@ -1594,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. + +Tags: policy, init, script, invode-rc.d -- Install VMware-Tools for grml: @@ -1617,6 +1578,8 @@ modprobe vmxnet In an X terminal, launch the VMware Tools running: vmware-toolbox + +Tags: vmware, tool, vmware-toolbox, howto -- Some important Postfix stuff @@ -1672,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 + +Tags: postix, mailq, postsuper, queue, delete, smtp -- Create MySQL database @@ -1688,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"; + +Tags: mysql, database -- Setup an HTTPS website: @@ -1714,6 +1681,8 @@ Listen 443 and make sure the SSL module is used: # a2enmod ssl + +Tags: ssl, https, configuration, apache -- Useful Apache / Apache2 stuff @@ -1728,24 +1697,34 @@ Enable a site: 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" + +Tags: tar, backup, remote, network, ssh -- Pick out and displays images from network traffic: # driftnet + +Tags: remote, network, sniff, image -- 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] + +Tags: proxy -- Adjust system for use of qemu with kqemu: @@ -1779,6 +1758,8 @@ Usage examples: # vmstat 1 # atsar -t 60 10 # dstat -af + +Tags: test, debug, information, hardware, statistic -- Using WPA for network setup manually: @@ -1786,10 +1767,14 @@ Using WPA for network setup manually: 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 + +Tags: xorg, x11, startx, graphical -- Which process is writing to disk and/or causes the disk to spin up? @@ -1812,10 +1797,14 @@ 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) + +Tags: initrd -- Install initrd via yaird for currently running kernel: @@ -1898,6 +1887,8 @@ mdadm --detail /dev/md0 | grep -e "Array Size" -e 'Device Size' # Last step - resize the filesystem (online again): resize2fs /dev/md0 + +Tags: raid, resize, raid5, mdadm -- ext3 online resizing: @@ -1909,13 +1900,13 @@ Demo: 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 -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: @@ -1936,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. + +Tags: resize, raid, lvm, ext2, ext3, ext4, raid1 -- Use vim as an outline editor: @@ -1951,6 +1944,8 @@ Monitor /tmp for changes: Monitor files/directories specified in /etc/iwatch.xml and send mail on changes: % iwatch + +Tags: inotify, watch, file, directory -- Some often used mdadm commands: @@ -2013,6 +2008,8 @@ Producing /etc/mdadm/mdadm.conf: 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: @@ -2030,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 + +Tags: raid, raid1, raid5, raid01, raid10, raid100 -- Logical Volume Management (LVM) with Linux @@ -2086,6 +2085,8 @@ Remove logical volume: See also: man lvm http://www.tldp.org/HOWTO/LVM-HOWTO/ + +Tags: lvm, howto, pvcreate, lvcreate -- How to use APT locally @@ -2099,43 +2100,49 @@ 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 + +Tags: mirror, local -- 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" -xfs without vol_id: +xfs without blkid: # xfs_admin -l /dev/sda1 -reiserfs without vol_id: +reiserfs without blkid: # debugreiserfs /dev/sda1 | grep -i label -jfs without vol_id: +jfs without blkid: # jfs_tune -l /dev/sda1 | grep -i label -reiser4 without vol_id: +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: -# vol_id -u /dev/sda1 +# blkid /dev/sda1 -ext2/3 without vol_id: +ext2/3 without blkid: # dumpe2fs /dev/sda1 | grep -i UUID -xfs without vol_id: +xfs without blkid: # xfs_admin -u /dev/sda1 -reiserfs without vol_id: +reiserfs without blkid: # debugreiserfs /dev/sda1 | grep -i UUID -reiser4 without vol_id: +reiser4 without blkid: # debugfs.reiser4 /dev/sda1 | grep -i UUID + +Tags: filesystem, ext2, ext3, ext4, blkid, jfs, xfs, uuid -- Change a filesystem's LABEL: @@ -2161,6 +2168,8 @@ fat/vfat: ntfs: # ntfslabel $LABEL /dev/sda1 + +Tags: filesystem, ext2, ext3, ext4, blkid, jfs, xfs -- Disable pdiffs feature of APT: @@ -2182,6 +2191,8 @@ Restore the backup using unzsplit: # unzsplit -D /dev/sda -d archiveofsda More usage examples: man zsplit + man unzsplit + +Tags: backup, reocvery, spllt, limit, howto -- Measure network performance using iperf: @@ -2198,6 +2209,8 @@ Server with 128k TCP window size: Client with running for 60 seconds and bidirectional test: % iperf -c -r -w128k -t60 + +Tags: network, benchmark -- Framebuffer resolutions: @@ -2240,6 +2253,8 @@ vga=0x... modes: Mode 0x0346: 1600x1200 (+3200), 16 bits Mode 0x034d: 1400x1050 (+2816), 16 bits Mode 0x035c: 1400x1050 (+5632), 24 bits + +Tags: framebuffer, resolution -- Portscan using netcat: @@ -2277,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/"; + +Tags: proxy, debian, apt-get, howto -- Version control using Mercurial @@ -2354,6 +2371,8 @@ Server: Client: # netperf -t TCP_STREAM -H 192.168.0.41 + +Tags: benchmark, network -- Setup Xen within 20 minutes on Debian/grml @@ -2420,6 +2439,8 @@ xm list xm shutdown 1 This HowTo is also available online at http://grml.org/xen/ + +Tags: howto, xen, grml -- Play tetris with zsh: @@ -2448,6 +2469,8 @@ EOF Start dnsmasq finally: # Restart dnsmasq + +Tags: network, router, grml -- Display stats about memory allocations performed by a program: @@ -2582,6 +2605,8 @@ 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: @@ -2590,7 +2615,7 @@ Recorder shellscript session using script: -- Test UTF-8 capabilities of terminal: -wget http://melkor.dnp.fmph.uniba.sk/~garabik/debian-utf8/download/UTF-8-demo.txt.gz +wget http://www.linux-cjk.net/Console/garabik/UTF-8-demo.txt.gz zcat UTF-8-demo.txt.gz or: @@ -2662,6 +2687,8 @@ 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: @@ -2673,20 +2700,28 @@ 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: @@ -2697,6 +2732,8 @@ 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: @@ -2708,6 +2745,8 @@ 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: @@ -2742,6 +2781,8 @@ Calculate with IPv6 addresses: % ipv6calc For usage examples refer to manpage ipv6calc(8). + +Tags: ipv6 -- Common network debugging tools for use with IPv6: @@ -2751,6 +2792,8 @@ Common network debugging tools for use with IPv6: % tracert6 % nc6 % tcpspray6 + +Tags: ipv6 -- Set up NFS (Network File System): @@ -2806,6 +2849,8 @@ Check what directories the server exports: 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: @@ -2860,7 +2905,7 @@ language at the bottom of the file /etc/nanorc -- Create netboot package for grml-terminalserver: -# sh /usr/share/doc/grml-terminalserver/examples/create-netboot +# bash /usr/share/doc/grml-terminalserver/examples/create-netboot -- To boot grml via network (PXE) check out grml-terminalserver: @@ -2939,6 +2984,8 @@ To enable or disable SysRq calls: # 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: @@ -2996,6 +3043,8 @@ 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: @@ -3066,6 +3115,8 @@ 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: @@ -3074,10 +3125,16 @@ 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: @@ -3130,7 +3187,7 @@ eg. deb http://localhost:9999/debian unstable main contrib non-free use approx in grml-debootstrap like: -% grml-debootstrap -r lenny -t /dev/sda1 -m http://127.0.0.1:9999/debian +% grml-debootstrap -r squeeze -t /dev/sda1 -m http://127.0.0.1:9999/debian -- Simple webserver with python: @@ -3139,6 +3196,72 @@ Simple webserver with python: 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 update +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 +--