Mittels folgendem Befehl sollte man die Uhrzeit richtig stellen:
# dpkg-reconfigure tzdata
Ausserdem empfiehlt es sich, die Uhrzeit stündlich neu zu stellen:
# apt-get install ntpdate
/etc/crontab
... * * * * * root ntpdate -s ch.pool.ntp.org ...
Montag, 22. Juni 2015
Mittels folgendem Befehl sollte man die Uhrzeit richtig stellen:
# dpkg-reconfigure tzdata
Ausserdem empfiehlt es sich, die Uhrzeit stündlich neu zu stellen:
# apt-get install ntpdate
... * * * * * root ntpdate -s ch.pool.ntp.org ...
Tags: ntp, ntpdate, Raspberry Pi, Raspbian, tzdata
Labels: IT, Linux
Montag, 22. Juni 2015
Da ich meinen Raspberry Pi 2 für die Anzeige eines web-basierten Dashboards verwende, dessen 22″-Monitor hochkant an einer Wand neben der Eingangstüre unserer Wohnung hängt, muss ich die Bildschirmausgabe um 90 Grad im Uhrzeigersinn rotieren.
Hierzu ist mindestens eine Einstellung namens display_rotate im Pseudo-BIOS des Raspberry Pis 2 nötig:
... disable_overscan=1 ... gpu_mem=256 ... display_rotate=1
Quelle: CONFIG.TXT
In der Dokumentation sind die Gradangaben für die Werte 0 bis 3 aufgeschlüsselt — 90 Grad im Uhrzeigersinn werden mit dem Wert 1 konfiguriert.
Tags: 180, 270, 90, Bildschirm, CCW, CW, Display, HDMI, Raspberry Pi, Rotation, rotieren, Uhrzeigersinn
Labels: IT, Linux
Montag, 22. Juni 2015
Nachdem man SSH-Verbindungen herstellen kann, aktualisiert man zuerst einmal das System. Hierzu loggt man sich per SSH mit dem Benutzer pi ein und wechselt danach zum root-Benutzer:
$ sudo su -
Als nächstes aktualisiert man wie von Debian gewohnt die
# apt-get update
und installiert alle neuen Pakete:
# apt-get upgrade
Ist Wheezy auf dem neuesten Stand, wechseln wir das Repository in folgender Datei zu Jessie:
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
Nun führen wir erneut ein
# apt-get update
durch, um die Jessy-Paketliste herunterzuladen.
Jetzt startet die grosse Upgrade-Aktion:
# apt-get dist-upgrade
Nach einigen Stunden und allfälligen Dialogen sollte nach einem Reboot Raspbian Jessy auf dem System laufen.
Tags: apt-get, Jessy, Raspberry Pi, Raspbian, Wheezy
Labels: IT, Linux
Montag, 22. Juni 2015
Für meinen zweiten Raspberry habe ich in meinem Elektronik-Lager einen unbenutzten WLAN USB-Stick Linksys WUSB54GC v3 gefunden. Mit der Standard-Stromversorgung (1.2A) funktioniert dieser Stick problemlos (keine andere Peripherie an den USB-Anschlüssen) und Raspbian erkennt den WLAN-Stick automatisch.
Als erstes gilt es, den Raspberry Pi 2 zu booten. Angeschlossen an einen HDMI-Monitor und mit einem USB-Keyboard geht man danach an die Konfiguration des WLAN-Adapters, damit man die restliche Konfiguration per SSH vornehmen kann.
Nachdem man nach dem ersten booten in raspi-config landet, vergrössert man zuerst die Partition und startet den Taschencomputer neu. Beim nächsten Neustart loggt man sich mit dem Standardbenutzer pi und dem Passwort raspberry in die Shell ein. Dort startet man raspi-config erneut, und wechselt das Keyboard-Layout im Menupunkt „INTERNATIONALISATION OPTIONS“ auf „Deutsch (Schweiz)“. Anschliessend wechselt man das Passwort des Standardbenutzers. Sicher ist sicher.
Da in der Standardinstallation vim noch nicht vorhanden ist, nehmen wir nano und bearbeiten folgende Datei:
auto lo iface lo inet loopback auto eth0 allow-hotplug eth0 iface eth0 inet manual auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid EMEIDI-LEGACY wpa-psk ******** iface default inet dhcp
Um die Verbindung herzustellen, habe ich den WLAN-Stick kurzerhand aus- und wieder eingestöpselt. Nach gefühlten 10 Sekunden führte der Befehl ifconfig für das Interface wlan0 dann eine gültige IP-Adresse auf (sofern der in dieser Konfiguration zwingend benötigte DHCP-Server im Netzwerk sauber funktioniert).
Nachdem man sich die IP unter dem Interface wlan0 notiert hat, geht es an den Mac mini, von welchem aus man mittels SSH die restliche Konfiguration des Systems vornimmt.
Falls man mit gelegentlichen Verbindungsproblemen kämpft, welche einen automatischen Neustart des WLAN-Interfaces nötig machen, sollte man einen entsprechenden Cron-Job einrichten:
... * * * * * root /usr/local/bin/check-wifi.sh > /dev/null 2>&1 ...
Das Script liest sich folgendermassen:
#!/bin/bash ################################################################## # A Project of TNET Services, Inc # # Title: WiFi_Check # Author: Kevin Reed (Dweeber) # dweeber.dweebs@gmail.com # Project: Raspberry Pi Stuff # # Copyright: Copyright (c) 2012 Kevin Reed# https://github.com/dweeber/WiFi_Check # # Purpose: # # Script checks to see if WiFi has a network IP and if not # restart WiFi # # Uses a lock file which prevents the script from running more # than one at a time. If lockfile is old, it removes it # # Instructions: # # o Install where you want to run it from like /usr/local/bin # o chmod 0755 /usr/local/bin/WiFi_Check # o Add to crontab # # Run Every 5 mins - Seems like ever min is over kill unless # this is a very common problem. If once a min change */5 to * # once every 2 mins */5 to */2 ... # # */5 * * * * /usr/local/bin/WiFi_Check # ################################################################## # Settings # Where and what you want to call the Lockfile lockfile='/var/run/WiFi_Check.pid' # Which Interface do you want to check/fix wlan='wlan0' ################################################################## echo echo "Starting WiFi check for $wlan" date echo # Check to see if there is a lock file if [ -e $lockfile ]; then # A lockfile exists... Lets check to see if it is still valid pid=`cat $lockfile` if kill -0 &>1 > /dev/null $pid; then # Still Valid... lets let it be... #echo "Process still running, Lockfile valid" exit 1 else # Old Lockfile, Remove it #echo "Old lockfile, Removing Lockfile" rm $lockfile fi fi # If we get here, set a lock file using our current PID# #echo "Setting Lockfile" echo $$ > $lockfile # We can perform check echo "Performing Network check for $wlan" if ifconfig $wlan | grep -q "inet addr:" ; then echo "Network is Okay" else echo "Network connection down! Attempting reconnection." ifdown $wlan sleep 5 ifup --force $wlan ifconfig $wlan | grep "inet addr" fi echo echo "Current Setting:" ifconfig $wlan | grep "inet addr:" echo # Check is complete, Remove Lock file and exit #echo "process is complete, removing lockfile" rm $lockfile exit 0 ################################################################## # End of Script ##################################################################
Quelle: dweeber/WiFi_Check
Montag, 22. Juni 2015
Um meinen Raspberry Pi 2 mit einem Betriebssystem zu versehen, habe ich mir bei Digitec eine 16 GB grosse MicroSD-Karte der Klasse 10 gekauft. Diese habe ich anschliessend in meinen Mac mini gestöpselt, damit ich sie mit Raspbian (Debian für Raspberry) bestücken konnte.
Raspbian Wheezy (2015-05-05) habe ich mir über Bittorrent heruntergeladen, in einem Verzeichnis entpackt und danach mit folgendem Script auf die MicroSD-Karte geschrieben:
#!/bin/sh # https://www.raspberrypi.org/documentation/installation/installing-images/mac.md IMAGE="./2015-05-05-raspbian-wheezy.img" SDCARD="/dev/disk2" # Adjust to your configuration; NO PARTITION, JUST THE DISK NAME! SDCARD="/dev/rdisk2" # Using rdisk speeds up the process 4-7x (see comment by Simon Jenny) echo "Unmounting disk $SDCARD ..." sudo diskutil unmountDisk $SDCARD echo "Done." echo "" echo "Starting imaging '$IMAGE' to $SDCARD ..." sudo dd bs=1m if=$IMAGE of=$SDCARD echo "Done." echo "" exit 0
Via: INSTALLING OPERATING SYSTEM IMAGES ON MAC OS
Die Device-Adresse der MicroSD-Karte habe ich auf der Kommandozeile mit dem Befehl df -h herausgefunden. Wichtig ist, dass man den Pfad zur Disk und nicht zur Partition angibt.
Da dd mit obigem Kommando keine Rückmeldung gibt, wie weit die Übertragung schon ist, habe ich mit dem OS X Activity Monitor habe ich mir im Tab „Disk“ den Fortschritt des Prozesses dd anzeigen lassen. Die Spalte „Bytes written“ zählt stetig aufwärts, bis die 3.3 GB erreicht sind.
Anschliessend habe ich die MicroSD-Karte mit OS X Disk Utility ausgeworfen (Rechtsklick auf die Disk, dann „Eject“) und in den Raspberry Pi 2 eingebaut.
Sobald der Taschencomputer mit Strom versorgt wird, sollte das rote LED leuchten. Leuchtet das grüne LED zudem permanent, hat man das Image verbockt (in meinem Fall: Das Image auf die Partition geschrieben, nicht auf die Disk). In dem Falle heisst es zurück zum Start.
Tags: Activity Monitor, dd, Disk Utility, MicroSD, MicroSD-Card, Raspberry Pi, Raspbian, SD, SD-Card
Labels: IT, Linux
Samstag, 6. Juni 2015
Vor Jahren war der Shared Hosting-Anbieter Cyon ein Lichtlein am Horizont — klasse Design, einfach zu bedienende Admin-Oberfläche ohne irgendwelchen Schnick-Schnack.
In den letzten Monaten hat der Anbieter bei mir leider viel Goodwill eingebüsst; es scheint, als passe Cyon bald im Monatsrhythmus seine Infrastruktur an, und der Leidtragende ist der Kunde:
Was mich zu meinem eigentlichen Problem führt: Es scheint, als hätte Cyon kürzlich den Web-Server von LiteSpeed auf Apache gewechselt (ich kämpfe derzeit mit Zeichensatzproblemen, weil AddDefaultCharset utf-8 in .htaccess nicht mehr beachtet werden). Nun gut und recht. Zusammen mit diesem Wechsel kommt auch die SSH-Shell komisch daher.
Insbesondere nervte mich tödlich, dass ich neuerdings das aktuelle Terminal-Fenster nicht mehr mittels Ctrl-l löschen konnte (analog zum Befehl clear, halt simpler und schneller). Wenn ich die Tastenkombination betätigte, erschien einfach eine neue Zeile mit der Befehlseingabe.
Nach einigen längeren Nachforschungen und Pröbeleien (wohl so eine Eigenheit von bash mit .bash_profile und .bashrc) löste folgender Eintrag in .bashrc mein Problem.
... # User specific aliases and functions bind -x $'"\C-l":clear;'
Quelle: To bind clear to ^l in Bash
Tags: Bash, clear, Ctrl-l, Cyon, Fenster, Hosting, Kritik, Kunde, Kundensupport, Kundenzufriedenheit, Schweiz, Shared Hosting, Web, Window
Labels: IT
Mittwoch, 3. Juni 2015
Gescannte PDFs sind aus dem Arbeitsalltag nicht mehr wegzudenken. Zu Hause verwende ich einen Fujitsu ScanSnap ix500, um Papierdokumente automatisch in PDF-Dateien zu digitalisieren (OCR folgt leider immer noch manuell über Adobe Acrobat 9).
Kürzlich wurde ich zu einem Supportfall gerufen, bei welchem die Kundin mit ihrem MFC-Scanner von Brother unter Windows ebenfalls auf Knopfdruck PDFs erstellen wollte. Doch leider war die Brother-Software hoffnungslos veraltet, umständlich und produzierte vor allem aus den Scans nicht direkt PDFs.
Nach einigem Suchen fand ich folgendes schicke Tool, welches äusserst bedienerfreundlich daherkommt:
Im Tool konnte ich den Scanner problemlos konfigurieren. Vorher war es nötig, den offiziellen Brother TWAIN-Netzwerk-Treiber zu installieren, damit Scandaten per Ethernet an den Windows-Client übermittelt werden können. Nun verrichtet das quelloffene Tool seit Monaten seinen Dienst, und dies ohne jegliche Komplikationen.
Tags: NASP2, Not Another PDF Scanner, PDF, Scan, Scannen, Windows
Labels: IT
Donnerstag, 7. Mai 2015
Über eine interne Präsentation von 365d habe ich kürzlich von sogenannten Pflanzensensoren (Plant Sensors») erfahren, mit welchen man die Vitaldaten von Blumentöpfen aufzeichnen kann:
Über Tutti.ch fand ich ein preisgünstiges Occasionmodel dieses Sensors und habe es kurzerhand gekauft.
Bei der Installation mittels der Online-Anleitung und der Smartphone-Applikation aus dem App Store stiess ich aber auf folgende Fehlermeldung:
Error Code: 1/3
Die Hilfe-Seite für WLAN/WiFi-Probleme war nicht weiter hilfreich.
Nach einigem Pröbeln realisierte ich, dass das Problem mit der WiFi-Konfiguration meines WLAN-Access Points zusammenhing: Dieser sendete bis dahin nur im 802.11n-Modus. Der Pflanzensensor benötigt aber 802.11g.
Kurzerhand passte ich die Einstellungen unter DD-WRT folgendermassen an:
Anschliessend klappte es problemlos, das Gerät mit meinem heimischen WLAN zu verbinden.
Es wäre wünschenswert, wenn die Fehlermeldungen der Smartphone-Applikation detaillierter ausfielen und das Problem auch präziser beschrieben werden würde …
Tags: 802.11g, 802.11n, Koubachi, M2M, Pflanzensensor, Plant Sensor, WiFi, WLAN
Labels: IT
Donnerstag, 30. April 2015
MacPorts präsentierte mir bei der Installation des Pakets poppler folgende Fehlermeldung:
Unable to execute port: Can’t install poppler because conflicting ports are installed: xpdf
Wie löst man dieses Problem? Als erstes deaktiviert man allfällige, bereits vorhandene OSS-Pakete mit PDF-Funktionalitäten:
# port deactivate xpdf-tools xpdf
Anschliessend installiert man die xpdf-Tools derart neu, dass auch poppler mitkommt:
# port install xpdf +with_poppler
Tags: MacPorts, poppler, xpdf-tools
Labels: IT