Archiv der Kategorie 'Linux'

Spielwiese

Ich möchte gern einen Tablet-PC haben. Einfach so, als Spielzeug. Ein IPad ist mir zu teuer, aber es gibt ja prima Alternativen dazu, die sogar bezahlbar sind. Mit grossem Interesse habe ich die Artikel von Gregor Fröhlich verfolgt, der einige Modelle getestet hat.
Und ich habe mir die Live-CD von Android heruntergeladen und in eine VirtualBox geworfen, um damit herumzuspielen.






Es macht Spaß, läuft sehr flüssig und ist unheimlich einfach zu bedienen. Ich werde mal meine Spesen zusammensparen und mir einen 7″ Tablet gönnen, denke ich..

Stromaufnahme Heimserver

Ich habe jetzt einige Messwerte beisammen, die ich auswerten kann. Eine kurze, vorläufige Auswertung von 500 Messwerten habe ich eben mal grafisch aufbereitet. Die endgültige Auswertung muss ich auf meinem Desktop machen, der Laptop ist eindeutig zu klein dafür 😉

Gemessen wurde mit einem Benning MM-11, erfasst mit der dazugehörigen Software. Zur Auswertung herangezogen wurden 50 Messungen/h.
Inzwischen hängt das ganze Zeugs an einem gemeinsamen Netzteil, gemessen wurde an der Sekundärseite während eines „Normalgebrauchs“, sprich: Beide Festplatten wurden per NFS auf dem Laptop und meinem Desktop eingehängt. 4 Rechner im Netz griffen auf den BIND9 zu, einige Downloads von außerhalb fanden statt und es wurden Dateien abgelegt und von dort kopiert, halt alles, was an einem normalen Tag auf dem Server so stattfinden kann.
Leider habe ich keine Vergleichswerte von der NSLU2, aber im großen und ganzen bin ich mit dem Verbrauch mehr als zufrieden, vor allem bei dem Geschwindigkeitsvorteil, den die Dockingstation gegenüber der NSLU2 bringt.

Mein neuer Heimserver..

Nachdem ja vor einiger Zeit meine Slut den Dienst quittiert hat, war ich auf der Suche nach einer Alternative und habe diese auch gefunden:
Der 20€-Server
Schnell bei Atelco in Raisdorf gehalten und so ein Dings eingepackt. Kurz nachdem ich zuhause war die Internetverbindung gekappt und schnell per SSH auf die kleine Kiste, das Auto-Update abschalten.
Dann habe ich mich an die Anleitung von Falk gehalten und das Kistchen auf Debian Lenny umgestellt. Die Slut lief bei mir ja auch „unslung“ mit einem Debian-Linux.
Hat alles wunderbar geklappt und ich muß sagen, ich bin hellauf begeistert, wie angenehm flink die Dockingstation ihren Dienst versieht.
Darauf laufen jetzt:

Noch dazu greife ich von den hier im Hause stehenden Linux- und BSD-Rechnern per NFS darauf zu. Selbstverständlich auch von meinem Medienserver unter dem Fernseher. Beide an der Station hängenden USB-Platten unterstützen Spindown, so daß der Stromverbrauch im Ruhezustand echt minimal ist.
Ich bin rundherum zufrieden und kann dieses Schmuckstück nur wärmstens weiterempfehlen.
Hier nochmal die Hardwareübersicht:
1,2 Ghz Marvell CPU
128 MB RAM
256 MB Flash (vorinstalliertes PlugOS)
1x Gigabit Ethernet
4 USB Ports (1 Mini USB als Dock)
Daran jetzt 1 2GB USB-Stick als Bootlaufwerk mit Debian Lenny und 2 USB-Platten 3,5″ als Datenhalde.

Nix gut..

Gestern machte mich ein guter Bekannter darauf aufmerksam, daß er nicht auf seinen Bouncer zugreifen könne. Da ich schlecht stand und nur GPRS hatte, hab ich das erstmal auf heute morgen verschoben. Heute dann probiert, kein SSH möglich. Also ins Kundeninterface, serielle Konsole aufgerufen, keine Verbindung zum Server möglich.
Okay, auch Linux hat mal Hänger, also reboot..
Server kommt nicht hoch..
Ins Rescue gebootet und eingeloggt, 2. Platte ließ sich nicht einhängen, also mal fsck drüber laufen lassen. Tja..wenn das mal gegangen wäre..
[ 131.919062] ata2: hard resetting link
[ 132.244193] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 132.280367] ata2.00: configured for UDMA/33
[ 132.288738] ata2: EH complete
[ 132.959744] ata2.00: exception Emask 0x2 SAct 0x0 SErr 0x780401 action 0x6
[ 132.973477] ata2.00: BMDMA stat 0x25
[ 132.980626] ata2: SError: { RecovData Proto 10B8B Dispar BadCRC Handshk }
[ 132.994182] ata2.00: failed command: READ DMA EXT
[ 133.003588] ata2.00: cmd 25/00:00:57:21:00/00:02:00:00:00/e0 tag 0 dma 262144 in
[ 133.003591] res 51/84:00:57:21:00/84:02:00:00:00/e0 Emask 0x12 (ATA bus error)
[ 133.034331] ata2.00: status: { DRDY ERR }
[ 133.042344] ata2.00: error: { ICRC ABRT }
[ 133.050362] ata2: hard resetting link
[ 133.376043] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 133.396201] ata2.00: failed to IDENTIFY (device reports invalid type, err_mask=0x0)
[ 133.411493] ata2.00: revalidation failed (errno=-22)
[ 138.388019] ata2: hard resetting link
[ 138.712044] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 138.748349] ata2.00: configured for UDMA/33
[ 138.756722] ata2: EH complete
[ 139.389558] ata2.00: exception Emask 0x2 SAct 0x0 SErr 0x780401 action 0x6
[ 139.403295] ata2.00: BMDMA stat 0x25
[ 139.410444] ata2: SError: { RecovData Proto 10B8B Dispar BadCRC Handshk }
[ 139.424000] ata2.00: failed command: READ DMA EXT
[ 139.433405] ata2.00: cmd 25/00:00:57:21:00/00:02:00:00:00/e0 tag 0 dma 262144 in
[ 139.433408] res 51/84:00:57:21:00/84:02:00:00:00/e0 Emask 0x12 (ATA bus error)
[ 139.464147] ata2.00: status: { DRDY ERR }
[ 139.472159] ata2.00: error: { ICRC ABRT }
[ 139.480179] ata2: hard resetting link
[ 139.804043] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 139.824203] ata2.00: model number mismatch ‚ST380817AS‘ != ‚i???!8?v-?~k#????_?hZ??*?H?r??f???C???‘
[ 139.842611] ata2.00: revalidation failed (errno=-19)
[ 144.816068] ata2: hard resetting link
[ 145.140046] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 145.176365] ata2.00: configured for UDMA/33
[ 145.184741] ata2: EH complete
[ 145.851858] ata2.00: exception Emask 0x2 SAct 0x0 SErr 0x780401 action 0x6
[ 145.865595] ata2.00: BMDMA stat 0x25
[ 145.872744] ata2: SError: { RecovData Proto 10B8B Dispar BadCRC Handshk }
Das sieht nicht wirklich gut aus. Ich hab dann mal ne Supportanfrage gestartet, den Besitzer des Servers informiert und werde wohl dann das kommende Wochenende neu aufsetzen dürfen :(

Fahrerkarte auslesen und auswerten unter Linux

Ich hatte schon lange die Nase voll davon, für sowas immer eine Virtuelle Maschine mit Wintendo starten zu müssen und habe daher heute mal ein wenig gefummelt und mir die passende Software unter Linux installiert. Da ich annehme, daß es noch mehr Fahrer gibt, die unter Linux vor dem gleichen Problem stehen, versuche ich mal, meinen Weg dorthin zu zeigen.
Dieses Howto bezieht sich auf Debian Lenny, wird aber wohl so ähnlich auch für andere Distributionen einsetzbar sein. Zusätzlich zu diesem Blogeintrag werde ich es bei den Unixfreunden in der Howto-Sektion veröffentlichen.
Ich habe mir einen SCR331 USB-Kartenleser mal vor Urzeiten über Ebay für kleines Geld besorgt. Für diesen müssen jetzt die passenden Softwarepakete installiert werden:
apt-get install libusb-0.1-4 libpcsclite1 libpcsclite-dev pcscd pcsc-tools build-essential autoconf xlibs-dev libccid
Auf der Rückseite des Kartenlesers ist eine Teilenummer angegeben, liegt diese unter PN: 904622, so muß er geflasht werden, um unter Linux zu laufen. Das Flash-Utilty für Linux gibt es hier, die Firmware ist hier zu bekommen. Das Binary aus dem Firmware-Archiv extrahieren, dann den Firmware-Updater installieren und mit einem Editor /usr/local/scm/ini/fwupdate.ini öffnen und folgendermaßen editieren:
<fwupdate>
<key>DevIdMatch</key>
<value>False</value>
<key>UpgradeOnly</key>
<value>False</value>
<key>UpdateClParams</key>
<value>True</value>
<key>ForceDw</key>
<value>False</value>
<key>SkipVerifyDw</key>
<value>False</value>
</fwupdate>
Danach lässt sich die neue Firmware problemlos in den Reader flashen. Achtung! pcscd darf nicht laufen!
Nach dem Flashen den Reader abziehen und neu einstecken, pcscd starten mit /etc/init.d/pcscd start, der Reader sollte jetzt bei Eingabe von pcsc_scan angezeigt werden.
Wenn bis hierhin alles glatt gelaufen ist, können wir ja zum Eingemachten übergehen:  dem Auslesen der Fahrerkarte, noch dazu archivierungsfähig und auswertbar.
Zuerst brauchen wir noch einige Pakete aus dem Debian-Repository:
apt-get install swig1.3 python-wxgtk2.8
Dann laden wir uns pyscard herunter und entpacken es, wechseln in das Verzeichnis und rufen /usr/bin/python setup.py build_ext install auf.
Zum Auslesen der Fahrerkarte gibt es seit kurzem ein Python-Skript: FahrLinux, das laden wir uns auch herunter und entpacken es in ein Verzeichnis. FahrLinux ist noch beta, geht aber schon prima.
Nun stecken wir unsere Fahrerkarte und rufen Fahrlinux auf:
./fahrlinx

Ein Doppelklick auf die angezeigte Fahrerkarte und danach ein Klick auf „Start“ lesen die Karte aus und legen eine archivierbare .DDD-Datei im Fahrlinux-Verzeichnis ab.
Diese kann man prima von unterwegs per Email ans Büro schicken 😉
Nun zur Auswertung der Daten, man möchte ja auch gerne wissen, was man falsch gemacht hat unterwegs. Für solche Dinge gibt es readesm. Zuerst ziehen wir noch einige Pakete aus dem Repository nach:
apt-get install libboost-program-options-dev libgcrypt11-dev libgmp3-dev
Dann entpacken wir readesm und kompilieren es:

make
make install

Praktischerweise bringt es gleich einige Skripte mit, als KDE-Nutzer habe ich mir die Endung .DDD mit /usr/local/bin/readesm-wrap-kde verknüpft, das konvertiert die Daten in HTML und ruft sie gleich im Standardbrowser auf, so daß man bequem seine Verstöße kontrollieren kann.
/usr/local/bin/readesm-wrap-firefox ruft die Seite im Firefox auf.


Für alle, die das gerne noch ausweiten möchten, hier noch der Hinweis auf opendtacho.org. Das Projekt arbeitet an einer Lösung für Speditionen, die auf Linux basiert. Die mit FahrLinux gezogenen Daten lassen sich dort importieren, es wird mit einem Tomcat gearbeitet und eine hierarchische Nutzerverwaltung ist ebenfalls möglich, so daß man seine Fahrer die Karten auslesen lassen und in die Software einpflegen kann. Es lassen sich Tätigkeitsberichte erstellen, etc.

Debian und USB..*soifz*

Ich habe ja am Wochenende Debilian installiert, nach meinem Headcrash. Unterwegs bekam ich dann die USB-Geräte nur sporadisch zum laufen, Logs waren wenig hilfreich.
ehci_hcd entpuppte sich als der Übeltäter.
Eine Datei /etc/modules.d/ehci_hcd.conf mit dem Inhalt
blacklist ehci_hcd hat da schnell Abhilfe geschaffen. Endlich kann ich wieder ins Internet und auch fernsehen..

Debian, proftpd und fail2ban

Gestern habe ich mich um ein kleines Problem mit fail2ban gekümmert, das ich vor mir hergeschoben habe.
Debian liefert vorkonfigurierte Filter für fail2ban mit, die leider nicht für proftpd passen. Die Logfiles des Servers waren voll von chinesischen Einbruchsversuchen auf den FTP-Server.
Nu ist regexp nicht gerade meine Stärke und es bedurfte einiger Fummelei sowie fachlicher Unterstützung durch Disastersmaster. Damit konnte das Problem aber schnell eingekreist und beseitigt werden.
Eigentlich sinds 2 Probleme.. Zum einen passen die regexp nicht auf die Logfiles vom proftpd und zum anderen verweigern die iptables den Dienst, wenn man bei kommaseparierter Portliste kein multiport verwendet.
Da ich aus meiner Google-Suche weiß, daß ich nicht alleine mit dem Problem da stehe, poste ich hier mal meine /etc/fail2ban/filter.d/proftpd.conf:
# Fail2Ban configuration file
#
# Author: Yaroslav Halchenko
#
# $Revision: 677 $
#
[Definition]
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P\S+)
# Values: TEXT
#
failregex = \(\S+\[\]\)[: -]+ USER \S+: no such user found from \S+ \[[0-9.]+\] to \S+:\S+\s*$
\(\S+\[\]\)[: -]+ USER \S+ \(Login failed\): Incorrect password\.\s+$
\(\S+\[\]\)[: -]+ USER \S+ \(Login failed\): No such user found\.\s+$
\(\S+\[\]\)[: -]+ SECURITY VIOLATION: \S+ login attempted\.\s+$
\(\S+\[\]\)[: -]+ Maximum login attempts \(\d+\) exceeded\s+$
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =

Vielleicht erspare ich ja dem Einen oder Anderen damit etliche Stunden voller Kopfzerbrechen..

Falsches Tastaturlayout nach Xorg-update

Kopieren der Datei /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi
nach /etc/hal/fdi/policy und darin das Ersetzen von „us“ durch „de“ löst
das Problem…

Ubuntu ist kein Serversystem

Noja..Linuxer wissen das sicher. Wer einen Beweis braucht, kann ja mal
cat /etc/apache2/envvars eintippen..

# envvars - default environment variables for apache2ctl
# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=root
export APACHE_RUN_GROUP=root
export APACHE_PID_FILE=/var/run/apache2.pid

Bei sowas könnt ich ja im Stehen kotzen..
Nachtrag: Wen wunderts da noch, wenn in der php.ini safemode = Off und AllowFurlOpen = On zu finden ist..
Es ist definitiv mehr Arbeit, das System sicher zu konfigurieren, als es einmal neu hochzuziehen.
Ich kann vor dem Einsatz von Ubuntu auf einem Webserver nur warnen..
*kopfschüttel*
Noch ein Nachtrag: Nachdem ich dann nnoch einige Dinge näher angeschaut habe, bin ich zu dem Entschluß gekommen, per debootstrap ein richtiges Debian zu installeren..sonst brauche ich 3-4 Tage, bis das rund läuft..

Probleme beim world-update

Plötzlich reisst das emerge -u world ab.. Mitten im acl..
error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory
Google brachte nichts wirklich brauchbares in der Suche. Also bastelt man sich halt einen workaround.
Die Dateien bekommt man bei openswan.com, reinkopieren in /usr/lib und alles geht wieder wie gewohnt. Danach unbedingt die coreutils mit „-acl“ neu mergen..
Für faule hier zum rauskopieren:

cd /lib/
wget http://actrophp.de/gentoo/libacl.so.1
wget http://actrophp.de/gentoo/libattr.so.1
# ls, mv, cp funtionieren jetzt wieder
echo „sys-apps/coreutils -acl“ >> /etc/portage/package.keywords
emerge -v coreutils
# aufräumen, die Dateien werden nicht mehr gebraucht
rm /lib/libacl.so.1
rm /lib/libattr.so.1