VirtualBox 1.5

Über VirtualBox habe ich ja schon mal berichtet. Nun ist schon seit längerem die neue Version 1.5 verfügbar. Und heutte habe ich mir vorgenommen auf die neue Version zu updaten. Das ganze geht relativ einfach von der Hand. Das Programm kann ganz einfach über apt-get geupdated werde. Dafür muss man allerdings noch eine neue Quelle für apt-get definieren, sofern das noch nicht passiert ist. Das ganze ist zudem noch auf der Homepage beschrieben.

Also erstmal die neue Quelle in der Datei /etc/apt/sources.list einfügen.
deb http://www.virtualbox.org/debian feisty non-free

Und dann noch den Schlüssel hinzufügen. Diesen kriegt man von http://www.virtualbox.org/debian/innotek.asc
apt-key add innotek.asc

Nun muss man apt noch mitteilen, dass eine neue Quelle verfügbar ist.
apt-get update

Jetzt ist die neue Version von VirtualBox verfügbar und kann entweder über Synaptic oder die Konsole installiert werden.

Bevor man VirtualBox nun wieder benutzen kann, muss man den Linux Computer erst noch neustarten, damit die neuen Kernelmodule geladen werden können. Nach dem Neustart kann man die virtuellen Maschinen wieder ohne Probleme starten. Damit nun aber alle neuen Funktionen verfügbar sind muss man die Guest Additions (Gasterweiterungen) nochmals installieren.
http://images.t-error.ch/blog/472/vbox_guestadditions.jpg


Neu ist in der neuen Version der so genannte Seamless Mode (Nahtloser Modus). Damit kann man Fenster von Windows direkt im Linux anzeigen lassen. Das ohne den Rahmen von VirtualBox. Nun ja, etwas schwierig zu erklären. Ein Bild sagt ja bekanntlich mehr als tausend Worte. Der Internet Explorer unter Linux.

Momentan ist das einfach ein netter Effekt, aber wie sich das in der Praxis bewährt wird sich wohl noch zeigen. Alles in allem sieht es aber sehr viel versprechend aus.

Neuerdings funktioniert auch die Sache mit den Gemeinsamen Ordnern. Diese Funktion gab es auch in der älteren Version schon, allerdings hat sie bei mir nie so wirklich funktioniert. Nun kann man für eine virtuelle Maschine ganz einfach einen Ordner definieren, welcher im Windows dann als Netzlaufwerk angezeigt wird. Datentransfer leicht gemacht.
http://images.t-error.ch/blog/472/vbox_ordner.jpg


Wie gesagt kann ich momentan noch nicht allzuviel über den Nutzen von diesen Funktionen und die neue Version sagen, aber auf den ersten Blick sieht das schon sehr viel versprechend aus.

Drucker mit MRTG überwachen

Das Programm MRTG von Tobias Oetiker ist inzwischen ja schon sehr bekannt. Es eignet sich perfekt um Router per SNMP zu überwachen. Allerdings kann man damit auch Drucker, die SNMP unterstützen überwachen.
Im Geschäft habe ich nun einen Linux Server mit Ubuntu 6.06 und mit diesem möchte ich auch die Netzwerk-Auslastung unserer Drucker Monitoren. An diesem Beispiel zeige ich die Installation von MRTG und die Konfiguration für einen HP Laserjet 2500. Allerdings gibt es keinen (grossen) unterschied vom Laserjet 2500 zu anderen Druckern. Solange diese SNMP unterstützen.

Installation

Mit apt-get habe ich MRTG nicht gefunden. Also habe ich das DEB File heruntergeladen und installiert.
dpkg --install mrtg_2.12.2-1_i386.deb

Mit dem folgenden Befehl habe ich noch die zusätzlich benötigte Software installiert
apt-get -f install

Nun sollte MRTG Installiert sein.

Konfiguration

MRTG wird nicht über eine zentrale Konfigurationsdatei verwaltet. Man kann pro Gerät eine eigene Datei erstellen und diese dann als Parameter angeben. Die Konfigurationsdateien kann man mit dem Befehl cfgmaker erstellen. Als Parameter gibt man die IP Adresse des Gerätes an. Natürlich kann man noch zusätzliche Parameter angeben, aber die Standardvorgaben sind eigentlich ganz gut.
cfgmaker *.*.*.230 > /root/scripts/mrtg/lj2500.jpg

Ich lege die Konfigurationsdatei im Ordner /root/scripts/mrtg/. Dort kann ich auch noch andere Konfigurationsdateien ablegen. Die soeben erstelle Konfigurationsdatei sieht nun so aus. (Die auskommentierten Dateien habe ich entfernt)
cat /root/scripts/mrtg/lj2500.cfg
#  for Debian
WorkDir: /var/www/mrtg
EnableIPv6: no

Target[*.*.*.230_1]: 1:public@*.*.*.230:
SetEnv[*.*.*.230_1]: MRTG_INT_IP="*.*.*.230" MRTG_INT_DESCR=""
MaxBytes[*.*.*.230_1]: 1250000
Title[*.*.*.230_1]: Traffic Analysis for 1 -- NPI821398
PageTop[*.*.*.230_1]: <h1>Traffic Analysis for 1 -- NPI821398</h1>
                <div id="sysdetails">
                        <table>
                                <tr>
                                        <td>System:</td>
                                        <td>NPI821398 in </td>
                                </tr>
                                <tr>
                                        <td>Maintainer:</td>
                                        <td></td>
                                </tr>
                                <tr>
                                        <td>Description:</td>
                                        <td>  </td>
                                </tr>
                                <tr>
                                        <td>ifType:</td>
                                        <td>ethernetCsmacd (6)</td>
                                </tr>
                                <tr>
                                        <td>ifName:</td>
                                        <td></td>
                                </tr>
                                <tr>
                                        <td>Max Speed:</td>
                                        <td>1250.0 kBytes/s</td>
                                </tr>

                                <tr>
                                        <td>Ip:</td>
                                        <td>*.*.*.230 ()</td>
                                </tr>

                        </table>
                </div>

Damit die neuen Daten auf der rechten Seite der Grafik angezeigt werden füge ich die folgende Zeile oben in die Konfigurationsdatei ein.
Options[_]: growright

Da ich schlussendlich mehrere Drucker überwachen will, erstelle ich ein kleines Script, dass den MRTG aufruft. Dort kann ich dann auch noch zusätzliche Zeilen einfügen
cat /root/scripts/mrtg/update.sh
#!/bin/bash
env LANG=C mrtg /root/scripts/mrtg/lj2500.cfg -logging /var/log/mrtg/lj2500.log

Damit man das Script nun auch ausführen kann, muss man die Benutzerrechte noch ändern.
chmod 755 /root/scripts/mrtg/update.sh


Nun ja. Dann wollen wir mal sehen, ob alles funktioniert.
/root/scripts/mrtg/update.sh

Bei den ersten beiden Malen kam bei mir eine Fehlermeldung. Beim dritten mal war aber alles OK.

Jetzt das Script noch in den Cron installieren. Es reicht, wenn das Script alle 10 Minuten ausgeführt wird.
# MRTG
*/10 * * * *    root    /root/scripts/mrtg/update.sh

Jetzt sind die Dateien im Ordner /var/www/mrtg/ gespeichert. Da auf meinem Server noch ein Webserver läuft, kann man die Dateien über den Browser ansehen. Das sollte etwa so aussehen:
http://images.t-error.ch/news/321/mrtg.png

Auf der MRTG Homepage steht auch, dass man die Daten vom MRTG als RRD speichern kann. Also sollte eine Auswertung mit dem RRDTool möglich sein. Mal sehen wie das funktioniert.



lm-sensors unter Ubuntu 6.06 installieren

Heute habe ich versucht lm-sensors zu installieren. Damit kann man man die Spannung, die Umdrehungen der Lüfter sowie die Temeratur im Computer messen.
Die Installation vom lm-sensors ist unter Ubuntu dank Apt sehr einfach.
apt-get install lm-sensors

Wenn man dann aber das Programm ausführen will geht nichts.
root@serv02:~# sensors
No sensors found!

Man muss die Sensoren also zuerst noch suchen. Dafür gibt es das Programm sensors-detect. Nur hat das bei mir auch nicht funktioniert:
root@serv02:~# sensors-detect
No i2c device files found. Use prog/mkdev/mkdev.sh to create them.

Also heisst es die Datei mkdev.sh ausführen. Nur ist die Datei nirgens zu finden. Nun ja, nicht ganz nirgens. In den Sourcen ist die Datei enthalten. Also muss man die Sourcen herunterladen und entpacken. Und siehe da. Im Ordner prog/mkdev/ ist die Datei enthalten. Wenn man diese nun ausführt werden einige Dateien im Order /dev erstellt.

Nun kann man auch das Programm sensors-detect ausführen. Diese Programm sucht nun nach Sensoren und schreibt die zu ladenden Kernelmodule in die Datei /etc/modules

Nun muss man noch den Computer neustarten, damit die Kernelmodule geladen werden.

Nach dem neustart kann man das Programm sensors ausführen. Die Ausgabe kann so aussehen:
root@serv02:~# sensors
w83697hf-isa-0290
Adapter: ISA adapter
VCore:     +1.46 V  (min =  +1.71 V, max =  +1.89 V)       ALARM
+3.3V:     +3.26 V  (min =  +3.14 V, max =  +3.47 V)
+5V:       +5.00 V  (min =  +4.76 V, max =  +5.24 V)
+12V:     +11.86 V  (min = +10.82 V, max = +13.19 V)
-12V:     -11.46 V  (min = -13.18 V, max = -10.80 V)
-5V:       -5.00 V  (min =  -5.25 V, max =  -4.75 V)
V5SB:      +5.43 V  (min =  +4.76 V, max =  +5.24 V)       ALARM
VBat:      +1.86 V  (min =  +2.40 V, max =  +3.60 V)       ALARM
fan1:     4963 RPM  (min =  664 RPM, div = 8)                     (beep)
fan2:     1917 RPM  (min =    0 RPM, div = 8)
temp1:       +33°C  (high =  +127°C)                     sensor = thermistor           (beep)
temp2:     +23.0°C  (high =  +127°C, hyst =  +128°C)   sensor = diode           (beep)
alarms:   Chassis intrusion detection                      ALARM
beep_enable:
          Sound alarm enabled

Installation von Apache, PHP und mySQL unter Ubuntu 6.06

Das Installieren von Programmen in Ubuntu ist nicht wirklich schwierig. Mit den Programm apt kann man ganzen einfach Programme installieren, wenn man weiss wie sie heissen. Und vor allem zu Apache, PHP und mySQL findet man im Internet Dokumentationen bis zum abwinken.
Hier eine kleine Anleitung zur Installation (nicht Konfiguration) von Apache2, PHP5 und mySQL5. Meistens heisst das Packet so wie das Programm, aber es gibt halt auch ausnahmen.
apt-get install apache2
apt-get install php5
apt-get install mysql-server
apt-get install php5-mysql


Die Programmen sind nun installiert. Die Konfigurationsdateien sind an den folgenden Orten abgelegt.
Apache 2: /etc/apache2/apache2.conf
PHP5: /etc/php5/apache2/php.ini
mySQL 5: /etc/mysql/my.ini

Nach der Installation sollte man sicher das Passwort für den mySQL Zugriff ändern, da sonst jeder darauf Zugriff hat.