Tag Archives: Debian

HowTo: DSL-Router loggt zu rsyslog auf Debian Wheezy

Gestern schrieb ich, wie ich mal eben schnell Daten sammle wie oft mein Router sich neu verbindet. So ganz elegant ist das nicht, weil es quasi am Router vorbei geschieht und der Router ja selbst am besten weiß, was er tut. Das vorliegende Modell kann den Output seines syslog an einen anderen Server schicken und da wertet man dann direkt die Logs aus, nur wie macht man das, wenn der Server ein rsyslog auf einem Debian Wheezy ist?

Zunächst aktiviert man mal die Funktion, dass der syslog überhaupt Nachrichten von anderen annehmen soll. Das passiert in /etc/rsyslog.conf und es sind die Zeilen auszukommentieren, die die entsprechenden Module laden.

Ich hab der Einfachheit mal beide aktiviert, weil ich nicht wusste, was der Router probieren wird. Dann wollte ich, dass alle Logmeldungen des Routers in einer Datei landen und nicht zwischen die normalen Log-Dateien des Systems mit dem rsyslog geraten. Wichtig ist, dass hier rsyslog 5.8.11 arbeitet und daher die Änderungen an der Config-File-Syntax bei v6 und höher, die upstream in der Doku beschrieben sind, noch nicht gelten. Mit ein bisschen manpage, HowTo, Wiki und dergleichen lesen und etwas Rumprobieren, habe ich dann folgendes in die neu angelegte Datei /etc/rsyslog.d/remote.conf geschrieben:

Ich schmeiße quasi alles, was nicht vom loghost “falbala” kommt, auf dem der rsyslog läuft, in einen Unterordner remote und in nach dem Host getrennt, wo es herkommt. Jetzt muss ich nur noch ein paar Tage Daten sammeln und dann hab ich ein bisschen Statistik in der Hand, die hoffentlich ausreicht damit mein ISP eine sofortige Kündigung akzeptiert …

Nachtrag: Damit das Log nicht irgendwann überläuft, empfiehlt es sich auch noch logrotate anzupassen. Ich habe dazu /etc/logrotate.d/rsyslog als Beispiel für eine separate /etc/logrotate.d/rsyslog-custom genommen und das dort eingetragen:

Deactivate Nautilus automount in KDE

Auf meinem Laptop (Samsung NC10) läuft zu meiner vollen Zufriedenheit ein Debian Squeeze mit KDE. Seit einiger Zeit wurde beim Anstecken externer Datenträger (USB-Stick, SD-Karte, …) derselbe automatisch gemountet und es wurde Nautilus geöffnet, der Dateimanager von Gnome. Dieses Verhalten hat mich ziemlich genervt, weil ich a) selbst entscheiden möchte, ob ich was mounten will oder nicht, so wie das bei KDE auch default ist und weil b) ein Dateimanager geöffnet wird, den ich eigentlich gar nicht benutze (bzw. benutzen will).

Bei der Recherche im Netz stieß ich auch folgenden Foreneintrag: newly installed KDE: don’t want Nautilus window when USB memory inserted. Die dort beschriebene Lösung funktioniert im Prinzip, nur halt wie dort bereits erwähnt, nicht genau so.

Ich habe dann das Paket gconf-editor installiert und den entsprechenden Editor gestartet. Die Keys hatten sich tatsächlich geändert, aber waren auffindbar:

Ich habe die Haken bei den Keys media_automount und media_automount_open entfernt und damit das von mir gewünschte Verhalten wieder hergestellt. :-)

Debian Squeeze Release Kuchen

Debian Squeeze ist veröffentlicht worden und zur Feier des Tages hab ich mal einen Kuchen mit Debian-Logo gebacken:

img_2503

Okay, war schon letztes Wochenende und ich war bisschen enttäuscht, dass niemand auf der Geburtstagsparty einer guten Freundin das Debian-Logo erkannt hat, aber der Kuchen war lecker und Debian rockt einfach und ist es wert mit Kuchen gefeiert zu werden!

IPv6 in Debian und Ubuntu deaktivieren

In Netzen, wo jemand anderes Admin ist, kann man sich nicht alles aussuchen, unter anderem nicht, wann auf IPv6 umgestellt wird. In einem speziellen Netz, bekam ich kürzlich die Bitte IPv6 bis auf weiteres zu deaktivieren. Was bei Windows XP ein Häkchen ist, erfordert unter Debian und Ubuntu je nach Version unterschiedliche Schritte. Die Informationen dazu im Netz sind vielfältig und widersprüchlich, daher hier nochmal meine Lösungen. Ob das jeweils geklappt hat, kann man mit ifconfig oder ip addr show überprüfen, auch ein netstat -lt sollte dann keine Dienste mehr zeigen, die auf IPv6 lauschen.

Debian 5.0 Lenny

‘ipv6’ ist hier noch ein Kernelmodul, es genügt ein Eintrag in der Datei /etc/modprobe.d/blacklist – vorausgesetzt, man verwendet den Distributionskernel 2.6.26, bei einem neueren Kernel aus den Backports sieht das ggf. schon aus wie bei Squeeze, hab ich jetzt hier nicht extra geprüft.

Debian 6.0 Squeeze

IPv6 ist hier direkt in den Kernel kompiliert. Es kann über sysctl deaktiviert werden. Laut /etc/sysctl.d/README.sysctl trägt man das am besten in /etc/sysctl.d/local.conf ein. Der Eintrag lautet wie folgt:

Ubuntu 10.04 Lucid

Hier verhält es sich ähnlich wie bei Debian Squeeze. Allein die Datei in /etc/sysctl.d bekommt hier einen anderen Namen. Laut /etc/sysctl.d/README soll sie so heißen:

End-users can use 60-*.conf and above

Ich hab die Datei 60-disableipv6.conf genannt, der Inhalt ist ebenso:

Logitech-HID mit Debian Sid

Nutzer der Unstable-Variante von Debian (auch als Debian Sid bekannt) bekommen ja bekanntlich regelmäßig Gratisabenteuer aus dem Bereich der Systemadimistration geschenkt; sozusagen ein Quest-Abo.

Problem des Tages: Einen Systemstart nach dem letzten Update funktionierten Bluetooth-Tastatur und -Maus von Logitech nicht mehr, in meinem Fall konkret das Dinovo-Set.

Ich habe häufiger Ärger mit Logitech unter Linux, meistens ließ sich das aber mit einem Reset des Bluetooth-Dongles1 beheben. Dieses Mal nicht, der Fehler war persistent.
dmesg, logs und Modulliste waren soweit korrekt, es war alles da, was für die Geräte gebraucht würde und es wurde laut lsusb auch alles erkannt. Nur funktionierte einfach nichts. $SUCHMASCHINE lieferte dafür auch keine weiteren Ergebnisse.

Letztendlich habe ich das Problem in den udev-Regeln2, speziell der Datei 70-hid2hci.rules gefunden. Dort steht in Zeile 15:

Ein kurzer Blick auf die Manpage zeigt, dass der Aufruf nicht korrekt ist. Ich habe die Zeile so abgeändert:

Seit dem funktionieren Tastatur und Maus wieder einwandfrei.

Die Regel deckt einen großen Bereich von Logitech-Produkten ab, das Problem tritt also wohl auch dort auf. Debian-Bugreport kommt dann später noch.

  1. Abziehen und wieder dranstecken. ;) []
  2. zu finden unter /lib/udev/rules.d/ []

HowTo: Auf Kanal 13 funken mit Debian

Unter uns sind neue Nachbarn eingezogen. Im Gegensatz zu den alten Nachbarn, verfügen diese über WLAN. Damit sind sie nicht die einzigen, im Funkspektrum tummeln sich hier ständig mindestens ein halbes Dutzend Funkzellen – kennt man vermutlich heutzutage aus jedem deutschen Mietshaus.

Grund genug für meinen Mitbewohner, den Kanal unseres WLAN-Access-Points mal in eine bisher wenig genutzte Region zu verschieben: Kanal 13. Nachtigall ick hör Dir trapsen, war da nicht mal was, mit Kanälen, die in den USA verboten sind, in Europa aber nicht? Muss wohl so sein, und da Debian ja fürsorglich ist, ist die Einstellung für USA default – obwohl, wenn man sich die Lösung ansieht, kann man Debian vermutlich nicht mal die Schuld in die Schuhe schieben.

Was also, wenn das Notebook jetzt nur Netze bis Kanal 11 anzeigt? Dann legt man unter Debian eine Datei in /etc/modprobe.d/ an. Wie die heißt, ist nicht so wichtig, bei mir heißt die wlan_EU.conf, auf .conf sollte sie wohl enden. Drin steht bei mir folgendes:

Eine Zeile, reicht aus. Die übergibt dem Kernelmodul cfg80211 beim Laden die passende Option und dann sind alle Kanäle sichtbar. An einigen Stellen im Weltnetz steht das “EU” noch in Anführungszeichen, also wenn’s ohne nicht klappt, dann vielleicht mit.

Xen: Debian Squeeze DomU in Debian Lenny Dom0

Aus der Reihe »Sonntag nachmittag für Frustrationstolerante« heute Folge 137 aus der Reihe »Virtualisierte Maschinen und freie Betriebssysteme«. Folgende Ausgangssituation: Server mit installiertem Debian Lenny als Xen Host (Dom0), es laufen diverse virtuelle Maschinen (DomU), unter anderem welche mit Debian Etch, eisfair-1, eisfair-2 und eben auch eine mit Debian Squeeze, dem aktuellen Testing-Zweig der Debian-Distribution. Bis auf die DomU mit eisfair-1 liefen alle virtuellen Maschinen bis dato mit dem Kernel 2.6.26-2-xen-686, der auch auf dem Host zum Einsatz kommt.

Vor einigen Tagen nun gab es in Debian Squeeze ein Update von udev 149 auf 150. Das Paket verweigerte dann aber die Installation mit dem Hinweis, dass der verwendete Kernel zu alt sei. Das war durchaus nervig, weil dadurch auch die Updates anderer Pakete nicht mehr eingespielt wurden, also hieß es: Kernel-Update.

Einfach mal schnell Kernel-Update gestaltete sich dann leider nicht so einfach. Debian hat Xen quasi aus der Distribution rausgeworfen bzw. bietet keine dedizierten Xen-Kernel mehr an. Gut, das ließ sich noch relativ problemlos lösen. Die Wahl fiel auf linux-image-2.6.30-bpo.2-686-bigmem von backports.org, denn dort heißt es:

This kernel also runs on a Xen hypervisor. It supports only unpriviledged (domU) operation.

Also fix den Kernel in der Dom0 installiert. DomU runtergefahren, Config angepasst, Kernelmodule ins Dateisystem der DomU kopiert, DomU gestartet und dann – nichts. Beim Hochfahren blieb die virtuelle Maschine einfach hängen, und zwar schon so früh im Bootprozess, dass ich keine Ahnung hatte, woran das lag.

Der nächste Schritt bestand dann darin eine weitere VM zum Testen aufzusetzen und die Suchmaschine der Wahl zu befragen. Ich weiß nicht, wo ich überall gelesen habe und was ich alles probiert habe. Am Ende funktionierte der Kernel, es waren nur Anpassungen an der Xen-Config notwendig, daher erstmal hier die Config und dann noch ein paar Kommentare dazu:

Wie man sieht, sind die Block-Devices, die in die VM gereicht werden, LVM Logical Volumes. Hier musste ich die Durchgereichten von /dev/sda* auf /dev/xvda* wechseln. Das hat definitiv mit dem verwendeten Kernel zu tun, der die Blockdevices nur noch dort ähm findet, oder so. Ich denke das war die entscheidende Änderung. In der mit »extra« beginnenden Zeile, habe ich die Angaben für die Xen-Konsole noch angepasst, irgendwo hatte ich gelesen, dass das jetzt hvc0 und nicht mehr xvc0 heißen muss. Die entsprechenden Änderungen an /etc/fstab und /etc/inittab innerhalb der virtuellen Maschine mussten natürlich auch noch vorgenommen werden, aber danach lief die DomU wieder und auch das Update von udev ließ sich problemlos einspielen. :-)

Coffee Connection: Netzwerkverbindungen mit Java im Debian Sid

Ein länglicher Titel für ein ärgerliches Problem mit kurzer Lösung:

Seit einigen Tagen mag sich Eclipse unter Debian Sid auf meinem Arbeitsnotebook nicht mehr mit dem Internet verbinden. Die Fehlermeldungen sind, je nach Modul, verschieden, laufen letztendlich aber immer auf etwas in der Form “Network noch reachable” hinaus. Erst dann fällt auch auf, wie oft ich doch bei der Entwicklung auf das Internet zugreife: Subversion und Maven funktionieren nicht mehr, Updates und das Einspielen von Plugins ist unmöglich und irgendwann – ein wichtiger Hinweis auf die Fehlerursache – stellte sich heraus, dass gar keine Java-Anwendung mehr Zugang zum Netzwerk hat.

Nachdem ich zunächst nach Fehlern bei Eclipse gesucht habe, war die Lösung nun recht nahe: Ein Blick in die Fehlerberichte für das Paket sun-java6-jdk zeigt den Bug #560044, der genau mein Problem beschreibt. Offenbar hält SUNs Java sich nicht an die Konventionen für den Umgang mit IPv4- und IPv6-Verbindungen, so dass IPv4 gar nicht mehr funktioniert.

Der Fehlerbericht enthält am Ende auch einen Workaround, der bei mir funktioniert: In der Datei /etc/sysctl.d/bindv6only.conf die Variable net.ipv6.bindv6only von 1 auf 0 setzen, und schon dürfen IPv6-Sockets auch IPv4-Pakete empfangen. [Update: Mit dem Aufruf invoke-rc.d procps restart muss die Konfiguration dann noch neu geladen werden.] Problem solved.

Nun muss dieser Bug nur noch unter dem Google-Query “Debian Eclipse network connection error” erscheinen, dann wäre er auch keinen Blogeintrag mehr wert. 8-)

LaTeX zurück an den Start bringen

Neuer Tag, neue Geschichte, die ich einrichten muss. Heute ist LaTeX auf dem System dran. Wir reden immernoch von Debian Squeeze.

Erster Schritt:

Ja ich weiß, das ist das Rundum-Sorglos-Paket, was mir auch sehr viel Kram auf die Platte spült, was ich nie nutzen werde. Macht nichts, so ist das halt mit Rundum-Sorglos-Paketen. vim-latexsuite will noch aktiviert werden – wie, musste ich auch erst im Netz wiederfinden. Sehr hilfreich:

Soweit so gut, als nächstes habe ich dann den Ordner ~/texmf aus meinem Backup zurückgespielt. Einfach mal texhash eingeben hat dann allerdings noch nicht dazu geführt, dass das System da was mit anfangen wollte, also wieder Doku wälzen. Ergebnis:

Führte erstmal dazu, dass ich das gewünschte Dokument kompilieren konnte, aber ich bekam noch Warnungen, dass was mit den Fonts nicht stimmte:

Die Suche, wie man das beheben kann, war nicht so super aufschlussreich. Ich hab das dann wie folgt beheben können, wo bei ich nicht weiß, ob das jetzt die eleganteste Lösung ist:

Alles in allem, ich schau grad mal auf die Uhr, über eine Stunde, um den Kram zusammenzusuchen, um dann festzustellen, dass ich auch noch das Dokument übersetzen muss, weil es in Englisch geschrieben ist. *sigh*

HowTo: Windows booten mit Debian und GRUB 2

Bei Debian wurde vor einigen Wochen das neue GRUB 2 in Debian Testing (Squeeze) gespült, das alte GRUB, welches das jetzt offiziell »GRUB Legacy« heißen soll, ablöst. Bei Ubuntu ist das übrigens auch für das nächste Release (Karmic) geplant, das in wenigen Tagen rauskommen wird. Wer diese Systeme als einzige auf einem 08/15-PC einsetzt, wird von dem Wechsel vermutlich kaum etwas mitbekommen.

Auf meinem neuen Netbook ist nun Windows XP Home vorinstalliert gewesen. Ich hab das mitbezahlen müssen und ich gebe zu, dass ich es draufgelassen habe, einfach um ab und zu nochmal Diablo II spielen zu können, ohne da im Linux große Verrenkungen anstellen zu müssen mit Installation, Spiele-3D-Grafik oder gar Wine. Nun ist es drauf und ich will es auch booten können. Der Installer von Debian Stable (Lenny) hatte das seinerzeit korrekt erkannt und in der Konfiguration von GRUB Legacy eingetragen.

Beim Upgrade auf GRUB 2 hat Debian diesen Eintrag nun schlichtweg ignoriert. Es hat auch keine neue Suche nach alternativen Betriebssystemen angestrengt, obwohl man vermutlich nur ein bisschen Code aus dem Installer hätte nutzen müssen. In der Liste der zum Boot möglichen Systeme tauchte Windows jedenfalls nicht auf.

Wie das nun bei dicken Rewrites so ist, die noch während des Beta-Stadiums ohne richtige Dokumentation auf die Nutzer losgelassen werden: man steht erstmal im Regen. Dazu kommt, dass der Distributor sich dann noch was ausdenkt, um das sauber in sein System zu integrieren. Bei der Suche, wo ich das nun eintragen müsste, hab ich dann folgendes herausgefunden:

Die neue Config-Datei von GRUB 2 ist /boot/grub/grub.cfg. Das erste was bei Debian drin steht:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

Soviel Hilfe hätte ich gar nicht erwartet. In /etc/default/grub kann man zunächst mal ein paar Optionen für den Kernel zum Laden setzen. Sowas wie quiet oder vga=789 oder ähnliches. Die Syntax ist selbsterklärend.

In /etc/grub.d liegen dann verschiedene Skripte:

Die sollte man auch alle brav in Ruhe lassen, wenn man sich nicht wirklich gut mit Shell-Scripting auskennt. Allerdings ist 40_custom genau der richtige Ort für unseren Eintrag um Windows zu booten. Dieser Eintrag sieht dann ungefähr so aus, bzw. gleich mal die ganze Datei, damit das klar wird:

Auch dies ist nur ein Shell-Script, das irgendwann im Update-Prozess für die Konfigurationsdatei von GRUB 2 ausgeführt wird. Bei der Angabe der Partitionsnummer aufpassen, da gab es eine Verschiebung um +1 gegenüber GRUB Legacy. Jetzt also noch den abschließenden Debian-spezifischen Befehl ausführen, um die neue grub.cfg zu schreiben und schon kann man wieder Windows booten:

Update: Seit dem Update von heute, 24.01.2010, erkennt Debian Squeeze die Windows-Installation wieder automatisch. D.h. man kann den Inhalt aus /etc/grub.d/40_custom wieder rausnehmen. Einmal update-grub aufrufen sollte danach genügen, um Einträge für Windows in die Liste zu zaubern.

Update: Die Option vga=789 ist übrigens keine gute Wahl mehr. Spätestens seit Kernel 2.6.32-3 ist KMS, also Kernel Based Mode Setting, aktiv und funktioniert auch und wenn man dann vga setzt, kommt man aus dem X nicht mehr per Strg+Alt+F2 auf die »normale« Konsole.