Nov 20

Ein schickes Board das fein mit Debian läuft ist das Gigabyte GA-X38-DQ6. Allerdings hat das gute Stück einen Schönheitsfehler. Unter Debian Etch werden funktionieren das Hardwaremonitoring nicht. Hier kann Abhilfe geschaffen werden. Auf dem Board befindet sich der it8718-isa-0290 Chip(satz) der für die Environmentdaten zuständig ist. Dummerweise wird der Chip erst ab Kernel 2.6.20 über das Kernelmodule “coretemp” unterstützt. Debian Etch selbst verwendet aber als letzten Kernel den 2.6.18er. Also updaten ! Wie geht das ? Wie folgt:

in der /etc/apt/sources.list folgende Zeile hinzufügen:

deb http://www.backports.org/debian etch-backports main contrib non-free

Nun via apt-get update die Quellen aktualisieren. Und anschliessend per apt-get install linux-image-2.6.22-xxx  (wobei xxx der Architektur entspricht die man sich wünscht) den neuen Kernel installieren.
Ein wenig Vorsicht ist allerdings geboten, wenn man sich vorher selbst einen (älteren) Kernel gebacken hat, hier sollte man die Sourcen mitinstallieren, und den 2.6.22er dann auch neu basteln.

Nach dem neu gebootet worden ist kann man sich per apt-get install lm-sensors das sensors Packet installieren. Von nun an ist es nicht mehr weit 😉
Folgende Zeilen gehören nach einem sensors-detect in die /etc/sensors3.conf:


chip “it8718-*”

# Voltages

compute in3 @ * (6.8/10+1), @ / (6.8/10+1)
compute in7 @ * ( 30/10+1), @ / ( 30/10+1)

label in0 “VCore”
label in1 “VDDR”
label in2 “+3.3V” # VCC3
label in3 “+5 V VCC” # VCC
ignore in4
ignore in5
ignore in6
label in7 “+12V” # VCCH
label in8 “VBat”
label fan1 “CPUFan”
label fan2 “FrontFan”
label fan2 “XXX Fan ?”
label temp1 “NB Temp”
label temp2 “Coretemp”
ignore temp3

set in0_min vid * 0.95
set in0_max vid * 1.05
set in1_min 1.8 * 0.95
set in1_max 1.8 * 1.05
set in2_min 3.3 * 0.95
set in2_max 3.3 * 1.05
set in3_min 5 * 0.95
set in3_max 5 * 1.05
set in7_min 12 * 0.95
set in7_max 12 * 1.05

ignore cpu0_vid

Danach sollte ein Aufruf von sensors ein paar Werte ausspucken. Wer richtig mitgelesen hat, dem fält auf, dass ich noch keine genaue Bezeichnung fuer Fan3 finden konnte. Wenn jemand an der Stelle weiterkommt – gerne per Kommentar…. Bis auf Fan3 wird dann aber auch alles vernünftig angezeigt.

Viel Spass

Nov 17

Alles nicht so einfach mit den Platten. Daher hier ein weiteres Mini-Howto. Diesesmal zum Thema, wie erstelle ich unter LINUX einen Soft-RAID-Verbund, der sich beliebig erweitern lässt.

Ausgangssituation wäre folgende:
3 Eingebaute Festplatten:
hda: Boot-Platte (XXX GB)
hdb: 1. RAID1-Platte (1GB – lässt sich leichter rechnen 😉
hdc: 2. RAID1-Platte (1GB)

1. Mithilfe von fdisk / cfdisk die Partitionen /dev/hdc1 und /dev/hdb1 auf den jeweiligen Platten als Primärpartition vom Typ FD erstellen.

2. Raid 1 aus hdb1 und hdc1 anlegen:

mdadm –create /dev/md1 –level 1 –raid-devices=2 /dev/hdb1 /dev/hdc1

3. Physical Volume anlegen:

pvcreate /dev/md1

4. Volume Group anlegen (mit einem Device) – vol ist hier mal der Name der Gruppe

vgcreate vol /dev/md1

5. Logisches Volume mit Namen “root” auf der VolumeGroup anlegen (Wir nehmen mal 800MB, da ein wenig Overhead anfaellt – 900 sollten aber auch gehen)

lvcreate -n root -L 800M vol

6. Filesystem auf dem neuen Volume anlegen

mkfs.ext3 /dev/vol/root

7. Mounten:

mount /dev/vol/root /mnt

8. Ueberpruefen
– PhysicalVolumes lassen sich mit pvdisplay, VolumeGroups mit vgdisplay und LogicalVolumes mit lvdisplay anzeigen
– Ein “df . -h” bringt nun 800 MB auf die Waage

Fertig …

Wenn man nun eine weitere Platte (Raid-Volume über mdadm geht natürlich auch) “hinzubekommt” und die an das RAID-1 stripen möchte, geht das wie folgt:
(Wir nennen die Platte mal hdd)

1. Primary Partition über FDISK anlegen (Typ FD)

2. Physical Volume anlegen:

pvcreate /dev/hdd1

3. VolumeGroup erweitern:

vgextend vol /dev/hdd1

4. LogicalVolume erweitern

lvextend /dev/vol/root -L +800M /dev/hdd1

5. Überprüfen (siehe oben)
– Ein “df . -h” in /mnt bringt nun einen um 800MB erweiterten Mountpunkt zum vorschein. Halt … wohl doch noch nicht. Dem Filesystem muss erst noch mitgeteilt werden dass hier eine Grössenänderung stattgefunden hat. Also:

6. Filesystem umounten:

umount /mnt

7. Filesystem überprüfen (sonst motzt der Resizer)

fsck.ext3 -vv -f /dev/vol/root

8. Fileystem schliesslich resizen

resize2fs /dev/vol/root

9. Wieder mounten

mount /dev/vol/root /mnt

10.Jetzt haben wir es geschafft…

Nov 09

Lange hat es gedauert bis ich meinen ssh-daemon auf dem mit openwrt bestückten WRT54GL zur Key-Authentifizerung bewegen konnte. Hier die Anleitung für alle verzweifelten:

  1. id_dsa (Ja der Private-Key – es geht leider nicht anders) auf den openwrt unter /tmp/xy ablegen
  2. via ipkg install dropbearconvert das Konvertierungstool installieren
  3. dropbearconvert openssh dropbear /tmp/xy /root/id_dsa die Konvertierung anstossen
  4. dropbearkey -y -f /root/id_dsa >/etc/dropbear/authorized_keys das gewünschte Keyfile erzeugen.
  5. Nun noch die beiden privaten Files (/tmp/xy und /root/id_dsa) löschen (die wollen wir ja nicht auf dem router behalten) – Das dropbearconvert wird auch nicht mehr benötigt – per ipkg remove dropbearconvert kann man wieder wervollen Platz auf dem Router freigeben…

Jetzt sollte es funktionieren.

Nov 09

Allen die “mal eben schnell” ein Backup benötigen, sei Netcat in Verbindung mit tar ans Herz gelegt. Die Methode ist alt, da ich aber dennoch immer suchen muss wie man tar jetzt zu stdout bewegt, sei das ganze hier noch einmal aufgeführt:

Auf dem Zielrechner (der das Backup entgegennimmt):
netcat -vvl -p 9988 >./[Backupdateiname].tar

Auf dem Quellrechner (von dem das Backup gezogen werden soll):
tar cv – . | netcat [Server-IP] 9988

Achja, evtl. muss so ein Backup ja auch mal restored werden 😉 Dann wie folgt:

Auf dem Zielrechner (wo das Backup wieder eingespielt werden soll):
netcat -vvl -p 9988 |tar -xv

Auf dem Quellrechner (wo das Backup liegt):
cat [Backupdateiname].tar |netcat [Server-IP] 9988

Bei Bedarf kann man das ganze noch mit “z” zum on-the-fly-Zippen oder mit –exclude tunen…
Und nun – viel Spass beim Backuppen

[Update 10.11]: Für alle die es ganz genau wissen wollen: Bei der Rhoener Linux User Group gibts ein feines Tutorial

Nov 03

… das Teil kann einfach alles. Nämlich:

  • Linux shell (incl. ssh daemon) direkt nach der installation
  • Sämtliche Ports des Switches sind in vlans zerlegbar (Einsatz: Routing, Echte DMZ, Zweiter DSL-Anschluss als Fallback)
  • Die einzelnen LEDs sind via /proc/diag/led/* ansteuerbar (nette Effekte, zB Visualisierung des Onlinezustandes etc…)
  • Der “Button” auf der Frontseite kann ein Script unter Linux triggern (einfach ein 700er Shellscript unter /etc/hotplug.d/button anlegen – ggf. vorher das Directory erstellen)
  • IPtables ist so gut vorkonfiguriert, dass man nur noch marginale Anpassungen auf Shellebene machen muss (per Webinterface kann man iptables zwar auch customizen, allerdings nur sehr oberflächlich)
  • X-Wrt sollte man sich als openwrt-Distribution gönnen. Denn das Standart-Webinterface ist extrem kläglich.

So, der alte FVS338 ist jetzt rausgeflogen, mal schauen wo ich den noch einsetzen werde. Der WRT54 ist in jedem Falle sein Geld wert.

Wer so etwas auch haben möchte, kaufe sich einen Linksys WRT54GL (Kostenpunkt um die 60 Euro) und lese sich bei openwrt ein.

Jan 29

ImageMagick ist fein, das hatten wir hier im Blog ja schon. Allerdings bedient es sich beim Konvertieren von Bildern, PDFs oder sonstigem Krams des random-Devices unter Linux. Und das kann mit unter sehr imperformant sein. Allerdings gibt es Abhilfe. Der Schalter “-seed n” teilt dem convert nämlich mit, das es statt der Zufallszahlen einfach nur die “1” nehmen soll. Problem gelöst. Jetzt rennt convert wieder und muss nicht ewig auf das Random-Device warten.

…Und ich war schon am überlegen ob man nicht /dev/urandom nehmen könnte.

Jan 16

… funktioniert übrigens nur, wenn man auch die sog. xbase-clients auf dem Server installiert hat. Also “apt-get install xbase-clients” hilft hier. Warum das Päckchen nicht von Hause aus dabei ist, wissen wohl nur die Debianer selbst …

Jan 13

Die Entwickler der Firma nexB haben eine Art Distribution für Eclipse herausgebracht (ja, schon länger – dient hauptsächlich als Reminder für mich) in der E-P-I-C und ein paar nette Zusatztools schon vorkonfiguriert sind. Das Ding gibts bei easyeclipse.org zum herunterladen. Direkt nach der Installation ist das Teil einsatzfähig, lediglich das PerlTidy Modul unter Window/Preferences/Perl EPIC/Source Formatter sollte man nach seinen Wünschen anpassen. Bei mir steht da beispielsweise unter Options:
-l=400 -pt=2 -bt=2 -bbt=2 -sbt=2 -nsfs
Die Manpage zu PerlTidy hilft hier weiter. Gelungene Distri, wie ich meine…

Jan 07

Jeder der einen dedizierten Server oder auch einen eigenen betreibt, kennt das Problem: Script-Kiddies die stundenlang irgendwelche User über SSH druchprobieren, um letztendlich doch an der eingeschalteten Key-Authentifizerung zu scheitern. Alles unspektakulär, nur ich mag gerne aufgeräumte Log-Files. Denn bei jedem versuch gibt es ja einen Log-Eintrag. Schick wäre doch eine automatische iptables-Regel, die den betroffenden Host nach x Versuchen erstmal für eine gewisse Zeit aussperrt. Das Ding gibt es. Schimpft sich sshdfilter und ist ziemlich simpel zu installieren. Das Tool bietet allerlei Konfigurationsmöglichkeiten und ist in Perl geschrieben. Kann ich nur jedem empfehlen.

Jan 04

Wer sein Asterisk nebst mISDN mal updaten möchte, und dazu vielleicht noch SMP aktivieren möchte, dem sei
dieser Artikel ans Herz gelegt.

Zuerst mal das gesamte Asterisk besorgen. Auspacken und ins doc/mISDN wechseln. Hier das Tool std2kern aufrufen und anschliessend den Kernel basteln:

Da ich die schmerzhaften Erfahrungen eines nicht bootenden gleich mehrmals gemacht habe, hier das Short-Howto zum Kernel:

  • Kernel via apt-get install kernel-source-2.6.8 (z.B. der 2.6.8er) holen
  • Anschliessend auspacken (der liegt in /usr/src/) mit tar -xvf ./kernel-source-2.6.8.tar
  • Jetzt ins neue Directory kernel-source wechseln, ein flockiges make menuconfig absetzen (Achtung, dazu braucht es die Libncurses)
  • Nun fakeroot make-kpkg –revision Debian.1 –initrd kernel_image aufrufen. (Unsereins kompiliert seine Kernels immer mit initrdsupport. Meistens ist das auch schon die voreingestellte Standart-Konfig im Kernel Setup)
  • Jetzt noch die Kernel-Header bauen: fakeroot make-kpkg –revision Debian.1 –initrd kernel_headers
  • Fertig ist der Kernel. Der muss nur noch installiert werden, und dazu wechseln wir wieder in /usr/src und rufen
  • nun dpkg -i ./kernel-image-2.6.8_Debian.1_i386.deb und anschliessend noch
  • das Kommando dpkg -i ./kernel-headers-2.6.8_Debian.1_i386.deb um die Header zu installieren auf

Nun noch einen Symlink von KernelDir/scripts auf /lib/modules/2.6.8/scripts legen. Am einfachsten geht das via:
ln -s /usr/src/kernel-headers-2.6.8/scripts ./scripts wenn man sich gerade im /usr/src/kernel-source-2.6.8/ befindet.

Fertig ist der Kernel zum rebooten.
Jetzt wieder in das mISDN Directory vom Asterisken gehen, ein make && make install absetzen und gut ist.
Da sich chan_misdn bei mir dermassen quer gestellt hat macht ein Download des channel-Moduls von Beronet nicht nur Sinn, sondern erfüllt auch seinen Dienst.
Anschliessend kann man in aller Ruhe asterisk compilieren und wieder telefonieren.

Frage mich gerade nur warum das beim Kunden immer so leicht von der Hand geht, und bei den eigenen Rechnern immer wieder zu Problemen führt…

Dez 30

Ein hartes Stück Arbeit. Aber es geht (zu 50%). Das von Konica-Minolta mitgelieferte PPD zum BizHub C350 stellt sich absolut quer, wenn man Booklets via CUPS drucken will. Dem kann allerdings Abhilfe geschaffen werden. Man nehme das PPD, suche nach “2ShortCenter” im Context “OpenUI/StaplingMode” und ersetze das dort stehende

“%@PJL SET FOLDING=CREASE”

geschickt durch ein:

“”%@PJL SET FOLDING=CREASE
%@PJL SET FINISH=CENTER”

(Der Zeilenumbruch ist wichtig)
Dann faltet die Maschine brav in der Mitte und heftet das ganze anschliessend. Was noch fehlt ist das PostProcessing der Seiten, damit diese auch in der richtigen Reihenfolge hereinpurzeln. Denn ohne “Um”-Sortierung der Seiten sieht das ganze ziemlich bekloppt aus 😎

Dez 23

Debian auf dem Mac Mini (iNTEL) – kein Problem. Hier gibts das Howto. Sollte ich mal ausprobieren. Wäre sicherlich eine gute Alternative zum derzeit laufenden Dell-Server, der mir Stromtechnisch die Haare vom Kopf frisst. Bliebt nur noch das Problem mit den 2 ISDN-Karten im Dell, die derzeit die Infrastruktur für mein Asterisk herstellen

Dez 15

Wer öfters mal mit PDFs zu tun hat, hier und da was automatisieren will, aber die gesalzenen Preise von Adobe meiden will, ist mit dem freien Toolkit namens PDFTK sehr gut beraten. Das Ding kann fast alles was das Herz höher schlagen lässt. PDFs mergen, FDFs hinzufügen, umsortieren, komprimieren, Metadaten lesen/schreiben, konvertieren usw. – Und das wichtigste, es ist frei und rennt unter richtigen Betriebssystemen !

Nov 24

Das ist nett. Vorallem für Menschen wie mich, die schon nicht auf Syntaxhighlighting im VI verzichten können. Mit folgendem Kommando kann man sich den Bash-Prompt so richtig schön bunt färben:

PS1=”\[\033[0;39;40m-\[\033[1;36;40m(\033[0;31;40m\u@\h\
\033[0;39;40m:\033[0;36;40m\w\033[0;37;40m $\
\033[1;36;40m)\[\033[0;39;40m->\033[0;37;0m\] ”

Sieht wild aus, tut aber. Zur Erklärung: \033[x;f;bm] das 033 leitet die Formatierung ein, da x gibt den Schrifttype (bold,italic,etc.), das f gibt die Schriftfarbe und das b die backgroundfarbe an.

X-Typen: deafult 0, bold 1, n.bold 22, underlined 4, n.underlined 24, blink 5, n. blink 25, invert 7, n. invert

F-Farben: schwarz 30, rot 31, grün 32, gelb 33, blau 34, magenta 35, cyan 36, weiß 37.
B-Farben: schwarz 40, rot 41, grün 42, geld 43, blau 44, magenta 45, cyan 46, weiß 47.

Und so siehts aus, wenns fertig ist:

screenshot.jpeg

Nov 22

Mit kannel kann man eine eigene WAP-Gateway bauen. WAP ist allerdings schon etwas länger out. Interessanter ist da schon das SMS-Feature, welches Kannel mitbringt. Ich denke da an eine Erweiterung meiner “SMS-Leinwand“. Kannel kann da wohl etwas mehr als gnokii (Bei dem Namen muss ich immer an diese ekeligen Halbrunden Nudeln denken – weiss auch nicht wieso)

preload preload preload