Diese Seite fasst Errata und Updates zur 1. Auflage von »Raspberry Pi — Das umfassende Handbuch« (2014 Galileo Press) zusammen.
Hinweis: Die Errata zur 2. Auflage des Buchs finden Sie hier.
Im gesamten Buch
\%
statt %
: Aufgrund eines beim Satz übersehenen Fehlers enthält das Buch an mehreren Stellen die Zeichenkombination \%
anstelle von %
. Die Fehler betreffen ausschließlich Fließtext und Tabellen, nie Listings.
- S. 123:
\%
für Modulo-Berechnungen –>%
- S. 184:
\%h
wird durch den Hostnamen ersetzt. –>%h
- S. 231: die Schreibweise
\%sudo
–>%sudo
- S. 236: Dort wird
\%a
–>%a
, …\%n
–>%n
- S. 506: den Zusatz
\%.2f
–>%.2f
- S. 652: zweimal \% statt % (Rest der ganzzahligen Division, Zeichenkette format123)
- S. 664-666: mehrfach
zeichenkette \% (daten)
–>zeichenkette % (daten)
bzw.
\%code
–>%code
(in Tabelle 17.7) - S. 763:
${var\#muster}
–>${var#muster}
${var\%muster}
–>${var%muster}
${var%\%muster}
–>${var%%muster}
- S. 786 mitte: der Regelausdruck
\%.o
–>%.o
- S. 857 oben: das
\%03d
im Dateinamen –>%03d
- S. 935 unten:
date +\%s
–>date +%s
S. 142, tar-Kommando
Die letzte Option in Tabelle 3.10 lautet -z
, nicht -j
.
S. 174, VNC-Server
Auf dieser Seite haben sich einige Tippfehler eingeschlichen:
- Das Kommando zum (De)Aktivieren des vnc-init-Script lautet nicht
insserver, sonderninsserv
. - Gestartet werden soll nicht
vnsserver, sondern natürlichvncserver
.
Ein aktualisiertes Script zum Start des VNC-Servers sowie Tipps zum Start von Programmen mit grafischer Benutzeroberfläche mit root-Rechten finden Sie im Blog.
S. 246, dmask/fmask-Option von mount
777 – 177 ist natürlich 660, nicht 664 (erste Zeile der Seite).
S. 276, Auto-Start des Grafiksystems ein-/ausschalten
Das letzte Kommando auf dieser Seite zur Re-Aktivivierung des Auto-Starts des Grafiksystems lautet
sudo insserv lightdm
(also ohne die Option -r
).
S. 288, Erste Tests mit Xfmpc
Im Installationskommando fehlt apt-get
. Es muss also richtig heißen:
sudo apt-get install xfmpc
S. 573, Alamode
Mit Alamode können Sie Arduino Shields mit dem Pi verbinden, nicht Arduino selbst.
S. 583, lcd-Funktionen in Tabelle 15.1
Hier muss es scrollDisplayLeft()
statt DisplayLeft()
heißen.
S. 637, Python-Syntax
In der Seitenmitte sind im Listing zweimal Listen in geschwungenen statt in eckigen Klammern formuliert. Korrekt heißt es:
>>> x, y, z = ['eine', 'Liste'], ('ein', 'Tupel'), {'ein', 'Set'}
>>> print(x, y, z)
['eine', 'Liste'] ('ein', 'Tupel') {'ein', 'Set'}
S. 642, Python-Syntax
In der Seitenmitte nochmals eine Liste in falscher Syntax, korrekt heißt es: x=[3, 2, 2]
.
S. 667, Zeichenketten / Reguläre Ausdrücke
Das Muster für einen (simplen) E-Mail-Validitäts-Check hat einen winzigen Fehler. Ganz zum Schluss muss es +$
heißen, nicht *$
, sonst wäre eine E-Mail-Adresse der Art a@b.
korrekt.
// falsch
pattern = r'^[A-Za-z0-9.+_-]+@[A-Za-z0-9._-]+.[a-zA-Z]*$'
// richtig
pattern = r'^[A-Za-z0-9.+_-]+@[A-Za-z0-9._-]+.[a-zA-Z]+$'
S. 672, try/except in Python
In der Syntax-Zusammenstellung fehlt einmal as err
:
// falsch
except (eeeError, fffError):
// richtig
except (eeeError, fffError) as err:
S. 680 (Kapitel »Python-Grundlagen«, Abschnitt »Funktionen«, Überschrift »Lokale und Globale Variablen«)
Im zweiten Code-Beispiel ist der Kommentar irreführend. Dieser sollte lauten: Fehler, y ist nicht definiert.
print(y) # Fehler, y ist nicht definiert
S. 691, Objektorientierte Programmierung mit Python
Die letzten drei Zeilen des Listings auf S. 691 sollten so aussehen:
obj = MeineKlasse(1, 2)
obj.c=3
print(obj.a, obj.b, obj.c) # Ausgabe 1 2 3
Die Anweisung obj.c = 3
erzeugt eine neue Klassenvariable (Instanzvariable).
S. 717, Kamera-Programmierung in Python
Die Syntax für einen dreistelligen Zähler sieht wie folgt aus:
'image{counter:03d.jpg}' // falsch
'image{counter:03d}.jpg' // richtig
S. 720, Dropbox-Upload in Python
Der im Buch beschriebene Dropbox-Uploader funktioniert nicht mehr. Deswegen beschreiben wir im Blog einen anderen Weg, um Dateien bei Dropbox hochzuladen.
S. 764, Parametersubstitution in der bash
Das Ergebnis des find/replace-Operators ist falsch dargestellt. Die richtige Ausgabe lautet xycdeaab12ab
, also:
x='abcdeab12ab'
echo ${x/ab/xy} # Ausgabe xycdeaab12ab
S. 773, Umgang mit Fehlern in der bash
Der Fehlercode des letzten Kommandos befindet sich in der Variablen $*
(nicht $
).
S. 809, htpasswd-Kommando
Die Option -c
muss, wie im Text richtig beschrieben, aber in den Beispielen falsch dargestellt, beim ersten htpasswd
-Kommando angegeben werden:
cd /var/www-private
htpasswd -c passwords.pwd username
New password: ********
Re-type new password: ********
Adding password for user username
htpasswd passwords.pwd user2
New password: ********
Re-type new password: ********
Adding password for user user2
S. 812, PHP-Syntax
PHP-Code wird mit dem Tag <?php
eingeleitet und endet mit ?>
.
S. 903-908, Kapitel »Stromzähler auslesen«
Das Script cputemp.sh greift auf das Kommando bc
zurück. Dieses muss vorweg mit apt-get install bc
installiert werden.
Außerdem enthalten die Listungs mehrfach einen Tippfehler: AVERGAGE --> AVERAGE
.
S. 979, hostapd.conf für WLAN-Access-Point
Im Listing für hostapd.conf
auf S. 979 unten fehlt eine Zeile:
bridge=br0
Wie bitten, die Fehler zu entschuldigen, und bedanken uns bei allen Lesern für ihr Feedback. Ein besonderer Dank geht an Lennart Koschella für seine detaillierte Auflistung von Fehlern!
Letztes Update (1. Auflage): 2.6.2015