Was will man mehr?
November 19th, 2006Quelle: /usr/share/doc/zsh/changelog.Debian.gz
zsh (4.3.2-24) unstable; urgency=medium
* Completion for toilet.
[…]
Na dann brauch ich nicht einmal mehr aufstehen. Prost!
Quelle: /usr/share/doc/zsh/changelog.Debian.gz
zsh (4.3.2-24) unstable; urgency=medium
* Completion for toilet.
[…]
Na dann brauch ich nicht einmal mehr aufstehen. Prost!
Xen ist auf der TODO-Liste mit ‘endlich mal anschauen’ vermerkt? Aber irgendwie noch immer keine Zeit gehabt, endlich mal reinzuschnuppern – aus Angst vom Hundertsten ins Tausenste zu kommen? Setup Xen within 20 minutes on Debian/grml.
Um AK zu zitieren:
d.h. mit 10 minuten grml2hd hat man in einer halben stunde ein lauffaehiges xen-system? ;-)
Viel Spass. :-)
Dank einem echt tollen Freundschaftspreis von Mabu bin ich jetzt Besitzer einer AMD64-Kiste: Gigabyte K8 Triton GA-K8NMF-9 mit AMD64 3200+, 2.5GB (DDR 400) RAM und einer ATI Radeon 300SE.
Warum ich mich über die eigene AMD64-Kiste so freue ist die Tatsache, dass ich jetzt endlich an einer 64-Bit-Version von grml arbeiten kann. Die Kiste selbst läuft schon mit grml-featured Kernel:
root@grml64 ~ # uname -a Linux grml64 2.6.18-grml64 #1 SMP PREEMPT Sat Nov 11 11:53:52 CET 2006 x86_64 GNU/Linux
Eigentlich wollte ich das Posting schon abschicken, in der Zwischenzeit gibt’s aber sogar schon eine erste Live-CD-Version von grml64:
Ein bisserl Feintuning gehört natürlich noch gemacht (die Paketliste ist z.B. noch nicht ganz vollständig). Mein Plan sieht vor, dass ich mit grml 1.0 dann eine erste öffentliche grml64-Edition anbieten kann.
Zum Thema ‘wie man Debian via grml installiert’ hab ich ja schon mal was geschrieben. Durch die Verwendung von debootstrap kann man ein “plain Debian” wunderbar via grml installieren. Das ist besonders dann interessant, wenn der Debian-Installer (AKA d-i) nicht funktioniert (z.B. zu alter Kernel) oder man einfach keine aktuelle Debian-CD zur Hand hat. Das ist übrigens schon seit einiger Zeit meine bevorzugte Variante, um ein blankes Debian-System zu installieren. Es geht an sich schnell, zuverlässig und tut einfach.
Allerdings finde ich die Arbeitsschritte vom debootstrap-Kommando bis zum laufenden Debian-System langweilig. Deswegen habe ich mich hingesetzt und einen Wrapper rund um debootstrap geschrieben. Rausgekommen ist grml-debootstrap:
root@funkenzutzler ~ # acsh grml-debootstrap Package: grml-debootstrap Status: install ok installed Priority: optional Section: grml Installed-Size: 92 Maintainer: Michael Prokop <mika@grml.org> Architecture: i386 Version: 0.2 Depends: debootstrap | cdebootstrap, grml-etc-core Conffiles: /etc/debootstrap/config c5040b63b60a00132b578f01de65fd18 /etc/debootstrap/locale.gen e9a41a756366fe6a44fd785fe03e2e96 /etc/debootstrap/packages 7c354f0d3cd7581ba3b822de90e79c3c /etc/debootstrap/chroot-script 4ac6a196664aab55f93511560ca3dcd2 Description: wrapper around debootstrap for installing plain Debian via grml This package provides a wrapper suite around deboostrap and cdebootstrap for installing a plain Debian system via grml. . All you have to do is adjust a few variables in configuration file /etc/debootstrap/config and invoke grml-debootstrap then. A plain and base Debian system will be installed on the given device then. Customization of this process is possible as well. . Supported Debian GNU/Linux releases: * Sarge (3.1) * Etch (4.0) * Sid (4.0 unstable)
Wer sich das mal anschauen will: einfach grml booten, ‘apt-get update ; apt-get install grml-debootstrap’ und nach dem Anpassen von /etc/debootstrap/config via Aufruf von ‘grml-debootstrap’ loslegen. Bugreports, Patches und Anregungen sind willkommen. Ich plane, grml-debootstrap mit der kommenden grml-Version 0.9 auszuliefern. Enjoy! :-)
aamath is a program that reads mathematical expressions in infix notation and renders them as ASCII art. It may be useful to send mathematics through text-only media, such as e-mail or newsgroups:
mika@grml ~ % aamath aamath version 0.3 aamath> grml = sqrt(42*23)/11^pi _____ \/42 23 grml = ------- __ || 11 aamath>
I created a Debian package, it’s available through the grml-repository.
ruby-prof just hit Debian unstable:
% apt-cache show ruby-prof | sed -ne "/^Description/,/^$/p" Description: A fast code profiler for Ruby ruby-prof is runs a ruby program and keeps track of the amount of time spent in each method. At the end of execution it displays collected information. Its features include: * Speed - it is a C extension and therefore many times faster than the standard Ruby profiler. * Flat Profiles - similar to the reports generated by the standard Ruby profiler. * Graph profiles - similar to GProf, these show how long a method runs, which methods call it and which methods it calls. * Threads - supports profiling multiple threads simultaneously. * Recursive calls - supports profiling recursive method calls. * Reports - can generate both text and cross-referenced html reports. * Output - can output to standard out or to a file.
Demo:
% ruby-prof /usr/share/doc/ruby1.8-examples/examples/fib.rb 6765 Thread ID: -605742108 %self cumulative total self children calls self/call total/call name 69.70 0.23 0.33 0.23 0.10 21891 0.00 0.00 Object#fib 0.00 0.23 0.00 0.00 0.00 1 0.00 0.00 Module#method_added 0.00 0.23 0.00 0.00 0.00 1 0.00 0.00 Kernel#print 0.00 0.23 0.33 0.00 0.33 1 0.00 0.33 Kernel#load 0.00 0.23 0.00 0.00 0.00 2 0.00 0.00 IO#write 0.00 0.23 0.00 0.00 0.00 1 0.00 0.00 Fixnum#to_s 18.18 0.29 0.06 0.06 0.00 21891 0.00 0.00 Fixnum#< 9.09 0.32 0.03 0.03 0.00 21890 0.00 0.00 Fixnum#- 3.03 0.33 0.01 0.01 0.00 10945 0.00 0.00 Fixnum#+ 0.00 0.33 0.33 0.00 0.33 1 0.00 0.33 #toplevel
% apt-cache show xserver-xorg-input-vmmouse | sed -ne "/^Description/,/^$/p" Description: X.Org X server -- VMMouse input driver to use with VMWare This package provides the driver for the X11 vmmouse input device. . The VMMouse driver enables support for the special VMMouse protocol that is provided by VMware virtual machines to give absolute pointer positioning. . The vmmouse driver is capable of falling back to the standard "mouse" driver if a VMware virtual machine is not detected. This allows for dual-booting of an operating system from a virtual machine to real hardware without having to edit xorg.conf every time. [...]
This driver provides very comfortable mouse-handling inside VMware without having to install the vmware-tools at all. Just use ‘Driver "vmmouse"’ in the mouse-section of xorg.conf to activate it.
Notice: this feature will work OOTB on grml 0.9 if you are using grml inside VMware.
09:03 < mikap > hat inode komplettausfall bei ihren kunden? 09:06 -!- Quit --| grulli_ [n=grulli@unaffiliated/grulli] [Read error: 110 (Connection timed out)] 09:06 -!- Quit --| amne [n=amne@gentoo/developer/amne] [Read error: 110 (Connection timed out)] 09:07 -!- Quit --| gebi [n=gebi@83-65-234-72.dynamic.xdsl-line.inode.at] [Read error: 110 (Connection timed out)] 09:07 -!- Quit --| jimmy__ [n=jimmy@ultimate.g-tec.co.at] [Read error: 113 (No route to host)]
Vor 2 Jahren, am 22. Oktober 2004 erschien die erste öffentliche Version von grml. Mit Codenamen OS04 wurde sie im Rahmen des gleichnamigen Events in Graz unter die Leute gebracht. Heute, 2 Jahre und hunderte Stunden Arbeiten später sind wir bei Version 0.8 angelangt. Ich hab viel über die Gesetze von Open-Source gelernt, noch tiefer unter die Haube von Debian geschaut, viele nette Leute kennengelernt und – gezwungenerweise – meine Debugging-Fähigkeiten verbessert. ;-) Ich hoffe natürlich, dass ich auch noch in den nächsten Jahren Zeit, Lust und Gelegenheit für die Arbeit an grml finde.
Ein großes Dankeschön geht an dieser Stelle an all jene Leute, die dazu beigetragen haben, dass grml das ist, was es heute ist! Danke für all das Feedback, die Spenden, Patches, Debugging, Hilfestellung und Mitarbeit!
Übrigens: Wer die aktuelle grml-Version (0.8) auf einer schönen, gepressten CD haben möchte, kann sich das Linux Magazin Sonderheft: Netz und System beim Zeitschrift-Dealer seiner Wahl besorgen.
So, und jetzt wieder zurück an die Arbeit, auf dass es in Kürze eine Version 0.9 von grml gibt. :-)
Was schon länger auf meiner Todo-Liste stand: öffentlich zugängliche Versionskontrolle für grml-Pakete.
Am Wochenende habe ich mir die Zeit genommen, und ein dementsprechendes Setup eingerichtet (danke für deine wertvollen Kommentare, Gebi!). Die Wahl fiel nach langen und ausgiebigen Diskussionen auf mercurial – ‘a fast, lightweight Source Control Management system designed for efficient handling of very large distributed projects’.
Warum mercurial? Ganz einfach weil es mir von Anfang an sympathisch war und es schnell und dezentral (das, was man bei Subversion erst mit svk bekommt) arbeitet. Ich sehe es als guten Kompromiss von Features, Usability und Geschwindigkeit. Ich hatte beim Schreiben von Papers mit Gebi in einem kleinen Repository genau so wenig Probleme wie beim Verfolgen von Änderungen in einem großen Tree wie dem vom Linux Kernel 2.6.
Mit hg-buildpackage aus grml-mercurial-utils bauen wir jetzt Debian-Pakete aus unseren Mercurial-Repositories. Es ist angelehnt an svn-buildpackage (‘helper programs to maintain Debian packages with Subversion’) und wird in den kommenden Tagen und Wochen hoffentlich noch um neue Features erweitert. Schön langsam füllt sich auch das Repository mit weiteren Paketen, in der Hoffnung, dass wir einmal alle Pakete sauber verwaltet und öffentlich zugänglich im Versionskontrollsystem haben. Bisher bin ich mit dieser Arbeitsweise sehr zufrieden (geht ruckzuck und einfach von der Hand), was es langfristig bringt wird sich natürlich erst zeigen. ;-)
Unser Setup und einige wichtige Sachen zum Umgang mit Mercurial habe ich dokumentiert und stelle es der Öffentlichkeit unter grml.org/mercurial/ zur Verfügung.
Ich spiele mich gerade ein wenig mit Ruby. (Murphee, du bist mit ‘Tipping the scale: The Ruby features that make the difference‘ nicht ganz unschuldig! ;-)) Um meine Gedanken zu ordnen hier ein bisserl Brain-Dumping…
Interessante Debian-Pakete:
irb: Interactive Ruby (irb) rails: MVC ruby based framework geared for web application development rdoc: Generate documentation from ruby source files ri: Ruby Interactive reference (ri) ruby-pkg-tools: Tools for building Debian Ruby packages ruby1.9-examples: Examples for Ruby 1.9 rubybook: the "Programming Ruby" book rubygems: package management framework for Ruby libraries/applications vim-ruby: Vi IMproved - enhanced vi editor - with Ruby support
Als Vim-Verfechter habe ich natürlich vim-ruby (die Vim-Version mit Ruby-Scripting-Support, siehe ‘:help if_ruby’) installiert. In vim-ruby.rubyforge.org hab ich reingeschnuppert, tut soweit mal. Weiteres Vim-Tuning habe ich aber noch nicht vorgenommen. Kurz reingeschnuppert habe ich auch in RDT, eine Ruby-Erweiterung für Eclipse. Sieht soweit sehr nett aus, ich kann aber mangels Praxis-Erfahrung noch nicht wirklich was dazu sagen.
Unbedingt kennen sollte man auch irb. irb steht für ‘interactive ruby’ und ist quasi eine interaktive Shell für Ruby. Gerade für einfaches Herumspielen finde ich irb ganz nett, hier ein Auszug aus der ~/.irbrc der kommenden grml-Release:
# we want to be able to use tab-completion in irb: require 'irb/completion' ARGV.concat [ "--readline", "--prompt-mode", "simple" ] # we want to get a history file of our session: module Readline module History LOG = "#{ENV['HOME']}/.irb-history" def self.write_log(line) File.open(LOG, 'ab') {|f| f < < "#{line}\n"} end def self.start_session_log write_log("\n# session start: #{Time.now}\n\n") at_exit { write_log("\n# session stop: #{Time.now}\n") } end end alias :old_readline :readline def readline(*args) ln = old_readline(*args) begin History.write_log(ln) rescue end ln end end Readline::History.start_session_log # simple prompt? # IRB.conf[:PROMPT_MODE] = :SIMPLE # prompt for easy copy/paste? start with irb --prompt xmp IRB.conf[:PROMPT][:XMP][:RETURN] = "\# => %s\n"
(Äh ja, diesen fehlplatzierten Smiley in der Konfig macht WordPress hinein. Fragt mich nicht, wieso es so einen Schmarrn in einer pre-Umgebung macht… soll natürlich ein Doppelpunkt mit einem anschliessenden ‘o’ sein….)
Das Buch Programmieren mit Ruby hab ich mir ausgeborgt (danke, Karl!), Programming Ruby, ‘The Pragmatic Programmer’s Guide’ hab ich mir vor kurzem gekauft und ist meine aktuelle Abendlektüre. Sehr netter Schreibstil! Nicht uninteressant wirkt auch Ruby Cookbook, allerdings hab ich vorerst schon genug Leselektüre. ;-)
Interessante Webseiten:
Update: rubygems ist ab jetzt in Unstable zu finden (und wird somit wohl Teil von Debian etch). Vor ein paar Tagen bin ich über die Bookmarks von Murphee auf RubyNode aufmerksam gemacht worden. Heute hab ich mir die Zeit genommen, Ruby 1.8.5 selbst zu kompilieren damit ich RubyNode testen kann:
RubyNode is a library that allows read only access to Ruby’s internal NODE structure. It can retrieve the node trees of methods and procs and it can use Ruby’s parser to parse Ruby source code strings to node trees.
Karl, danke fürs Kommentar, natürlich gehört Ruby-on-Rails (Debian-Paket: rails) auch erwähnt.
Hab ich was vergessen? Sollte ich noch etwas kennen? Bitte melden! :-)
% apt-cache show mathomatic:
Mathomatic implements most of the rules of algebra for the mathematical operators +, -, *, /, and power (including roots). . Mathomatic can symbolically: - Solve equations; - Completely simplify equations; - Differentiate; - Do sensitivity and finite series analysis; - Combine and solve simultaneous algebraic equations; - Do complex number and polynomial arithmetic; - Generate efficient "C" code.
Thanks for the pointer, schula.
Wer diese Nachricht liest hat schon Zugriff auf meinen neuen Server. Bisher hatte ich nur einen virtuellen Rootserver, der eigentlich sehr fein lief (danke, Robert!), aber ich hatte nur 64MB RAM zur Verfügung. Das war mit Streicheleinheiten zwar machbar, aber für mehrere Domains mit doch nicht ganz so wenigen Zugriffen (michael-prokop.at, grml.org, linuxtage.at,…) und den dahinterstehenden Services (Apache, Apache-SSL, Postfix, MySQL,…) auf Dauer einfach zuwenig. Speziell wenn auf heise eine neue grml-Release angekündigt wird… ;-)
Um die Fragen gleich vorweg zu nehmen: ich bin jetzt seit ein paar Wochen Kunde bei Hetzner. Ich hab über das Rescue-System von Hetzner ein Software-RAID in den DS3000 eingezogen, LVM und vserver sind auch in Betrieb. Bis auf ein paar Domains von Freunden ist die Serverumstellung komplett. Soweit bin ich mit dem Rootserver und dessen Preis-/Leistungsverhältnis zufrieden. An einigen wenigen Tagen gab es in den frühen Abendstunden via SSH eine spürbare Latenz, aktuell läuft es aber ohne Probleme. Die meisten Kritikpunkte von Marcs Rootserver-Test von Hetzner treffen bei mir glücklicherweise nicht zu, auch der Stromausfall im RZ6/7 hat mich dankenswerterweise nicht erwischt (mein Server steht im RZ5).
Ich hoffe der Server läuft auch in Zukunft so fein, wie er es in der mehrwöchigen Testphase getan hat. Wer etwaige Probleme feststellen kann, möge sich bitte bei mir melden, danke.
Heute, am 1. Oktober wird in Österreich der Tag des Kaffees gefeiert (in Deutschland war er am 29. September). In Wien gibt’s ein "Kaffee-Programm", für Graz habe ich auf die Schnelle nichts dergleichen gefunden. Die Daheimschlürfer lesen halt nebenbei mal die Kaffee-Seite in der Wikipedia. ;-)
Ach ja, am 9. Oktober ist der Fair Trade Tag des Landes Steiermark.
In Top 10 Shell-Kommandos wurde es mir erst so recht bewusst, dass einige meiner Systeme identische Hostnamen haben: grml. Ja, das ist suboptimal. Das hat aber einen simplen Hintergrund: das ist jener Hostname, den der Installer der besten Distribution per Default vorschlägt. ;-)
Ergo bin ich jetzt auf der Suche nach witzigen, interessanten, netten Hostnamen. Diese möchte ich in grml2hd (den Installer von grml) als Random-Wert einbauen. Aktuell habe ich 46 Zeilen in der Hostnamen-Datei, das gehört aber geändert. Wer sich also verewigen möchte: postet eure Vorschläge in den Kommentaren, schreibt mir eine Mail (mika [at] grml.org) oder meldet euch im IRC (#grml auf Freenode). Das Ergebnis stelle ich dann auch gerne online.
Update: danke für die rege Anteilnahme! Wir haben jetzt 380 mehr oder weniger nette Hostnamen. Das Resultat ist einem Skript namens random-hostname zu finden, das jetzt auch in grml2hd zum Einsatz kommt.
Just feeding google in case someone has same problems…
Today I once more installed Debian (etch, kernel 2.6.17-2-686) via debootstrap using grml. The system has a ‘MegaRAID Model: LD 0 RAID1 19G Rev: 6.61’ inside and whereas grml booted without any problems, Debian failed with some timeout and FW messages during bootup, like:
megaraid mailbox: wait for FW to boot
Solution: I took a look at the module list of grml (lsmod) and added the relevant stuff to the modules file of Debian’s initramfs-tools:
# cat /etc/initramfs-tools/modules [...] firmware_class mptbase mptscsih mptspi megaraid_mbox megaraid_mm
After rebuilding the initrd the Debian installation booted without any further problems. (Notice: I’m already in contact with initramfs-tools maintainer maks so we can investigate and fix the issue upstream.)
Unable to change virtual machine power state: The process exited with an error: End of error message.
Thanks, VMware!
Weil’s grad irgendwie so Mode ist, hier auch mein Listing der ‘Top 10 Shell-Kommandos’:
mika@grml ~ % print -l -- ${(o)history%% *} | uniq -c | sort -nr | head -n 10 793 mv 703 grep 677 cd 617 vim 537 ls 388 cat 366 scp 353 rm 268 wget 247 dpkg mika@grml ~ %
Das also war meine Workstation, und das hier ist auf meinem Laptop:
mika@grml ~ % print -l -- ${(o)history%% *} | uniq -c | sort -nr | head -n 10 363 rm 362 ls 275 mplayer 274 cd 251 cat 216 scp 185 vim 174 grep 167 wget 166 mv mika@grml ~ %
Anmerkungen: meine Workstation läuft 24/7 und ist damit eigentlich ein Server. Auf meinem Laptop nutze ich suspend:
mika@grml ~ % uptime 19:33:03 up 8 days, 6:06, 0 users, load average: 2.36, 2.44, 1.91
(äh ja, da baut gerade ein neues grml-ISO) und die meisten Applikationen laufen halt entweder im Dauerbetrieb oder werden in der Konsole via screen bzw. in X via Tastenkürzel gestartet. Der Output ist deswegen nur bedingt aussagekräftig. ;-)
Persönliches Fazit: ich brauch noch ein paar Shellfunktionen/-aliase mehr, und ich sollte meinen Rechnern endlich mal ordentliche Hostnamen geben. *grml*
Tobias Klauser – a grml team member – created inotail. Quoting the README of inotail:
inotail is a replacement for the ‘tail’ program found in the base installation of every Linux/UNIX system. It makes use of the inotify infrastructure in recent versions of the Linux kernel to speed up tailing files in the follow mode (the ‘-f’ option). Standard tail polls the file every second by default while inotail listens to special events sent by the kernel through the inotify API to determine whether a file needs to be reread.
Grab the Debian package either from the webpage of inotail or if you are a grml user just run ‘apt-get update ; apt-get install inotail’. Enjoy and please report feedback to Tobias!
Im wahrsten Sinne des Wortes: ‘Last night a grml saved my life‘ – von Jörn. Danke, YMMD – definitiv.