/\ /\ /\ /\ /\ /\//\\/\ /\//\\/\ /\//\\/\ /\//\\/\ /\//\\/\ /\//\\\///\\/\//\\\///\\/\//\\\///\\/\//\\\///\\/\//\\\///\\/\ //\\\//\/\\///\\\//\/\\///\\\//\/\\///\\\//\/\\///\\\//\/\\///\\ \\//\/ \/\\// \/ *** PIMP MY X86 ** PIMP MY LINUX BOX *** \/ /\ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /\ //\\ //\\ \\// * http://www.unfug.org * \\// \/ \/ /\ /\ //\\/\ /\//\\ \\///\\/\//\\\///\\/\//\\\///\\/\//\\\///\\/\//\\\///\\/\//\\\// \/\\///\\\//\/\\///\\\//\/\\///\\\//\/\\///\\\//\/\\///\\\//\/ \/\\//\/ \/\\//\/ \/\\//\/ \/\\//\/ \/\\//\/ \/ \/ \/ \/ \/ ##################################################################### ### INDEX ++ Zsh - BashNG ++ Rsync - smart synchronisations ++ Erotic Fluxbox ++ Ysm - icq via console ++ Generation bash ++ Eterm - Terminal mit maechtigen Eigenschaften ++ Emacs - Betriebssystem, Kaffeekocher *und* Editor!? ++ Filerc - Die generische Antwort auf den (update-rc.d)|(etc-update)? ++ Schleifenzeuber in der Bash ++ Zusaetliche Tools welche nicht erwaehnt wurden ##################################################################### ### ZSH - FLORIAN WESTPHAL ## Homepage: - http://zsh.sourceforge.net/ ## Nuetzliche Features: vi oder emacs-style Zeilen-Editor (zle) Eingebauter at(1)-like Scheduler (sched) Programmierbare Completion (Aber bereits die Standard-Installation enthaelt sehr viel). Einschalten mit: $ autoload -U compinit $ compinit $ gcc -TAB liefert z.B. alle gcc-switches ./configure --TAB .. liefert alle schalter _dieses_ configure-scripts $ make TAB .. zeigt targets eines Makefile $ man zsh TAB .. liefert alle man pages welche mit zsh anfangen Cycling completion: $ ls -l TAB TAB schaltet bei bedarf nacheinander durch alle Dateinamen (auf Wunsch auch in Farbe... ) Host completion: (telnet|ssh|ftp|..) TAB liefert liste aus "$hosts" $hosts aus .ssh/known_hosts bauen: _hosts=(${${${${(f)"$( $HOME/.ssh/known_hosts)"}:#[0-9]*}%%\ *}%%,*}) zstyle ':completion:*:hosts' hosts $_hosts $ scp filename user@example.com: TAB ..liefert Verzeichnisse des Remote Hosts (man sollte aber ssh mit pubkey-Auth verwenden.. ) 'compinstall' kann verwendet werden, um completion an eigenen Geschmack anzupassen at(1)-ähnliches job scheduling $ sched +00:10 kommando (ohne +: absolute Zeitangabe, sonst relativ zur Uhrzeit) ## Sonstiges: Einschalten der Korrektur: setopt correct $ mlpayer zsh: correct 'mlpayer' to 'mplayer' [nyae]? = ist 'which' ersatz: "vim =vdr.sh" entspricht vim `which vdr.sh` ## Directory-Stack: setopt auto_pushd # fuegt verzeichnisse automatisch dem stack hinzu setopt pushd_ignore_dups #verhindert doppelte eintraege im stack $ dirs -v 1 ~/bin 2 ~ 3 /var/log 4 / $ cd ~3 wechselt nach /var/log # Zeigt exit status des programms, wenn (!= 0) setopt print_exit_value # vim =(ls) startet vim mit der ausgabe des Kommandos (hier ls) als Datei-input Regexp/Globbing: ls -d *(/) (zeigt alle Verzeichnisse an) ls -l *.(c|h) (nur .c und .h Dateien ausgeben) ls -l **/config.h (Sucht nach config.h Dateien) ## Nuetzliche Kommandos: Bash-Like CTRL-A / CTRL-E: bindkey ^A "beginning-of-line" bindkey ^E "end-of-line" CTRL-V: Gibt nächste Tastenkombination als Sequenz aus Ressourcen: Wiki: http://zshwiki.org/ http://strcat.neessen.net/zsh/ man zshall man zshexpn (speziell Expansion) ##################################################################### ### RSYNC - SEBASTIAN SIEWIOR # Website: rsyc.samba.org # 1:1 Abbild von 'directory' auf host nach /mnt/sache rsync -av --delete host:directory /mnt/sachen # das Aktuellste zwischen host:directory und /mnt/sachen rsync -avu --delete host:directory /mnt/sachen rsync -avu --delete /mnt/sachen host:directory # :> man rsync ##################################################################### ### EROTIC FLUXBOX - ALEX NAEGELE ## Website: - http://fluxbox.sourceforge.net ## Installation und Konfiguration # Fluxbox, aterm und eterm installieren - apt-get install fluxbox - apt-get install aterm - apt-get install eterm # .xsession im $HOME anlegen und konfigurieren ------------------------------------------------ .xsession ------------------------------------------------ #!/bin/sh source $HOME/.bashrc /usr/X11R6/bin/xrdb -l $HOME/.Xdefaults if [ -x ~/.fluxbox/startup ]; then exec ~/.fluxbox/startup fi exec /usr/bin/fluxbox >/dev/null 2>&1 ------------------------------------------------ Die .xsession wird geladen, wenn bei der Anmeldung eine voreingestellte Sitzung gewaehlt wird. Dies ist noetig, um das startup-file beim Start der Fluxbox zu laden (s.u.). # Themes installieren Kopieren der Themes nach $HOME/.fluxbox/styles # Anpassen der startup In der $HOME/.fluxbox/startup wird festgelegt, welche Anwendungen beim Start der Fluxbox geladen werden sollen. ------------------------------------------------ startup ------------------------------------------------ # Hintergrund setzen. Fuer Esetroot ist eterm notwendig. # Via fbsetbg bekommt man Probleme mit der Transparenz # bei gdesklets und aterm. Esetroot -f wallpaper/my_girlfriend.jpg & torsmo & aterm & gdesklets & xscreensaver & exec /usr/bin/fluxbox ------------------------------------------------ # Anpassen der keys In der $HOME/.fluxbox/keys koennen shortcuts fuer Anwendungen definiert werden. Der Keyfile-Eintrag muss in .fluxbox/init angepasst werden (session.keyFile: /home/deftone/.fluxbox/keys) ------------------------------------------------ keys ------------------------------------------------ Mod1 Tab :NextWindow Mod1 Shift Tab :PrevWindow Mod1 F1 :Workspace 1 Mod1 F2 :Workspace 2 Mod1 F3 :Workspace 3 Mod1 F4 :Workspace 4 !ifs, kumppa Mod1 x :exec /usr/bin/xscreensaver-command -lock Mod1 b :ToggleDecor Mod1 a :exec aterm -bg black -fg white -e bash Mod1 f :exec /usr/bin/firefox Mod1 t :exec /usr/share/thunderbird/thunderbird ------------------------------------------------ # Artwiz-fonts installieren (fuers Look'n'Feel) apt-get install xfonts-artwiz # Anpassen der .Xdefaults Mit der $HOME/.Xdefaults kann der aterm angepasst werden ------------------------------------------------ .Xdefaults ------------------------------------------------ aterm*internalBorder: 0 aterm*wideChars: false aterm*boldMode: false aterm*eightBitInput: false aterm*geometry: 100x58+70+20 aterm*colorUL: green aterm*loginShell: true aterm*pointerShape: top_left_arrow aterm*scrollBar: false aterm*foreground: white aterm*background: #000052 aterm*transparent: true aterm*fading: 60 Aterm*tintingType: true Aterm*shading: 50 aterm*font: -artwiz-smoothansi-*-*-*-*-*-*-*-*-*-*-*-* aterm*boldFont: -dec-terminal-medium-r-normal-*-*-140-*-*-c-80-*-1 aterm*font1: "-misc-fixed-medium-r-normal-*-10-*-*-*-*-*-iso8859-2" aterm*font2: "-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-iso8859-*" aterm*font3: "-misc-fixed-medium-r-normal-*-15-*-*-*-*-*-iso8859-2" aterm*font4: "-misc-fixed-medium-r-normal-*-18-*-*-*-*-*-iso8859-2" aterm*saveLines: 1000 ------------------------------------------------ ## Optionale Features # Torsmo apt-get install torsmo Konfiguriert wird Torsmo via $HOME/.torsmorc ------------------------------------------------ .torsmorc (Ausschnitt) ------------------------------------------------ TEXT $nodename - $sysname $kernel on $machine $hr ${color grey}Uptime: $color $uptime ${color grey}RAM Usage: $color $mem/$memmax - $memperc% ${membar 9} ${color grey}Swap Usage: $color $swap/$swapmax - $swapperc% ${swapbar 9} ${color grey}CPU Usage: $color $cpu% ${cpubar 9} ${color grey}Processes: $color $processes ${color grey}Running:$color $running_processes ${color grey}Temperatures: CPU:$color ${i2c temp 1}°C${color grey} - MB:$color ${i2c temp 2}°C $color$hr ${color}Networking: ${color grey}Up: $color ${upspeed eth0} k/s ${color grey}Total Up: $color ${totalup eth0} ${color grey}Down:$color ${downspeed eth0} k/s ${color grey}Total Down: $color ${totaldown eth0} $color$hr ${color}File Systems: ${color grey}/ ${color}${fs_free /}/${fs_size /} ${fs_bar 9 /} ${color grey}/home ${color}${fs_free /home}/${fs_size /home} ${fs_bar 9 /home} ------------------------------------------------ # Gdesklets installieren apt-get install gdesklets apt-get install gdesklets-data gdesklets-data bringt viele Desklets mit. Konfiguriert werden diese ueber ne GUI. ## Links # Fluxbox-Themes http://fluxmod.berlios.de/ # Gdesklets zum Download http://gdesklets.gnomedesktop.org/ # Sehr, sehr gute Wallpaper http://www.skins.be ##################################################################### ### YSM (You Sick Me) - MARC MCGUINNESS ## What is it? You Sick ME is a portable open source console ICQ client written in the C language, under the GPL license. It also is the original multi-platform ICQ console client that requires no external libraries. ## Client commands **** quit **** Close the ysm client. **** help **** Query for help on a command **** clear **** Clear the screen. **** readafk **** Read the messages stored while you were on afk mode! **** afk **** Type 'afk' to switch ON or OFF the Away from Keyboard mode. Type 'afk here_a_message' to set the afk message in runtime. **** last **** Show the last received message. **** tabkey **** Special Key. Nick auto-complete. Reply/Resend a message to a slave. Press after you send a message. Press after you receive a message. **** hotkeys **** '1' - help command. '2' - whos' online (wo) '4' - enable/disable AFK (afk) **** run **** Run a command in your current shell. usage : '! ls -al' ## Slaves/Users commands **** slaves **** You may check on your Slave list anytime by using this command. The slaves are organized in . Flags are modified by the 'ignore', 'visible' and 'invisible' commands. Slaves in ignore are only shown in the 'wa' command. **** slaveson **** Check your Slaves list just for the online ones. **** addslave **** Add a slave to your list **** delslave **** Delete a slave from list. **** hist **** Read a slave's log file (message HISTORY). **** msg [message] **** Send a message to a slave or icq. **** reply **** Send a message to the last slave who messaged you. usage: 'r [message]' **** whois **** Request information on a slave or icq# **** req [name] **** Send an Authorization Request to a slave or icq. **** auth **** Send an authorization OK reply to a slave or icq. usage: 'auth usage: 'auth ' **** rename **** Rename a slave. **** ignore **** Add/Remove a slave to/from your ignore list. **** visible **** Add/Remove a slave to/from your visible list. **** invisible **** Add/Remove a slave to/from your invisible list. ## Account commands **** status [new_status] **** Change/Check your current status. ## Files $HOME/.ysm/ysm-cfg Configuration file. $HOME/.ysm/afk-log [created by the afk-mode] $HOME/.ysm/uin# [each UIN is a log file generated by 'log'] ##################################################################### ### GENERATION BASH - HAGEN PAUL PFEIFER ## Homepage: - http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html ## Nuetzliche Kommandos: - CTRL-A springt an den Anfang der Befehlszeile - CTRL-E springt an das Ende der Befehlszeile - ALT-B springt nach links an den Wortanfang - ALT-F springt nach rechts an das Wortende - CTRL-W loescht Wort (nach links); Wortgrenze: whitespaces - ALT-BACKSPACE loescht Wort (nach links); Wortgrenze: alpha-numerisch - ALT-D loescht Wort (nach rechts); Wortgrenze: alpha-numerisch - CTRL-X BACKSPACE loescht bis Zeilenanfang - !! wiederholt letzten Befehl (z.B. "sudo !!") - CTRL-R sucht reuckwaerts in der history - CTRL-Z aktuellen Prozess in den Hintergrund (Achtung) - CTRL-D logout (schneller Ersatz fuer exit) - pushd DIR wechselt in Verzeichnis DIR und speichert auf Stack das aktuelle - popd wechselt in das Verzeichnis was im Stack steht - cd - wechselt in das letzte Verzeichnis (danke fuer diesen Tip bigeasy ;-) - ..., vieles weitere mehr! (einen Schritt nach den anderen) ## Ressourcen: - man bash! - ~/.bashrc ~/.bash_profile - Suchmaschine deiner Wahl! (die Gefahr von google erkennen! ;) ##################################################################### ### ETERM - HERMANN STUENZ ## What is it? Eterm ist ein vt102 Terminal Emulator, der mit einer grossen Auswahl an Optionen eine gute Alternative zum xterm darstellt. Mit im Eterm-Package enthalten sind unter anderem die Tools Esetroot und kEsetroot(KDE), mit denen das Hintergrundbild des Desktops und des Eterms gesetzt werden kann. ## Homepage: - http://www.eterm.org/ ## Nuetzliche Kommandos: Eterm -x --buttonbar=off --shade=50 --scrollbar=off --trans -g 100x25+200+600 - Eterm staret transparent und zu 50% geshaded, mit entsprechender Geometrie (-g Width x Height+X coord+Y coord) und ohne Rahmen Eterm -x --buttonbar 0 --scrollbar 0 --double-buffer -g 105x20+320+1 --viewport-mode --background-pixmap /pfad/zum/bild.jpg - Der viewport-mode bewirkt das es so scheint, als schaut man durch den Eterm (wie durch ein Fenster) auf ein Bild hinter dem Desktop-Wallpaper. - Beim Verschieben des Eterm-Fensters wird dies deutlich sichtbar. - ALT+LEFT-MOUSEBUTTON verschiebt Fenster - ALT+RIGHT-MOUSEBUTTON skaliert Fenster - STRG+RIGHT-MOUSEBUTTON oeffnet Menue ## Ressourcen: - man Eterm - ~/.Eterm/themes/Eterm/theme.cfg - ~/.Eterm/themes/Eterm/user.cfg - /usr/share/Eterm/themes/Eterm/menus.cfg ##################################################################### ### EMACS - CHRISTIAN KOERNER ## Homepage: - www.gnu.org/software/emacs/emacs.html ## Nuetzliche Kommandos: - CTRL-X CTRL-C Emacs verlassen - CTRL-X CTRL-F Datei oeffnen - CTRL-X CTRL-V Eine andere Datei anstelle der bisherigen oeffnen - CTRL-X CTRL-S Datei abspeichern - CTRL-X CTRL-W Datei unter einen anderem Namen abspeichern - CTRL-X B Einen neuen Buffer erzeugen - CTRL-X CTRL-B Pufferliste anzeigen lassen - CTRL-X 4 CTRL-F Datei in gleichen Fenster oeffnen - ALT-X Untermodi, zum Aendern der Hauptmodi - CTRL-S Suche vorwaerts (inkrementell) - CTRL-R Suche rueckwaerts (inkrementell) - CTRL-G Momentanen Befehl abbrechen - CTRL-X U Letzte Aenderungen rueckgaengig machen ## Features/Ressourcen: - verschiedene Editier-Modi - Mail/Newsreader/Webbrowser - Kalender/Spiele - http://www.itworld.com/AppDev/575/swol-1095-software/pfindex.html ##################################################################### ### FILE-RC - TOBIAS WALTER ## Homepage: - http://packages.debian.org/testing/admin/file-rc ## Was ist es? Alternativer Boot-Mechanismus mit nur einem Konfigurations-File, uebernimmt die Verwaltung der Runnlevels. Die /etc/rc?.d/* Links\ werden auf einen File (/etc/runlevel.conf) abgebildet. Die Links (/etc/rc?.d/*) werden automaisch konvertiert. Die /etc/init.d/rc, /etc/init.d/rcS, /usr/sbin/update-rc.d, und /usr/sbin/invoke-rc.d Scripts koennen weiterhin verwendet werden. ## Config /etc/runlevel.conf # ... 35 - S /etc/init.d/mountall.sh ... 40 - 0,6 /etc/init.d/unmountfs ... 91 0,1,6 2,3,4,5 /etc/init.d/apache ... # THE LAST LINE IS NEVER READ! ## Runnlevel S init (vor allem) 0 halt 1 singel-user 2-5 multi-user 6 reboot ##################################################################### ### SCHLEIFEN UND ANDERE NETTE TRICKS IN DER BASH - ANDREAS THIENEMANN # Generelles Ziel: Vereinfachung und Automatisierung von sich # wiederholenden Arbeiten wie Umbenennen von beliebig vielen Dateien etc. ##### Anwendungsbeispiele # Aufgabenstellung: Umbenennen von einem Haufen Dateien nach dem Schema *.htm # nach *.html. # Lösung: [admin@isp webroot]$ for i in *.htm; do mv $i ${i%.htm}.html; done # In deutlich: for i in *.htm; do echo mv $i ${i%.htm}.html; # ${i%.htm} schneidet vom Parameter $i # den hinteren Teil ".htm" ab. done # Aufgabenstellung: Wir haben ein Configfile mit folgendem Layout: # GUP config-file # #testsite secret andreas@bawue.net maxmuster-de XXXXXXXX usenet@maxmustermannonline.de moritzmuster-de YYYYYYYY news@moritzmustermannonline.de michaelmuster-de ZZZZZZZZ news@michaelmustermannonline.de # Desweiteren gibt es ein Mailtemplate wie folgt: From: Bawue.Net Newsadmin To: #TO# Date: #DATE# Subject: GUP Instructions news.bawue.net Dear Newsadmin, your GUP Account on news.bawue.net has been activated. GUP allows you to change the newsgroups we are feeding you by sending a mail to gup@obfuscatedrandom.bawue.net. GUP will parse this mail and adapt your newsfeeds entry accordingly if authenticated by a valid site name and password. Your GUP Data: Sitename: #SITE# Password: #PASSWORD# Reply-Address: #TO# (for gup's confirmations) For help about gup, please send a message to gup@news.bawue.net with the following body: site #SITE# #PASSWORD# help quit You'll receive a message to the Reply-Address with usage instructions. For a list of our hierarchies, please see . regards, Andreas Thienemann bawue.net # Ziel: Loginnamen und Password im Format des Mailtemplates an die angegebene # Mailadresse schicken. #Lösung: [root@news /root]# grep -e '^[^#]' /root/test | while read line; do sed -e \ "s/#SITE#/$(echo $line | cut -d ' ' -f 1)/; s/#PASSWORD#/$(echo $line | cut \ -d ' ' -f 2)/; s/#TO#/$(echo $line | cut -d ' ' -f 3)/; s/#DATE#/$(date)/;" \ /root/mailtext | sendmail -fnews@news.hostname.example -t ; done # In deutlich: grep -e '^[^#]' /root/test | \ while read line; do sed -e "s/#SITE#/$(echo $line | cut -d ' ' -f 1)/; s/#PASSWORD#/$(echo $line | cut -d ' ' -f 2)/; s/#TO#/$(echo $line | cut -d ' ' -f 3)/; s/#DATE#/$(date)/;" /root/mailtext | \ sendmail -fnews@news.hostname.example -t ; done # Aufgabenstellung: Ziel ist es alle pr0n Galleries von einem Server auf der # lokalen Platte als Backup abzulegen. # Die Bildersammlung sind nach dem folgenden Prinzip sortiert: # http://pr0n.example.com/galleries/001/01.jpg bis 30.jpg # Lösung: [kiddie@lanparty pr0n]$ for gallery in `seq -w 0 100`; do for pic in `seq -w 0 30`; \ do echo http://pr0n.example.com/galleries/$gallery/$pic.jpg; done; done \ | wget -i - # In deutlich: for gallery in `seq -w 0 100`; do for pic in `seq -w 0 30`; do echo http://pr0n.example.com/galleries/$gallery/$pic.jpg; done; done | wget -i - ##################################################################### ### TOOLS/APPLIKATIONEN WELCHE NICHT VORGESTELLT WURDEN ABER EINEN ### BLICK VERDIENEN - links (textbrowser) - vim (editor^1.000.000 ;-) - ctags (navigation im quellcode via vi) - irssi (irc-client) - slrn (newsreader) - root-tail (logfiles auf den background) - xlock (der Name ist Programm) - torsmo (rechner status minimalistisch) - gkrellm (das gleiche nur *groesser*) - sudo ("... execute a command as the superuser or another user, ...") - ..., eure Vorschlaege hier!