Articles tagged "linux"

12. Chemnitzer Linux Tage

        * **R. Richter: Git ist MacGyver - Kernelsourcen mit Git verwalten**

Es ist ja schön, wenn man Leute findet, die @kernel.org-E-Mail-Adressen haben und dann auch noch über ein Kernel-nahes Projekt vortragen. Nur leider zeigte sich hier, dass nicht jeder Techniker dafür geschaffen ist, Vorträge zu halten. Vom Git-Einsteiger bis -Profi sollten alle bedient werden. Und das geht einfach in 45 Minuten nicht. Hätte er sich auf seine "Cool stuff"- und "Git and Linux"-Folien beschränkt (und die ausführlich gemacht), hätte es wirklich gut werden können. Aber so: Guter Vorsatz, schlecht umgesetzt.

        * **H. Schlittermann: DNSSEC - Sichere Namensauflösung im Internet**

TSIG, DNSSEC, KSK, ZSK - viele Begrifflichkeiten, wenig Verwirrung, viel "so läuft der Hase". Meiner Meinung nach ein sehr guter Vortrag, um einmal den Einstieg in die Tiefen von DNS (hier: die Sicherheit der Daten) zu bekommen. Für mich als Techie hätte das sicherlich noch technischer sein dürfen, aber im Großen und Ganzen bin ich mit dem Überblick und Einstieg sehr zufrieden.
Folien: DNSSec-Vortrag.pdf

        * **P. Dickten: Einführung in CouchDB**

Das Grundkonzept der CouchDB war mir aus einem Tutorial geläufig, ich erhoffte mir hier wohl etwas zu viel. Die absoluten Basics wurden breit und ausführlich erklärt, als es dann aber interessant wurde (Replikation, Views, Map&Reduce;) musste der Referent sich bereits sputen. Aus seiner Anspielung ("... damit ich nicht wieder mit Gewalt aus dem Raum bzw. von der Bühne gezogen werden muss...") war zu entnehmen, dass er schon bei anderen Vorträgen in Zeitprobleme kam. Schade, denn genau das, was letztendlich durchgehetzt wurde, wäre das wirklich interessante gewesen und hätte vielleicht (auch mir) mal aufzeigen können, wo CouchDB besser geeignet ist als eine SQL-Datenbank

        * **S. Schwarzer: Robustere Python-Programme**

Für jemanden, der gelegentlich Python programmiert, sicher ein sehr interessanter Vortrag von Anfang bis zum Ende. Für mich waren manche Folien weder neu, noch die Vorschläge "robust", doch da auch dies interessant und mit einer Prise Witz vorgestellt wurde, ein durchgängig nett anzuhörender Vortrag.

(Persönliches) Fazit des Samstag Vormittag: Ich sollte häufiger Abstracts der Vorträge lesen ;-)

        * **A. Wirt: Single-Sign-On mit Kerberos**

Was passiert laut Murphey, wenn man in seinem Vortrag auf Netz angewiesen ist? Richtig! Es geht natürlich genau dann nicht ;-) War ein wenig doof, weil sich so einiges an Zeit, welche für den praktischen Vortrag gedacht war, leider nicht mehr zur Verfügung stand. Positiv ist, dass alle Informationen dieses Vortrags und auch die Vorgehensweise in ein Wiki überführt werden sollen, damit auch andere ihre Erfahrung einbringen können

        * **P. Heinlein: Dovecot: Warum man keinen anderen IMAP-Server haben will**

Langsam sollte ich aufhören, in Vorträge von Peer zu gehen ;-) Eine unterhaltsame Zeit ist zwar garantiert, aber viele seiner Aussagen, Meinungen und Aufstellungen kenn ich nun halt doch schon. Letztendlich war's eine unterhaltsame Marketing-Veranstaltung für Dovecot - inkl. praktischem Anteil, sprich eine "Live-Installtion" des selben.

Sonntag

        * **S. Andres: Einführung in die Virtualisierung mit kvm, qemu und libvirt**

Klassischer Fall von "Guter Vortrag, aber nicht für mich". Dass ich den Titel des Vortrags nicht vollständig wahrgenommen habe ("Einführung..."), schieb ich jetzt mal auf noch fehlenden Kaffee ;-)

XFS gegen Ext4

Im Rahmen eines "Festplatten-Upgrades" habe ich auch gleich mal auf neue Filesysteme umgestellt. Dabei ist meine Root-Partition nun mit Ext4 formatiert, genauso wie meine Home-Partition.

Der erste Eindruck von Ext4: WOW!

Die Geschwindigkeit im Gegensatz zu XFS ist beeindruckend. Der Start von Iceweasel/Firefox geht gefühlt 10x so schnell wie vorher.

Allerdings dürfte ich die Zeit jetzt beim Backup-Erstellen wieder aufbrauchen, so ganz traue ich dem Frieden hier noch nicht ;-)

Chemnitzer Linux Tage 2009

Samstag

    * **Sören Sprenger - GPL Telefonanlage Gemeinschaft**

Nette Übersicht über die Features, die das Projekt bietet und ein paar Screenshots, was man alles mit der Web-Oberfläche machen kann. Ich hätte mir etwas mehr Technik bzw. Abgrenzungen zu anderen Lösungen, die auch Asterisk einsetzten, gewünscht.

    * **Gerhard Galsterer - Ethernet und Mobilfunk, zwei Welten begegnen sich**

Kompakter Überblick über Probleme und Möglichkeiten, die beim Verbinden zweier Ethernet-Segmente via Mobilfunk existieren. Für mich zu wenig Linux-Verbindung, mich hätte schon interessiert, was an Software auf den Boxen läuft - und natürlich, was für Hardware da überhaupt drin steckt.

    * **Ralf Spenneberg - Praktische SELinux Anwendung: Kiosk-Modus für Gäste**

Super Start, um mal ein bisschen in SELinux reinzuschnuppern! Guter Vortrag, guter Inhalt, viel rübergebracht! TOP! Und es war wohl auch der Startschuss, dass ich mich wirklich mal etwas da einlese/einarbeite. Sinngemäßes Zitat: "Sie denken, Sie können SELinux nicht einsetzten, weil Sie es nicht verstehen? Aber den Linux-Kernel verstehen Sie, ja? ;-) SELinux verbietet nur Dinge, die bisher erlaubt waren - nicht andersrum -, es wird also nur 'besser'."

    * **Prof Dr. Peter Trommler - OFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE**

Im Linux-Magazin war vor kurzem schon ein Artikel dazu und gerade die Tatsache, dass man eben nichts am Server installieren muss, macht dieses Offline-FS so interessant. Bisher ist wohl eher ein Prototyp entwickelt worden, aber trotzdem werde ich das demnächst mal austesten ;-)

    * **Martin Schütte - Syslog nach RFC**

Klingt irgendwie interessant, wie das ganze funktionieren soll, nur ob man das wirklich will, sei mal dahingestellt. Wenn mir jemand in den Syslog-Server "spucken" kann, ist er eh schon in meinem Netz (evtl. sogar auf dem Rechner) und wieso sollte er dann nicht mit den Möglichkeiten, die man so auf einer UNIX-Büchse hat, Log-Meldungen verschicken?!?

    * **David Roetzel: Systemkonfiguration managen mit Puppet**

Ui, heftiges Thema. Die Config-Files sehen halbwegs brauchbar aus, auch wenn es definitv schöner gehen würde. Ist wohl der Tatsache geschuldet, dass es in Ruby programmiert ist ;-). Naja, ich denke man muss das System mal antesten, sich selbst am Riemen reißen, dass man es so macht, wie es Puppet will und dann darf man urteilen. Was mich allerdings nachdenklich stimmt ist die CPU-Zeit, die der Master wohl so zum "Client-Config-Compiliere" braucht - wenn ich das richtig verstanden habe.

    * **Karl Uwe Lockhoff: Einsatz von NetBSD auf minimaler Hardware**

Ziemlich theoretischer Vortrag, wie man NetBSD kleiner machen kann um es eben auf kleiner/alter Hardware als Mini-Server laufen lassen kann. Ich hätte das ganze etwas praktischer, bzw. mit "echten" Configs, besser gefunden.

Sonntag

    * **Peter Eisentraut - Spaß mit PostgreSQL**

Hmm, was soll ich sagen? Inhalt gut, am Vortragsstil fand ich noch Optimierungspotential. Die Sachen, die man mit PostgreSQL machen kann, sollte man auf jeden Fall mal austesten, schließlich ist es fast egal, was z.B. die eingebundenen "Funktionen" machen

    * **David Kastrup - Lua, eine kompakte Erweiterungssprache**

Eigentlich bin ich von David ja echt gute Vorträge gewohnt. Leider hat er sich wohl letzte Nacht etwas... "überhoben" und ist zu spät in's Bett bzw. den Schlafsack gekommen. Letztendlich gleiches Fazit wie beim PostgreSQL-Vortrag: Inhalt top, Vortrag flop :-(

    * **Hans-Jürgen Schönig - PostgreSQL: Aktuelle Entwicklungen**

Schade, leider zu spät gekommen und so eine echt gute Show (und auch guten Inhalt!) teilweise verpasst! Schön zu sehen, dass man auch solche Vorträge nicht nur bierernst rüberbringen kann, sondern dass auch hier der Spaß ganz weit vorne stehen kann. Der unüberhörbare österreicher Akzent tat dann sein übriges ;-)

CeBIT 2009 - mit mir

Dieses Jahr hat's mich auch mal erwischt. Ich bin auf der CeBIT 2009.

Wer Lust hat, kann mich ja in Halle 6, Stand G41 (rechter Teil von Heinlein) mal besuchen. Teamix stellt u.a. Nagios aus und ich halte auch täglich einen Vortrag darüber.

Wer uns nicht findet, einfach nach den roten oder türkis Shirts ausschau halten ;-)

NFSv4 verringert Latenzen gegenüber NFSv3 (insbesondere über WLAN)

Kurz zu meiner Motivation:

Weil ich es lieben und schätzen gelernt habe, auf vielen/allen Rechner das gleiche Home-Verzeichnis zu haben, liegt bei mir zu Hause /home auf meinem Server. Dies wird dann von den diversen anderen Rechner per NFS (bisher V3) gemountet.

Meine Workstation ist aufgrund der Lage in der Wohnung per WLAN mit dem Server verbunden, was an sich kein Problem ist (die Geschwindigkeit reicht vollkommen aus, vielleicht mal beim DVD brennen nervt's - wenn das Image auf dem Server liegt).

Allerdings gibt es ein paar Programme, die IMHO viel zu häufig auf das Dateisystem zugreifen, dazu gehört eben Firefox/Iceweasel. Das Ergebnis war, dass man bis zu 3 Sekunden warten musste, bis sich ein neues Tag geöffnet hat - grausam! Versuche mit lokalem Home-Verzeichnis und Firefox/Iceweasel bzw. NFS-Home und Opera haben gezeigt, dass es eindeutig an dieser Kombination lag.

Da ich mich vor längerer Zeit auch schon mal beruflich mit NFSv4/NFS4 auseinander gesetzt habe und daher wusste, dass genau diese vielen Round-Trips zwischen Server und Client reduziert wurden, dachte ich mir, probier's doch "mal einfach schnell aus". Pustekuchen! Leider gibt's zu viele Anleitungen, die auf alten Ständen aufsetzen und nicht funktionieren. Deswegen hier eine Lösung für Debian/Lenny (NFS-Tools 1.1.2).

    1.

Vorbereitung IDMAP - Server & Client
NFSv4/NFS4 arbeitet auf der Leitung nicht mehr mit User-IDs, sondern mit "User-Strings", welche wie E-Mail-Adressen aussehen. Dazu gibt's den (rpc.)idmapd, welcher die Umsetzung auf beiden Seiten vornimmt.

% cat >/etc/idmapd.conf <<EOF
[General]

Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = homenfs.domainname.local

[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup

    2.

Server einrichten
Benötigte Pakete installieren:

root@server% aptitude install nfs-kernel-server

Anlegen der neuen Export-Struktur:

root@server% mkdir -p /exports/{home,data}

Dauerhafter Bind-Mount der zu exportierenden Verzeichnisse:

root@server% cat >>/etc/fstab <<EOF
/home /exports/home none bind 0 0
/data /exports/data none bind 0 0
EOF

Exportieren der neuen Struktur:

root@server% cat >>/etc/exports <<EOF
/exports 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash,fsid=0,crossmnt)
/exports/home 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
/exports/data 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
EOF

Starten der NFS- und IDMAP-Dienste:

root@server% /etc/init.d/nfs-common restart
root@server% /etc/init.d/nfs-kernel-server restart

    3.

Client einrichten
Benötigte Pakete installieren:

root@server% aptitude install nfs-common

Dauerhaftes Mounten der Verzeichnisse:

root@client% cat >>/etc/fstab <<EOF
server:/home /home/ nfs4 defaults 0 0
server:/data /data/ nfs4 defaults 0 0
EOF
root@client% mount -a

    4.

Glücklich sein
Man merkt zwar immernoch einen kleinen Unterschied zwischen lokalem und NFS-Home-Verzeichnis, aber das nur gelegentlich. Auf jeden Fall kann man nun auch wieder mit Firefox/Iceweasel gut arbeiten ;-)

cat ~/.gitconfig

[alias]
br = branch
st = status
log1 = log --pretty=oneline --abbrev-commit
rlog = log --pretty=format:\"%h %Cblue%cr%Creset %an %Cgreen%s%Creset\"
[color]
ui = auto
[color "branch"]
current = "yellow bold"
local = cyan
remote = "red bold"
[color "diff"]
new = cyan
old = magenta
frag = yellow
meta = green
commit = normal
whitespace = "white reverse"
[color "status"]
changed = yellow
added = magenta
untracked = "blue bold"
nobranch = "red bold"

Asus WL500g Premium, DD-WRT, Linux - Teil 2

mkdir /jffs/etc
mkdir /jffs/etc/config
cd /jffs/etc/config

cat usb.startup

chmod +x usb.startup

wget http://www.wlan-sat.com/boleo/optware/optware-install-ddwrt.sh -O - | tr -d '\r' > /tmp/optware-install.sh
cd /tmp
sh ./optware-install.sh

Asus WL500g Premium, DD-WRT, Linux - Teil 1

Bereits einige Zeit liegt bei mir ein Asus WL500g Premium (oder WL500gP), der eigentlich nur darauf wartet, seine Aufgabe zu übernehmen. Jetzt habe ich mir dann mal vorgenommen, das originale Firmware-Image "kaputt" zu machen, damit ich mich endlich mal mit dem Kistchen genauer beschäftigen muss ;-)

Schritt 1: DD-WRT einspielen
Nach einigem hin und her habe ich für meinen Router-Liebling DD-WRT entschieden. Nachdem ein Kollege auf dem selben Modell einfach ein Debian installiert hat, wäre das wohl die zweite Alternative. Allerdings wollte ich schon länger etwas ausprobieren, was sich OptWare nennt. Das Prinzip ist einfach: Software für das NSLU2 von Linksys compiliert, aber so, dass es unterhalb von /opt liegt. Und angeblich soll das auch mit DD-WRT funktionieren.

Man findet im Netz mehr oder minder haarsträubende Beschreibungen, was man alles tun muss, um auf das weiße Kästchen initial ein DD-WRT draufzubekommen. Aber es geht auch einfach:

    * Download der aktuellen Software von [der Downloadseite von DD-WRT](http://www.dd-wrt.com/dd-wrtv3/dd-wrt/downloads.html). Ich hab als erstes ein [Mini-Image (v24sp1)](http://www.dd-wrt.com/dd-wrtv2/downloads/v24-sp1/Consumer/Asus/WL500g-Premium/dd-wrt.v24_mini_generic.bin) draufgeflasht, bei anderen Routern wird das empfohlen und bei manchen hat es anders auch nicht funktioniert

Wenn man aber schon auf der Seite ist, kann man sich auch gleich noch das Standard-Image (v24sp1) oder sogar das Mega-Image (v24-sp1) herunterladen. Ich nutze aktuell das Mega-Image, da ist alles (fast) drin, was ich brauche und noch mehr (siehe auch den Vergleich der verschiedenen Images)

    * `aptitude install tftp` installiert die notwendige Software zum Flashen


    * Network-Manager und ähnliche Dinge auf dem Rechner ausschalten. Die automatische Konfiguration spuckt immer wieder dazwischen, deswegen macht man das von Hand:

root@linux:/tmp> ifconfig eth0 192.168.1.23/24 dev eth0 up
root@linux:/tmp> ifconfig eth0 192.168.1.23/24 dev eth0 up # Zur Sicherheit nochmal...
root@linux:/tmp> tftp 192.168.1.1
tftp> verbose
tftp> trace
tftp> binary
tftp> put dd-wrt.v24_mini_generic.bin # noch NICHT ENTER drücken!

    * Strom aus dem Asus ziehen, mit einem Stift den Reset-Taster (das ist der versenkte, NICHT der der raussteht!) gedrückt HALTEN(!) und Strom wieder anstecken.

Nach ca. 10 Sekunden hat bei mir die Power-LED geblinkt. In div. Mailings liest man allerdings, dass es auch mal 20 oder 30 Sekunden dauern kann (oder nur 5...)

    * Jetzt im tftp-Client Return drücken, man sollte sehen, wie viele Pakete Richtung Asus geschickt werden.

Wenn er fertig ist, Ruhe bewahren... lasst den Router zur Sicherheit einfach 2-3 Minuten stehen.
Dann allerdings sollte ein ping 192.168.1.1 zeigen, dass der Router wieder erreichbar ist.

    * Mit einem Web-Browser geht man dann auf das Web-Interface http://192.168.1.1, ändert das Passwort und... Willkommen bei DD-WRT ;-)


    * Unter "Administration" -> "Firmware Upgrade" kann man nun bequem das oben heruntergeladenen Standard- oder Mega-Image einspielen>br />

Da der Asus ja etwas mehr Flash besitzt, kann man diesen unter "Administration" -> "Management" -> "JFFS2" mit "JFFS2: Enable" und "Clean JFFS2: Enable" (einmalig!) mit anschließendem Reboot benutzbar machen.

    * Da ich eine 2,5"-USB-HD an das Gerät packen möchte, habe ich auch noch unter "Services" -> "Services" die Einstellungen für "Core USB support", "USB2.0 support", "USB storage support" und "ext2/ext3 FS support" eingeschalten. Das geht Out-of-the-Box nur mit dem Mega-Image, sonst muss [man selbst Hand anlegen.](http://www.dd-wrt.com/wiki/index.php/USB#USB_drivers)

Update!
Nachdem ich es selbst nicht beachtet habe und beinahe einen Router gebrickt hätte, nochmal der Hinweis: Nach dem Flashen lasst den Router ein paar Minuten einfach in Ruhe stehen! NICHT Strom abziehen oder ähnliches! Warten!

Rsync mit restricted SSH-Keys

Rsync wird ja gerne im Zusammenspiel mit SSH verwendet, um Daten zu syncen bzw. Backups zu machen. Mehr als nur "häufig" habe ich dabei bisher gesehen, dass dies mit SSH-Keys ohne Passphrase eingerichtet wurde. Soweit nichts schlimmes dabei. Wenn dann allerdings die SSH-Verbindung auf "root" geht und der Key nicht in seiner Funktionalität eingeschränkt wird, wird's unschön. Deswegen hier eine kleine (undokumentierte) Step-by-Step-Anleitung zum Einrichten von Rsync-über-SSH mit kastriertem Key.


0. Ausschalten des SSH-Agents
MASTER:

svelt@MASTER:~ % unset SSH_AGENT_PID
svelt@MASTER:~ % unset SSH_AUTH_SOCK

1. Erzeugen des neuen Keys
MASTER:

svelt@MASTER:~ % ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/svelt/.ssh/id_rsa): /home/svelt/.ssh/rsync_rsa
Enter passphrase (empty for no passphrase): ENTER
Enter same passphrase again: ENTER
Your identification has been saved in /home/svelt/.ssh/rsync_rsa.
Your public key has been saved in /home/svelt/.ssh/rsync_rsa.pub.
The key fingerprint is:
49:25:af:f7:16:a4:eb:b7:5b:66:07:37:7c:85:0c:84 svelt@MASTER

2. Kopieren des Keys auf den Server
MASTER:

svelt@MASTER:~ % ssh-copy-id -i .ssh/rsync_rsa svelt@BACKUP.DOMAIN.de
0
Password: PASSWORT
Now try logging into the machine, with "ssh 'svelt@BACKUP.DOMAIN.de'", and check in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

3. Initialer rsync mit dem Key
MASTER:

svelt@MASTER:~ % rsync -avv -e 'ssh -i /home/svelt/.ssh/rsync_rsa' Doku svelt@BACKUP.DOMAIN.de:tmp/
opening connection using ssh -i /home/svelt/.ssh/rsync_rsa -l svelt BACKUP.DOMAIN.de rsync --server -vvlogDtpr . tmp/
building file list ...
16 files to consider
delta-transmission enabled
Doku/
[...]
total: matches=0 hash_hits=0 false_alarms=0 data=1977241

sent 1978440 bytes received 324 bytes 1319176.00 bytes/sec
total size is 1977241 speedup is 1.00

4. Setzen des "command" in der authorized_keys
BACKUP:

svelt@BACKUP:~ % cat .ssh/authorized_keys
ssh-rsa AAAA...T7XQ== svelt@MASTER

svelt@BACKUP:~ % vi .ssh/authorized_keys

4a. Aus obigem rsync-Aufruf ableiten

Vorher: % rsync -avv -e 'ssh -i /home/svelt/.ssh/rsync_rsa' Doku svelt@BACKUP.DOMAIN.de:tmp/
Nachher: % rsync -a -e 'ssh -i /home/svelt/.ssh/rsync_rsa' Doku svelt@BACKUP.DOMAIN.de:tmp/

4b. Genau wissen wollen
BACKUP:

svelt@BACKUP:~ % cat .ssh/authorized_keys
command="set | grep SSH >/tmp/XXX" ssh-rsa AAAA...T7XQ== svelt@MASTER

MASTER:

svelt@MASTER:~ % rsync -a --delete -e 'ssh -i /home/svelt/.ssh/rsync_rsa' Doku svelt@BACKUP.DOMAIN.de:tmp/
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(453) [sender=2.6.9]

BACKUP:

svelt@BACKUP:~ % cat /tmp/XXX
BASH_EXECUTION_STRING='set | grep SSH >/tmp/XXX'
SSH_CLIENT='194.150.191.251 35877 22'
SSH_CONNECTION='194.150.191.251 35877 194.150.191.2 22'
SSH_ORIGINAL_COMMAND='rsync --server -logDtpr --delete . tmp/'

=> siehe SSH_ORIGINAL_COMMAND

5. authorized_keys setzen
BACKUP:

svelt@BACKUP:~ % cat .ssh/authorized_keys
command="rsync --server -logDtpr --delete . tmp/" ssh-rsa AAAA...T7XQ== svelt@MASTER

6. Testen
MASTER:

svelt@MASTER:~ % rsync -a --delete -e 'ssh -i /home/svelt/.ssh/rsync_rsa' Doku svelt@BACKUP.DOMAIN.de:tmp/
svelt@MASTER:~ % echo $?
0

MASTER:

svelt@MASTER:~ % touch Doku/FIXME
svelt@MASTER:~ % rsync -avv --delete -e 'ssh -i /home/svelt/.ssh/rsync_rsa' Doku svelt@BACKUP.DOMAIN.de:tmp/
opening connection using ssh -i /home/svelt/.ssh/rsync_rsa -l svelt BACKUP.DOMAIN.de rsync --server -vvlogDtpr --delete . tmp/
building file list ...
done
Doku/
Doku/FIXME
total: matches=0 hash_hits=0 false_alarms=0 data=0

sent 439 bytes received 48 bytes 324.67 bytes/sec
total size is 1977241 speedup is 4060.04

Again and Again: Fixing SuSE 10.3

Die QA bei SuSE hat mal wieder versagt - und ich wundere mich, warum ich Courier-IMAP mit SSL (und den POP3-SSL) nicht ans laufen bekomme.

Könnte man Scripten, die man einbindet (automatisches Erzeugen von Zertifikaten, wenn noch keines existiert) nicht einfach mal testen? Angefangen von den Pfaden zu openssl, über den Pfade zu den PEM-Files kann da eigentlich gar nix klappen.

Anbei ein kleines Shell-Snippet, welches per sed die entscheidenden Stellen wieder geradezieht.

(M)Eine Konfigurationsdateien für Mutt

Ich wurde ja schon häufiger darauf angesprochen, wie ich denn eigentlich meine Mails lese bzw. wie ich mutt konfiguriert habe.

Allgemein vorausgeschickt sei, dass alle Dateien bei mir im Homeverzeichnis unter ~/.mutt/ liegen. Dazu gibt es dort ein _var-Verzeichnis, um dort Dateien abzulegen, die ich nicht im VCS haben will.

Als erstes die allgemein Config, die auch gelesen wird, wenn ich mutt mal anders (z.B. um mit mutt -f archiv.mbox ein MBox-File zu lesen) aufrufe:
Download muttrc

ignore *
unignore from: subject to cc message-id mail-followup-to date user-agent x- newsgroup

alternates -group GRUPPE1 REGEXP-FUER@ABSENDER.1DE

subscribe -group LISTE LISTE@ADRES.SE

source "~/.mutt/alias"

set alias_file="~/.mutt/alias"
set autoedit=no
set attribution="%n wrote:"
set charset="locale | grep -qi utf-8 && echo utf-8 || echo iso-8859-15"
set certificate_file="~/.mutt/_var/certificates"
set edit_headers=yes
set editor="vim +/^$"
set envelope_from=yes
set fast_reply=yes
set header=yes
set header_cache="~/.mutt/_var/headercache/"
set honor_followup_to=yes
set include=yes
set index_format="%4C|%Z|%2N|%[%y%m%d-%H%M]|%-20.20L|%?l?%4l&%4c?|%s"
set maildir_mtime=yes
set mark_old=no
set mask=""
set move=no
set pager_context=1
set pager_index_lines=9
set postpone=ask-no
set postponed="~/.mutt/_var/postponed"
set print_command="/usr/bin/xpp"
set realname="ECHTER NAME"
set rfc2047_parameters=yes
set save_history=100
set history_file="~/.mutt/_var/history"
set signature="~/.signature"
set sort=date
set sort=reverse-score
set use_8bitmime
set use_from=yes

my_hdr X-Operating-System: uname -a|sed "s/\#/\\\#/"

score ~F 10
score ~O 20
score ~N 50

color header brightgreen default ^From:
color header brightcyan default ^To:
color header brightcyan default ^Reply-To:
color header brightcyan default ^Cc:
color header brightwhite default ^Subject:
color header brightred default ^Delivered-To:
color header brightyellow default ^Newsgroups:

color index brightyellow default ~N
color index yellow default ~O
color index magenta default ~D
color index brightwhite magenta ~F
color index black white ~T

folder-hook . set sort=threads

folder-hook "INBOX|Unsure" set sort=date
folder-hook "INBOX|Unsure" set sort=reverse-score

macro compose 1 "ECHTER NAME \n"
macro compose 2 "ECHTER NAME \n"

vim: ft=muttrc

Für IMAP(S)-Server allgemein habe ich auch eine Config angelegt, da ich auf mehr als nur einen IMAP(S)-Server zugreife:
Download common.imap

set folder_format="%2C|%t%5N|%f%> |%d"
set imap_check_subscribed=yes
set imap_idle=yes
set imap_keepalive=30
set imap_list_subscribed=yes
set maildir_mtime=no
set record="=INBOX.Sent/"

vim: ft=muttrc

Natürlich will man sich nicht alle E-Mail-Adressen merken, deswegen gibts alias

alias kurzname Vornamen Nachname

Und last but not least die Config-Datei, mit der ich mutt normalerweise aufrufe ( mutt -F ~/.mutt/server1 bzw. ein alias in der Shell darauf). Wie schon gesagt, da ich auf mehrere Mail-/IMAPS-Server zugreife, gibt's diese Datei unter mehreren Namen bei mir.
Download server1

source "~/.mutt/muttrc"
source "~/.mutt/common.imap"

set folder="imaps://USERNAME@IMAPS.SERVER/"
set from="ABSENDER1@ADRES.SE"
set record="=INBOX.Sent/"
set signature="~/.signature"
set smtp_url="smtps://USERNAME@IMAPS.SERVER/"
set spoolfile="=INBOX.IN"

set pgp_sign_as="GPG_ID_HERE"

send-hook . 'set from="ABSENDER2@ADRES.SE"'
reply-hook .
'set from="ABSENDER2@ADRES.SE"'

send-hook '~C LISTE@DOMAIN.DD' 'set from="ABSENDER3@ADRES.SE"'
reply-hook '~C LISTE@DOMAIN.DD' 'set from="ABSENDER3@ADRES.SE"'

vim: ft=muttrc

Chemnitzer Linux Tage

Und wieder einmal sind sie vorbei: Die Chemnitzer Linux Tage 2008. Wenn auch weniger Besucher als im letzten Jahr dürfen sich die Veranstalter wieder über ein gelungenes Wochenende freuen! Hier mal ein kurzer Rückblick auf besuchte Vorträge:

*

Rene Schickbauer / Embedded Scripting - Flexiblere Software mit eingebautem LUA-Scripting
Ein grober Überblick, was LUA eigentlich ist. Leider ging's nicht so tief rein bzw. wurde an den interessanten Stellen nicht weitergemacht, was mir persönlich nicht viel gebracht hat.

*

Stefan Kluge / Open Content: Chancen fuer Low Budget-Filmproduktionen
Inhalt ist das Eine, die Vortragsart was anderes: Das Theme war eigentlich interessant, leider hatte der Vortragende eine recht einschläfernde Stimme, sodass ich mich nicht wirklich auf seine Ausführungen konzentriert habe.

*

Dr. Volker Jaenisch / Wie schnell ist schnell? Performance-Analyse unter Linux
Wahrscheinlich der beste Vortrag am ganzen Wochenende. Spontan fiel mir zu diesem Votrag wieder ein: "Wer misst, misst Mist!". Gute Ideen und ein paar gute Tipps für Tools mitgenommen. Wenn evaluiert, werde ich hier darüber berichten.

*

Alexander Schreiber / Ganeti - OpenSource Xen Cluster
Nett zu sehen, was Google sich so über Xen (oder jede andere Virtualisierungslösung) so drübergestrickt hat - mehr aber auch nicht.

*

Reiner Rottmann / Virtualisierung auf drei Ebenen mit dem Diskless Shared Root Cluster
Leider hab ich zu spät gesehen, woher der Referent kommt - die Firma ist, nicht nur bei mir, durch ihre Marketing-Vorträge bekannt :-(

*

Peer Heinlein / Spam mal anders: Wie arbeiten eigentlich Spammer, wie verdienen sie und wer sind sie?
Der lustigste Vortrag am Wochenende. Als Untertitel hätte man auch "Wie kannst Du ab morgen Geld verdienen? NOT!!1!" nehmen können

*

Peer Heinlein / Drei IMAP-Server im Vergleich: Courier, Cyrus & Dovecot
Kurzes Fazit: Nimm Dovecot, wenn Du neu einsteigst - schau ihn Dir genau an, wenn Du Courier hast.

*

Martin Schütte / CRM114 als SpamAssassin-Plugin
Die Vorstellung von CRM114 war gut, leider erschließt sich mir bis heute nicht mehr, warum ich SA noch brauchen sollte.

*

David Kastrup / Das verteilte Versionskontrollsystem git im Gebrauch
Leider war David etwas durch den Wind, ich hab schon wesentlich bessere Vorträge von ihm gesehen. Vom Inhalt her interessant für Neulinge und auch ich hab einige interessante Punkte mitgenommen.

*

André Przywara, Andreas Herrmann / Mythen und Fakten über 64bit Linux
Leider nix wirklich Neues, könnte aber auch daran liegen, dass die beiden von AMD selber kamen und das wirklich Negative schlicht und einfach verheimlichen ;)

*

Sven Guckes / Zsh - Schneller auf der Kommandozeile
Wunderbar! Der Vortrag mit den mit Abstand am meisten Mitschriften auf meiner Seite! Und wieder einige Anstuppser mitgenommen, dafür gehe ich auf solche Events. Top!

Bei Golem gibt's auch noch einen netten Abriss über das Wochenende in Chemnitz

Samba erlebt neuen Aufwind...

... zumindest hab ich grad ziemlich stark diesen Eindruck. Ich bin jetzt innerhalb von 4 Tagen fünf mal nach Samba-Geschichten gefragt worden bzw. habe mitbekommen, wie jemand was dazu wissen wollte.

Für alle Samba-Neulinge bietet sich das Buch von John Terpstra an: Samba 3 By Example - gibt's unter diesem Namen auch auf totem Baum (aka" "als gedruckter Buch"), man muss dann aber auf die aktuellen Updates verzichten, die Online regelmäßig miteingepflegt werden.

Wenn man dann schon etwas weiter ist, und spezielle Fragestellungen hat, darf man auch mal einen Blick in die Samba HOWTO Collection (The Official Samba 3.2.x HOWTO and Reference Guide) werfen. Man kann sich das vorne-nach-hinten-durchlesen hier allerdings sparen - es ist eine Sammlung von Know-How und ist damit eher ein Nachschlagewerk.

Viel Spaß damit! g

PS: Nein, Samba 4 ist noch nicht soweit und Samba kann auch noch kein Controller für eine ADS sein ;-)

LUG-Camp 2008: Jetzt anmelden!

Muss einfach mal sein... die Flensburger richten ja dieses Jahr wieder das LUG-Camp aus. Und deswegen sollte man sich auch dringend anmelden! Und zwar direkt auf der richten, aktuellen LUG-Camp Seite.

An Programm ist dieses Jahr neben der schon fast obligatorischen Brauereibesichtigung bei den Flens-Flaschen und dem Tag-der-Offenen-Hallentür auch die Möglichkeit ein Schwimmabzeichen zu machen! Also, bitte mitsingen: "Pack die Badehose ein, nimm' Dein kleines Notebooklein..." ;-)

Clowns im Unix-System

Eigentlich wollte ich nur das Encoding kontrollieren. Aber dann:

`

file Nagios3.txt

Nagios3.txt: ISO-8859 text, with very long lines
`

Nein, ich weiß nicht, ab wann das very da reinkommt ;-)

  1 2 3 »