Martin Lantzsch
Software Entwickler
22. Juli 2015

Festplatte durch Jenkins vollgelaufen

22. Juli 2015 - Geschrieben von Martin - Keine Kommentare

Heute ist die Festplatte meines Build-Servers vollgelaufen. Ich vermutete erst ich hätte die Build Artifakte meines Nightly Builds dauerhaft auf das NFS Share geworfen, allerdings stellte sich nach einem schnellen du -h heraus, dass die Log Datei von Jenkins unter /var/log/jenkins/jenkins.log 9,1 GB groß ist. Immer mit dem folgenden Eintrag:

question:      [DNSQuestion@1546425449 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]

Damit das erst mal abgestellt ist, kann man laut Jenkins Issue Tracker in der /etc/default/jenkins einen weiteren „versteckten“ Parameter an den Start von Jenkins übergeben:

JAVA_ARGS="-Dhudson.DNSMultiCast.disabled=true"

dieser wird anschließend vom init.d Script bei einem Neustart des Dienstes aufgegriffen und die Platte läuft nicht weiter voll. Spannend ist auch, dass die Log Datei ab der extremen „Wachtumsphase“ nicht mehr rotatet werden konnte.

Ich muss wohl künftig in meinem Paessler Monitoring noch das rasante Schrumpfen von freiem Festplattenplatz überwachen. Bei einem Build Server ist das allerdings nicht so geil, denn CPU, RAM, Netzwerk und Festplatte sind eigentlich ständig durch Unit- und Integrationstests unter Dauerlast und so meldet sich jede Nacht ein Sensor wenn mal wieder viele Abhängige Builds durchgeführt werden…

14. Juni 2015

Mono auf Ubuntu kompilieren

14. Juni 2015 - Geschrieben von Martin - Ein Kommentar

Wenn man Mono aus dem Git Repository kompilieren möchte – um zum Beispiel wie ich einen Bug in der MCS zu fixen -, benötigt man libtool, ansonsten kann man das tolle „autogen.sh“ Script nicht ausführen, welches das Makefile voll automatisch erzeugt.

Das Paket „libtool“ aus dem Ubuntu Repo ist allerdings nicht das richtige, da kein Binary zur PATH Variable hinzugefügt wird. Das Shellscript bricht also mit folgender Fehlermeldung ab:

Error: You must have `libtool' installed to compile Mono.
Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz
(or a newer version if it is available)

Mit dem Paket „libtool-bin“ steht ein Paket bereit, das die Binaries mitbringt und sie in der PATH Variable registriert. Danach laufen sowohl autogen.sh als auch make ohne Fehler durch :)

21. Oktober 2013

/bin/false und vsftpd

21. Oktober 2013 - Geschrieben von Martin - Keine Kommentare

Wenn ein User Account die Shell /bin/false zugewiesen bekommt hat er keinen Zugriff mehr auf die Shell, was sich zum Beispiel bei einem File Server anbietet, auf dem User selbst quasi keine Rechte haben.

chsh -s /bin/false USER

Nutzt man nun diesen User Account zur Authentifizierung am vsftpd so schlägt jeder Login fehl, da vsftp eine gültige Shell verlangt.

Um dies zu umgehen kann man in der Konfiguration von pam.d die Überprüfung auf eine gültige Shell exklusiv für vsftpd abschalten:

nano /etc/pam.d/vsftpd

# Standard behaviour for ftpd(8).
auth    required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
 
# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.
 
# Standard pam includes
@include common-account
@include common-session
@include common-auth
#auth   required        pam_shells.so

Die letzte Zeile wie hier auskommentieren und schon kann man sich mit dem Benutzer am FTP Server anmelden.

15. Februar 2013

XFCE Dual Head Konfiguration

15. Februar 2013 - Geschrieben von Martin - Keine Kommentare

Da XFCE von Haus aus kein Dual Head unterstützt muss man das wohl von Hand per xrandr einrichten. Ich habe mir hierzu folgendes Script aus Ask Ubuntu geschnappt und angepasst:

!/bin/bash
 
# RESOLUTION SETTINGS
# This sets your VGA2 monitor to its best resolution.
xrandr --output VGA2 --mode 1920x1080 --rate 60
# This sets your laptop monitor to its best resolution.
xrandr --output LVDS2 --mode 1440x900--rate 60
 
# MONITOR ORDER
# Put the Laptop right, VGA2 monitor left
# xrandr --output VGA2 --left-of LVDS2
# Put the Laptop left, VGA2 monitor right
xrandr --output LVDS2 --left-of VGA2
 
# PRIMARY MONITOR
# This sets your laptop monitor as your primary monitor.
xrandr --output VGA2 --primary
# This sets your VGA2 monitor as your primary monitor.
# xrandr --output VGA2 --primary

Die Namen der Angeschlossenen Monitore kann man sich per xrandr auf der Konsole anzeigen lassen.

Mit einem Rechtsklick auf die Leiste oben am Bildschirm, dann auf „Leiste“ und auf „Leisteneinstellungen…“ kann man die Leiste auf einen anderen Monitor verschieben. Hierzu gibt es im Tab Anzeige die Option „Ausgabe“.

Leisteneinstellungen

12. Februar 2013

Python pip – Modul im Home Verzeichnis installieren

12. Februar 2013 - Geschrieben von Martin - Keine Kommentare

Bei älteren pip Versionen wird ein Python Modul wie hier z.B. „uptime“ mit folgendem Kommando in das Home Verzeichnis des aktuellen Benutzers installiert (z.B. /home/foo/.local/lib/pythonX.X/)

pip install --install-option="--user" uptime

bei neueren Versionen gibt es auch folgendes Shortcut

pip install --user uptime

11. Februar 2013

Telnet Client Session beenden

11. Februar 2013 - Geschrieben von Martin - Keine Kommentare

Zum beenden einer Telnet Session einfach STRG + * drücken.

telnet> open 127.0.0.1 1234
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
^]
telnet> q
Connection closed.

25. Oktober 2012

Raspberry Pi am HDMI auf DVI Adapter

25. Oktober 2012 - Geschrieben von Martin - Keine Kommentare

Da mein HDMI Switch für den RPi wohl zu viel Strom zieht, will ich ihn nun per DVI an meinen Monitor anschließen, um dauerhafte Bildaussetzer und Flackern zu verhindern.

Dazu habe ich mir erst einmal von einem netten Kollegen (danke nochmal an dieser Stelle ;-)) einen HDMI auf DVI Adapter geliehen.

Als der RPi lief habe ich den HDMI abgezogen und mit dem Adapter an den DVI Port meines 22″ Displays angeschlossen. Funktionierte prächtig, bis zum nächsten reboot. Dann blieb das Bild schwarz und der Monitor aus. Der Pi war aber per SSH zu erreichen.

Also hat der Adapter wohl zu viel Widerstand, als das der Raspberry Pi erkennen könnte, dass ein HDMI Device angeschlossen ist und gibt via Cinch aus.

Per SSH habe ich dann in der „/boot/config.txt“ das Flag “ hdmi_force_hotplug=1″ gesetzt, damit er dauerhaft HDMI verwendet und nun geht es auch direkt nach einem reboot.

Nun kann ich mich wieder der ehlendigen xbmc Bastelei widmen ;-)

24. Oktober 2012

XBMC build tools schlägt auf dem Raspberry Pi fehl

24. Oktober 2012 - Geschrieben von Martin - Ein Kommentar

Ich habe nun Raspbian auf meinem Raspberry Pi und wollte XBMC installieren, dabei bin ich der Anleitung von der Offiziellen Raspbian Webseite gefolgt: raspbian.org/RaspbianXBMC

Leider kam bei mir immer folgender Fehler wenn ich die die Tools bauen wollte:

pi@raspberrypi ~/xbmc-rbp $ sudo make -C tools/rbp/depends/xbmc
make: Entering directory `/home/pi/xbmc-rbp/tools/rbp/depends/xbmc'
cd ../../../../; ./bootstrap
./bootstrap: 5: ./bootstrap: autoreconf: not found
make: *** [configure] Fehler 127
make: Leaving directory `/home/pi/xbmc-rbp/tools/rbp/depends/xbmc'

Nach der Installation von „dh-autoreconf“ läuft es nun durch:

sudo apt-get install dh-autoreconf

Das läuft nun schon gute 5 Minuten… ich werde berichten was noch alles auf dem Weg zu einem funktionierenden MediaCenter passiert.