Raspberry Pi: Wie muss Kismet konfiguriert werden, damit GPS-Daten angezeigt werden?

Mit dem neuen Kali 2.0 auf dem Raspberry Pi ist auch eine neue Einrichtung von Kismet nötig, damit die GPS-Daten dort angezeigt werden. Läuft so aber auch auf Debian.
Wie hier schon mal beschrieben, werden die GPS-Daten über den GY-GPS6MV2 an den Raspberry Pi über die serielle Schnittstelle gesendet. Dort holt der gpsd die Daten ab, und stellt sie an localhost:2947 bereit.

Deshalb müssen die folgenden Einstellungen in der /etc/kismet/kismet.conf Datei gemacht werden (Details):

In Kismet werden die GPS-Daten hier angezeigt:
gps kismet „Raspberry Pi: Wie muss Kismet konfiguriert werden, damit GPS-Daten angezeigt werden?“ weiterlesen

Raspberry Pi: Wie wird die neue Kali Linux 2.0 Sana Version installiert und mit SSH in Betrieb genommen?

Seit den 11.08.2015 gibt es einen neue Kali 2.0 Version. Was gibt es da Neues? Diese Mindmap SANA gibt einen ersten Überblick.

Die Sana Version kann ua. auch für den Raspberry Pi verwendet werden.

Wie wird die nun installiert?

Zuerst das gepackte Kali Image kali-linux-1.0.5-armel-rpi.img.xz (ca. 1,4 GB) von Kali.org herunter laden. Für den Raspberry Pi 2 das andere File verwenden. Oder wer mit TFT Display unterstützung haben will, kann das untere File verwenden.

(Optional Signatur/Unterschrift vergleichen)

(Optional) Checksumme des geladenen Archive vergleichen. Auf der Kali Homepage ist die SHA1Sum angegeben „Raspberry Pi: Wie wird die neue Kali Linux 2.0 Sana Version installiert und mit SSH in Betrieb genommen?“ weiterlesen

Kali Linux: WordPress Security Scanner wpscan

Wer gerade seinen Raspberry Pi mit Kali laufen hat, kann mal eben seinen WordPress Blog auf Sicherheitslücken testen mit dem Ruby wpscan. Bei Kali ist es schon installiert aber auch bei anderen Linux derivaten kann er installiert werden. Was kann der Scanner so:

  • Alle installierten Plugins listen
  • Namen des Themas ausgeben
  • Verzeichnis Listing
  • Versions ausgabe
  • Bruce force Usernamen
  • Sicherheitslücken ausgeben

Also erst einmal den Scanner (es gibt jetzt auch die Version 2.8) updaten mit:

Wpscan

Ok, jetzt testen wir mal gegen unseren eigenen WordPress Blog, und nur gegen den, ob das Passwort für admin sicher ist:

Weitere Beispiele unter wpscan -help

Raspberry Pi: Wie kann der Kismet-Server sauber rauf und runter gefahren werden zum WarWalking (WarDriving)?

Wenn ein Kismet-Server auf dem Raspberry Pi läuft, muss der Server sauber rauf und runter gefahren werden, sonst werden die *NETXML Dateien wegen einem fehlenden sync nicht vollständig auf die SD-Karte geschrieben. Das Problem ist aber, wie kann der Raspberry Pi eingerichtet werden, so das der gpsd und Kismet automatisch hoch und auch sauber wieder runter fahren, ohne das ein Bildschirm bzw. Konsole angeschlossen wird? Und wie kann vom GPS Empfänger die Systemzeit gesetzt werden, da der Raspberry Pi ja keine Systemuhr hat und es beim WarWalking kein Internet mit NTP gibt ?

Die Lösung des Problems wird in dieser Anleitung beschrieben.

Wir brauchen ein Script zum automatischen hochfahren und ein Script das auf einen Tastendruck wartet. „Raspberry Pi: Wie kann der Kismet-Server sauber rauf und runter gefahren werden zum WarWalking (WarDriving)?“ weiterlesen

Wie kann auf einem Raspberry Pi unter Kali Linux Ethersex für den AVR-NET-IO compiliert werden?

Wie kann auf einem Raspberry Pi unter Kali Linux (Debian müsste genauso laufen) Ethersex compiliert werden? Das geht so wie sehr ausführlich hier beschrieben. Folgende Anpassungen sind aber noch mit dem root User oder sudo nötig:

# Load a Default Configuration Avr-Net-Io, Hostname vergeben, Mac anpassen, Ip und Netmask auswählen …

Konfiguration von Ethersex
Konfiguration von Ethersex

Net

Hostname

So oder so läuft dann das flashen. Oder auch so, mal sehen was am Besten läuft. Aber nicht mehr heute Nacht …

Raspberry Pi: Wie kann eine automatische Scriptausführung nach einem reboot eingerichtet werden?

Wie kann ein Script automatisch nach dem reboot starten? Da gibt es mehrere Möglichkeiten. Hier die via crontab und @reboot.

Cron ist in den meisten Installationen schon enthalten. In Kali und Debian Linux mit diesen Abhängigkeiten, wie meine Mindmap zeigt: „Raspberry Pi: Wie kann eine automatische Scriptausführung nach einem reboot eingerichtet werden?“ weiterlesen

Raspberry Pi: Was ist bei Kali Linux anders als im Debian?

Wer den Raspberry Pi bisher unter Debian laufen hat, wundert sich evl. über einige Unterschiede zu Kali Linux. Welche fallen zuerst auf?

Es gibt default kein raspi-config. Der Speicher der SD-Karte kann aber mit raspi-config sehr einfach expandiert werden. Deshalb ausnahmsweise ein paar Packages, die nicht von Kali stammen, wie folgt installieren mit dem root User:

Dann gibt es unter Kali kein /boot Verzeichnis mit den Boot Dateien. Das /boot Verzeichnis ist dort leer. Das /boot Verzeichnis liegt auf einer anderen Partition und zwar auf mmcblk0p1. Deshalb ein Verzeichnis z.B. /boot-bereich anlegen und mounten. Dann können diese Dateien bearbeitet werden.

Kali boot Bereich
Kali boot Bereich

Wenn die Dateien bearbeitet wurden, einfach das Verzeichnis wieder umounten.

Welche Unterschiede fallen Euch auf? Gern als Kommentar.

Raspberry Pi: „Man merkt oft erst, was man hatte, wenn man es verliert“

Nach dem Motto „Man merkt oft erst, was man hatte, wenn man es verliert“, mal die Package entfernen die nach einer Neuinstallation von mir meistens nicht benötigt werden, und nur Platz verschwenden, da der Raspberry Pi bei mir immer über die Kommandozeile per SSH bedient wird.

Es werden also keine X-Server usw. benötigt. Für Packages die nicht installiert sind, braucht es auch keine Sicherheitsupdates und wenn man doch mal ein Package braucht kann man es ja auch leicht wieder installieren.

Jetzt kann mal mal mit df -h schauen, was man verloren hat:
df -h

Ok, auf der 8 GB Karte ist noch 6 GB Frei!

Oder habe ich noch was vergessen, was nicht benötigt wird (dpkg --list)? Gern als Kommentar.

DUMP1090 Client TWFlug 0.1.0 für Raspberry Pi, Mac, Windows und Linux veröffentlicht

Habe soeben die 1. Version von dem DUMP1090 Client TWFlug kostenlos TWFlug Icon
veröffentlicht.

TWFlug liest die Daten von einem DUMP1090 Server und zeigt sie (optional) in einem Tacho an oder/und schreibt die Daten in eine Logdatei für die Auswertung mit z.B. Fhem. Es kann die Logdatei auch per sFTP an einen entfernten Rechner kopieren.
Das TWFlug Programm ist ein Java Programm und läuft somit auf allen Betriebssystem. Es können mit Fhem dann solche schönen Grafiken in Echtzeit angezeigt werden:

Fhem Flugdaten in Langenhagen zu Weihnachten
Fhem Flugdaten in Langenhagen zu Weihnachten

Installation:

Download der twflug-0.1.0.zip.

Dann das Archive auspacken.

Für das Starten gibt es zwei Möglichkeiten mit oder ohne GUI.

Ohne GUI mit Eingabe in der Konsole in dem TWFlug Verzeichnis mit:

also z.B. java -jar twflug.jar -n --ip 192.198.1.2

oder mit GUI

also z.B. java -jar twflug.jar --ip 192.198.1.2

Dann startet nach einigen Sekunden, die folgenden Anzeige von TWFlug:

TWFlug Tacho
TWFlug Tacho

Weiter Infos zu den Parametern erhält man durch Eingabe von

Weitere Anregungen, Bugs, Fix, Likes, Lob und Dank gerne als Kommentar hier auf der Seite.

Viel Spaß beim Planecounting.

Raspberry Pi: „Es ist später als Du denkst!“ oder Network Time Protocol (ntp) Sicherheitsupdate für Debian und Mac OS X veröffentlicht

Wie auf Heise berichtet wird, gibt es ein ntp Sicherheitsupdate das sehr schnell eingespielt werden sollte. Das gilt auch für die aktuellen Debian wheezy Distribution für den Raspberry Pi.

Erst mal eine Mindmap zu ntp:

Network-Time-Protocol Mindmap
Network-Time-Protocol Mindmap

Mit Pufferüberläufe, die sich durch passend erstellte NTP-Pakete ausnutzen lassen, erhält der Angreifer root Recht auf dem System.

Auf dem Raspberry Pi hat das ntp Package folgende Abhängigkeiten:
ntp

Was muss auf dem Raspberry Pi getan werden?

Dann ist das System auf den aktuellen Stand.

Dann können die ntp Keys neu generiert werden. Dazu einmal

ausführen. Es erfolgt folgende Ausgabe:
neu ntp keys

Wer noch schauen möchte, ob die gefixte Version installiert ist, gibt einmal apt-show-versions -p ntp ein und erhält die gefixt Version angezeigt: version 1:4.2.6.p5+dfsg-2+deb7u1

show-version ntp

Auf für Mac OS X gibt es ein Update, das wie gewohnt eingespielt werden sollte:
Mac update

Raspberry Pi: Neue Firmware vom 17.10.2014 (Version 3.12.30) installieren

Vor ein paar Tagen ist eine neue Firmware für den Raspberry Pi erschienen. Wie kann die installiert werden? Wie kann die installierte Version angezeigt werden?

Am einfachsten benutzt man den update Befehl sudo rpi-update mit dem Hexxeh updater. Wenn es eine neue Firmware gibt, wird die in ein paar Minuten installiert. Wenn die Firmware schon aktuell ist, wird auch eine Meldung ausgegeben.

So läuft der Updateprozess:

Wie oben steht, ist nun noch ein sudo reboot nötig und die neue Firmware ist aktualisiert.

Ist die Firmware schon aktuell, gib es folgende Meldung:

Aber wie kann nun die aktuelle Version angezeigt werden?

Mit

Ergebnis:

Oder auch mit mehr Details:

Ergebnis:

Dabei ist der lange Sting hinter Version der Hashwert der Version.

Sollte der rpi-updater nicht vorhanden sein, kann er leicht wie auch hier beschrieben mit

installiert werden. Er wird dann diese Abhängigkeiten, wie in dieser Mindmap verwenden:
rpi-update

Die aktuellste Firmware gibt es auf Github. Dort gibt es auch die Beschreibung, was es neu gibt. Zitat:“

Wie kann das Sicherheitsupdate für die Linux-Bash (CVE-2014-6271) des Raspberry Pi gescheckt und installiert werden?

Wie in dem Heise Artikel beschrieben, gibt es in der bash eine Sicherheitslücke CVE-2014-6271.

Das sind die Abhängigkeiten der bash, auf meinem Raspberry Pi (Debian, Jessie)

bash

Für den Raspberry Pi gibt es schon ein Update. Ob das System verletzbar ist kann wie folgt in der Konsole getestet werden:

Wenn das System verletzbar ist, wird „verwundbar“ ausgegeben:

Bildschirmfoto 2014-09-25 um 19.04.31

Auch mit:

Bildschirmfoto 2014-09-25 um 19.05.21
bekommt man den Hinweis, das ein Update möglich ist.

Also den rPi updaten mit:

Dann noch checken, mit dem Test:
Bildschirmfoto 2014-09-25 um 19.08.36
Ok.
Und noch mal die Version checken:
Bildschirmfoto 2014-09-25 um 19.09.08
Ok, wir sind nun wieder auch der sicheren Seite oder doch nicht (ShellShock) (CVE-2014-7169).

Wie wird auf dem Raspberry Pi die aktuell installierte Debian Version angezeigt?

Wer die Raspbian Debian Wheezy Version: September 2014 installiert hat, hat die neueste Version vom Release: 9.9.2014 URL: raspbian.org mit Kernel version: 3.12. installiert.

Wie kann auf dem rPi diese Infos ermittelt werden?

Der Name und die Release Version steht in der Datei /etc/issue und kann auf der Konsole mit:

ausgegeben werden. Es wird bei mir ausgegeben:

Details unter „Wie wird auf dem Raspberry Pi die aktuell installierte Debian Version angezeigt?“ weiterlesen

Sicherheitsupdate für das Raspberry Pi wheezy Package APT erschienen

Mittels APT (Advanced Packaging Tool) ist es sehr einfach, Programmpakete zu suchen, zu installieren oder auch das ganze System auf den neuesten Stand zu bringen. Für dieses Tool gibt es nun ein Sicherheitspatch der installiert werden sollte.

Abhängigkeiten von APT

Zitat: „It was discovered that APT, the high level package manager, does not
properly invalidate unauthenticated data (CVE-2014-0488), performs
incorrect verification of 304 replies (CVE-2014-0487), does not perform
the checksum check when the Acquire::GzipIndexes option is used
(CVE-2014-0489) and does not properly perform validation for binary
packages downloaded by the apt-get download command (CVE-2014-0490).

For the stable distribution (wheezy), these problems have been fixed in
version 0.9.7.9+deb7u3.

For the unstable distribution (sid), these problems have been fixed in
version 1.0.9.“

Bei der Gelegenheit gleich alles updaten mit: „Sicherheitsupdate für das Raspberry Pi wheezy Package APT erschienen“ weiterlesen

Wie kann schnell auf einem Raspberry Pi die Speicherbelegung mit ncdu 1.8 angezeigt werden?

Ncdu ist ein ncurses-basierter Betrachter zu du. Verzeichnisse können schnell durchsucht und die prozentuale Plattenbelegung angezeigt werden (wie du (disk usage)).

Installiert ist das Ncdu mit einem

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ncdu

Es werden folgende Abhängigkeiten installiert:
ncdu
„Wie kann schnell auf einem Raspberry Pi die Speicherbelegung mit ncdu 1.8 angezeigt werden?“ weiterlesen

Wie können die Beziehungen installierter Packages grafisch auf dem Raspberry Pi mit debtree erzeugt werden?

Die Abhängigkeiten der installierten Packages auf dem Raspberry Pi sind manchmal sehr umfangreich. Aber man kann diese Abhängigkeiten gut grafisch anzeigen bzw. ausgeben. Hier mal ein Beispiel vom Package openssl:

openssl
Und hier noch ein etwas umfangreicheres Beispiel, ich habe keine Mühe gescheut mit ssh
ssh
Wie kann so ein Diagramm erzeugt werden?
„Wie können die Beziehungen installierter Packages grafisch auf dem Raspberry Pi mit debtree erzeugt werden?“ weiterlesen

Wie kann das Netzwerkanalyse Programm Ettercap für eine MITM-Attacke (ARP-Spoofing) auf dem Raspberry Pi installiert werden?

Das Netzwerkanalyse Programm Ettercap kann als Text-Version oder auch als grafische Version auf dem rPi ziemlich schnell wie folgt installiert werden:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-text-only

Auch die grafische Version, die bei der Installation etwas länger dauert, kann mit dem folgenden Aufruf installiert werden:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-graphical

Nach der Installation die Version checken mit:
ettercap -v
Es wird die aktuelle Version vom 21. Sep 2013 ausgegeben: 0.0.8

Hilfe gibt es mit

ettercap -h

Hier ein kleiner Überblick zu Ettercap als Mindmap:
ettercap

Starten im Text Modus mit

ettercap -T

oder mit einer Text-GUI:
ettercap -C

ettercap Bildschirmfoto 2014-07-14 um 20.36.40

Quickstart MITM-Attacke

MITM-Attacke könnten wie hier beschrieben ausgeführt werden. Kurz die Text Variante:

ettercap -C

Menü: Sniff - Unified sniffing...
Eingabe: eth0
Menü: Hosts - Scan for hosts
Menü: Hosts - Hosts list
Router in Hosts list markieren und Taste 1 (für Target 1) klicken
Ziel (Opfer) in Hosts list markieren und Taste 2 (für Target 2) klicken
Hilfe mit SPACE
Menü: Targets - Current Targets
Menü: Mitm - ARP poisoning ... (ohne Parameters)
Menü: View - Statistics
Menü: Start - Start sniffing
Menü: View - Statistics
Opfer PC sieht nun "falsche" MAC vom Router, siehe arp -a auf Opfer PC

Hier mal ein paar Statistics eines kurzen test Laufs:
Bildschirmfoto 2014-07-14 um 21.44.38

Zum Stoppen wieder:
Menü: Mitm - Stop mitm attack(s) (MAC wieder orginal vom Router)
Menü: Start - Stop sniffing

Es kann nun alles leicht auch geloggt und gefiltert werden. Alles nur im eigenen Netzt mit eigenen Rechnern evl. mit 2 rPi oder eine rPi und einem WR703 ausprobieren.

Wie kann ein Passwortgenerator (pwgen) auf dem Raspberry Pi installiert werden?

Wer sich Passwörter leicht generieren möchte, kann das mit dem coolen Tool pwgen tun.
Dieser Generator ist schnell installiert mit:

apt-get update && apt-get upgrade
apt-get install pwgen

Dann einfach pwgen eingeben und es werden Passwörter generiert, hier ein Beispiel (natürlich diese nicht verwenden ;-)):

Piec3Eeg oothei5J Jah5eyoo eeya3IeM pi3ahyeT Zohw0udo oovai7Ji Nohgha6j
voP5ieho Ahpit7ta neiX6eex ni6zu1Ei lahV4aix Heuth7Ch kie5Zaim oache8Oo
ooPh3xof Hied4she quuph3Qu lai3Aefu ruaF2rie Ing7faes quoh7taP nieNoa9f
aiTh4sho iecheiT6 Ahj2wah8 Cee6uu1x Iefah3oh pah3Jode yoBoh7oo Aicea4qu
la5uoSee Lesai2ha XeiKie5E meiNg1Ov poogee6W she9Ohji lieJ6Poh EiC1veit
Zouc9sei pie1NaMi jaiph3iS pixei7Ei nei8eeCi kiel4Yoo Chah5ale dei1tieZ
AiSahB3D ohy6Air6 Ozie4qui uiG1Eoji Jeireo0t hedooY3i od1vauDe eereF5ku
ootei4aZ ieB0ij9e ahgia2Oo Eeng2tah AiWi2aiz JaeR3hio ieTie9ti aeN8seid
ieg9Ea2f ahth0Oon goeQu6ae eivee7Ei toh7Ding Ohhein3w hiph0Aec sheiJie0
sheeBo7u dooYah4e gai4og2E aih6Epha Shuth3Ju cheaLoK9 oo2BuM5a nae0ooTh
eakeeHa9 ohB2aqu9 Ahxuz5fo si2Paexu iek5cieH eejie3Gu eeTh6tai ashuu4Ai
Aibux0ua Rohghoh1 Jahp2Uhu rie4xeCu IeJ2leiR gia3OoRo An2ohJae auJa6mai
iub1Pei6 Tei7Hahd chib6Hei ouf6Zooc As1tasae fee2Jang ahcee4Ie Mahke0io
paw6UJai Quuc8wa3 oe7Wurah iJu1ieG3 ohgh6Poh eeKo7ip9 fahjooM3 ooS1ohju
xua7riZo pueW0iex sheig3Al Zeuc0min Oor7keet dahm4ahH Ki8aiqua bee9Choh
GaisaeN5 aijo7EiB die9Aipo Ne8ohvoo leSheK5d vei3Regi ishung5W Nue3Aide
Aiw9aibo ieTah2ug Iey9eeng iehoh0Oe Fai3OhSo uPhae6Ie It9oeyiu dahNgoh9
mio6EiGe Eichee3u ku4veiSh eu3Ohsev pish5AB3 Ishir7ai thei2Sai Lae0phei
Fer2ki3W xoop0Wae uM9engee cha8cahB Iexeip0I Ze1avo2a zohZoh2K ohg3Ooco
Eijoh1Ee Yiex6ahh Ov8onuSh Wug1yuo5 phewee8A Gohqu6io Deighoo4 ielo2eiJ

Der pwgen hat aber noch mehr Optionen, die werden mit:
pwgen -help
oder mit
man pwgen
angezeigt:
Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]

Options supported by pwgen:
-c or --capitalize
Include at least one capital letter in the password
-A or --no-capitalize
Don't include capital letters in the password
-n or --numerals
Include at least one number in the password
-0 or --no-numerals
Don't include numbers in the password
-y or --symbols
Include at least one special symbol in the password
-s or --secure
Generate completely random passwords
-B or --ambiguous
Don't include ambiguous characters in the password
-h or --help
Print a help message
-H or --sha1=path/to/file[#seed]
Use sha1 hash of given file as a (not so) random generator
-C
Print the generated passwords in columns
-1
Don't print the generated passwords in columns
-v or --no-vowels
Do not use any vowels so as to avoid accidental nasty words

Wenn ich also eine Liste von 20 Stelligen sicheren (s) Passwörtern und keinen ähnlichen Zeichen (wie l und 1) haben möchte (B), kann ich folgenden Befehl absetzen:

pwgen -sB 20

Das Ergebnis:

YgjNwvYemaAhWx9fHThg ATwxvf3NJwYntwxjWWzL CWRYn9KaAus4YLfb4Cro
XCPtEXNmUiAEP4ULizgN XepEta7NjypmFJfCzHsc N7kFENh3PMi9qbVwryKb
gNwjqveYkshdaL4gjehT fjzzmNfgtnVoaCH7dVKt rb3suCzadpj7fp9y3JHt
s3YwxAUqMrNNANPmWxFa FsuWngN9qLqXp7jTxJr7 VcWyXgskfAyuvzHeLh7e
7wEjhadTdmAe4Riz3oaH MAogzqyiYVegJFx4nwqa sAwW3w4V7mUmUsiWEN44
KeMeAb9kfHuyAsh3W4oL N9NXjWV3JVgddeas7vWz PhoCNLzxHNEdtCxo4MYh
MsRLj44Xe4uvM4oLTdxa HLVvqq94TqrnyycbaKJC sx3rcnYrMFcaq9nFHChT
Jvc3TtLUHpnbqFpbjWYe r4z4R7Uzc7jyLAVd9wNu vkgdqkmsUnNTR3aJXcTm
UArR4WCcndEnNRPorr7e cCW9TYjizh3FxLEMiWsd dqxu3NWgEWEcVnR7kdtb
KorKCagv3tiFPedRCxY4 MvaKWq4aMfuvqudKNATv dPgR4rFyMfjiMCwx4mac
PrnmoJwiHd4sNtpUhwrt 44uFHPxgsqvvkxCUfTMg iofY9kMvqjFnLrzREtAV
XVXAoe3eHvFArCvphhRJ 7ozVRLVAcWwKnwsy47oy wEjehHscpLXRMuvxua9z
EKvChrkLfXdRuWT4U9WH KyAjaTXuh7xkeFb3RoRU VNz33urjqEAMtNFgNMoL
e49ic3ceuAwabgfKrxdj PkR4ETdqKufWcep7hscx bxwRRALNVWkEqqAM9bRm
EYqqLnjR3exqpmNo9bMp fpvuh4CarVLXhwsULodK oedNeFstpnryXV9qvYmY
n4ptWFwmLw9XmvgEteRX vimxprjruksCK3iaTzxn EVCJFvPAiu4NK9cNgKda
vMFw4wJvfkpuuCjtz4rb UFd4HLqVvV7awtJHWwHf rftMpbCTuHzbLU3YEMeg
FUveaeHvV4dLdFwfuaF3 WdYqhCxe3rC9fLxUHJjc YmgzCkzkLqdTqfJry9jX
UnfEPWVqk3kPkhEcbKCs Whho7FfCtuqbbgEKtJvj CFu4AsMHANnw4HXpem3t
4TWweTY7iEqqPqpeX9en 3Viq7hqkh3FwsgpEnmzX Yw4bfMmJAotymPTJkfjM

Viel Spaß beim generieren von Passwörtern?

Wie kann auf einem Raspberry Pi die Zeit angezeigt werden, wie lange der Pi läuft (uptime)?

Manchmal möchte man wissen, wie lange der Raspberry Pi läuft. Windows Systeme müssen oder werden häufig gebootet. Der kleine Raspberry Pi, läuft unter Linux Debian sehr stabil.

Zum Beispiel läuft einer meiner PasPis, über 86 Tage ohne das er vom Strom getrennt wurde. Er hat ja auch noch nicht einmal einen an/aus Schalter.

Unter Webmin kann man diese Zeit, über den Menüpunkt Systeminformationen abrufen:
Bildschirmfoto 2014-07-12 um 20.14.35

Oder einfach auf der Konsole uptime eingeben, es wird dann ua. die Zeit geliefert:

20:16:10 up 86 days, 23:46, 1 user, load average: 0,02, 0,33, 0,87

Wie lange läuft Euer rPi? Kommentare dazu erwünscht.

Wie kann der Raspberry Pi auf die neue Debian Version Jessie upgedated werden?

Aktuell ist die Linux Wheezy Version. Wer aber neue Funktionen ausprobieren will, kann den Raspberry Pi auch auf Jessie updaten. Wenn auch noch nicht alles so stabil sein soll, bekommt man doch einfach die neuesten Versionen. Z.b. PHP 5.5.12. Diese Version wird aber noch nicht zeitnah mit Sicherheitsaktualisierungen versorgt und hat den Status Testing.

Es braucht nur die folgende Datei angepasst zu werden:
sudo nano /etc/apt/sources.list

Wo „wheezy“ steht auf „jessie“ ändern und speichern. Dann den update Vorgang starten mit:

sudo apt-get update && apt-get dist-upgrade && apt-get autoremove

Es kommen dann während der Installation einige Fragen die beantwortet werden müssen, ob Service usw. restartet werden sollen. Dann nach ca. eine Stunde kann mit

sudo apt-get autoclean

die Reste entfernt werden und das System neu gestartet werden:

sudo shutdown -r now

Dann evl. noch checken ob alles ok ist mit:
sudo apt-get check

So hat man jetzt auch die aktuellste PHP Version, testen mit
php -v
Erzeugt nun:

PHP 5.5.12-1 (cli) (built: May 11 2014 09:41:44)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

Wie kann auf einem Raspberry Pi alle mDNS/DNS-SD Services mit avahi-browse gelistet werden?

Es gibt eine avahi-browse, mit dem kann auf einem Raspberry Pi alle Services im lokalen Netz angezeigt werden. Über Avahi gibt ein Rechner seine Präsenz und seine angebotenen Dienste im lokalen Netzwerk bekannt. Dazu muss Avahi nicht konfiguriert werden, es funktioniert “Out-of-the-box”. Und keine Angst, Avahi ignoriert sämtlichen Traffic, der nicht aus dem eigenen LAN kommt.

Dazu die avahi-utils installieren mit:

sudo apt-get install avahi-utils

Dann kann mit

avahi-browse -at

die Liste aller im LAN registrierten Services auf der Konsole ausgegeben werden.
Will man nur die Domänen anzeigen, geht das mit:

avahi-browse -Dt

Eine ganz ausführliche Liste mit aufgelösten IP usw. gibt es mit

avahi-browse -art

Weitere Parameter zu dem avahi-browse können mit

man avahi-browse

ausgegeben werden. Hier eine Mindmap zu dem Thema:

Avahi
Avahi

Die TOP 5: Wie werden auf dem Raspberry Pi alle angelegten Nutzer angezeigt?

Evl. will man ja mal schauen, ob nicht ein unbekannter einen Nutzer angelegt hat 😉
Um alle im System angelegten Nutzer anzuzeigen gibt es viele Möglichkeiten.
Die Nutzer werden in der Datei /etc/passwd abgelegt.

Jede angezeigte Zeile hat dieses Format:

Name:Passwort:User-ID:Group-ID:Kommentar:Verzeichnis:Shell

Es gibt viele Seiten, die alles genau beschreiben, hier eine kleine Auswahl:

Aber jetzt zu den TOP 5 Befehlen, die die Nutzer ausgeben (alle mit cat /etc/passwd), aber nur die User:

cut -d: -f1 /etc/passwd
at /etc/passwd | cut -d: -f1
sed 's/:.*//' /etc/passwd
cat /etc/passwd | awk -F : '{print $1}'
awk -F: '{print $1}' /etc/passwd

Kennt ihr auch noch einen? 😉

Wie wird ein openLDAP-Server, phpLDAPadmin und LDAP-Client auf einem Raspberry Pi installiert?

Wollte schon immer einen eigenen LDAP-Server haben. Da es heute regnet, habe ich mir einen mal auf dem Raspberry Pi eingerichtet. Hier gibt es eine gute Anleitung (auf englisch) zum installieren eines Ldap Servers. Analog dazu habe ich mal eine Anleitung zum openLDAP in deutsch angelegt. Erste mal eine Mindmap zum Thema:
Ldap
Kurz ist folgende nötig (BPMN 2.0):
ldap
„Wie wird ein openLDAP-Server, phpLDAPadmin und LDAP-Client auf einem Raspberry Pi installiert?“ weiterlesen

Wie können Dateien automatisch über ein Dropbox Verzeichnis zu PDF umwandeln werden mit CUPS auf dem Raspberry Pi inklusive AirPrint?

Folgende 24/7 Drucklösung wird hier beschrieben.

Es können alle Dateien die in einem Dropbox Verzeichnis kopiert werden, automatisch in PDF-Dateien umgewandelt werden. Diese PDF Dateien werden in ein weiteres Dropbox Verzeichnis bereitgestellt. So ist über Dropbox ein platformübergreifender Zugriff möglich. Einfach die zu druckenden Dateien in das Verzeichnis kopieren. Der Drucker muss dazu nicht an sein.

Auch können mit dieser Lösung über iPhone, iPad… Dokumente über AirPrint gedruckt werden auch wenn der Drucker nicht AirPrint-Fähig ist. Das läuft über den CUPS-Server.

Der Drucker muss nicht immer an sein, da der Druckvorgang im Spooler des Raspberry Pi landet. Wenn der Drucker angeschaltet wird, werden die Dokumente gedruckt. Es ist rund um die Uhr ein Drucker erreichbar.

Es werden also PDF Dateien erzeugt und es wird der angeschlossene Drucker über CUPS „normal“ verwendet. Das heißt es kann von jedem Gerät, auch iPhone und iPad gedruckt werden!

Was ist dafür zu tun?
Zuerst mal ein Überblick.:
Bildschirmfoto 2014-04-24 um 22.05.07
Eine valide BMPN 2.0 Version ist hier zu finden.
„Wie können Dateien automatisch über ein Dropbox Verzeichnis zu PDF umwandeln werden mit CUPS auf dem Raspberry Pi inklusive AirPrint?“ weiterlesen

Wie wird der USB 9097 unter OpenWrt auf einem WR-703N mit owfs installiert?

Der USB-Stick USB9097 mit zwei One-Wire Klinkenstecker Anschlüssen (3,5mm – 5v – Data – GND).

USB9097
USB9097

Der USB-Stick ist ein kostengünstiger Busmaster (DS2480B) mit USB-Serial-Adapter (CH341) für USB Bus (2.0) mit Konverter Chip CH341 im syncronen seriellen (SCL, SDA) Modus.

Er wird vollständig von OWFS unterstützt (… aber als serieller Busmaster S9097U-Type mit USB Port!).

Was muss getan werden um einen One-Wire Temperatursensor DS18B20 anzuschließen und die Temperatur auszugeben?

Folgende Package installieren und reboot.

opkg update
opkg install kmod-usb-serial-ch341 kmod-usb-serial
opkg install owfs owhttpd owshell owserver

OWFS wird dann in der Version 2.8p13-1 installiert, es gibt aber schon 2.9.p1 wer die haben will, muss das Package selbst compilieren und installieren.

Ein Verzeichnis erstellen:
mkdir /mnt/1wire

USB-Stick anstecken und Kernel-Meldungen checken mit dmesg ob er erkannt wurde:
dmesg
Ausgabe ua:

...
[ 36.330000] USB Serial support registered for ch341-uart
[ 36.330000] ch341 1-1.2:1.0: ch341-uart converter detected
[ 36.350000] usb 1-1.2: ch341-uart converter now attached to ttyUSB0
...

Oder mit lsusb
Ausgabe ua:

...
Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
...

Jetzt können wir den USB-Stick an das erstellte Verzeichnis binden mit:

owfs -d /dev/ttyUSB0 -m /mnt/1wire/

Jetzt werden alle Eigenschaften und Daten als Dateisystem unter dem gemounteten Verzeichnis abgebildet.
Wenn wir dann in das /mnt/1wire Verzeichnis gehen, können wir uns von dort mit cat die Temperatur ausgeben lassen.

cd /mnt/1wire
ls

Ausgabe der Verzeichnisse:

28.A29D8A040000 bus.0 simultaneous structure uncached
alarm settings statistics system

Die Verzeichnis Nr. die mit 28…. startet ist das Verzeichnis des Temperatur Sensors.

cat 28.A29D8A040000/temperature
Ausgabe nach ca. 1 Sekunde mit 12-Bit Genauigkeit in Grad Celsius:
24.375

Oder der Type des Sensors
cat 28.A29D8A040000/type
Ausgabe:
DS18B20

Oder die einmalige ID:
cat r_address
Ausgabe z.B.
2B0000048A9DA228

Oder…

Habt ihr noch Fragen oder Anregungen?


Wie werden alle installierten Packages auf dem Raspberry Pi angezeigt, gespeichert und gezählt?

Manchmal wird eine Liste aller installierten Packages benötigt. Für ein Backup oder so. Es gibt da wie so oft mehrere Möglichkeiten.

Auf dem Raspberry Pi können solche Listen mit dem Packagemanager dpkg erstellt werden.

Also mit

dpkg --get-selections | grep -v deinstall

werden alle Packages ausgebeben, z.B.

...
cups install
cups-bsd install
cups-client install
cups-common install
cups-filters install
cups-pdf install
cups-ppdc install
...

um mit

dpkg --get-selections | grep -v deinstall > installierte-package.txt

wird die Liste in die Datei installierte-packag.txt gespeichert.

Oder wenn die lange Liste eingeschränkt werden soll, z.B. alle Packages mit cups im Dateiname:

dpkg --get-selections | grep cups
ergibt diese Liste:

...
bluez-cups install
cups install
cups-bsd install
cups-client install
cups-common install
cups-filters install
cups-pdf install
cups-ppdc install
ghostscript-cups install
libcups2:armhf install
libcupscgi1:armhf install
libcupsdriver1:armhf install
libcupsfilters1:armhf install
libcupsimage2:armhf install
libcupsmime1:armhf install
libcup dc1:armhf install
printer-driver-hpcups install
python-cups install
...

Soll das install nicht erscheinen, dann mit dem Stream-Editor sed z.B.

dpkg --get-selections | sed 's:install$::' > installierte-package-nur-name.txt

Wer eine noch ausführlicher Liste mit Beschreibung benötigt, kann diese mit

dpkg --list erzeugen. Z.b.:

...
ii cups 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - server
ii cups-bsd 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - BSD commands
ii cups-client 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - client programs (SysV
ii cups-common 1.5.3-5+deb7u1 all Common UNIX Printing System(tm) - common files
ii cups-filters 1.0.18-2.1 armhf OpenPrinting CUPS Filters
ii cups-pdf 2.6.1-6 armhf PDF writer backend for CUPS
ii cups-ppdc 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - PPD manipulation util
ii curl 7.26.0-1+wheezy8 armhf command line tool for transferring data with URL syntax
...

Die ersten beiden Zeichen in jeder Zeile geben den Paketstatus an ( ii bedeutet installiert ).

Wer also nur die installierten haben möchte, muss

dpkg -l | grep '^ii'

verwenden. Wenn noch mehr Kontrolle über die Liste braucht, kann auch dpkg-query verwenden:

dpkg-query -W -f '${status} ${package} ${version} \n' | sed -n 's/install ok installed //p'
z.B.:

...
cups 1.5.3-5+deb7u1
cups-bsd 1.5.3-5+deb7u1
cups-client 1.5.3-5+deb7u1
cups-common 1.5.3-5+deb7u1
cups-filters 1.0.18-2.1
cups-pdf 2.6.1-6
cups-ppdc 1.5.3-5+deb7u1
...

Wenn ein Debian System mit gleichen Package und Versionsnummern erstellt werden soll, kann man eine Liste mit

aptitude -q -F "%?p=%?V %M" --disable-columns search \~i

in folgendem Format erzeugen:

Package Name=Version und A (wenn automatisch installiert)
Z.b.:
...
cups=1.5.3-5+deb7u1
cups-bsd=1.5.3-5+deb7u1 A
cups-client=1.5.3-5+deb7u1 A
cups-common=1.5.3-5+deb7u1 A
cups-filters=1.0.18-2.1 A
cups-pdf=2.6.1-6
cups-ppdc=1.5.3-5+deb7u1 A
...

Die Liste kann dann wie in http://www.debian-administration.org/article/669/ beschrieben, wieder geladen werden mit:
(ungetestet)

$ cat restore-package-versions
#!/bin/sh
list=$1
shift
aptitude -q -R --schedule-only install $(awk < $list '{print $1}') aptitude -q -R --schedule-only markauto $(awk < $list '$2=="A" {split($1,A,"=");print A[1]}')

Wer nur die Anzahl der installierten Package ermitteln möchte, kann die Ausgabe mit grep zählen (-c count):

dpkg -l | grep '^ii' -c

bei mir: 910