Wie lange läuft der Raspberry Pi?

Den Raspberry Pi muss man nicht jeden Tag neu booten. Einer von meinen läuft z.B. 215 Tage:

Wie kann das angezeigt werden?

Einfach auf der Konsole top oder htop eingeben. Wie lange läuft Euer Pi? Gern als Kommentar oder einfach heier ein like abgeben:

Wegen schönen Wetters wird die Antenne mal draußen montiert. Wie ist der Empfang mit dem Raspberry Pi in HAJ (EDDV)?

juhu-flugzeuge

Normalerweise habe ich die Antenne drinnen. Da es heute aber so schön ist, wird sie mal draußen angebracht

aussen-antenne

und schon ist der Empfang fast doppelt so groß und fast 300 Km weit:

super-empfang mit aussenantenne

oder hier

empfang mit aussenantenne

Hier auf Twitter kann jeder in Echtzeit mit 5 Minuten Verzögerung die Anzahl ablesen, da ein Raspberry Pi über node-red die Ergebnisse postet:

Raspberry Pi: SNMP (Simple Network Management Protocol) installation in einer Stunde und Abfrage der CPU Temperatur per SNMP

Wie kann net-snmp auf dem Raspberry Pi installiert werden? Da es noch kein fertiges Package für den Raspberry Pi (Kali) gibt, ist selbst compilieren angesagt.

Wenn diese Bestätigung kommt:
snmp
Dann weiter mit compilieren und installieren. Das kann eine Stunde dauern … „Raspberry Pi: SNMP (Simple Network Management Protocol) installation in einer Stunde und Abfrage der CPU Temperatur per SNMP“ weiterlesen

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 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
libcupsppdc1: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

Index aller veröffentlichten Beiträge zum Raspberry Pi

Hier eine Übersicht der veröffentlichten Beiträge zum Raspberry Pi. Sortiert nach den Neuesten zu erst:

Welches Thema fehlt noch?

20140203-220742.jpg

Wie kann ein Backup einer SD-Karte (von einem Raspberry Pi) in eine Datei auf einem Mac OS X gesichert werden?

Die SD-Karte vom Raspberry Pi oder auch jede andere, in den Mac stecken und mit der Eingabe im Terminal:

diskutil list

feststellen wie die SD-Karte gemountet wurde. Bei mir /dev/disk3

Bildschirmfoto 2013-11-09 um 18.35.01

Und den Backup-Prozess starten mit dd (data definition):

sudo dd if=/dev/rdisk3 of=~/Backups/Raspbeery-Pi/ini-rot-backup.img bs=1m
if = input file
of = output file
~ = Homeverzeichnis
Das Prefix „r“ vor dem rdisk3 soll den Prozess beschleunigen, da es auf den raw Speicher der Karte zugreift.
bs = block size hier 1 MB

Bis die 8 GB als backup gespeichert sind, dauert je nach SD-Karten Größe ein paar Minuten, bei mir ca. 7 Minuten:

Bildschirmfoto 2013-11-09 um 18.39.47

Dann kann die SD-Karte entfernt werden und das Backup bei Bedarf eingespielt werden.

Das Einspielen des Backup (Restore) dauert bei einer 8GB Karte über eine Stunde.
Dazu die SD-Karte in den Mac stecken und

diskutil list # schauen wo die SD-Karte gemountet ist
sudo diskutil unmount /dev/disk3s1 # SD-Karte unmounten
sudo dd if=ini-rot-backup.img of=/dev/disk3 bs=1m # Image ini-rot-backup.img auf SD-Karte kopieren

eingeben. Wenn die Ausgabe:

7680+0 records in
7680+0 records out
8053063680 bytes transferred in 10605.150176 secs (759354 bytes/sec)
kommt, dann ist der Kopiervorgang abgeschlossen.

Die Anzeige des Fortschritt des Kopiervorgangs wird in diesem Eintrag beschrieben.