Hostname am Raspberry Pi ändern

Egal welches Modell du besitzt – eines ist immer gleich.
Nach der Installation des Betriebssystems Raspbian ist der Netzwerkname (auch Hostname) immer „raspberrypi„.

Wenn man diesen ändern möchte, zum Beispiel um mehrere RasPis gleichzeitig im Netzwerk betrieben werden sollen oder aber auch um diese besser zuzuordnen zu können (Steuerung, Radio, …) dann möchte man diese auch vom Computernamen her unterscheiden können.

Änderung Hostname mittels Konsole:
Die Änderung des Hostnamens am Pi lässt sich mit wenigen Schritten durchführen und ist schnell erledigt.
Der alte Netzwerkname kann durch die nachstehende Eingabe schnell ausgelesen werden.

hostname

Nach dem Drücken der Eingabetaste erfolgt auf dem Display die Ausgabe, meist raspberrypi
Das Setzen des neuen Hostnamens erfolgt auch in einem einfachen Schritt und kann durch die Verwendung von
sudo hostname -b NEUER_HOSTNAME
umgesetzt werden.
Mit dem bereits oben erwähnten Befehl hostname kann das richtige Setzen überprüft werden.
Nach dem Neustart sudo shutdown -r -now wird dieser auch dem Router mitgeteilt und der kleine Rechner ist nun unter dem Namen erreichbar.

Hostname ändern mittels raspi-config

Die zweite Variante ist mindestens genauso einfach umzusetzen, wie die erste Variante. Hierbei wird das bereits bei Raspbian vorhandene Konfigurations-Tool genutzt, um den Netzwerknamen anzupassen bzw. zu ändern.

Dieses wird einfach mit dem Befehl sudo raspi-config aufgerufen.

Im Anschluss erfolgt ein Auswahlmenü. Unter dem Menüpunkt 2. Network Options verbergen sich die Netzwerkeinstellungen.

Der Rest sollte selbsterklärend sein.

Nach dem beenden des Programms über finish wird noch ein Neustart des Systems zur Übernahme der Einstellungen angeboten. Dieser sollte ebenfalls durchgeführt werden.

Viel Spass beim testen …

Nagios – Prüfung Prozess auf Remote Linux System

Hallo,

ein Nagios mit Version 4 läuft bei mir schon lange (derzeitig auf einem Ubuntu 14.04 LTS).

Die meisten Serversysteme prüfe ich auf Erreichbarkeit (PING) – bei einigen Windowssystemen habe ich jedoch auch zwischenzeitlich Prozessprüfungen oder Kapazitätsprüfungen hinzugefügt.

Da ich nun auch auf einem Raspberry PI (v1) ein paar Dinge laufen lasse, möchte ich nun eine Prozessprüfung darauf machen mittels NRPE (Nagios Remote Plugin Executor).

Auf dem Raspberry läuft für eine TK-Anlage Musik in der Dauerschleife – dieses Prozess (mpd) will ich prüfen.

Nachfolgend mein kleiner Aufschrieb meiner Config.

Starten wir mit der CONFIG auf dem Raspberry (remote host):

Zunächst muss auf dem Raspberry den NRPE Server installieren werden mittels

sudo apt-get install nagios-nrpe-server

Ist dies geschehen, muss in der NRPE Config den Nagios Server als Host hinterlegen, damit sich dieser verbinden darf.

Hierzu muss die Datei

sudo vi /etc/nagios/nrpe.cfg

in der Zeile

allowed_hosts=127.0.0.1,192.168.0.106

erweitert bzw. ergänzt werden.

Die Konfigurationsdatei /etc/nagios/nrpe.cfg enthält bereits vordefinierte Kommando Definitione, welche genutzt werden können.

Für meinen Fall füge ich ein zusätzliches Kommando hinzu (hervorgehoben).

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200

command[check_mpd_proc]=/usr/lib/nagios/plugins/check_procs -c 1:1 -C mpd

Hierbei prüfe ich den Prozess mpd (-C mpd), ob dieser ausgeführt wird oder nicht.

Mit dem Parameter „-c 1:1“ wird angegeben, das wenn 1 Prozess läuft, die Abfrage OK ist – läuft er nicht, ist er „kritisch“

In der Config können noch weitere Änderungen gemacht werden – je nach Anforderung.

Damit es später auch keine Rechte-Probleme mit der (remote-)Ausführung gibt,

sollte für den User „nagios“ eine Ausnahme in der Datei

/etc/sudoers

gemacht werden.

In meinem Beispiel habe ich die Ausführung aller PlugIn Scripte erlaubt

nagios ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/

Aber zum Schluss nicht vergessen, den Daemon neu zu laden.

sudo service nagios-nrpe-server reload

 

Weitere gehts mit der CONFIG auf dem NAGIOS Server…

Hier muss sichergestellt werden, das die NRPE Plugins installiert sind.

Falls nicht, können diese (und nur diese) wie folgt nachinstalliert werden.

sudo apt-get --no-install-recommends install nagios-nrpe-plugin

Mit der Option „–no-install-recommends“ wird verhindert, dass Nagios mit installiert wird.

Nun muss ein neuer Prüfprozess im Nagios erfasst werden

define command{
                command_name                          check_lxremote_mpd
                command_line                          /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -p 12489 -c check_mpd_proc
}

Fix noch eine Hostzuweisung des Checks machen und Nagios reloaden.

Dann sollte es hoffentlich wie folgt aussehen.

blog-raspi-nrpe

Viel Spass nun beim testen …

Upgrade Kodi auf Version 15.2

Hallo zusammen,

nachdem auf meinem Raspberry seit längerem Kodi (früher auch unter XBMC bekannt) mit Version 14.2 lief, war es mal wieder an der Zeit zum upgraden – aber wie?

Bei „Prof. Google“ fand ich verschiedene Wege. Viele sagten, mache ein Backup, exportiere die Einstellungen, ziehe eine Neuinstallation über die SD-Karte drüber und spiel die Config zurück – ein möglicher Weg, für mich aber der unbequemste 😉

Es gibt einen viel einfacheren Weg (zumindest aus meiner Sicht).

Lade zunächst das Update von der OpenELEC Seite herunter – zum Zeitpunkt dieses Artikel’s war es Version 15.2 (stabile).

Achte darauf, das du die richtige Datei herunterlädst – in meinem Fall für den Raspberry B+ war es diese Datei.

Standardmäßig ist im Kodi das SMB Zugriff aktiv und die kannst mit dem Windows Explorer bequem darauf zugreifen.

Öffne einfach im Windows Explorer die IP Adresse deines Raspberry’s – in meinem Falle ist es

\\192.168.66.10

Das ganze sollte dann wie folgt aussehen:

Kodi_Update_01

Nun siehst du viele freigegebene Ordner. Wichtig ist dabei der Ordner „Update“ – dieser sollte eigentlich leer sein.

Kopiere in diesen Ordner nun die zuvor heruntergeladene Updatedatei hinein.

Kodi_Update_03

Nun ist ein Reboot des Raspberry’s nötig – wie du das machst, ist dir überlassen.

Um den Versionssprung etwas deutlicher zu machen, mache ich das ganze über einen SSH Zugriff.

Vor dem Update lief noch die Version 14.2 von Kodi bzw. die Version 5.0.8 von OpenELEC.

Blog_Kodi_Update_02

Den Reboot nun einfach mit dem Befehl „reboot“ starten.

Blog_Kodi_Update_04

Nun braucht der Raspberry einen Moment. Beim Neustart wird der Updatevorgang ausgeführt.

Zeit sich eine Tasse Kaffee zu holen, dann sollte das Update durch sein.

Auf der SSH Konsole findet man nun zumindest die aktualisierte Version 6.0.0 von OpenELEC.

Blog_Kodi_Update_05

Von nun an läuft auf dem Raspberry die Version 15.2 von Kodi.

Viel Spass nun beim testen …

Raspberry Pi – mount error: Cannot allocate memory

Hallo,

bei meinem Raspberry Pi mache ich in gewissen Abständen Backups von der SD-Karte – nur für alle Fälle.

Nachdem ich heute meinem Raspberry mal wieder ein paar Updates gönnte, konnte ich das Backup nicht mehr ausführen.

Hierzu verbinde ich zuerst vom Raspberry via Mount eine Windowsfreigabe (auf meinem Windows 7 PC) und erstelle anschließend ein Image.

Allerdings erhielt ich heute folgenden Fehler:

CIFS VFS: cifs_mount failed w/return code = -12
mount error(12): Cannot allocate memory

Um dies zu lösen, muss auf der Windows-Seite eine Korrektur durchgeführt werden.

Öffnet hierzu den Registry-Editor (= regedit ; bitte als „Administrator ausführen“) und ändert den nachfolgenden Wert:

HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size  => Wert 3 als REG_DWORD

Anschließend noch kurz den Windowsdienst „Server“ neu starten und schon klappt der Mount wieder.

Viel Spass beim testen …

Raspberry Pi (raspbmc) – USB Stick mounten

Gerade bei einem Raspberry verwende ich für die Betriebssysteme nicht all zu große SD-Karten.

Meist nur 4 bzw 8 GB, was ausreichend ist – alle anderen Daten lagere ich gerne aus (aus mehreren Gründen).

Daher bietet sich ja ein USB-Stick an. Ebenso klein und mit unterschiedlichen Größen (teils schon mit über 128 GB).

Was muss aber getan werden, damit der USB-Stick im Raspberry (in meinem Beispiel ein raspbmc-System) bekannt ist?

1.) System aktualisieren (dauert vll. ein wenig …)

sudo apt-get update
sudp apt-get upgrade

2.) Treiber für das Speichermedium installieren (NTFS, HFS+ und exFat)

sudo apt-get install ntfs-3g hfsutils hfsprogs exfat-fuse

3.) Ordner für Mountpoint erstellen

Um bereits vorhandenen Ordner /media legen wir nun einen Unterordner usbstick an, unter welchem später der USB-Stick im System eingebunden ist (nennt sich auch Mountpoint). Wie der Ordner letztendlich heisst, ist eigentlich egal. Achtet aber darauf, das keine Leer- oder Sonderzeichen enthalten sind.

sudo mkdir /media/usbstick

4.) Erkennung des USB-Sticks

Nun wollen wir erst einmal testen, ob und wie der USB-Stick letztendlich im System erkannt wird.

Dazu können wir einen Live-Einblick in das Systemprotokoll des Raspberry’s werfen.

Mit dem Befehl

tail -f /var/log/messages

wird in der Console das aktuelle Systemprotokoll (zur Laufzeit!) ausgegeben. Dies kann einfach mit Strg + C verlassen werden.

wordpress_usb-stick_messages

5.) USB-Stick einbinden

Nachdem nun alles bereit ist, können wir nun den USB-Stick in das System einbinden.

Je nachdem, wie der USB-Stick formatiert ist, muss der Befehl für’s einbinden etwas anders lauten. Anbei 2 Beispiele:

FAT32

sudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/usbstick/

NTFS

sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /media/usbstick/

6.) – Optional – / USB-Stick auswerfen

Damit Sie den USB-Stick wieder auswerfen bzw. umounten, verwende einfach nachfolgenden Befehl:

sudo umount /media/usbstick

7.) – Optional – / USB-Stick automatisch beim Systemstart einbinden

Wenn der USB-Stick bei jedem Start des Raspberry’s automatisch eingebunden werden soll, muss zunächst die sogenannte UUID auslesen werden.
Diese kann über nachfolgendes Kommando gemacht werden.
Beispiel-UUID : 1234-AB34.

sudo blkid /dev/sda

Zu guter Schluss muss, je nach Filesystem, eine Erweiterung in der Datei /etc/fstab eingetragen werden.

Darin muss, neben der UUID auch der Mountpoint mit angegeben werden.

Ich nutze dabei den nano Editor

sudo nano /etc/fstab

FAT32

UUID=1234-AB34 /media/usbstick/ vfat defaults,auto,umask=000,users,rw 0

NTFS

UUID=1234-AB34 /media/usbstick/ ntfs-3g defaults,auto,umask=000,users,rw 0

Das war’s – nun wird der USB-Stick bei jedem Neustart des Raspberry’s automatisch eingebunden

Viel Spass beim Testen …

Raspberry Pi – nginx Webserver installieren

Ein Raspberry Pi ist nicht nur ein Linuxsystem, es steckt noch viel mehr darin.

U.a. lässt sich darauf auch ein Webserver betreiben (aufgrund der Hardware empfehle ich jedoch, weder etwas Produktives noch etwas resourcenintensives darauf laufen zu lassen).

Aber genau aus diesen Resourcengründen lässt sich statt des „hungrigen“ Apache auf ein anderer Webserver installieren – nginx

Wie? Folgt dieser Anleitung:

sudo apt-get update
sudo apt-get install nginx

Anschließend liese sich der Webserver bereits direkt ausführen mit

sudo service nginx start

Standardmäßig legt der Webserver sein root-Verzeichnis auf /usr/share/nginx/www.

Nun muss noch der PHP Teil installiert werden.

sudo apt-get install php5 php5-cgi php5-fpm php5-gd php-apc

Konfiguration

Nun konfigurieren wir noch den Webserver Nginx.
Dies erfolgt über die Konfigurationsdatei /etc/nginx/sites-enabled/default.

index index.html index.htm index.php;
location ~ ^(.+?\.php)(/.*)?$ {
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 #  # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
 #
 #  # With php5-cgi alone:
 #  fastcgi_pass 127.0.0.1:9000;
 #  # With php5-fpm:
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$1;
 }

 Optimierungen

Standardmäßig arbeitet Nginx mit 4 Workerprozesse.
Der Raspberry Pi hat aber nur einen CPU Kern, daher wäre dies Unsinn.

Für die Anpassung dazu passe die Konfigurationsdatei /etc/nginx/nginx.conf wie folgt an.

worker_processes 1

Zum Schluss müssen die betroffenen Daemon’s noch neu gestartet werden, bevor die Änderungen greifen.

sudo service nginx restart
sudo service php5-fpm restart

Viel Spass beim testen …

Raspberry Pi – feste IP hinterlegen

Standardmäßig wird ein Raspberry Pi mit der LAN-Einstellung DHCP ausgeliefert.

Prinzipiell ist dies auch, in den meisten Fällen ausreichend – aber nicht immer 😉

In manchnen Fällen ist es erforderlich, auch eine feste IP dem Raspberry zuzuweisen.

Wie? – ganz einfach:

Editiere zunächst die Config-Datei mit:

 sudo vi /etc/network/interfaces

Suche nun nachfolgende Zeile und, welche ersetzt werden muss (oder einfach mit einem # auskommentiert)

 iface eth0 inet dhcp

Nun musst du die Einstellungen für dein Netzwerk vornehmen (Achtung – dies sind nur Beispielwerte!)

 iface eth0 inet static
    address 192.168.10.50
    netmask 255.255.255.0
    network 192.168.10.0
    gateway 192.168.10.1
    dns-nameservers 192.168.10.1

Zum Schluss nicht vergessen, das Netzwerk neu zu starten (oder reboote einfach den Zwerg …)

 sudo service networking restart

Letzteres (dns-nameserver) kann bzw. sollte je nach Konfiguration ggf. besser über den /etc/resolv.conf angepasst werden.

Viel Spass beim Testen …

Mittels Webinterface den RasPi herunterfahren und/oder neu starten

Vor kurzem stand ich vor einen Projekt, welches auf einem RasPi im Webbrowser im Vollbildmodus lief.

Alles schien perfekt – die Webseite lief super, der User konnte – und sollte – (dank Vollbildmodus nicht ändern).

Aber moment?! Irgendwie sollte doch die Möglichkeit bestehen, den RasPi dennoch neu starten zu können oder herunterzufahren.

Lösung – Miniwebserver auf dem RasPi installieren, 2 kleine PHP-Skripte schreiben, Weblinks setzen – fertig.

Anbei die kurze Variante:

RasPi zunächst aktualisieren und anschließen den Mini-Webserver + PHP-Modul installieren:

sudo apt-get update && sudo apt-get install lighttpd php5-cgi

Anschließen die AddOns fastcgi + fastcgi-php im Webserver aktivieren:

sudo lighty-enable-mod fastcgi fastcgi-php

Damit der Webserver das auch mitbekommt, muss dieser neu gestartet werden:

sudo /etc/init.d/lighttpd force-reload

Nun noch dem Webserver „Benutzer“ erlauben, einen Shutdown auszuführen:

sudo visudo

Füge folgende Zeile unter „pi ALL etc.“ hinzu und beende den visudo editor:

www-data ALL = NOPASSWD: /sbin/shutdown

Erstelle nun in der HTML-Seite einen Link auf ein PHP-Script

sudo nano /var/www/index.html

Inhalt:

<html><a href="shutdown.php">Shutdown RasPi</a></html>

Erstelle nun die Datei /var/www/shutdown.php und füge folgenden Inhalt hinzu:

<?php system('sudo /sbin/shutdown -h now'); ?>

Anschließend lässt sich der RasPi über die HTML-Seite herunterfahren.

 

Um nun den RasPi auch neu starten zu können, einfach ein 2. PHP-Skript (restart.php) mit folgendem Inhalt machen:

<?php system('sudo /sbin/shutdown -r now'); ?>

 

Nun noch einen Link setzen (<html><a href=“restart.php“>RasPi neu starten</a></html>) – fertig.

 

Bei meinem Projekt habe ich das ganze statt Text über 2 Buttons mit Bilder gelöst – siehe:

RasPi Control
RasPi Control

 

 

 

 

 

Sieht (für mich) ganz gut aus 😉

Viel Spass beim testen …

Raspberry Pi – Desktopverknüpfung erstellen

Wie erstellt man eine Verknüpfung auf dem Desktop eines Raspberry pi?

Ganz einfach:

  • Erstelle auf dem Desktop eine Datei unter /home/pi/Desktop und benenne diese nach „anwendung.desktop„.
  • Wichtig dabei ist die Endung .desktop
  • Füge nun folgende Zeilen in die Datei „anwendung.desktop„:
[Desktop Entry]
 Name=Anwendung
 Comment=Kommentar zur Anwendung
 Icon=/usr/share/pixmaps/irgendeinedatei.xpm
 Exec=/usr/bin/anwendung
 Type=Application
 Encoding=UTF-8
 Terminal=false
 Categories=None;

Viel Spass beim testen ...

Raspberry Pi – Bildschirmschoner ausschalten

Der Raspberry pi ist wirklich klasse, aber z.B. das Deaktivieren des Bildschirmschoner’s ist nicht so einfach.

Dies lässt sich aber wie folgt über die xset commands lösen:

Editiere die Datei
/etc/X11/xinit/xinitrc
und füge nachfolgende Zeilen direkt nach der ersten Zeile ein:

xset s off         # aktiviert keinen Bildschirmschoner
xset -dpms         # deaktiviert DPMS (Energy Star) Features.
xset s noblank     # deakviviert blank the video device

Viel Spass beim Testen …

 


 

UPDATE – 2016.06:

Ich hatte nun die Gelegenheit, das ganze auf einem Raspberry 3 zu testen – irgendwie wollte das nicht mehr so richtig.

Aber – ich habs hinbekommen 😉

Normalerweise könnte man diese Einstellungen für die X-Config in der Datei

/etc/xdg/lxsession/LXDE/autostart

ändern.

Jedoch gibt es eine Besonderheit (?) unter Rasbian Jessie – es gibt nun eine 2. Möglichkeit

/etc/xdg/lxsession/LXDE-pi/autostart

Bitte versuch es darin nicht – auch darin läuft es nicht ;-(

Warum – es gibt sep. für den User „pi“ eine Userconfig dazu unter

/home/pi/.config/lxsession/LXDE-pi/autostart

Darin habe ich nachfolgende Änderungen eingebaut:

Blog-raspberry-pi-bildschirmschoner04

Code (den uncutter lasse ich weg, brauchte ich in meinem Falle für eine andere Funktion):

@xset s off
@xset -dpms
@xset s noblank

Habe mich anschließend gefreut – jedoch zu früh.

Nach etwas suchen bin ich noch auf die zusätzliche Stelle gestoßen.

Suche in der Datei /etc/lightdm/lightdm.conf die Selektion [SeatDefaults] und editiere die Zeile beginnend mit xserver-command wie folgt:

[SeatDefaults]
...
xserver-command=X -s 0 -dpms
...

Um die Datei editieren zu können, brauchst du root-Rechte.

sudo nano /etc/lightdm/lightdm.conf

Nach einem Reboot des Raspberry’s sollte der Bildschirm anschließend nicht mehr dunkel werden.

Viel Spass nun beim Testen …