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

Wie wird ein Bluetooth Dongle an einem Raspberry Pi in Fhem integriert?

Hatte noch ein Bluetooth Dongel von Belkin liegen.
20140204-205131.jpg
Der kann wie folgt an dem rPi angeschlossen werden.

Erst mal das System aktualisieren und das bluetooth Pakage mit ein paar Tools installieren:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo apt-get install bluetooth bluez-utils blueman

Dann den Raspberry Pi runter fahren und den USB-Bluetooth Adapter einstecken (siehe Foto oben).
Nach dem Hochfahren können alle USB Geräte gelistet werden mit lsusb. In meinem Fall:

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 050d:0012 Belkin Components F8T012 Bluetooth Adapter
Bus 001 Device 005: ID 1f75:0916

Ob das Gerät läuft kann mit /etc/init.d/bluetooth status getestet werden, Ausgabe wenn alles ok ist:
[ ok ] bluetooth is running.

Jetzt können wir nach Geräten in Reichweite suchen mit hcitool scan. Bei mir ist nur ein Telefon gefunden worden
Scanning ...
XX:2F:80:3F:14:XX SL910
obwohl es mehr gib. Also etwas gewartet und Befehl wiederholt
Scanning ...
XX:2F:80:3F:14:XX SL910
XX:51:C9:EF:B5:XX iMac
XX:D1:CB:E9:33:XX iPhone 5
ok, jetzt ist alles vorhanden.

So jetzt haben wir mit dem hcitool scan die IP Adressen der erreichbaren Bluetooth Geräte ermittelt. Jetzt können wir die IP Anpingen um zu sehen ob das Gerät erreichbar ist mit
sudo l2ping -c 1 XX:D1:CB:E9:33:XX
wenn das Gerät erreichbar ist kommt:
Ping: XX:D1:CB:E9:33:XX from XX:00:3A:69:11:XX (data size 44) ...
44 bytes from XX:D1:CB:E9:33:XX id 0 time 6.09ms
1 sent, 1 received, 0% loss

wenn am Gerät Bluetooth ausgeschaltet ist oder das Gerät nicht mehr in Reichweite ist kommt als Ping Ergebnis
Can't connect: Host is down

Die Bluetooth IP kann auch z.B. im iPhone unter Einstellungen-Allgemein-Info-Bluetooth abgelesen werden.

Dann habe ich mal die Reichweite getestet. Geht nur ein paar Meter. In der Küche mit einer Wand geht es schon nicht mehr. Und in der Stube geht es auch nicht in jeder Ecke.

So, jetzt noch in Fhem integrieren mit:
define iPhone5_Bluetooth PRESENCE local-bluetooth XX:D1:CB:E9:33:XX 10 60
(10 = check interval, alle 10s nach Gerät suchen mit ping ,
60 = present check interval, alle 60s nach Gerät suchen wenn vorhanden)

Nach einem reread wird es auch wie erwartet angezeigt:

Bildschirmfoto 2014-02-04 um 20.55.56

Unter state wir die Erreichbarkeit angezeigt mit present und wenn es nicht in Reichweite ist mit absent.

Welcher Bluetooth Dongel hat die Beste Reichweite und ist günstig? Wie setzt ihr Bluethooth ein?

Wie kann ein USB-Stick ext4 formatiert und am Raspberry Pi automatisch angeschlossen (gemounted) werden?

Der rPi hat zwei USB Ports und an jedem kann ein USB-Stick angeschlossen werden. Wie das gemacht werden kann, steht in der ausführlichen Anleitung.

Es geht aber auch mit usbmount, disk-utility und webmin. Also erst einmal ein paar Tools installieren:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ntfs-3g hfsutils hfsprogs usbmount gnome-disk-utility

In /var/log/messages schauen wo der USB-Stick eingebunden wird. Normal /dev/sda1.
Dann den USB Stick mit ext4 formatieren.

mkfs -t ext4 /dev/sda1

In Webmin den mount anlegen unter:
Bildschirmfoto 2014-01-29 um 20.45.25
Und den mount wie folgt bearbeiten:
Bildschirmfoto 2014-01-29 um 20.44.29

Dann wir beim speichern in /etc/fstab der folgenden Eintrag erstellt:
Bildschirmfoto 2014-01-29 um 20.47.52

So das auch beim nächsten Neustart der USB-Stick automatisch gemountet wird.

Will man den USB-Stick entfernen:
sudo umount /media/usb1

Oder will man die UUID anzeigen:
sudo blkid /dev/sda1

Rechte setzen mit:
sudo chown pi:pi -R /media/usb1
sudo chmod a+w -R /media/usb1

Wie kann auf einem Raspberry Pi ein Sicherheits und Spam-Schutz als IDS „fail2ban“ installiert werden?

Das ist auf der Konsole des rPi nach der Aktualisierung des Systems mit einem Befehl getan:

Weitere Infos zu fail2ban gibt es im MANUAL oder auf der Seite von Sergej Müller.
fail2ban

Hier noch eine Mindmaps, mit den Abhängigkeiten von fail2ban auf Debian von links nach rechts:

fail2ban

Oder noch eine zentrierte Mindmap:
fail2ban.circo

Hast Du noch weitere Infos zu diesem Thema? Welche der drei Mindmaps gefällt Dir am Besten?

Wie kann ein aus dem Internet geladenes *.deb Archive auf einem Raspberry Pi installiert bzw. gelöscht werden?

Manchmal muss man ein deb-Archive auf dem rPi aus dem Internet laden und lokal einspielen, da das deb Archive nicht im Repository vorhanden ist.

Das geht einfach mit dpkg (Debian Package) und nicht mit apt-get da dies nur Pakete aus dem Repository landen kann, das in der Datei /etc/apt/sources.list aufgelistet ist. In der Regel deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi.

z.B. wenn das lokale Archive auto-pdf-1.0.deb installiert werden soll:

sudo dpkg -i auto-pdf-1.0.deb
-i = install = installieren
Bildschirmfoto 2014-01-07 um 19.23.37

und schauen ob es installiert wurde mit:

sudo dpkg -l | grep 'autopdf'
Bildschirmfoto 2014-01-07 um 19.25.06 oder
sudo dpkg -l | grep 'auto-*'

und alles wieder löschen mit:
sudo dpkg -r autopdf
-r = remove = löschen
Bildschirmfoto 2014-01-07 um 19.26.00

Auch noch hilfreich für Infos und anzeige des Inhalts des Archivs.

dpkg --info auto-pdf-1.0.deb
dpkg --contents auto-pdf-1.0.deb

Cheat Sheet und man-Page

Wie lege ich auf einem Raspberry Pi den default Drucker für lpr (line print) fest?

Wenn man eine Datei von der Konsole mit lpr ausdrucken will kommt evl. diese Fehlermeldung:

pi@rPi ~ $ lpr beispiel-anhang.txt
lpr: Error - no default destination available.

Dann kann man mit lpstat -s alle im System bekannten Drucker listen lassen:

i@rPi ~ $ lpstat -s
no system default destination
device for HP_Color_LaserJet_2600n: dnssd://HP%20Color%20LaserJet%202600n._pdl-datastream._tcp.local/
device for PDF_Drucker: cups-pdf:/

Wie kann nun der default Drucker gesetzt werden? Mit z.B.

pi@rPi ~ $ lpoptions -d PDF_Drucker

Ein wiederholtes checken mit lpstat ergibt nun den gesetzten default Drucker.

pi@rPi ~ $ lpstat -s
system default destination: PDF_Drucker
device for HP_Color_LaserJet_2600n: dnssd://HP%20Color%20LaserJet%202600n._pdl-datastream._tcp.local/
device for PDF_Drucker: cups-pdf:/

Nun läuft auch das Drucken mit

lpr beispiel-anhang.txt

Wie können von einem Raspberry Pi Dateien in die Dropbox per Kommandozeile hochgeladen bez. gelöscht werden?

Es können leicht Daten vom Raspberry Pi von und nach Dropbox geschoben werden. So hat man seine Daten überall gleich.

Es gibt da ein super Script auf Github von Andrea Fabrizi

Es kann wie folgt installiert werden:

Dann auf Dropbox (mit vorhandenen Account und angemeldet)
https://www2.dropbox.com/developers/apps
gehen und eine App anlegen mit „Create App“ -> „Dropbox API app“ –> „Files and datstores“ –> Wichtig nur Zugriff auf das App Verzeichnis erlauben und einen „App Name“ eingeben.

Dann die App key und App secrect in das Script kopieren. Bei der Frage „Permission type, App folder or Full Dropbox [a/f]:“ a
Dann noch einmal: y

Die dann erscheinende URL in einem Browser kopieren und bestätigen. Dann auf Enter und das Script ist mit „Setup completed!“ erfolgreich beendet.

Ein kurzer Test mit im Dropbox-Uploader Verzeichnis

So dann noch mal testen ob das hochladen läuft, wir laden mal die Readme Datei hoch und anschließend ein list:
Bildschirmfoto 2013-12-29 um 20.48.41

Super, es klappt.

Nun noch mal die Version ausgeben mit:

Ausgabe:

Dropbox Uploader v0.14

Weitere Befehlt unter Usage.

Wie kann Webmin auf einem Raspberry Pi installiert werden?

Für die Fernwartung des rPi eignet sich Webmin. Damit kann fast alles über den Browser eingestellt werden.

Evl. gibte es auch schon eine neuere Version von Webmin.

Nach einigen Minuten warten, steht nach einen Aufruf im Browser von
https://Server_IP:10000
der Statusmonitor von Webmin bereit, nachdem die Anmeldung mit root mit Passwort eingegeben wurde:
Bildschirmfoto 2013-12-28 um 17.19.27

Welche Einstellung findet ihr nützlich?

Wie können E-Mails vom Raspberry Pi (rPi) inklusive Anhang mit mutt (nSMPT) versendet werden?

E-Mails vom Raspberry Pi aus versende geht wie schon für den WR703N beschrieben. Ist halt auch Linux.

Also hier noch einmal kurz zusammengefasst, die Installation für den Raspberry Pi mit zusätzlichem Beispiel für das versenden einer E-Mail via mutt inkl. Dateianhang. Vorraussetzung ist eine Raspberry 2014-09-09-wheezy-raspbian.zip installation.

Dann das System updaten und einige Tools installieren mit

Es sind dann folgende Versionen nach ein paar Minuten installiert:

Dann die drei Dateien wie in beschrieben anpassen:

Wenn alles konfiguriert ist, können E-Mails mit Anhang über mutt wie folgt versendet werden:

Nach Enter öffnet sich ein Eingabefeld für die Empfänger E-Mail (to). Bestätigen mit Enter oder anpassen. Dann kommt das Betreff (subject). Weiter mit Enter oder anpassen. Dann öffnet sich der default Editor (nano 2.2.6 oder vi) dort kann der Text der E-Mail eingegeben werden. Speichern (ctrl und O) und Beenden (ctrl und X). Es öffnet sich das mutt Fenster und y zum versenden der E-Mail mit Anhang drücken.

Schon wird die E-Mail versendet.

Oder ohne den mutt Dialog

versendet die E-Mail sofort nach Enter.

So lief es zumindestens auf einen Raspbeery Pi mit einem älteren Debian. Bei dieser aktuellen Version bekomme ich immer diesen Fehler mit mutt:

*** glibc detected *** sendmail: munmap_chunk(): invalid pointer: 0x0141153f ***

Da habe ich auch noch keine Lösung für gefunden. [UPDATE 1.11.2014] Habe den Fehler jetzt gefunden. In der Datei /etc/ssmtp/smtp.conf hatte ich unter rewriteDomain den Username hinzugefügt (rewriteDomain=username@wenzlaff.de) richtig ist aber nur der Domain Name z.B. rewriteDomain=wenzlaff.de. Damit läuft es nun super. [/UPDATE]

Habe es deshalb wie hier beschrieben mit einem nSMTP Client versucht. D.h. erstellen von /etc/msmtprc und (optional) .msmtprc.

Damit läuft das versenden von E-Mails erst einmal.

Hier die Config-Dateien für Strato:

Eine globale /etc/msmtprc Datei, wird gelesen wenn keine im Userverzeichnis vorhanden ist.

Die .msmtprc überschreibt die globale /etc/msmtprc Datei wenn vorhanden (optional).

Wenn die .msmtprc vorhanden ist, muss sie dem User gehören und darf nur für den User schreib und lesbar sein. Ein ls-la muss so aussehen

-rw------- 1 pi pi 479 Oct 13 22:53 .msmtprc

Also evl. noch anpassen:

Testen des E-Mail versand mit:

Ergebnis Auszug:

Habt ihr noch andere Alternativen oder ein Lösung warum mutt nich läuft? Dann hier als Kommentar posten.

Wie können die installierten Versionen der Packages/Programme auf einen Raspberry Pi angezeigt werden?

Manchmal will man wissen, welche Version von einem Programm bzw. Package auf den Raspberry Pi installiert ist und ob es eine (und welche) neue Version von einem Package oder Programm gibt.

Die Anzeige der Versionsnummern ist default nicht vorhanden, läßt sich aber mit

schnell nach installieren.

apt-get install apt-show-versions

Das

gibt dann eine Anleitung und alle Parameter des Programms aus:

apt-show-versions -help
apt-show-versions -help

Ein apt-show-versions gibt dann eine Liste aller Package mit Versionsnummern aus, hier ein kleiner Ausschnitt:
apt-show-versions
apt-show-versions

Will man wissen ob es neue Versionen gibt, hilft ein apt-show-versions -u
apt-show-versions -u
apt-show-versions -u

Weitere Parameter wie regex ua. siehe in der obigen Onlinehilfe.

Wer möchte kann hier weitere Befehle posten!

Wie kann die BackTrack Linux Penetration Testing und Security Auditing Linux Distribution Kali auf einem Raspberry Pi installiert werden?

Zuerst das gepackte Kali Image kali-linux-1.0.5-armel-rpi.img.xz (ca. 2 GB) von Kali.org herunter laden. Auch noch die beiden Signatur Dateien SHA1SUMS und SHA1SUMS.gpg aus dem gleichen Verzeichnis.

(Optional Signatur/Unterschrift vergleichen)

(Optional) Checksumme des geladenen Archive vergleichen. Auf der Kali Homepage ist die SHA1Sum angegeben (61dfcf2272d5f63345c29f0d2c92c630777856ab). Um die zu vergleichen muss auf dem Mac noch mit

das Checksummenprüfprogramm installiert werden, wenn es nicht schon vorhanden ist. Das ist default bei Mac OS X 10.9.1 nicht der Fall. Dann der Aufruf

um die SHA1Sum Checksumme anzuzeigen.
Bei meiner Version wird diese Checksumme ausgegeben 61dfcf2272d5f63345c29f0d2c92c630777856ab kali-linux-1.0.5-armel-rpi.img.xz. Verglichen mit der angegebenen. Beide gleich. Alles ok!

Die Datei kali-linux-1.0.5-armel-rpi.img.xz entpacken wir erhalten dann die kali-linux-1.0.5-armel-rpi.img (es sind dann ca. 8 GB) mit

Image nun auf eine mind. 8GB SD-Karte schreiben, vorher schauen wo die SD-Karte gemountet wurde.
Achtung! Bei falschem Ziel kann evl. die ganze Festplatte gelöscht werden!

Stunden später.

Evl. schauen wie weit das Kopieren ist, indem in einem anderem Terminal die ProzessId ermitteln wird mit:

Unmounten der SD-Karte wenn alles fertig.

Mit ssh anmelden im Terminal:

Passwort: toor

Nun muss nur noch der SSH Schlüssel und das Root Passwort geändert werden, da alle Images das gleiche verwenden.

Evl. vorhandenen SSH Key löschen in

Root Passwort ändern mit

So jetzt kann mit dem Kali Linux auf dem rPi gearbeitet werden.

Mit gui vorher startx starten.

Viel Spaß.

Hast Du Vorschläge für die Anwendung?

Wie kann ich auf einem Mac den Fortschritt beim kopieren auf einer SD-Karte mit DD für einen Raspbeery Pi erkennen?

Hin und wieder muss man mal ein Backup für ein Raspbeery Pi oder auch bei sonstigen SD-Karten erstellen.
Das Backup wird eingespielt mit dem DD Kommando im Terminal eines Mac OS X z.b.

sudo dd if=ini-rot-backup.img of=/dev/disk3 bs=1m
Bildschirmfoto 2013-11-13 um 15.36.06

Bei einer 8 GB-SD-Karte dauert dieser Kopiervorgang über eine Stunde, und da keine Ausgabe auf der Konsole kommt, kann man den Fortschritt nicht beobachten.

Wenn man aber in einem neuem Terminal Fenster die PID mit
ps -Af
herausfindet. Hier die 600.

Bildschirmfoto 2013-11-13 um 16.11.58
Kann man mit
sudo kill -siginfo 600
wobei die 600, die oben ermittelte PID ist, in dem anderen Terminalfenster die Fortschrittsausgabe erzeugen. Dies kann auch mehrfach erzeugt werden. Wenn man beide Terminal-Fenster nebeneinander anordnet, kann leicht der Fortschritt des Kopiervorgangs beobachtet werden.