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
Mittwoch, 3. Juni 2015
Wer wie ich regelmässig in die USA fliegt, schätzt es, wo immer möglich US-Stromsteckerköpfe an Netzteilen einzusetzen. Das Akkuladegerät Nikon MH-24, welches ich mit meiner Nikon D3300 gekauft habe, vereint beide Welten. In der unmodizifierten Fassung verfügt das Ladegerät über einen us-amerikanischen Stromstecker.
Bei in Europa verkauften Kameras legt Nikon dann einen aufsteckbaren Adapter bei, welcher das Ladegerät mit dem zweipoligen, runden Europaanschluss mit unserem Kontinent kompatibel macht.
Tritt man eine Reise nach Nordamerika an, empfiehlt es sich deshalb, den europäischen Aufsteckknopf zu entfernen. Dies ist auf Anhieb gar nicht so einfach. Eine Google-Suche hat mich deshalb auf folgende Forumsdiskussion gelenkt:
First you need to find a small flat screwdriver, you will also need something narrow that will fit into a hole about 3-4mm across (keep it clean guys I found a biro nib was ideal, you’ll have to remove it from the pen casing first though.
Hold the charger with the pins facing away from you like you’re about to put it into a power-socket, slide the flat screwdriver into the gap between the top of the charger and the join between the plug adapter (you’ll notice that there is a small hole here, but its easier to use a screwdriver trust me), slide the screwdriver in as far as you can (just to the side of the hole, as the catch is about 4mm wide either side of the hole) and keep pressure on it. Turn the whole unit 90 degrees so that you’re looking at it sideways; now gently pull the 3 pin adapter from the bottom away from the charing unit, as if you are peeling it off like a sticker.
This should release the catch at the top, however, you still have the catch at the side to deal with, and not much room to manouvre, I managed to release the second catch by twisting the 3 pin adapter towards the catch, however, this could damage the plastic catch a little, so to play safe, use your narrow item to push in the catch….you’ll have to push very hard to release it though.
Quelle: MH-24 plug charger problem?
Obwohl der lange Text auf den ersten Blick hin abschreckt darf ich beruhigen: Es ist wirklich ganz einfach. Man nehme einen kleinen, flachen Schraubenzieher und stosse diesen in Folge unter die beiden Plastic-Klemmen, mit welchen der Europa-Stecker an das Netzteil angemacht ist. Der Adapter löst sich und gibt die US-Stecker frei.
Ich habe das Prozedere nun bereits viele Male durchgeführt, ohne dass das Netzteil oder der Adapter je Schaden genommen hätten.
Tags: Europa, MH-24, Netzteil, Nikon, Plug, Stecker, USA
Labels: Uncategorized
Mittwoch, 3. Juni 2015
$ ssh-keygen -lf "1f:c7:da:ef:ff:ff:ff:ff:c8:77:c6:f8:1f:dd:f3:1a" 1024 1f:c7:da:ef:ff:ff:ff:ff:c8:77:c6:f8:1f:dd:f3:1a /tmp/key (RSA)
Quelle: Given keys in ~/.ssh/authorized_keys format, can you determine key strength easily?
Tags: Bit, Private Key, Public Key, SSH, Stärke, Strength
Labels: Linux
Mittwoch, 3. Juni 2015
Da programmiere ich seit bald 15 Jahren mit PHP, doch erst vor wenigen Wochen habe ich realisiert, dass Arrays keine Floats als Schlüssel unterstützen. Variablen mit Fliesskommazahlen können zwar durchaus als Schlüssel gesetzt werden, werden in der Folge aber in Integer-Werte umgewandelt. Dies führt dazu, dass Schlüssel wie ‚3.3‘ sowie ‚3.4‘ zu ‚3‘ umgewandelt werden und der Variablenwert dementsprechend überschrieben wird:
Working with an array with periods in key values
Wer die Fliesskommazahlen zwingend benötigt, muss diese zuerst in Strings umwandeln:
... $key = 3.3; $keyValid = (string)$key; $array[$key] = 'One'; $array[$keyValid] = 'Two'; var_dump($array); ...
Via: ToString() equivalent in PHP
ergibt:
array(2) {
[3]=>
string(3) "One"
["3.3"]=>
string(3) "Two"
}
Tags: Arrays, Fliesskomma, Float, Int, Integer, Keys, PHP, Schlüssel, String
Labels: Uncategorized