Archiv ‘Linux’

Mittwoch, 14. März 2007

Fritz!Box-Traffic mit cacti aufzeichnen

Da habe ich mich heute kurzerhand dazu entschlossen, meinen IPCop-Router (Pentium 90 auf einem Asus P5A-B – bald ein Museumsstück!) durch die hier herumgammelnde Fritz!Box Fon 5012 zu ersetzen, doch – schreck lass nach – das Ding bringt natürlich keinen SNMP-Support mit sich. Was nun?

UPnP?

Nun gut, was sich hinter UPnP genau verbirgt, lese ich ein andermal nach. Jedenfalls scheint dieses Protokoll/Feature von Natur aus sehr geschwätzig zu sein, was den Traffic anbelangt. Ein findiger Linux-Hacker hat denn auch schon ein kleines, aber hochstehendes Shell-Scriptlein programmiert, das MRTG (der Vorfahre von rrdtool, auf das cacti exzessiv zurückgreift) „füttert“:

Monitoring Fritz!Box With MRTG

Bastelstunde

Was wäre eine schicke Linux-Anwendung, wenn man nicht auch hier etwas Hand anlegen und Feintuning betreiben müsste (vom Grundkonzept her zu vergleichen mit Alpinisierern und Brabierern)? Damit das Scriptlein auch mit cacti zusammenspielt, habe ich den Shell-Output folgendermassen umgebogen:

...
# output for mrtg
printf "IN:${b1:-UNKNOWN} OUT:${b2:-UNKNOWN}\n"
#printf "%s\n%s\n%d days %.2d:%.2d:%.2d h (online)\nFritz!Box\n" \
#  "IN:${b1:-UNKNOWN}" "OUT:${b2:-UNKNOWN}" "${h% *}" "${h#* }" "${m#* }" "${s#* }"
...

Nachtrag

Der 32bit-Counter generiert im Laufe der Zeit einen Overflow und kehrt sich ins Negative. Das bringt cacti/rrdtool leider gehörig draus, obwohl dieses Verhalten gerade bei Traffic-Messungen zur Tagesordnung gehört.

Folgender Einschub korrigiert den Effekt:

if [ "$b1" -lt "0" ]; then
        c1=$[ (-4294967296 - $b1) * -1 ]
else
        c1=$b1
fi

if [ "$b2" -lt "0" ]; then
        c2=$[ (-4294967296 - $b2) * -1 ]
else
        c2=$b2
fi

Die auszugebenden Variablen müssen danach noch im Abschnitt #output for mrtg angepasst werden:

printf "IN:${c1:-UNKNOWN} OUT:${c2:-UNKNOWN}\n"

Integration in cacti

Damit kann man nun eine neue Datenquelle anlegen und daraus einen Graphen generieren lassen. Ich empfehle, bei der Erstellung des Graphen ‚Interface (bytes/sec)‘ zu wählen.

Man versieht sich darauf hin kaum, und die Graphen sprudeln wieder. Schick, nicht wahr?

Tags:
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 11. März 2007

TerminGenius!

Um Sitzungen auf der Arbeit besser planen zu können, habe ich mich vor einigen Jahren spontan dazu entschlossen, ein PHP-Script zu schreiben, das mir die Online-Termin-Umfrage ermöglicht (genannt „Terminfinder“). Mit der Zeit kamen einige Inputs von den Benutzern hinzu und mit Version 2.0beta wurde das Produkt in „TerminGenius!“ umbenannt.

Auf Wunsch von Stefan Oberwahrenbrock habe ich meine OSS-Applikation TerminGenius! um eine wichtige Funktion erweitert: Zur Erleichterung des Entscheides wird nun zusammengezählt, wie viele Leute an einem bestimmten Tag können.

eMeidi.com – Quelloffene Software

Weiterhin viel Spass bei der Suche nach einem Termin, der allen passt *smile*

PS: Wer sich nicht mit der Installation von PHP-Scripts auf einem Web-Server herumschlagen will, benutze Doodle.

Tags: ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 11. März 2007

Flirtbriefli


Flirtbriefli
Originally uploaded by emeidi.

Eindeutiges Zeichen, dass man sich bereits zu lange mit Unix-Betriebssystemen herumschlägt: Die Zahl 640 kommt einem sehr vertraut vor:

-rw-r-----

Noch Fragen? *smile*

(Das Kleberli habe ich anlässlich der im Orvis zu Ende gefeierten Geburiparty von Randal aufgedrückt erhalten – im Gegensatz zu Melä, die ebenfalls einen ähnlichen Kleber auf sich trug, habe ich kein Briefli erhalten).

Tags:
Labels: Funny, Linux

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 7. März 2007

Mit arpwatch auf mehreren VLANs lauschen

Dieser Artikel entspricht einem E-Mail, das ich im August 2006 den Informatikdiensten meines Arbeitgebers übermittelt habe.

Guten Tag

Vor einiger Zeit habe ich eine Anfrage an Sie gestellt, wie es mit den neuen Switches und VLAN möglich ist, mit einem physischen Gerät auf mehreren Subnetzen zu lauschen. Ich benötige diese Funktionalität für meinen arpwatch-Server, der mich über Aktivitäten unserer Netzwerk-Geräte informiert (IP-Wechsel, MAC-Adressen-Wechsel, neue Geräte etc.)

Mit dem Wechsel des Gebäudes in das VLAN 38 funktioniert der Server nun wie gewünscht. Im Anschluss eine kurze Anleitung für Debian Linux:

Voraussetzungen

  • Debian Linux mit Kernel 2.6.15-1-686 (es traten Probleme mit Kernel 2.6.8 auf – die Konsole wird mit Fehlermeldungen vollgespammt)
  • Modul 8021q resp. 802.1q-Funktionalität in Kernel einkompiliert
  • Package vlan (apt-get install vlan); u.a. mit dem Tool vconfig zur manuellen Erstellung von Interfaces
  • Netzwerk-Anschluss, auf den mehrere VLAN-IDs gemappt sind ([…]).

/etc/network/interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.0.2
        netmask 255.255.255.0
        broadcast 192.168.0.255

auto eth0.38
iface eth0.38 inet static
        address 130.92.38.76
        netmask 255.255.255.0
        network 130.92.0.0
        broadcast 130.92.38.255
        gateway 130.92.38.1
        dns-nameservers 130.92.9.51 130.92.9.52
        pre-up /sbin/vconfig add eth0 38

auto eth0.40
iface eth0.40 inet static
        address 130.92.40.6
        netmask 255.255.255.0
        network 130.92.0.0
        broadcast 130.92.40.255
        pre-up /sbin/vconfig add eth0 40

auto eth0.152
iface eth0.152 inet static
        address 130.92.152.6
        netmask 255.255.255.0
        network 130.92.0.0
        broadcast 130.92.152.255
        pre-up /sbin/vconfig add eth0 152

Das Laden dieser Einstellungen wird zwar von Fehlermeldungen begleitet, aber es scheint trotzdem zu klappen (?).

/etc/arpwatch.conf

# /etc/arpwatch.conf: Debian-specific way to watch multiple interfaces.
# Format of this configuration file is:
#
# 
# 
#...
# 
#
# You can set global options for all interfaces by editing
# /etc/default/arpwatch

#eth0   -m root+eth0
#eth1   -m root+eth1

eth0            -N -n 130.92.0.0/16 -m mario.aeby@domain.tld
eth0.38         -N -n 130.92.0.0/16 -m mario.aeby@domain.tld
eth0.40         -N -n 130.92.0.0/16 -m mario.aeby@domain.tld
eth0.152        -N -n 130.92.0.0/16 -m mario.aeby@domain.tld

[…]

Mit freundlichem Gruss
Mario Aeby

Mario Aeby
IT-Verantwortlicher & Web-Developer

Departement Klinische Forschung
Murtenstrasse 35
CH-3010 Bern

Tags:
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 10. Februar 2007

Erste Schritte mit Openfiler


No Program Associated
Originally uploaded by emeidi.

Auf der Arbeit sind wir netzwerktechnisch ein Entwicklungsland: File-Server? Nada. Domäne mit Active Directory? Neumodisches Zeugs. Erst in letzter Zeit erreichen die Datenmengen aber ein kritisches Mass und der Zugriff auf selbe Daten über das Netzwerk wird immer mehr nachgefragt.

Bisher waren die wenigsten willig, einen Server anzuschaffen, weshalb man sich darauf beschränkte, Dateien zwischen Clients auszutauschen – mit allen Fallstricken und Unzulänglichkeiten (heterogene Umgebung: Mac OS X, Windows 2000, Windows XP Home, das nur die störende „einfachen Dateifreigabe“ mitbringt, Windows XP Professional). Nach einer gewissen Zeit mit dieser suboptimalen Lösung sind Entscheidungsträger bald bereit, etwas „brauchbareres“ auf die Beine zu stellen: Den eigenen File-Server.

Für mich ist klar, dass so etwas (jedenfalls auf die Software bezogen) möglichst wenig kosten sollte. Und so kommt man hier um Linux nicht herum, wenn man sich nicht mit Microsoftschen CALs oder einem Hardware-Zwangskauf bei Apple herumschlagen möchte.

Obwohl ich Debian bevorzuge, würde diese Distribution – wie viele andere auch – einiges an Handarbeit von mir verlangen. Ausserdem wäre ein GUI in diesem Falle von Vorteil, damit ich gewisse administrative Aufgaben (das Erfassen von Benutzern, das Ändern von Passwörtern) an die Gruppenverantwortlichen abgeben könnte. Ich hoffe nur, das sich mich so nicht in den Schlamassel reite …

Jedenfalls informierte ich mich überblicksartig über die momentane Marktsituation an Open-Source NAS-Software und wurde doppelt fündig:

  • FreeNAS – basierend auf FreeBSD
  • Openfiler – basierend auf CentOS/rPath Linux
  • Nachtrag: NASLite – rudimentär; die benötigten Features (User-Management, Quota etc.) fehlen in der kostenlosen Version

Entschieden habe ich mich der Lektüre einiger Blog-Beiträge für Openfiler, da es dort als „reifer“ als FreeNAS charakterisiert wurde. Ausserdem wäre es von Vorteil, wenn der TSM-Client installiert werden könnte. Von diesem habe ich nur Linux-RPMs.

Tücken bei der Installation

Zuerst einmal erstaunte mich, dass das Booten ab der Installationsdisk keinerlei Probleme bereitete (Kernel 2.6.x erkannte den Intel SATA-Controller ohne Mühe).

Leider schweigt sich der Installer aber bei der Partitionierung über das richtige vorgehen aus. Wer – wie ich bei diesem Kleinprojekt – nur eine fette Festplatte im Rechner sitzen hat, kommt um eine manuelle Partitionierung nicht herum. Führt man die automatische Einteilung der Festplattenbereiche aus, gibt es später keinen Platz zum Erstellen der Volumengruppe(n) (/ belegt dann neben der /boot und SWAP-Partition einfach den übrigbleibenden Platz). Deshalb hier mein Rat:

  • /boot – 100MB
  • / (Root) – 4096MB
  • SWAP – 1024MB

conary updateall

Wer denkt, dass die Installations-Disk bereits alle nötigen Programme und Einstellungen enthält, täuscht sich. Will man mit Openfiler so richtig loslegen, muss das System nun zuerst noch über das Internet „aktualisiert“ werden. Hierzu ruft man den Befehl

conary updateall

auf.

Proxy?

Wer wie ich hinter einem Proxy sitzt, beisst sich die Zähne aus, wenn er das Einmaleins der Proxy-Konfiguration unter Linux nicht oder nur ungenügend kennt. Wichtig ist vor dem Ausführen obigen Befehls, eine Umgebungsvariable zu setzen:

export http_proxy="http://proxy.domain.tld:80/"

Wobei ich zuerst vergass, den export auszuführen. Das setzen der Variable alleine bringt noch nichts, sie muss auch noch exportiert werden (was auch immer das bedeutet/bewerkstelligt).

Lokaler LDAP

conary updateall bewirkt, dass unter Services nun plötzlich noch einige neue Einträge dazukommen, unter anderem auch LDAP. Dies benötigt man, um eine selbständige (= lokale) Benutzerverwaltung aufzusetzen.

Folgende Einstellungen müssen unter Services > LDAP Settings gemacht sein, bevor man den Service unter Services mit Enable aktivieren kann:

Base DN:       dc=openfiler,dc=nas 
Root bind DN:  cn=Manager,dc=openfiler,dc=nas 
Root Password: ***

Wer will, dass die Benutzer über dieselbe, aber etwas abgespeckte Web-Oberfläche ihr Passwort ändern können, aktiviert zudem Allow users to set password.

Danach wechselt man auf Account > Authentication und gibt folgende Angaben ein:

[X] Use LDAP

                    [ ] Use TLS
Server:             127.0.01 
Base DN:            dc=openfiler,dc=nas 
Root bind DN:       cn=Manager,dc=openfiler,dc=nas 
Root bind password: ***
                    [X] Login SMB server to root DN

[ ] Use Windows Domain controller and authentication

...
Domain / Workgroup: WORKGROUP
...

(Das Häkchen bei Login SMB server to root DN ist nach einem Reload nicht mehr gesetzt, LDAP scheint aber trotzdem zu funktionieren).

Wie hiess mein Share noch gleich?

Beim Erstellen von Shares sollte man darauf achten, bei Override SMB share name den gewünschten Namen einzutragen (bei mir steht in diesem Formular drei Mal dasselbe). Ansonsten werden die Namen der Shares aus dem Volumennamen zusammengesetzt (bspw. \\192.168.0.1\main.staff.Test).

GUI und Usability

Die Oberfläche kommt auf den ersten Blick aufgeräumt daher. Die Einteilung der Rubriken erscheint (grösstenteils) logisch, die Bedienung ist simpel. Manchmal ist die Aufteilung dennoch verwirrend:

Die Einstellung für die Samba-WORKGROUP suche ich vergebens unter Services > SMB Settings. Dort kann man vieles einstellen, das aber nicht. Ich versuche dann, per SSH auf File-Ebene die Vorlagen-Datei zu suchen und die Workgroup dort manuell einzutragen. Das schlägt leider fehl, anscheinend wird die gefundene Datei nicht zur Generierung der smb.conf herangezogen.

Erst am zweiten Tag entdecke ich in einem Forumsbeitrag den wesentlichen Tipp: Diese Einstellung ist unter Authentication zu machen, so unlogisch es klingt. Zwar habe ich dort LDAP aktiviert, die Einstellungen unter Active Directory werden aber dennoch berücksichtigt; jedenfalls, wenn man dort eine Workgroup setzt.

Auch ist die starke vertikale Aufteilung störend. Eine horizontale Leiste mit Buttons würde die Bedienung (teilweise!) optimieren. Komisch finde ich zuweilen, dass mal Buttons, mal normale HTML-Links als Befehle daherkommen. Eine gewisse Konsistenz wäre hier von Vorteil.

Ein kurzer Blick auf den (PHP-)Code

Naja … Umwerfend finde ich ihn nicht gerade, den PHP-Code (ich habe mir zwei Files angeschaut). Ob das durchgehend so ist, entzieht sich aber meiner Kenntnisse. Aber es scheint jedenfalls zu funktionieren.

Kleine Community

Verglichen mit Debian oder PHP verfügt Openfiler über keine grosse, aktive Nutzergemeinde, die sich gegenseitig unterstützt. Es gibt ein (schlecht besuchtes) Forum sowie eine Mailingliste, auf der sich das Geschehen moderat in Grenzen hält.

Bugs

  • Home-Directories für die Benutzer werden nicht erstellt, obwohl diese Option unter Services > SMB Settings aktiviert wurde. Leider konnte mir bei diesem Problem noch niemand helfen. Nachtrag: Der Fehler wurde mittlerweile gefunden. Wer es wagt, legt Hand an das entsprechende PHP-Script an und hardcodet die Variable in die entsprechende Zeile.
  • Zugriffsprobleme mit Windows 2000 (vgl. Screenshot). Mit Windows XP und Mac OS X klappte alles vorzüglich. Was war das Problem? Windows 2000 scheint mit einem fehlenden Workgroup-Namen mächtig ins Straucheln zu geraten. Sobald die Workgroup eingetragen war, liessen sich die Shares (\\192.168.0.1\Share) resp. der Überblick über die Shares (\\192.168.0.1) ohne Komplikationen anzeigen. Mysteriös!

Tags:
Labels: Linux

1 Kommentar | neuen Kommentar verfassen

Dienstag, 6. Februar 2007

Inflight Entertainment Systems run Linux


DSCF0655.jpg
Originally uploaded by emeidi.

Gesehen habe ich das auf der dänischen Ännes (mein Kosename am Ende der Reise: „die laute Änne“) Screen. Es blieb genug Zeit, ein „Screenshot“ zu machen – danach löste eine nette Flight Attendant einen Reboot dieses Terminals aus.

Heute nun kam ich auf diesen Schnappschuss vom November 2006 zurück, als ich via reddit.com (das bessere Digg?) auf ein ähnliches Bild stiess:

linux linux everywhere

Als ich soeben Ännes Fehlermeldung transkribierte …

svc: bad direction 2020176320, dropping request
Launching /engine.cram/airsurf
c00ed
svgalib: Signal 11: Segmentation fault received
Segmentation fault

Please press Enter to activate this console.

… liess es mich nicht locker und ich bemühte Google, um etwas über /engine.cram/airsurf zu erfahren. Und siehe da, ein andere Geek hat tatsächlich bereits in seinem Blog darüber berichtet:

During the 12 hour flight I was hoping to watch “March of the Penguins” but had to put up with watching “Reboot of the Penguins” instead – the flight attendants mentioned that this is not an isolated incident.

Quelle: Flying with the BSOP (Black Screen of Penguin)

Und hier noch der direkte Link auf das Photo:

Cathay Pacific CX888 Linux Inflight Entertainment System CRASH

Übrigens: Das IES von Swiss im Airbus A340 (LX041) gefiel mir sowohl optisch als auch in der Benutzerführung deutlich besser als dasjenige von ANA in der Boeing 747 (NH-210) …

Nachtrag: Die Software in den Inflight-Systemen ist nicht über alle Zweifel erhaben …

Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Montag, 13. November 2006

bibtool unter Mac OS X kompilieren

Was habe ich mir eben die Zähne ausgebissen: Wenige Stunden vor meiner bevorstehenden Reise nach Japan wollte ich mein MacBook derart herrichten, dass es meine in LaTeX geschriebene „Diskussionsgrundlage“ für das diessemestrige Seminar korrekt ausgibt (so bin ich etwas flexibler und könnte das Dokument – WLAN im Land der aufgehenden Sonne vorausgesetzt – später versenden als geplant).

Das Problem

Leider hatte ich auf meinem PowerMac nur eine PPC-Version von bibtool herumliegen (ich konnte mich noch knapp daran erinnern, dies eigenhändig aus den Sourcen kompiliert zu haben). Unter Mac OS X 10.4 Tiger brach aber bereits das configure-Script ab:

checking for tcl configuration file... configure: warning: not found. Ensure that a properly installed tclsh is on your path.
configure: error: ./configure failed for BibTcl

Die Lösung

Bei einem kurzen Vergleich mit dem anscheinend funktionierenden Binary auf meinem PowerMac entdeckte ich den kleinen Unterschied in den Versionen: Die configure-Meldung erschien beim konfigurieren von Version 2.46, auf dem PowerMac war aber eine „2.48alpha“ installiert.

Nach einer kurzen Suche fand im Package-Verzeichnis von Debian die gesuchte Version und lud mir mit dem Link [bibtool_2.48alpha.2.orig.tar.gz] die Quellen herunter.

Und siehe da – dieses Mal funktionierte die Konfiguration auf Anhieb. Ich vermute, dass sich die Debian-Package-Maintainer der „wüsten“ configure-Datei angenommen haben. Nötig scheint es durchaus zu sein: Auf einer Mailingliste beschwert sich ein Profi wortreich:

[…] the configure script is not well constructed nor well
documented, as it provides no way to turn support for certain things
(like Tcl) completely off and does not tell you wether they can
actually *be* turned off or not… But I think you also realized this
during your trails. Apart from that, the developer seems unaware of the
existence of Mac OS X, as through out the scare documentation he makes
no mention of it as one of the UNIX (or UNIX like, however you may have
it) operating systems where BibTool has been tested, and then proceeds
to give some Macintosh installation instructions which smell pre-X (Mac
OS 9, 8, 7, etc) to me. So, given this state of affairs, it is no
wonder to me the package just flat out fails to even configure on Mac
OS X…!

Quelle: MacOSX-TeX Digest #842 – Sunday, November 16, 2003

Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 7. November 2006

apache2: php4 als Modul, php5 als CGI (Parallelbetrieb)

Im Netz gibt es eine Menge „How-Tos“ zu diesem Thema, weshalb ich hier primär auf diese ausführlichen Anleitungen verweisen möchte:

MySQL

Wer php5 mit MySQL sprechen lassen möchte, achtet darauf, dass er

./configure ... --with-mysql=/usr/include/mysql ...

angibt. Bei mir war noch die Installation von

apt-get install libmysql-dev

nötig, um mysql.h zu erhalten.

php5 mit .htaccess aktivieren

Wer nur in einzelnen Verzeichnissen php5 laufen lassen möchte, erstelle folgende .htaccess-Datei:

Action application/x-httpd-php5 /cgi-php/php
AddHandler application/x-httpd-php5 .php

In der /etc/apache2/httpd.conf steht als Ergänzung:

<Directory /usr/local/php5/bin>
Options ExecCGI
AllowOverride None
</Directory>

ScriptAlias /cgi-php/   /usr/local/php5/bin/

Natürlich treten Konfigurationsänderungen an der httpd.conf erst in Kraft, nachdem man folgenden Befehl ausgeführt hat:

apache2ctl graceful

Wenn sich apache2 über mangelnde ‚Action‘ beschwert:

.htaccess: Invalid command 'Action', perhaps mis-spelled or defined by a module not included in the server configuration

tut man gut daran, in /etc/apache2/mods-enabled einen Symlink zu erstellen:

ln -s ../mods-available/actions.load

Nun sollten Scripts in diesem Verzeichnis und dessen Unterverzeichnissen mit dem CGI von php5 geparst werden.

Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 24. Oktober 2006

Wenn es update-initramfs zu eng wird …

… könnte man beim nächsten Reboot des Debian GNU/Linux-Servers eine böse Überraschung erleben. Wie ich heute Nachmittag:

Es war wieder mal an der Zeit, ein

apt-get upgrade

durchzuführen. Folgende Fehlermeldung beunruhigte mich keinesfalls, was sich als fahrlässig herausstellte:

Setting up initramfs-tools (0.83) ...
update-initramfs: Generating /boot/initrd.img-2.6.17-2-686
W: mdadm: unchecked configuration file: /etc/mdadm/mdadm.conf
W: mdadm: please read /usr/share/doc/mdadm/README.upgrading-2.5.3.gz .
I: mdadm: auto-generated temporary mdadm.conf configuration file.
I: mdadm: will start all available MD arrays from the initial ramdisk.
I: mdadm: use `dpkg-reconfigure --priority=low mdadm` to change this.

gzip: stdout: No space left on device
dpkg: error processing initramfs-tools (--configure):
 subprocess post-installation script returned error exit status 1

(Im Grunde bestand kein Anlass, den Server zu rebooten – aber irgendwie liess mich die Fehlermeldung dann doch nicht locker).

Prompt kam die Kiste nicht mehr hoch. Der Grund:

VFS: Cannot open root device "888" or unknown-block(8,8)
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on unknown-block(8,8)

(die Fehlermeldung habe ich aus dem Netz kopiert, bei mir stand etwas sehr ähnliches …)

Zum Glück hatte ich noch meinen alten 2.4er-Kernel rumliegen, der anstandslos bootete. Ein Blick auf die Partitionen offenbarte das Übel:

ALPHA:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda6             958M  879M   30M  97% /
udev                   10M  116K  9.9M   2% /dev
devshm                507M  4.0K  507M   1% /dev/shm
/dev/sda1              16M  0  0  100% /boot
/dev/sda7              92M  4.1M   83M   5% /tmp
/dev/sda9             942M  493M  402M  56% /home
/dev/sdb1             4.2G  3.1G  938M  77% /var
/dev/md0              459G  247G  189G  57% /multimedia

Kein Wunder, dass update-initramfs abkrachte. Zurück blieb ein halbfertiges Ramdisk-Image. Glücklicherweise war die vorangehende Version auch unter /boot zu finden – soweit ich mich erinnern kann mit einem .dpkg-bak am Ende. Schwuppdiwupp, das verkrüppelte Image gelöscht, das alte unbenannt und schon kam die Kiste auch wieder mit dem 2.6er Kernel hoch.

Dennoch war mir nicht wohl dabei – alles schien reibungslos zu funktionieren, doch aus einem bestimmten Grund musste ja das Image neu erstellt werden. Ich entschied mich deshalb, das Image erneut zu generieren, stellte aber vorher sicher, dass im /boot-Verzeichnis dieses Mal genügend Platz vorhanden war. Dann ging’s los:

ALPHA:/boot# dpkg-reconfigure linux-image-2.6.17-2-686
Running depmod.
Finding valid ramdisk creators.
Using mkinitramfs-kpkg to build the ramdisk.
W: mdadm: unchecked configuration file: /etc/mdadm/mdadm.conf
W: mdadm: please read /usr/share/doc/mdadm/README.upgrading-2.5.3.gz .
I: mdadm: auto-generated temporary mdadm.conf configuration file.
I: mdadm: will start all available MD arrays from the initial ramdisk.
I: mdadm: use `dpkg-reconfigure --priority=low mdadm` to change this.
Not updating initrd symbolic links since we are being updated/reinstalled 
(2.6.17-9 was configured last, according to dpkg)

Ob es gefruchtet hat? Ich hoffe es. Beim nächsten Test-Reboot klappte alles wie am Schnürchen. Falls ich einmal Zeit habe, nehme ich mich auch noch der mdadm-Fehlermeldungen an (RAID10).

Guet Nacht!

Nachtrag

Vielleicht hat Kollege Liechti wirklich recht: Heute „klepfe“ man bei einer Linux-Installation alles auf eine Partition, rät er … Ich überleg’s mir mal.

Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Freitag, 20. Oktober 2006

Linux-Server klonen und Hostnamen anpassen

Vor etwa zwei Wochen habe ich mir auf der Arbeit einen Debian Linux-Server klonen lassen, der unter VMWare ESX läuft. Den Klon habe ich dann für andere Aufgaben angepasst – nur ein grosses Problem hatte ich bis heute: Mails kamen mit dem alten Hostnamen daher.

Selbstverständlich hatte ich den Hostnamen in /etc/hostname gleich nach dem Klon-Vorgang geändert. Ein Reboot änderte aber nichts an der Sache, dass die Mails der Cron-Jobs immer noch den Absender des alten Servers trugen. Woran konnte das liegen?

Die nächsten paar Tage machte ich mir keine Gedanken mehr, bis mir heute die zündende Idee kam, doch einmal die exim4 Konfiguration anzuschauen. Und siehe da, dort fand sich der alte Hostname weitere zwei Male erwähnt. In der Datei /etc/exim4/update-exim4.conf.conf (kein Typo, was haben sich die Debian-Entwickler wohl dabei gedacht?) müssen folgende Zeilen auch noch angepasst werden:

...
dc_other_hostnames='domain.tld'
dc_readhost='domain.tld'
...

Danach noch ein

/etc/init.d/exim4 restart

und das Testmail

echo "Test" | mail -s "Test" "name@server.tld"

kam endlich mit korrektem Absender an.

Labels: Linux

Keine Kommentare | neuen Kommentar verfassen