Raspberry Pi – Der praktische Einstieg
Transcription
Raspberry Pi – Der praktische Einstieg
Kapitel 2 Schnellstart: Die erste Inbetriebnahme Sie haben jetzt bereits einen kleinen Überblick über die Ausstattung des Raspberry Pi bekommen. Da Sie jetzt wissen, womit Sie es zu tun haben, wird es Zeit, dem kleinen Computer Leben einzuhauchen! Dieses Kapitel beschäftigt sich mit der ersten Inbetriebnahme des Raspberry Pi und dem Betriebssystem Raspbian Wheezy. Ich erkläre Ihnen, wie Sie das Betriebssystem installieren und welche alternativen Betriebssysteme es gibt. Zudem werden wir eine Grundlagenbasis schaffen, um das Betriebssystem, das auf Linux basiert, etwas besser zu verstehen. Im letzten Schritt werden wir den Raspberry Pi zum ersten Mal booten und einige Grundeinstellungen daran vornehmen. 2.1 Installieren des Betriebssystems Raspbian Wheezy Zum Einstieg werden wir das Betriebssystem Raspbian Wheezy verwenden. Ich werde zwar später noch andere Betriebssysteme vorstellen, aber für Anfänger ist dieses Betriebssystem erst einmal die bessere Wahl, da schon einige wichtige Programme mitgeliefert werden. Das nötige Raspbian-Wheezy-Image können Sie auf der offiziellen Raspberry-Pi-Seite unter Downloads (www.raspberrypi.org/downloads) herunterladen. Für die Installation eines Betriebssystems benötigen Sie eine mit dem FAT-32-Dateisystem formatierte SD-Karte! So formatieren Sie eine SD-Karte unter Windows Falls Sie eine SD-Karte verwenden, die in einem anderen Dateisystem als FAT-32 formatiert ist, dann müssen Sie diese SD-Karte vor dem Bespielen mit dem Image formatieren. Beachten Sie: Bei diesem Vorgang werden alle Daten auf der SD-Karte gelöscht! Falls die Karte wichtige Daten enthält, dann sichern Sie die entsprechenden Dateien unbedingt, bevor Sie die folgenden Schritte durchführen: Öffnen Sie den Computer (aus früheren Windows-Versionen bekannt als Arbeitsplatz). Schieben Sie dann die SD-Karte in den Kartenleser des Rechners. Die SD-Karte 23 2 2 2.1 Schnellstart: Die erste Inbetriebnahme wird nun im Computer angezeigt und bekommt einen Laufwerksbuchstaben zugewiesen (z. B. »G«). Merken Sie sich diesen Laufwerksbuchstaben, da Sie ihn im nächsten Schritt benötigen (vergleiche dazu Abbildung 2.2). Nach einem Rechtsklick auf die SDKarte im Arbeitsplatzmenü können Sie mit einem Klick auf Formatieren... das Formatierungsmenu der SD-Karte öffnen (siehe Abbildung 2.1). Installieren des Betriebssystems Raspbian Wheezy 4. Stecken Sie die SD-Karte in den Kartenleser. 5. Wählen Sie das heruntergeladene Raspbian-Image und unter Device die zu beschreibende SD-Karte aus (siehe Abbildung 2.2), und drücken Sie auf den Write-Button. Abbildung 2.2 Der Win32 Disk Imager 2.1.2 Die Installation auf einem Mac 1. Entpacken Sie das Raspbian-Image, zum Beispiel mit einem Programm wie UnRarX. 2. Legen Sie die SD-Karte in den Kartenleser. Abbildung 2.1 Hier starten Sie den Formatierungsprozess der SD-Karte. In dem sich nun öffnenden Fenster wählen Sie als Dateisystem FAT-32. Klicken Sie dann auf Starten. Nach wenigen Augenblicken ist die SD-Karte fertig formatiert und einsatzbereit. 3. Im Apple-Menü suchen Sie unter »USB« den BSD-Namen der Karte heraus (wie z. B. /dev/disk1s1) und unmounten anschließend die Karte, so dass Sie den Inhalt der Karte überschreiben dürfen. Der Befehl sieht z.B. so aus (den Namen /dev/disk1s1 müssen Sie natürlich anpassen!): diskutil unmount /dev/disk1s1 4. Öffnen Sie ein Terminal, und geben Sie Die Installation des Betriebssystems auf der SD-Karte ist je nach auf dem Computer verwendetem Betriebssystem unterschiedlich. Ich werde die Installationsroutinen nachfolgend kurz erklären. sudo dd if=Pfad zum Image.img of=/dev/diskN bs=1m ein. Ersetzen Sie dabei das N durch die Disknummer. 2.1.3 Die Installation unter Linux 2.1.1 Die Installation auf einem Windows-Computer 1. Entpacken Sie das heruntergeladene Raspbian-Image, beispielsweise mit dem Gratisprogramm 7-Zip, das Sie z.B. bei www.chip.de herunterladen können. Falls Sie als Betriebssystem Windows 7 oder höher verwenden, können Sie den Download des Programms 7-Zip auslassen, da Ihr Betriebssystem Dateien bereits von sich aus entpacken kann. 2. Jetzt installieren Sie das Tool Win32 Disk Imager, das Sie auch bei www.chip.de finden und ebenfalls mit dem Programm 7-Zip entpacken können. 1. Als Erstes öffnen Sie ein Konsolenfenster (z.B. im Terminal unter Ubuntu). 2. Wechseln Sie in das Downloadverzeichnis mit dem Raspbian-Image: cd /Pfad zum Verzeichnis 3. Anschließend entpacken Sie das Raspbian-Image mit folgendem Konsolenbefehl: unzip Datei.zip 4. Legen Sie eine FAT32-formatierte SD-Karte in den Kartenleser ein. 3. Anschließend starten Sie den Win32 Disk Imager. 24 25 2 2 Schnellstart: Die erste Inbetriebnahme 5. Mit ls /dev finden Sie heraus, wie die SD-Karte benannt ist, z.B. sdb1 (siehe Abbildung 2.3). Dies prüfen Sie am leichtesten, indem Sie die Karte herausziehen, dann den Befehl eingeben und dasselbe mit eingesteckter Karte wiederholen. 2.2 Vorbemerkungen zu Linux: Was Linux ist und wie es grundsätzlich funktioniert 2.2 Vorbemerkungen zu Linux: Was Linux ist und wie es grundsätzlich funktioniert 2 Das Betriebssystem Raspbian Wheezy ist eine Distribution, sprich eine »Unterart« des Betriebssystems Debian. Es gibt viele verschiedene Betriebssysteme auf Linux-Basis, und alle verwenden den Linux-Kernel. Ohne Karte Mit eingesteckter Karte Abbildung 2.3 Die SD-Karte wurde erkannt. 6. Mit ls überprüfen Sie wie in Abbildung 2.4, wie das Image heißt. Der in weißer Schrift angezeigt Name ist der Name des Images. Abbildung 2.4 Das Image im Downloadordner Prüfen, ob das korrekte Speichermedium beschrieben wird Bevor Sie den Schreibvorgang starten, sollten Sie prüfen, ob Sie auch das richtige Speichermedium ausgewählt haben. Sobald Sie den Schreibvorgang starten, sind alle Daten auf dem Speichermedium verloren! 7. Im letzten Schritt spielen Sie das Image auf die Karte auf: sudo dd bs=1M if=[Pfad zum Image.zip] of=[Pfad zur Karte] Auf mein Beispiel übertragen, würde der Befehl also so lauten: dd bs=1M if=2013-07-26-wheezy-raspbian.img of=/dev/sdb 8. Sobald der Kopiervorgang fertig ist, erscheint die Meldung aus Abbildung 2.5. Danach ist die SD-Karte einsatzbereit. 2.2.1 Was ist ein Kernel? Ein Kernel ist der Kern eines Betriebssystems. Der Kernel organisiert die komplette Hardware eines Systems und sorgt so dafür, dass das System reibungslos und effizient arbeitet. Nach außen hin arbeitet der Kernel als Dienstleister und bietet Programmen auf dem System Speicherplatz und Zeit zum Ausführen an. Wenn ein Programm ausgeführt wird, erhält es vom Kernel eine bestimmte Priorität und eine bestimmte Menge Prozessorzeit. Wenn das Programm Sonderwünsche hat – z.B. den Wunsch, ein weiteres Programm ausführen zu dürfen –, dann muss das Programm diesen Wunsch an den Kernel weiterleiten. Er entscheidet anschließend, ob dieser Wunsch erfüllt wird oder nicht. Der Kernel verwaltet außerdem alle Treiber. Treiber werden benötigt, um Peripheriegeräte, die nicht zum System gehören, nutzen zu können. Für jedes Gerät – sei es eine Maus, eine Tastatur o. Ä. – wird ein Treiber benötigt. Ohne den passenden Treiber kann der Kernel ein Peripheriegerät nicht ansprechen, und es funktioniert nicht. Der Kernel selbst ist ebenfalls ein Programm. Dieses Programm wird beim Einschalten aus dem Speicher, der das Betriebssystem enthält, geladen und in den Hauptspeicher (Arbeitsspeicher) kopiert, wo es dann seine Arbeit verrichtet. In unserem Fall ist der Speicher mit dem Betriebssystem die SD-Karte. 2.2.2 Linux ist ein Multiusersystem Linux ist ein sogenanntes Multiuser- oder Mehrbenutzersystem. Bei einem Multiusersystem handelt es sich um ein Betriebssystem, das über Mittel verfügt, eine Arbeitsumgebung für verschiedene Nutzer bereitzustellen. Diese Arbeitsumgebungen sind voneinander getrennt, und jeder User hat nur auf seine eigene Arbeitsumgebung Zugriff. Die User können dabei entweder gleichzeitig oder nacheinander an demselben System arbeiten. Abbildung 2.5 Der Kopiervorgang ist beendet. Der Schreibvorgang kann je nach Kartenleser und Betriebssystem eine gewisse Zeit in Anspruch nehmen. Nutzen wir die Zeit, um das Betriebssystem etwas näher kennenzulernen. 26 2.2.3 Zugriffsrechte auf dem Raspberry Pi: Was darf ich, und was darf ich nicht? Um zu gewährleisten, dass nur der jeweilige Besitzer Zugriff auf seine Dateien erhält und nicht jemand anders, verfügt das Betriebssystem über eine ganze Reihe von Sicher- 27 2 Schnellstart: Die erste Inbetriebnahme heitsmaßnahmen. So können bestimmte Aufgaben nur mittels eines sogenannten root- oder auch Administrator-Accounts (»Account« wird im Deutschen in diesem Zusammenhang mit »Benutzerkonto« übersetzt) ausgeführt werden. Dieser rootAccount verfügt über alle Rechte und darf dementsprechend auch auf alles zugreifen. Ich bin »root«, ... ... ich darf das: Dieser in der Linux-Community gängige Slogan macht mit einem Augenzwinkern die Bedeutung von »root« begreiflich. Dieser Benutzer bzw. »User« darf aufgrund seiner uneingeschränkten Macht auf dem betreffenden System einfach alles – und wird deshalb oft als Superuser bezeichnet. Diese uneingeschränkte Macht hat allerdings zwei Seiten: Sind Sie auf Ihrem System als root angemeldet, dann können Sie alles machen – im Notfall also auch Schaden anrichten! Gehen Sie mit der Anmeldung als root also möglichst sorgsam um, und verwenden Sie diesen Benutzer nur, wenn Sie die entsprechenden Berechtigungen zwingend benötigen. Auf diesen Punkt werde ich im weiteren Verlauf auch immer wieder einmal aufmerksam machen. Ein normaler Benutzer (oder »User«) hingegen hat nur Zugriff auf sein Verzeichnis; alles, was in der Hierarchie höher angeordnet ist als sein Verzeichnis, darf er nicht betreten. Jeder Benutzer kann außerdem verschiedenen Gruppen zugeordnet werden, und diesen Gruppen kann dann der Zugriff auf bestimmte Dateien verwehrt oder gestattet werden. Zusammengefasst bedeutet dies, dass das Betriebssystem drei verschiedene Zugriffsarten berücksichtigen muss: 2.2 Vorbemerkungen zu Linux: Was Linux ist und wie es grundsätzlich funktioniert 왘 für den Besitzer der Datei 왘 für den Zugriff durch die Gruppe des Eigentümers 2 왘 öffentliche Berechtigungen Insgesamt besitzt jede Datei also neun Bits, die den Zugriff regeln (es sind noch weitere Bits vorhanden, aber die sind für unsere Zwecke uninteressant). Ist zum Beispiel für den Besitzer einer Datei Test.txt das w-Bit nicht gesetzt, kann der Besitzer der Datei nicht in die Datei schreiben. Es erscheint dann die Meldung aus Abbildung 2.6. Abbildung 2.6 Zugriff verweigert Anders liegt der Fall, wenn das w-Bit für den Besitzer gesetzt ist, aber nicht für alle anderen. Dann darf nur der Besitzer in die Datei schreiben. Das ist in Abbildung 2.7 zu sehen. Abbildung 2.7 Zugriff gewährt Der User root ist natürlich von all diesen Regeln ausgenommen. Wer als User root unterwegs ist, darf alles auf dem System machen, was er möchte. 왘 den Zugriff über den Besitzer Fehlende Zugriffsrechte 왘 den Zugriff über die Gruppe Wenn die Meldung Permission denied erscheint oder nichts in eine Datei geschrieben wurde, handelt es sich in den meisten Fällen um fehlende Zugriffsrechte! 왘 den Zugriff über einen User, der weder der Gruppe angehört und auch nicht der Besitzer ist: öffentlicher Zugriff genannt Natürlich können Sie die Rechte auch wie in Abbildung 2.8 anzeigen. Jede Datei besitzt deshalb für jede Zugriffsart drei verschiedene Bits, die festlegen, wer wie auf die Datei zugreifen darf. 2.2.4 Die Zugriffbits Jede Datei verfügt über ein Bit, das den lesenden Zugriff steuert (r), ein Bit für den schreibenden Zugriff (w) und ein Bit zum Ausführen der Datei (x). Diese drei Bits sind in dreifacher Ausführung vorhanden: 28 Abbildung 2.8 Anzeigen der Zugriffsrechte einer Datei Die genaue Erklärung des Befehls erfolgt später, ich greife nur beim Thema »Rechte« etwas vor. Ab dem zweiten Zeichen von links werden die Rechte dargestellt, und zwar 29 2 2.3 Schnellstart: Die erste Inbetriebnahme immer in einem Dreierblock für jede Zugriffsart: Besitzer, Gruppe, öffentlich. In dem Beispiel oben ist also folgender Fall abgebildet: 1. Der Besitzer darf lesen (r) und schreiben (w). Die Verzeichnisstruktur Abbildung 2.10 zeigt den kompletten Verzeichnisbaum eines Linux-Betriebssystems. Jeder dieser Ordner in dem Verzeichnisbaum hat eine ganz spezielle Aufgabe, die wir uns etwas genauer anschauen wollen. 2. Die Gruppe darf lesen (r). 3. Öffentliche Benutzer dürfen lesen (r). Außerdem wird gezeigt, welchem Benutzer und welcher Gruppe die Datei gehört. In diesem Fall gehört die Datei dem Benutzer pi und der Gruppe pi. In dem Programm FileZilla werden die Rechte sehr ausführlich dargestellt, wie Abbildung 2.9 zeigt. Abbildung 2.10 Der komplette Verzeichnisbaum 왘 bin (Kurzform für binaries – Programme): In diesem Verzeichnis liegen alle wichtigen und unverzichtbaren Programme für das Betriebssystem. Abbildung 2.9 Die Rechte im Überblick in FileZilla Dieses Programm werden Sie in Abschnitt 4.7, »Fernzugriff über SSH«, noch genauer kennenlernen, weil es die Möglichkeit bietet, bequem Dateien zwischen einem Windows-PC und dem Raspberry Pi zu transferieren. 2.3 Die Verzeichnisstruktur Nun schauen wir uns den Verzeichnisbaum oder die Ordnerstruktur genauer an. Die ganze Verzeichnisstruktur baut auf einem Ausgangsverzeichnis mit dem Namen »/« auf. Dieses Verzeichnis wird auch Root- oder Wurzelverzeichnis genannt. Dieses Verzeichnis ist die erste Verzeichnisebene und stellt in der Regel die Bootpartition des Betriebssystems dar. Alle anderen Verzeichnisse sind Unterverzeichnisse des Rootverzeichnisses. 30 왘 boot: Dieses Verzeichnis enthält alle für den Bootvorgang notwendigen Dateien. Hier ist der Kernel des Betriebssystems gespeichert, und über die Datei config.txt können Sie Änderungen an der Taktfrequenz und am HDMI (z.B. automatische Monitorerkennung beim Einstecken eines Monitors) vornehmen. 왘 dev (Kurzform für devices – Geräte): Hardwarekomponenten des Prozessors werden fast immer durch Dateien repräsentiert, womit diese Komponenten verwendet werden können. All diese Dateien finden sich im Verzeichnis /dev wieder. 왘 etc (et cetera – alles Übrige): Manche Programme benötigen Konfigurationsdateien, die bestimmte Einstellungen speichern. Diese Dateien werden im Verzeichnis /etc abgelegt. In diesem Verzeichnis finden sich z.B. Informationen zur Netzwerkkonfiguration und für die Displayserver, die für ein Bild am Monitor zuständig sind. 왘 home: Dieses Verzeichnis enthält für jeden Benutzer des Systems ein Unterverzeichnis. Dieses Verzeichnis bekommt immer denselben Namen wie der Benutzer, dem es gehört, und es stellt gleichzeitig das Ursprungsverzeichnis des Verzeichnisbaums eines Nutzers dar (siehe Abbildung 2.11). 31 2 2 2.3 Schnellstart: Die erste Inbetriebnahme Abbildung 2.11 Die »home«-Verzeichnisse zweier User Der User pi zum Beispiel besitzt im Verzeichnis /home ein Unterverzeichnis /pi, und dieses Verzeichnis ist das erste Verzeichnis in seinem Verzeichnisbaum. Er darf also z.B. nicht auf das Verzeichnis /etc zugreifen, da er das Verzeichnis /home/pi nicht nach oben hin verlassen darf. Die einzige Ausnahme ist der User root – für ihn gilt diese Beschränkung nicht. Da das höchste Verzeichnis im Betriebssystem das Verzeichnis mit dem Pfad / ist, kann der User root natürlich in kein höheres Verzeichnis als das Wurzelverzeichnis wechseln. 왘 lib (Kurzform für libraries – Bibliotheken): Wenn man ein Programm schreibt, kommt man irgendwann an den Punkt, wo bestimmte Funktionen nur durch externe Bibliotheken verfügbar gemacht werden können. Damit das geschriebene Programm dann auf anderen Systemen ebenfalls funktioniert, muss die Bibliothek zusammen mit dem Programm kopiert werden. All diese Bibliotheken finden sich im Verzeichnis /lib wieder. Die Verzeichnisstruktur 왘 root: Dies ist das Homeverzeichnis des Superusers root. Es gibt einen guten Grund, warum das Homeverzeichnis des Superusers an einer anderen Stelle gespeichert ist als das der anderen User: Wenn das Homeverzeichnis der anderen User aus irgendeinen Grund nicht mehr verfügbar sein sollte, kann immer noch mit dem Superuser gearbeitet werden. 왘 run: In diesem Verzeichnis werden verschiedene Laufzeitinformationen von Programmen gespeichert. 왘 sbin (Kurzform für system binaries – Systemdateien): Dieses Verzeichnis enthält alle für die Systemverwaltung notwendigen Programme. All diese Programme können nur als Superuser ausgeführt werden (z.B. shutdown). 왘 srv (Kurzform für services – Dienste): Nicht genauer spezifiziert, und deswegen ist dieses Verzeichnis leer. 왘 sys (Kurzform für system – System): Enthält ebenso wie /proc Kernelschnittstellen. 왘 tmp (Kurzform für temporary – temporär): Hier werden temporäre Dateien gespeichert. Dieses Verzeichnis wird beim Booten geleert. 왘 usr (Kurzform für user – Benutzer): Dieses Verzeichnis ist für Systemtools, Bibliotheken und installierte Programme bestimmt. 왘 lost+found: Hier lagert das Betriebssystem Dateien und Dateifragmente aus, die beim Versuch, ein defektes Dateisystem zu reparieren, übrig geblieben sind. 왘 var (Kurzform für variable – variabel): Hier werden variable Inhalte wie Speicherstände und Logs gespeichert. 왘 media: Wenn portable Speichermedien wie externe Festplatten, CD-ROM-Laufwerke oder USB-Sticks an das System angeschlossen werden, werden sie gemountet, sprich für das System verfügbar gemacht, und in diesem Verzeichnis dargestellt. Dies kann dann z.B. so aussehen wie in Abbildung 2.12. Natürlich ist es nicht zwingend notwendig, dass Sie die Bedeutung aller Verzeichnisse und deren Inhalt bis ins kleinste Detail kennen. Einige Dateien enthalten jedoch grundlegende Systeminformationen, die ab und an doch sehr nützlich sein können. Die wichtigsten habe ich nachfolgend aufgelistet: 왘 /etc/rc.local Abbildung 2.12 Ein gemounteter USB-Stick 왘 mnt (Kurzform für mount): Dieses Verzeichnis kann dafür genutzt werden, Datenträger manuell zu mounten. Eine Art Autostart. Diese Datei wird bei jedem Bootvorgang ausgeführt. Alles, was vor dem exit 0 steht, wird ausgeführt. In Abbildung 2.13 sehen Sie ein kleines Beispiel, wie bei jedem Booten der Text »Hallo« in die Datei /tmp/Test.txt geschrieben wird. 왘 opt (Kurzform für optional): Wenn Programme, die nicht zur Distribution gehören und eigene Bibliotheken besitzen, installiert werden sollen, wählt man dafür das Verzeichnis /opt. 왘 proc (Kurzform für processes – laufende Prozesse): Hier sind alle Schnittstellen zum Kernel enthalten. Außerdem lassen sich hier verschiedene Dateien auslesen, welche Informationen zur CPU und der Kernelversion beinhalten. 32 Abbildung 2.13 So wird ein Befehl automatisch ausgeführt. 33 2 2 2.4 Schnellstart: Die erste Inbetriebnahme Welche alternativen Betriebssysteme gibt es? 왘 /sys/devices/virtual/thermal/thermal_zone0/temp Hier befindet sich die Temperatur der CPU. Dieser Wert kann einfach ausgelesen werden (siehe Abbildung 2.14). 2 Abbildung 2.14 Die aktuelle Temperatur des SoC 왘 /proc/version Abbildung 2.17 Informationen über den Prozessor Hier finden sich, wie in Abbildung 2.15 zu sehen, Informationen zum aktuellen Kernel. 2.4 Welche alternativen Betriebssysteme gibt es? Abbildung 2.15 Informationen über den Kernel 왘 /sys/class/gpio/export Über diese Datei können die Ein- und Ausgänge des Raspberry Pi verfügbar gemacht werden. Wird z.B. eine 7 in die Datei geschrieben, erscheint ein neuer Ordner namens gpio7 im Verzeichnis /sys/class/gpio (siehe Abbildung 2.16). Darin befinden sich dann alle Dateien, die notwendig sind, um auf den GPIO 7 zuzugreifen. Natürlich gibt es nicht nur das Betriebssystem Raspbian Wheezy. Da das ganze Raspberry-Pi-Projekt Open Source ist, haben sich im Laufe der Zeit viele verschiedene Betriebssysteme entwickelt, die zum Teil aus der Linux-Community und zum Teil aus der Raspberry-Pi-Community stammen. Ein paar dieser Betriebssysteme möchte ich hier kurz vorstellen: 왘 NOOBS (New Out Of Box Software): Dieses Betriebssystem ist für Neueinsteiger gedacht, die noch nicht wissen, welches Betriebssystem sie wählen sollen. Es umfasst Raspbian Wheezy, Pidora und zwei Versionen eines Mediacenters. Es besteht außerdem die Möglichkeit, das Betriebssystem durch Drücken von (ª) während des Bootvorgangs zu wechseln (siehe Abbildung 2.18). Abbildung 2.16 Der Ordner für den GPIO 7 왘 /proc/cpuinfo In dieser Datei stehen alle Informationen zur verwendeten CPU (siehe Abbildung 2.17). Wenn in einem Programm z.B. eine Unterscheidung zwischen der alten 256-MB-Version des Raspberry Pi und der neuen 512-MB-Version gemacht werden soll, können Sie diese Datei zu Hilfe nehmen. Sie werden in Abschnitt 8.5.1 eine Möglichkeit kennenlernen, diese Datei mit Hilfe eines Programms auszulesen. Abbildung 2.18 Die Auswahl des Betriebssystems 34 35 2 Schnellstart: Die erste Inbetriebnahme 왘 Pidora: Bei Pidora handelt es sich um eine für den Raspberry Pi optimierte Version des Computerbetriebssystems Fedora (siehe Abbildung 2.19). Abbildung 2.19 Der Pidora-Installationsbildschirm 2.5 Ich bin so weit ... Jetzt geht’s los! Das System richtig konfigurieren 왘 RISC OS: RISC OS ist ein schlankes und schnelles Multitasking-Betriebssystem, das ausschließlich auf ARM-Prozessoren läuft. Das Betriebssystem besitzt eine Vielzahl von austauschbaren Modulen, die für Festplattenzugriffe, grafische Oberflächen etc. zuständig sind. Abbildung 2.20 Der Homescreen des XBMC-Mediacenters 왘 Arch Linux ARM: Dieses Betriebssystem verfügt nur über die notwendigsten Komponenten. Aus diesem Grund bootet es innerhalb von zehn Sekunden. Es ist allerdings nicht für Einsteiger geeignet, da keinerlei Zusatzsoftware wie z.B. eine grafische Oberfläche vorhanden ist und alles nachträglich kompiliert und installiert werden muss. Die verschiedenen Betriebssysteme, mit Ausnahme der beiden Mediacenter Raspbmc und OpenElec, lassen sich alle auf der offiziellen Raspberry-Pi-Website downloaden: www.raspberrypi.org. 왘 Raspbmc, OpenElec: Diese beiden Betriebssysteme sind dafür gedacht, den Raspberry Pi in ein XBMC-Mediacenter zu verwandeln (siehe Abbildung 2.20). Sie unterstützen das Einbinden eines NAS (Abkürzung für Network Attached Storage), also eines Netzwerkspeichers – wie z.B. einen Dateiserver – und sind darauf ausgelegt, Filme, Musik und Fotos wiederzugeben. Sie bieten die Möglichkeit, Festplatten und USB-Sticks anzuschließen, um die darauf gespeicherten Medien wiederzugeben. Das XBMC-Mediacenter werde ich Ihnen in Kapitel 6 noch genauer vorstellen und Ihnen zeigen, wie Sie ein Mediacenter auf der Basis von Raspbmc installieren und einrichten. Das Mediacenter OpenElec wird dort nicht extra behandelt, da es sich um eine »abgespeckte« Version von Raspbmc handelt. 2.5 Ich bin so weit ... Jetzt geht’s los! Das System richtig konfigurieren 36 Jetzt, da Sie im Groben wissen, wie das Betriebssystem funktioniert und welche anderen Betriebssysteme es noch gibt, können wir uns das Betriebssystem Raspbian Wheezy endlich live auf dem Raspberry Pi anschauen. Hierfür schieben Sie die SD-Karte mit dem Betriebssystem in den Raspberry Pi und stecken den Micro-USB-Stecker des Netzteils ein. Jetzt leuchtet die rote LED auf und signalisiert, dass Spannung am Raspberry Pi anliegt. Wenig später sollten auch die gelbe und die grüne LED der LAN-Verbindung leuchten (siehe Abbildung 2.21). 37 2 2 2.5 Schnellstart: Die erste Inbetriebnahme Ich bin so weit ... Jetzt geht’s los! Das System richtig konfigurieren 2.5.1 Das Menü »raspi-config« Das raspi-config-Menü hilft Neueinsteigern bei der erstmaligen Konfiguration des kleinen Computers. Dieses Menü können Sie später immer wieder durch die Konsoleneingabe sudo raspi-config aufrufen. Einfach konfigurieren Das Menü raspi-config stellt eine leichte und übersichtliche Möglichkeit dar, verschiedene Einstellungen am Raspberry Pi zu ändern, ohne dass viel Erfahrung mit dem Betriebssystem nötig ist. 2.5.2 »Expand Filesystem« Abbildung 2.21 Los geht’s! Der Raspberry Pi in Betrieb Die LED (Act) über der roten LED (PWR) blinkt nun, und wenige Momente später erscheint das Bild aus Abbildung 2.22 auf dem angeschlossenen Monitor. Diesen Menüpunkt führen Sie als Erstes aus. Bestätigen Sie die Eingabe einfach mit einem Druck auf die (¢)-Taste. Jetzt beginnt der Raspberry Pi damit, das Root-Filesystem – also das Dateisystem mit dem Betriebssystem, das sich auf der SD-Karte befindet – auf die gesamte SD-Kartengröße auszubreiten. Durch die Raspbian-Wheezy-Installation werden ansonsten immer nur 2 GB der Karte genutzt, egal, wie groß die Karte ist. Abbildung 2.22 Das Hauptfenster des Menüs »raspi-config« Dieses Menü erscheint immer, wenn das Betriebssystem Raspbian Wheezy zum ersten Mal von der SD-Karte gestartet wird. Es soll dabei helfen, den Raspberry Pi für die erste Benutzung zu konfigurieren, und deswegen gehen wir das Menü Schritt für Schritt durch. 38 Abbildung 2.23 Das Dateisystem wird an die Größe der SD-Karte angepasst. Nachdem der Vorgang (siehe Abbildung 2.23) abgeschlossen ist, bestätigen Sie mit einem Tastendruck auf (¢) und gelangen wieder zum Menü zurück. Einen Reboot ersparen wir uns erst einmal, da wir noch andere Einstellungen ändern werden. 39 2 2 Schnellstart: Die erste Inbetriebnahme 2.5 Ich bin so weit ... Jetzt geht’s los! Das System richtig konfigurieren In Kapitel 4, »Wichtige Konsolenbefehle im Griff«, werden Sie eine Möglichkeit kennenlernen, eine Partition zu erstellen und so den ungenutzten Speicherplatz in eine Partition umzuwandeln. So wird der freie Speicher nicht verschwendet. Darum können Sie diesen Schritt bei Bedarf auslassen. 2 2.5.3 »Change User Password« Im nächsten Schritt ändern wir das Default-Passwort. Auf dem Raspberry Pi ist nach der Installation ein User pi eingerichtet, dem das Passwort »raspberry« zugewiesen ist. Dieses Passwort ändern Sie nun in ein beliebiges anderes. Achtung bei der Anmeldung: Amerikanische Tastenbelegung Im Moment ist die Tastatur noch auf ein amerikanisches Layout eingestellt. Daher sind z.B. die Tasten (Y) und (Z) vertauscht. Das bedeutet konkret, dass Sie bis zur Umstellung der Tastatur auf das deutsche Tastaturlayout (siehe Abschnitt 2.5.5, »›Internationalisation Options‹«) als Passwort »raspberrz« eintippen müssen. Abbildung 2.25 Änderung erfolgreich 2.5.4 »Enable Boot to Desktop/Scratch« In diesem Menüpunkt können Sie zwischen verschiedenen Bootoptionen wählen (siehe Abbildung 2.26). Sobald Sie den Menüpunkt ausgewählt haben, gelangen Sie wie in Abbildung 2.24 gezeigt zurück zur Konsole, wo Sie das neue Passwort eingeben. Abbildung 2.24 Bitte ein neues Passwort eingeben. Abbildung 2.26 Soll der Desktop automatisch gestartet werden? Konsole, Terminal, Kommandos und Prompt Die sogenannte Konsole ist, wie Sie vermutlich bereits bemerkt haben, ein Bildschirm im Textmodus, in dem Sie mithilfe von Kommandos u.a. das System steuern, Dateien ändern oder Ausgaben des Systems verfolgen können. Die Konsole gibt es auch in Form eines Fensters in einer grafischen Benutzeroberfläche. Dort wird sie als Terminal bezeichnet. Kommandos wie z. B sudo startx geben Sie an der Eingabeaufforderung, dem sogenannten Prompt, ein; damit Sie die Befehle als solche erkennen, werden sie wie üblich auch in diesem Buch in einer eigenen Schriftart als Kommando gekennzeichnet. Wenn Sie das Passwort erfolgreich geändert haben, erscheint das Fenster aus Abbildung 2.25, das Sie mit der Taste (¢) schließen. 40 Der erste Menüpunkt sorgt dafür, dass nach dem Booten eine Konsole geöffnet wird. Dies ist die Standardeinstellung. Wenn Sie nach dem Booten direkt auf den Desktop gelangen wollen, so müssen Sie den zweiten Punkt aktivieren. Dadurch müssen Sie den Desktop nicht von Hand starten und ersparen sich das Arbeiten mit der Konsole. Diese Option ist nur sinnvoll, wenn Sie den Raspberry Pi mit einem Monitor ausgestattet haben. Sie werden in Abschnitt 4.7, »Fernzugriff über SSH«, noch eine Möglichkeit kennenlernen, ohne Monitor (gerne auch als headless bezeichnet) auf dem Raspberry Pi zu arbeiten; darum brauchen wir diese Option nicht zwingend. Der letzte Punkt aktiviert zusätzlich zum Desktop noch die Programmierumgebung Scratch. Diese Programmier- 41 2 Schnellstart: Die erste Inbetriebnahme umgebung werden Sie in Kapitel 3, »Den Desktop kennenlernen« noch etwas genauer vorgestellt bekommen. 2.5.5 »Internationalisation Options« 2.5 Ich bin so weit ... Jetzt geht’s los! Das System richtig konfigurieren Die Eingabe in diesem und in dem nächsten Fenster bestätigen Sie mit (¢). Danach gelangen Sie wieder zum Hauptbildschirm, wo Sie erneut das Menü Internationalisation Options auswählen, um die Zeitzone einzustellen. Hierfür rufen Sie Change Timezone auf, wählen dann Europe und anschließend Berlin (siehe Abbildung 2.29). Hier sind alle länderspezifischen Einstellungen aufgeführt. Durch Drücken der (¢)Taste öffnen Sie ein Untermenü, das Sie in Abbildung 2.27 sehen. Abbildung 2.29 Einstellen der Zeitzone Abbildung 2.27 Das Untermenü im Überblick Mit dem ersten Unterpunkt legen Sie den verwendeten Zeichensatz fest. Dafür öffnen Sie das Menü und wählen die in Abbildung 2.28 markierte Option de_DE.UTF-8 UTF-8 mit der Leertaste aus. Im letzten Schritt passen Sie das Tastaturlayout an. Hierfür wechseln Sie erneut in das Menü Internationalisation Options und wählen Change Keyboard Layout aus. Jetzt müssen Sie einen Tastaturtyp auswählen. Entscheiden Sie sich für die markierte Auswahl Generic 105-Key (Intl) PC (siehe Abbildung 2.30), und bestätigen Sie die Eingabe durch Drücken von (¢). Abbildung 2.30 Auswahl der richtigen Tastatur Abbildung 2.28 Die Auswahl des richtigen Zeichensatzes 42 43 2 2 Schnellstart: Die erste Inbetriebnahme Danach rufen Sie erst Other und anschließend German auf. Im nächsten Schritt aus Abbildung 2.31 wählen Sie erneut German aus. Bei den nächsten drei Menüfenstern können Sie einfach die vorgegebene Auswahl übernehmen. Jetzt verfügt der Raspberry Pi über ein deutsches Tastaturlayout, wie es auf jeder deutschen Tastatur zu sehen ist. 2.5 Ich bin so weit ... Jetzt geht’s los! Das System richtig konfigurieren Falls der Prozessor zu heiß wird (z.B. weil er zusätzlich in einer warmen Umgebung betrieben wird), kann er kaputtgehen. Daher ist es sinnvoll, mit Hilfe von Wärmeleitpaste einen Kühlkörper auf dem Prozessor zu befestigen, wenn Sie den Prozessor übertakten. Um den Raspberry Pi zu übertakten, wählen Sie diesen Menüpunkt aus und bestätigen die Warnung mit Ok. Anschließend wählen Sie die gewünschte Taktfrequenz (siehe Abbildung 2.32); nach einem Reboot steht diese dem Raspberry Pi zur Verfügung. Abbildung 2.31 Auswahl der richtigen Sprache Abbildung 2.32 Wie schnell darf es denn bitte sein? 2.5.6 »Enable Camera« 2.5.9 »Advanced Options« Dieser Menüpunkt dient dazu, ein angeschlossenes Raspberry-Pi-Kameramodul zu aktivieren. Im Moment benötigen wir ihn aber noch nicht. Wir kommen in Kapitel 7, »Augen auf! Die Raspberry-Pi-Kamera einsetzen«, noch einmal auf diesen Punkt zurück. Dieser Menüpunkt bietet ein paar erweiterte Konfigurationsmöglichkeiten für den Raspberry Pi. Mit dem ersten Punkt können Sie einen Overscan aktivieren. Wenn der Overscan aktiviert worden ist, wird ein etwas größeres Bild erzeugt, das nicht komplett auf die sichtbare Fläche des Monitors passt. Dadurch stehen die unscharfen Ränder über und werden vom Nutzer nicht wahrgenommen. Diese Technik wird vor allem bei analogen Röhrenmonitoren benutzt, wo die Röhren eine gewisse Toleranz aufweisen. Für moderne Flachbildschirme, bei denen jede Bildzelle einzeln angesprochen werden kann und somit keine unscharfen Ränder mehr entstehen, ist diese Maßnahme unnötig und muss nicht aktiviert werden. 2.5.7 »Add to Rastrack« Mit diesem Menüpunkt können Sie den Raspberry Pi in eine Datenbank eintragen, wodurch Sie sehen, wer alles in der Nähe einen Raspberry Pi besitzt. Auch dieser Punkt ist für uns nicht sonderlich wichtig. 2.5.8 »Overclock« Durch diesen Menüpunkt können Sie den Raspberry Pi ganz einfach übertakten. Dadurch sind Taktfrequenzen bis 1 GHz möglich, die auch offiziell freigegeben sind. Das Übertakten erhöht die Verarbeitungsgeschwindigkeit des Prozessors. Dies beschleunigt das Betriebssystem und sämtliche Anwendungen, sorgt aber dafür, dass der Prozessor viel wärmer als im normalen Betrieb wird. 44 Mit dem zweiten Punkt können Sie den Hostnamen, sprich den Namen des Raspberry Pi, verändern. Hierfür können Sie jeden beliebigen Namen wählen, der keine Sonderzeichen enthält. Der neue Name steht nach einem Reboot zur Verfügung (siehe Abbildung 2.33). Der dritte Punkt verändert die RAM-Zuweisung von CPU (der Hauptprozessor – Central Processing Unit) und GPU (der Grafikprozessor – Graphic Processing Unit), er legt also fest, wie viel Arbeitsspeicher für die Grafikerzeugung reserviert wird. Der Rest ist dann für die CPU reserviert. Für Sie reicht es erst einmal, wenn Sie den Default-Wert (128 MB) verwenden. 45 2 Kapitel 4 Wichtige Konsolenbefehle im Griff Jetzt, da Sie wissen, wie Sie den Desktop aufrufen und was Sie dort alles finden, beschäftigen wir uns mit der Konsole – dem Herzstück eines Linux-Systems. 4 Nachdem Sie die Desktopumgebung kennengelernt haben, schenken wir der Konsole ein bisschen mehr Aufmerksamkeit. Wenn Sie die ganze Zeit eine grafische Benutzeroberfläche benutzt haben und daran gewöhnt sind, werden Sie mit der Umstellung auf eine textbasierte Bedienung am Anfang vielleicht ein paar Probleme haben. Sobald aber etwas Übung da ist, werden Sie feststellen, dass dadurch die Übersicht über die ablaufenden Prozesse deutlich besser ist als bei einer grafischen Oberfläche. Mit einer grafischen Oberfläche können viele Abläufe versteckt werden, aber wenn Sie über eine Konsole direkt mit dem Kernel »reden«, bleibt Ihren Augen nicht viel verborgen, und Sie wissen immer genau, was das System gerade tut. Bevor Sie anfangen können, mit der Konsole zu arbeiten, müssen Sie erst einmal dort hingelangen. Wenn Sie den Raspberry Pi booten, landen Sie wenige Momente später bei einem Login-Bildschirm. Melden Sie sich dort an, können Sie direkt mit der Konsole weiterarbeiten. Abbildung 4.1 Ein neues Konsolenfenster Aber was tun, wenn Sie bereits auf dem Desktop sind? Dann haben Sie zwei Möglichkeiten, zurück zur Konsole zu kommen: 69 4 Wichtige Konsolenbefehle im Griff 4.1 Anlegen eines neuen Benutzerkontos und Ändern des Passwortes 왘 Beenden Sie den Displaymanager (wie Sie das machen, lesen Sie in Abschnitt 3.1, »Wo ist der Desktop überhaupt?«). 4.1 Anlegen eines neuen Benutzerkontos und Ändern des Passwortes 왘 Öffnen Sie das Programm LXTerminal. Als Erstes beschäftigen wir uns damit, wie Sie einen neuen Benutzer anlegen und wie Sie anschließend sein Passwort ändern. Wie Sie inzwischen wissen, existieren bereits zwei Benutzer auf dem Raspberry Pi: der Benutzer pi und der Systemadministrator root. Bei beiden Methoden erscheint anschließend der Bildschirm aus Abbildung 4.1 (hier jetzt mit LXTerminal). Übrigens: Die Konsole, die direkt nach dem Booten erscheint, unterscheidet sich nicht vom LXTerminal, darum ist es egal, welche Konsole Sie verwenden. Hintergrundfarbe der Konsole ändern Zur besseren Lesbarkeit kann die Hintergrundfarbe der Konsole eingestellt werden. Ich habe mich für einen hellgelben Hintergrund mit dunkler Schrift entschieden. Dazu klicken Sie einfach im Reiter der Konsole auf Edit 폷 Preferences. In dem sich öffnenden Menü kann nun unter Background die Hintergrundfarbe angepasst werden. Aber wofür benötigen Sie überhaupt mehrere Nutzer? In erster Linie sind mehrere Benutzer sinnvoll, wenn der Computer von mehreren Anwendern benutzt wird. Dadurch erreichen Sie, dass jeder Benutzer nur auf seine eigenen Daten zugreifen darf. Auf dem Raspberry Pi haben die Benutzerkonten noch eine weitere Funktion: Bestimmte Dienste legen einen neuen Benutzer an, über den sie dann arbeiten. Ein Beispiel ist der Webserver apache oder lighttpd. Diese beiden Programme arbeiten mit dem User www-data. Der Grund, wieso manche Dienste neue Benutzer anlegen, ist derselbe wie bei normalen Benutzern: So wird sichergestellt, dass nur der Dienst selbst auf die Daten zugreifen darf; zusätzlich können für jeden Benutzer die Zugriffsrechte individuell gesetzt werden. So wird erreicht, dass Dienste nur auf die eigenen Dateien zugreifen dürfen, und es wird verhindert, dass fremde Programme unerlaubt Dateien lesen. Außerdem werden auf diese Weise Sicherheitslücken in den Anwendungen nicht direkt eine Gefahr für das Betriebssystem, weil sich ein unerlaubter Zugriff nicht auf das komplette Betriebssystem ausbreiten kann. In der Datei /etc/passwd sind alle registrierten Benutzer aufgelistet und einsehbar (siehe Abbildung 4.3). Abbildung 4.2 Zum Ändern der Farbe einfach verschiedene Werte für Red, Green und Blue eingeben. Anschließend mit einem Klick auf OK die Eingabe bestätigen. Abbildung 4.3 Alle Benutzer im Überblick 70 71 4 4 4.1 Wichtige Konsolenbefehle im Griff In dieser Datei stehen auch noch einige Zusatzinformationen über die Benutzerkonten, z.B. ob die Benutzer berechtigt sind, eine Shell (Kommandozeile) zu öffnen und darin zu arbeiten. Wie legen Sie nun aber einen neuen Benutzernamen an? Einen neuen Benutzer können Sie nur über den Systemadministrator root anlegen. Im Moment sind Sie aber als Benutzer pi unterwegs, wie Sie in der Konsole erkennen, siehe Abbildung 4.4. Anlegen eines neuen Benutzerkontos und Ändern des Passwortes handen ist), werden Sie aufgefordert, ein neues Passwort einzugeben. Anschließend müssen Sie die Eingabe wiederholen. Dies dient der Sicherheit, da auf diese Weise Schreibfehler während der Passworteingabe vermieden werden können. Groß- und Kleinschreibung beachten 4 Linux unterscheidet, im Gegensatz zu Windows, zwischen Groß- und Kleinschreibung bei den Benutzernamen! Wenn das Passwort erfolgreich geändert wurde, erscheint die Meldung aus Abbildung 4.6. Abbildung 4.4 Der aktuelle Benutzer und der Hostname Dabei gibt der Name vor dem @ den aktuellen Benutzernamen an und der Name dahinter den Namen des Raspberry Pi, wie Sie ihn in Kapitel 2, »Schnellstart: Die erste Inbetriebnahme«, über das Menü Hostname vergeben haben. Auf die Abbildung 4.4 bezogen heißt dies, dass der aktuelle Benutzer pi ist und der Raspberry Pi den Namen RaspberryPi hat. Um zum root-Account zu wechseln, geben Sie Folgendes in die Konsole ein: sudo su Der Befehl su (switchuser) ermöglicht das Wechseln zu einem anderen Benutzer. Wenn nach dem Befehl su kein Benutzer angegeben wird, wechseln Sie automatisch zum Benutzer root. (siehe Abbildung 4.5). Abbildung 4.6 Das Passwort wurde erfolgreich geändert. Für den Benutzer rootsollten Sie ein Passwort mit Sonderzeichen, Zahlen und Buchstaben wählen, um die maximale Sicherheit zu gewährleisten. Wer die Kontrolle über diesen Benutzer erlangt, hat die Kontrolle über das System! Jetzt können Sie damit beginnen, ein neues Benutzerkonto anzulegen. Bei der Namensgebung müssen Sie allerdings ein paar Regeln einhalten: 왘 Der Name darf ausschließlich aus Kleinbuchstaben bestehen; 왘 als weitere Zeichen können auch die Zahlen 0 – 9, der Bindestrich (-) oder der Unterstrich (_) enthalten sein. 왘 Am Ende des Namens dürfen Sie ein $ einfügen. 왘 Jeder Name darf nur einmal vorhanden sein. Abbildung 4.5 Der Wechsel war erfolgreich. Bevor Sie weitermachen, legen Sie ein Passwort für dieses Konto fest. Um das Passwort des aktuellen Benutzers zu ändern, geben Sie den Befehl passwd in die Konsole ein. Normalerweise erscheint als Nächstes eine Abfrage nach dem aktuellen Passwort. Da der Benutzer root aber bisher noch über kein Passwort verfügt, entfällt diese. Wenn Sie das aktuelle Passwort erfolgreich eingegeben haben (sofern eins vor- 72 Als Beispiel erstellen wir den Benutzer neueruser. Dieses Benutzerkonto dient nur als Demonstration. Es soll später keinen wirklichen Zweck erfüllen, und wir werden es daher am Ende des Abschnitts wieder löschen. Um das Benutzerkonto und das dazugehörige Homeverzeichnis zu erstellen, geben Sie den folgenden Befehl in die Konsole ein: adduser neueruser Im nächsten Schritt werden Sie aufgefordert, ein Passwort einzugeben, und danach werden Sie nach ein paar Benutzerinformationen gefragt, die allerdings nicht so wichtig sind und die Sie ignorieren können. Überspringen Sie sie also nach und nach mit einem Druck auf (¢), und bestätigen Sie am Ende mit (Y). Sobald Sie damit fertig sind, erhal- 73 4 4.1 Wichtige Konsolenbefehle im Griff ten Sie eine Bestätigung vom Betriebssystem, dass das Benutzerkonto angelegt worden ist, siehe Abbildung 4.7. Anlegen eines neuen Benutzerkontos und Ändern des Passwortes Anschließend versuchen Sie, mit dem Befehl echo "Hallo" >> /home/pi/Desktop/Hallo.txt den Text »Hallo« auf den Desktop in eine Datei Hallo.txt des Benutzers pi zu schreiben. Keine Angst, den Befehl echo werde ich im Abschnitt 4.5, »Wie bearbeite ich Dateien?« genauer erklären. Es erscheint nun die Meldung aus Abbildung 4.8. Abbildung 4.8 Da fehlen wohl die Schreibrechte ... Abbildung 4.7 Ein neuer Benutzer wurde angelegt. In dem Moment, als der Benutzer angelegt wurde, sind drei Dinge passiert: Wie ist diese Meldung zu deuten? Mit dem Befehl haben Sie versucht, einen Text in eine Datei auf dem Desktop eines anderen Benutzers zu schreiben. Da der Benutzer neueruser und der Benutzer pi, auf dessen Desktop Sie schreiben wollten, in unterschiedlichen Gruppen sind, besitzt der User neueruser keine Rechte, auf dessen Desktop zu schreiben. Wir wollen aber nicht, dass der Benutzer solch eingeschränkte Rechte hat. Deswegen weisen wir den Benutzer einer Gruppe zu. Als Erstes müssen wir wieder zum Benutzer root wechseln: 왘 Der Benutzer neueruser wurde erstellt. 왘 Die Hauptgruppe neueruser des Benutzers wurde angelegt. 왘 Das Homeverzeichnis /home/neueruser wurde erzeugt und eingerichtet. Dies hat den Zweck, dass alle Dateien, die im Homeverzeichnis des Benutzers neueruser gespeichert werden, eindeutig diesem Benutzer zugewiesen werden können. Dadurch wird gewährleistet, dass nur der Benutzer neueruser auf seine Dateien zugreifen darf, während er selbst auf keine anderen Dateien zugreifen darf, weil er in keiner weiteren Gruppe ist, die Zugriff auf andere Dateien hat. Schauen wir uns dazu ein kleines Beispiel an. Da Sie den Benutzer neueruser nun angelegt haben, wechseln Sie auf diesen Benutzer: su root In der Datei /etc/group sind alle bereits vorhandenen Gruppen aufgelistet. Diesen Dateiinhalt können Sie mit dem Befehl nano /etc/group öffnen und sich anzeigen lassen (siehe Abbildung 4.9). su neueruser Ein Passwort brauchen Sie nicht einzugeben, da der User root ohne Passwort wechseln darf. Hierbei sollten Sie beachten, dass Sie beim Wechseln des Benutzers durch den Befehl su mit dem neuen Benutzer im selben Verzeichnis bleiben wie mit dem alten Benutzer! Dies ist unter Umständen problematisch, da der neue Benutzer sich dann in einem Verzeichnis aufhalten könnte, wo er keine Rechte besitzt (das sehen Sie deutlich in Abbildung 4.8: Der Benutzer neueruser befindet sich im Homeverzeichnis des Benutzers pi). Abbildung 4.9 Alle Gruppen in der Übersicht 74 75 4 4 4.2 Wichtige Konsolenbefehle im Griff Mit der Tastenkombination (Strg) + (X) schließen Sie die Datei anschließend wieder. Der Einfachheit halber fügen wir den Benutzer neueruser derselben Gruppe wie den Benutzer pi hinzu. Dadurch haben beide Benutzer auf dieselben Dateien Zugriffsrechte. Um einen Benutzer einer Gruppe zuzuweisen, verwenden Sie den Befehl usermod. Das folgende Beispiel fügt den Benutzer neueruser zusätzlich der Gruppe pi hinzu: Wie ist das Dateisystem aufgebaut? Anschließend versuchen wir erneut, die Textdatei zu beschreiben: echo "Hallo" >> /home/pi/Desktop/Hallo.txt Wenn alles erfolgreich war, sollte das Ergebnis so wie in Abbildung 4.10 aussehen. 4 usermod -a -G pi neueruser Dabei sind die Parameter -a und -G die Optionen, um den Benutzer einer Gruppe (hier pi) hinzuzufügen, ohne ihn dabei aus den anderen Gruppen zu entfernen. Für diese Funktion müssen Sie die Parameter -a und –G immer zusammen angeben! Der Parameter –G teilt dem Betriebssystem mit, dass der Benutzer zusätzlich zu seiner Initialgruppe einer Liste von Gruppen zugewiesen werden soll. In dem obigen Beispiel besteht die Liste von Gruppen nur aus der Gruppe pi. Vergessen Sie dabei den Parameter –a, wird der Benutzer anschließend aus allen anderen Gruppen entfernt! Jetzt müssen Sie noch das Homeverzeichnis des Benutzers pi für Gruppenmitglieder beschreibbar machen. Dies geschieht mit dem folgenden Befehl: chmod -R g+w /home/pi Mit Hilfe des Befehls chmod werden die Zugriffsrechte des angegebenen Verzeichnisses oder der angegebenen Datei (in diesem Beispiel /home/pi) geändert. Das -R ist ein Befehlsparameter und gibt an, dass auch alle Unterverzeichnisse einbezogen werden sollen, weil sonst nur der Ordner /home/pi neue Schreibrechte bekommt, aber nicht der Ordner /home/pi/Desktop. Mit dem g wird dabei signalisiert, dass es sich um die Gruppenzugriffsrechte handelt, und das +w besagt, dass die Berechtigung zum Schreiben (w) hinzugefügt werden soll. Mit dem Parameter –w würden die Schreibrechte wieder entfernt. Aber warum haben wir das nicht beim ersten Versuch für alle Benutzer gemacht? Der Grund ist ganz einfach: Wenn wir bei dem Verzeichnis das Schreibbit für die öffentliche Berechtigung setzen, können wir nicht mehr kontrollieren, wer alles in das Verzeichnis schreibt. Aus diesem Grund weisen wir nur der Gruppe eine Schreibberechtigung zu, da ihr ja nicht jeder Benutzer angehört. Schauen wir mal, ob die Änderungen das Problem gelöst haben ... Hierfür wechseln wir wieder zum Benutzer neueruser: su neueruser 76 Abbildung 4.10 Alles hat geklappt. Lassen Sie mich kurz zusammenfassen, was Sie eben gelernt haben: 왘 Mit dem Befehl adduser legen Sie einen neuen Benutzer an. 왘 Der Befehl passwd dient zum Ändern des Passwortes. 왘 Mittels su wechseln Sie zwischen verschiedenen Benutzern. 왘 Mit dem Befehl usermod -a -G fügen Sie einen Benutzer einer Gruppe hinzu. 왘 Der Befehl chmod ändert die Zugriffsrechte eines Verzeichnisses oder einer Datei. Wer den Benutzer neueruser nicht weiterverwenden will, kann diesen mithilfe von deluser neueruser ganz einfach wieder löschen. Damit Sie diesen Befehl benutzen kön- nen, müssen Sie aber als Benutzer root angemeldet sein. 4.2 Wie ist das Dateisystem aufgebaut? In Kapitel 2, »Schnellstart: Die erste Inbetriebnahme«, haben wir uns bereits mit dem Verzeichnisbaum des Betriebssystems beschäftigt, und Sie wissen nun, wie das Betriebssystem grob aufgebaut ist. In diesem Abschnitt beschreibe ich die Art und Weise, wie das Betriebssystem die Daten ablegt, etwas genauer. Zudem werden wir uns das Thema Speichererweiterung per USB-Stick/USB-Festplatte und die Formatierung dieser Speichermedien ansehen. Aber wie genau speichert ein Computer eigentlich Daten? Alle Daten, die ein Computer speichern und/oder verarbeiten soll, werden in sogenannten Bits gespeichert. Ein Bit kann dabei entweder gesetzt sein (1) oder nicht gesetzt sein (0). Alle Informationen in einem Computer werden also in Bits umgewandelt. Ein Bit können Sie sich vereinfacht wie einen Schalter vorstellen: Ist der Schalter umgelegt, ist das Bit gesetzt. Jeder der Schalter steht dann für eine bestimmte Information. 77 4 Wichtige Konsolenbefehle im Griff Natürlich ist es etwas unhandlich, zu sagen: »Meine Festplatte besitzt 8.388.608 Bits Speicherkapazität«. Aus diesem Grund werden die Bits in Pakete »verpackt«. 8 Bits ergeben 1 Byte, 1.024 Bytes ergeben 1 Kilobyte (kB) etc. Nachfolgend sehen Sie in Tabelle 4.1 eine kleine Auflistung der Paketgrößen: Name Größe 1 Byte 8 Bit 1 Kilobyte (kB) 1.024 Byte 1 Megabyte (MB) 1.024 Kilobyte 1 Gigabyte (GB) 1.024 Megabyte 1 Terabyte (TB) 1.024 Gigabyte 1 Petabyte (PB) 1.024 Terabyte Tabelle 4.1 Eine kurze Übersicht der Bytegrößen Jetzt sind natürlich nicht alle Daten wild auf dem Speichermedium verteilt, vielmehr sind sie alle schön geordnet abgespeichert, so dass der Computer sie möglichst schnell findet. Diese Ordnung der Daten nennt sich Dateisystem. Ein Computer kann viele verschiedene Dateisysteme verwenden, die alle unterschiedliche Vor- und Nachteile haben. Diese hier aufzuzählen und zu beschreiben, würde den Rahmen des Buches sprengen. Für die Benutzung des Raspberry Pi reicht es zu wissen, dass das Dateisystem auf der SD-Karte ein ext-Dateisystem ist. Dieses Dateisystem unterscheidet sich in zwei wichtigen Punkten vom NTFS-Dateisystem eines Windows-Computers: 왘 Ein NTFS-Dateisystem ist nicht in der Lage, die Rechteverwaltung eines LinuxSystems zu unterstützen. 왘 Der Aufbau der Dateisysteme ist unterschiedlich. Ein NTFS-Dateisystem verwendet Laufwerksbuchstaben wie z.B. C:\, die einen bestimmten Bereich im Speichermedium darstellen. Ein ext-Dateisystem verwendet einen durchgehenden Verzeichnisbaum, wie Sie ihn bereits in Abschnitt 2.3 kennengelernt haben. Das Schöne an einem Linux-Betriebssystem ist, dass es so gut wie jeden Dateisystemtyp unterstützt. So können Sie problemlos ein Speichermedium mit dem Windows-Dateisystem NTFS an ein Linux-System anschließen und nutzen. Andersherum ist dies leider nicht so einfach möglich. Nach diesem groben Überblick über das Speichern der Daten auf der SD-Karte schauen wir uns das Ganze nun genauer an. Dafür öffnen Sie ein Konsolenfenster und melden 78 4.2 Wie ist das Dateisystem aufgebaut? sich als Benutzer root an. Jetzt schauen wir uns mit dem Befehl df die Speicherbelegung ein wenig genauer an: df –h Der Parameter –h sorgt dafür, dass die Speicherbelegung in einem für den Menschen lesbaren Format ausgegeben wird (siehe Abbildung 4.11). 4 Abbildung 4.11 Der Aufbau des Dateisystems des Raspberry Pi Aber was sehen wir jetzt genau? Dieser Befehl gibt die komplette Speicherverteilung im Dateisystem wieder. Außerdem gibt er ein paar nützliche Informationen über den belegten und den freien Speicherplatz aller Speichermedien aus. Die erste Spalte gibt den Speicher an, die zweite die Gesamtgröße des Speichers, die Spalten drei bis fünf geben ein paar Informationen über die Speicherbelegung, und die letzte Spalte besagt, an welchem Punkt der Speicher gemountet oder auch eingehängt ist. Schauen wir uns dies anhand der ersten Zeile genauer an: 왘 In der ersten Spalte Filesystem sehen Sie, dass es sich bei dem Dateisystem um das rootfs handelt, das beim Booten als Erstes geladen wird. Dieses Dateisystem enthält das Betriebssystem und befindet sich immer auf der ersten Partition des Datenträgers (Partition 0). Etwas Ähnliches findet sich auch auf jedem Windows-Rechner – dort ist es die Partition C:\, die das Betriebssystem enthält. 왘 Die zweite Spalte Size gibt die Gesamtgröße des Dateisystems an. In dem Beispiel beträgt die Größe 7,1 GB, was in etwa die Größe der SD-Karte ist. Dies ist auch logisch, da beim Aufspielen des Images nur zwei Partitionen angelegt werden: Einmal das rootfs und dann die Bootpartition. Da die Bootpartition immer eine Größe von 56 MB besitzt, wird der komplette restliche Speicher dem rootfs zugeschrieben. 왘 Die Spalten drei bis fünf geben die Auslastung des Dateisystems wieder, wobei die Spalte drei Used angibt, wie viel des Gesamtspeicherplatzes bereits genutzt wird. In Spalte vier Avail erfahren Sie den verbleibenden Speicherplatz, und in Spalte fünf Use% lesen Sie den belegten Speicher als Prozentzahl ab. Auf die oben gezeigte SDKarte übertragen bedeutet dies, dass 3,5 GB belegt und 3,4 GB frei sind. Das ergibt eine Speicherbelegung von 51 %. 79 4 4.2 Wichtige Konsolenbefehle im Griff Wie ist das Dateisystem aufgebaut? 왘 Die letzte Spalte Mounted on zeigt den Mountpunkt des Dateisystems an. Damit unter einem Linux-System ein Speichermedium wie ein USB-Stick, eine SD-Karte oder eine Festplatte genutzt werden kann, muss dieses gemountet werden. Das Mounten ist ein Vorgang, bei dem der Datenträger dem Betriebssystem verfügbar gemacht wird – an einem bestimmten Punkt bzw. einem bestimmten Pfad im Dateisystem wird ein Link auf diesen Speicher angelegt. So gelangen Sie durch diesen Link auf das Speichermedium. Wir werden uns im Laufe dieses Abschnitts noch mit dem Einbinden eines USB-Sticks an den Raspberry Pi beschäftigen. Dort werde ich das Thema Mounten noch etwas genauer erklären. Dasselbe finden wir bei der Ausgabe des Befehls df –h wieder, allerdings erscheint dort die Anzeige aus Abbildung 4.13. Natürlich möchte man nicht alle Daten im rootfs speichern. Aus diesem Grund erstellen wir jetzt eine neue Partition auf einem externen Datenträger. Am Namen mmcblk erkennen Sie, dass es sich bei dem Gerät um eine Speicherkarte handeln muss. Die 0 weist darauf hin, dass es sich um die erste Speicherkarte im System handelt, und das p1 steht für die zweite Partition auf dem Datenträger. Diese Partition hat eine Größe von 56 MB, wovon 9,5 MB oder 17 % belegt sind. Bei dieser Partition handelt es sich um die Bootpartition, die auch am Windows-Rechner erkannt wird, wenn die SD-Karte in den Kartenleser geschoben wird. Diese Partition enthält alle Dateien, die für das Starten des Betriebssystems notwendig sind. Aber vorab ein paar Worte zu den Partitionsnamen unter Linux. Jeder Datenträger bekommt unter Linux einen Namen. Speicherkarten werden meist mit mmcblk oder mmc, USB-Sticks mit sda und Festplatten mit hd gekennzeichnet. Wird ein Datenträger angeschlossen, wird er im Verzeichnis /dev aufgelistet und anschließend mit dem Zusatzbuchstaben a versehen (Speicherkarten mit der Zahl 0). Alle weiteren Speicher gleichen Typs werden fortlaufend benannt. Anschließend folgt eine Zahl, bzw. ein p[x] bei Speicherkarten, für die verschiedenen Partitionen auf dem Speicher. Bei einer Partition handelt es sich um einen Teilbereich des Gesamtspeichers. Die Größe einer Partition können Sie festlegen, so dass zwei Partitionen nicht immer gleich groß sein müssen. So ist es z.B. theoretisch möglich, eine 20-GB-Festplatte mit drei Partitionen auszustatten, wovon eine Partition 15 GB groß, die andere 2 GB und die dritte 3 GB groß ist (natürlich sind solch kleine Festplatten heute gar nicht mehr zu bekommen). Schauen wir uns dies mit Hilfe der Abbildung 4.12 an. Hier habe ich zwei USB-Sticks, die ich vorher an einem Windows-Rechner formatiert habe, an die beiden USB-Ports meines Raspberry Pi gesteckt. Der erste Stick wurde mit sda und der zweite Stick mit sdb bezeichnet. Da jeder Stick eine Partition besitzt, wird diese Partition mit einer 1 gekennzeichnet. Es erscheinen im Verzeichnis /dev also einmal die kompletten USB-Sticks (sda und sdb) und einmal die Partitionen auf den USB-Sticks (sda1 und sdb1). 4 Abbildung 4.13 Um was für einen Datenträger handelt es sich? Mit Hilfe des eben Gelernten sind Sie in der Lage, diese Zeile zu übersetzen. Versuchen Sie es einmal. Welche Informationen können Sie aus dieser Zeile herauslesen? Die Lösung dazu werde ich Ihnen im Folgenden präsentieren. Zurück zu unserem Vorhaben, eine neue Partition zu erstellen. Da Sie nun wissen, wie Speichermedien unter Linux benannt werden, sind Sie in der Lage, unser Vorhaben in die Tat umzusetzen. Verwenden wir als externen Datenträger einen USB-Stick. Diesen stecken Sie in einen der beiden USB-Ports. Anschließend schauen Sie nach, wie der USBStick benannt wurde. Hierfür geben Sie ls /dev in die Konsole ein und suchen nach einem Gerät namens sda o. Ä. (wie Sie es oben in Abbildung 4.12 erkennen). Da Sie den Namen des Sticks nun kennen, können Sie auf ihm eine neue Partition erstellen. Für die Erstellung einer neuen Partition verwenden Sie das Tool fdisk, das Sie für die Partitionierung des USB-Sticks folgendermaßen aufrufen: fdisk /dev/sda Nach dem Aufruf fragt das Tool nach dem nächsten Schritt, was Abbildung 4.14 zeigt. Abbildung 4.14 Was soll gemacht werden? Abbildung 4.12 Die beiden USB-Sticks im Verzeichnis »/dev« 80 Falls auf dem Stick bereits eine Partition vorhanden sein sollte, sprich, wenn ein Gerät namens sda1 vorhanden ist, löschen wir sie erst einmal, da sonst wahrscheinlich keine 81 4 4.2 Wichtige Konsolenbefehle im Griff neue Partition erstellt werden kann. Eine Partition löschen Sie, indem Sie als Befehl erst ein d und dann die Partitionsnummer, also die 1, eingeben (siehe Abbildung 4.15). Wie ist das Dateisystem aufgebaut? cat /sys/block/mmcblk0/queue/hw_sector_size Dieser Wert wird in den meisten Fällen 512 betragen, sprich, ein Sektor ist 512 Byte groß. Dies ist durch die Verwendung einer SD-Karte gegeben. Sollte der Wert jedoch nicht 512 betragen, so müssen Sie dies in der folgenden Berechnung berücksichtigen. Wenn nun eine 1 GB große Partition erstellt werden soll, benötigen Sie also wie viele Sektoren? 1 GB = 1.024 MB = 1.024 * 1.024 kB = 1.024 * 1.024 * 1.024 Byte = 1.073.741.824 Byte 1.073.741.824 Byte / 512 Byte Sektorgröße = 2.097.152 Sektoren Abbildung 4.15 Die Partition wird gelöscht. Achtung! Wenn die Partition gelöscht wird, werden alle gespeicherten Daten mit gelöscht! Sie schließen das Löschen ab durch die Eingabe von w. Anschließend beginnen Sie mit dem Anlegen einer Partition. Hierfür rufen Sie das Tool fdisk erneut auf. Um eine neue Partition anzulegen, geben Sie ein n ein und signalisieren anschließend mit p, dass eine primäre Partition angelegt werden soll. Abbildung 4.16 zeigt dies. Diesen Wert geben Sie nun als Endsektor ein. Anschließend müssen die Informationen geschrieben werden. Hierfür geben Sie einfach den Befehl w in die Konsole ein, siehe Abbildung 4.17. Jetzt ist die Partition zwar erstellt, aber sie verfügt noch über kein Dateisystem. Deswegen muss sie noch formatiert werden. Es empfiehlt sich, für den Datenträger dasselbe Dateisystem wie auf der SD-Karte zu verwenden, also ext3. Um den USB-Stick zu formatieren, geben Sie folgenden Befehl ein: mkfs -t ext3 /dev/sda1 Abbildung 4.16 Eine neue Partition wird angelegt. Geben Sie jetzt eine Partitionsnummer ein. Da in diesem Beispiel noch keine Partition vorhanden ist, wähle ich Partition 1 aus. Alternativ können Sie auch mit einem Druck auf (¢) den Default-Wert, also den Standardwert, verwenden. Der nächste Schritt besteht in der Definition des Startsektors der Partition. Ein Speicher ist in viele kleine und gleich große Teilbereiche aufgeteilt, die sich Sektor nennen. Für den Startsektor verwenden Sie den Default-Wert. Danach bestimmen Sie den Endsektor. Über die Angaben der Start- und Endsektoren bestimmen Sie die Größe der Partition. Unter Linux lässt sich die Sektorgröße wie folgt auslesen: 82 Abbildung 4.17 Die neue Partition wurde angelegt. Die Formatierung dauert nicht allzu lange, und am Ende erscheint der Text aus Abbildung 4.18. Jetzt können Sie den USB-Stick nutzen. Dafür müssen Sie ihn mounten. Zum Mounten eines Speichermediums dient der Befehl mount; als Parameter geben Sie den Datenträger an und den Zielort, an den er gemountet werden soll: mount /dev/sda1 /mnt 83 4 4 4.2 Wichtige Konsolenbefehle im Griff Wie ist das Dateisystem aufgebaut? umount /mnt Jetzt warten Sie, bis das Betriebssystem den Stick entmountet hat. Sobald das Betriebssystem damit fertig ist, erscheint der Konsolenpromt wieder und Sie können den Stick gefahrlos abziehen. Falls Sie am Anfang das Dateisystem nicht über das Menü raspi-config ausgedehnt und damit den ersten Schritt übersprungen haben, so können Sie auf dieselbe Weise den restlichen Platz auf der SD-Karte in einer Partition unterbringen. Hierfür müssen Sie allerdings erst den Endsektor der letzten Partition herausfinden. Dies geschieht mit dem Befehl: fdisk -l -u /dev/mmcblk0 Abbildung 4.18 Die Formatierung ist abgeschlossen. Nun wird der Stick in das Verzeichnis /mnt gemountet. Aber was heißt das jetzt genau? Beim Mountvorgang wird der USB-Stick mit dem Verzeichnis /mnt verlinkt, was bedeutet, dass das Verzeichnis /mnt den genauen Inhalt des USB-Sticks beinhaltet. Allerdings werden die Dateien nur symbolisch angezeigt und beinhalten lediglich eine Weiterführung auf die Originaldateien auf dem USB-Stick. Das Verzeichnis /mnt dient als eine Art Weiterleitung auf den USB-Stick. Nachdem wir den Stick gemountet haben, lassen wir uns die Speicherbelegung wie in Abbildung 4.19 anzeigen. Die Ausgabe sieht dann so aus wie in Abbildung 4.20. Abbildung 4.20 Der Endsektor der zweiten Partition Die markierte Sektorgröße + 1 ergibt dann den Startsektor der neuen Partition (siehe Abbildung 4.21). Abbildung 4.19 Die Partition ist einsatzbereit. Bevor Sie den USB-Stick entfernen, ist es ratsam, den Mountpunkt zu entfernen, um keine Fehler im Dateisystem des USB-Sticks zu erzeugen. Denn wenn das Betriebssystem gerade noch damit beschäftigt sein sollte, Daten auf den Stick zu schreiben, dann kann es passieren, dass diese Daten nicht korrekt abgespeichert beziehungsweise beschädigt werden. Um den Stick zu entmounten, wird der Befehl umount verwendet: 84 Abbildung 4.21 Auf der SD-Karte wird eine neue Partition erstellt. 85 4 4 4.3 Wichtige Konsolenbefehle im Griff Jetzt müssen Sie die Partition noch formatieren. Dies geschieht auf die gleiche Weise Installieren neuer Software via Konsole 4.3 Installieren neuer Software via Konsole wie bei dem USB-Stick, nur dass Sie als Gerät jetzt /dev/mmcblk0p3 angeben statt /dev/ sda1. Je nach Größe der Partition dauert dieser Vorgang natürlich etwas länger als bei dem USB-Stick. Natürlich wäre es ziemlich unklug, wenn jede Partition bei einem Neustart des Rechners neu gemountet werden soll. Deswegen automatisieren wir diesen Vorgang, indem wir mit dem Befehl nano /etc/fstab die Datei /etc/fstab öffnen, die für das automatische Mounten von Datenträgern zuständig ist. Anschließend passen Sie die Datei so an wie in Abbildung 4.22. Abbildung 4.22 So sieht die Änderung aus. Den Mountpunkt /mnt können Sie natürlich beliebig wählen. Nach einem Reboot steht die Partition dann zur Verfügung und taucht bei der Übersicht durch den Befehl df –h auf. Früher oder später gelangt jeder Benutzer an einen Punkt, an dem er neue Software benötigt, um weiterarbeiten zu können, z.B. einen Webserver. Sie sind in Kapitel 3, »Den Desktop kennenlernen«, zwar bereits dem Raspberry-Pi-Store begegnet, aber dieser ist mit einer grafischen Oberfläche verknüpft, was eine Benutzung in der Konsole nicht möglich macht. Zudem stellt der Raspberry-Pi-Store nur Software zur Verfügung, die für den Raspberry Pi entwickelt wurde. Was also tun, wenn Sie eine allgemeine Linux-Software benötigen? Für diesen Anwendungsfall gibt es im Debian-Betriebssystem, von dem das Betriebssystem Raspbian Wheezy abstammt, ein Tool namens Advanced Packaging Tool oder kurz APT. Mit Hilfe dieses Tools ist es möglich, neue Software, in Form sogenannter Pakete, aus dem Internet herunterzuladen und zu installieren. All dies geschieht vollautomatisch und ohne das Zutun einer grafischen Oberfläche. Wenn Sie sich in Kapitel 3 das Startmenü genauer angeschaut haben, dann werden Sie festgestellt haben, dass es unter Other einen Programmeintrag namens Aptitude Package Manager (text) gibt (siehe Abbildung 4.23). Ich fasse abschließend noch einmal zusammen, was Sie in diesem Abschnitt gelernt haben: 왘 Mit dem Befehl df –h lässt sich die Speicherbelegung aller Datenträger anzeigen. 왘 Massenspeicher werden im Verzeichnis /dev aufgeführt, und zwar mit einem fortlaufenden Buchstaben für jedes Gerät gleichen Typs. Jedes Gerät erscheint als Komplettgerät, zusätzlich erscheint jede Partition des Gerätes und wird fortlaufend nummeriert. 왘 Mit dem Befehl fdisk lassen sich Partitionen auf einem beliebigen Datenträger erstellen und löschen. 왘 Mit dem Befehl mkfs formatieren Sie Datenträger. 왘 Der Speicher eines Datenträgers wird in Sektoren einer bestimmten Größe unterteilt. Eine bestimmte Anzahl an Sektoren definiert eine Partition mit einer bestimmten Größe. Eine Partition ist dabei eine Unterteilung des Gesamtspeichers in einen definierten Teilbereich. 왘 Massenspeicher werden mit dem Befehl mount an einem bestimmten Punkt eingebunden und verfügbar gemacht. 86 Abbildung 4.23 Die grafische Version des Tools APT Die Benutzung des Tools auf der grafischen Oberfläche ist ziemlich selbsterklärend, wenn Sie die Benutzung der konsolenbasierten Version verstanden haben. Am Ende des Abschnitts werde ich aber trotzdem noch einmal kurz auf die grafische Version eingehen, um den Abschnitt abzurunden. Das Tool APT bietet nicht nur die Möglichkeit, Pakete zu installieren, sondern mit diesem Tool können Sie ein Paket auch wieder deinstallieren sowie Updates installieren. Da dieses Tool Software installiert, benötigt es root-Rechte. Öffnen Sie als Erstes ein Konsolenfenster, und melden Sie sich dann wieder als Benutzer root an. 87 4 4 4.3 Wichtige Konsolenbefehle im Griff Wir beginnen mit der Installation eines kleinen Tools, das immer wieder nützlich ist, um Textdateien o. Ä. die von einem Windows-Rechner stammen, in ein auf einem Linux-Rechner lesbares Format umzuwandeln. Dieses Programm heißt dos2unix. Rufen Sie das Tool APT mit folgendem Befehl auf: apt-get Als Nächstes erwartet das Tool einen Parameter, der ihm sagt, was es tun soll. APT ist sehr mächtig, und falls Sie einmal nicht weiter wissen, können Sie sich die möglichen Befehle durch die Eingabe von apt-get in der Konsole anzeigen lassen (siehe Abbildung 4.24). Installieren neuer Software via Konsole Namen ein »vi« enthalten. Dabei lautet der Name, den ich für die Installation benötige, einfach »vim« ... Sie sehen, dass Sie viel schneller zum Ziel kommen, wenn Sie eine Suchmaschine wie Google verwenden und nach etwas suchen wie: »Linux Editor vi installieren«. Für unsere Installation lautet der Name ganz einfach dos2unix. Der komplette Befehl sieht dann so aus: apt-get install dos2unix Nach Drücken der Taste (¢) erscheint das Konsolenbild aus Abbildung 4.25. Abbildung 4.25 Das Paket »dos2unix« wird installiert. Abbildung 4.24 Befehlsübersicht des Tools APT In der Übersicht suchen Sie nun den Parameter für die Installation eines neuen Paketes heraus. Um ein neues Paket zu installieren, benötigen Sie den Parameter install, so dass der bisherige Aufruf Bei vielen Programmen fragt das Betriebssystem zusätzlich nach, ob Sie das Programm wirklich installieren wollen. Dabei handelt es sich um eine einfache Ja-Nein-Abfrage, die Sie durch Drücken von (Y) bestätigen. Wenige Augenblicke später ist das Paket fertig heruntergeladen und installiert, wie Sie in Abbildung 4.26 sehen. apt-get install lautet. Jetzt weiß das Tool aber noch nicht, was installiert werden soll. Also übergeben Sie dem Tool einen Namen. Da der Name für das Tool nicht automatisch auch der Programmname ist, müssen Sie ihn suchen. Eine Möglichkeit ist der Befehl: apt-cache search <Programmname> Die Liste ist dann aber mehr oder weniger lang, und es ist nicht sonderlich effektiv, in einer langen Liste nach dem richtigen Namen zu suchen. Ein kurzes Beispiel: Wenn ich den Editor vi installieren möchte, kann ich als Programmnamen »vi« eingeben. Das Ergebnis ist eine etwa 20 – 30 Seiten lange Liste mit allen Programmen, die in ihrem 88 Abbildung 4.26 Das Paket ist fertig installiert. 89 4 4 4.3 Wichtige Konsolenbefehle im Griff Sollte einmal während der Installation etwas schiefgehen, sehen Sie dies direkt an der Konsolenausgabe, weil eine Fehlermeldung ausgegeben wird. Beispielsweise sieht es aus wie in Abbildung 4.27, wenn ich durch Drücken von (Strg) + (C) die Installation abgebrochen habe. Installieren neuer Software via Konsole Wenn die Aktualisierung erfolgreich war, steht am Ende Reading package list... Done, und Sie können mit dem Befehl apt-get upgrade 4 den Aktualisierungsvorgang aller Pakete starten. Abbildung 4.27 Die Installation wurde abgebrochen. Jetzt kann es natürlich passieren, dass im Laufe der Zeit eine neue Version des Paketes erscheint. Auch hier unterstützt Sie das Tool APT und bietet eine Möglichkeit, alle Pakete ganz einfach zu aktualisieren. Bevor Sie aber die Pakete an sich aktualisieren, ist es ratsam, erst die unter /etc/apt/sources.list gespeicherte Quelle zu aktualisieren. Dadurch erhält das System die aktuellsten Informationen über die verfügbaren Pakete. Um die Paketliste zu aktualisieren, geben Sie folgenden Befehl in die Konsole ein: apt-get update Jetzt beginnt das Betriebssystem damit, die Paketquellen wie in Abbildung 4.28 neu einzulesen. Abbildung 4.29 Der Updatevorgang wird gestartet. Bevor die eigentliche Aktualisierung beginnt, listet das Tool wie in Abbildung 4.30 alle veralteten Pakete auf 1, zeigt an, wie viel zusätzlicher Speicherplatz für die Aktualisierung benötigt wird 2 und fragt abschließend, ob der Aktualisierungsvorgang wirklich durchgeführt werden soll 3. Diese Frage bestätigen Sie durch Drücken von (Y), wodurch der ganze Vorgang fortgesetzt wird. Abbildung 4.28 Die Paketquellen werden neu eingelesen. Abbildung 4.30 Der Updatevorgang wird fortgesetzt. 90 91 4 4.3 Wichtige Konsolenbefehle im Griff Installieren neuer Software via Konsole Jetzt beginnt das Tool damit, alle notwendigen Pakete herunterzuladen und zu installieren. Den Verlauf der Installation, den Abbildung 4.31 beispielhaft zeigt, können Sie dabei über die Konsole verfolgen. Am Ende der Installation gelangen Sie zurück zur Konsoleneingabe. 4 Abbildung 4.32 Wirklich löschen? Nachdem Sie diese Frage mit einem Druck auf (Y) bestätigt haben, beginnt das Betriebssystem mit dem Löschen der Dateien (siehe Abbildung 4.33). Abbildung 4.31 Die Pakete werden heruntergeladen und installiert. Jetzt kann es vorkommen, dass Sie aus Versehen das falsche Paket installiert haben. Aber was tun Sie in diesem Fall? Suchen Sie sich womöglich die Dateien des Paketes zusammen und löschen sie von Hand? Nein, es geht viel einfacher: Das Tool APT stellt für solche Fälle einen Befehl bereit, mit dem Sie ein ausgewähltes Paket wieder löschen können. Geben Sie dazu einfach den Befehl apt-get remove Abbildung 4.33 Die Dateien werden gelöscht. Neben der Konsolenversion gibt es eine grafische Variante des Tools APT. Dieses Programm finden Sie auf dem Desktop im Startmenü unter Other. Nachdem Sie das Programm geöffnet haben, benötigt es eine kurze Zeit, um aktuelle Informationen über installierte und nicht installierte Pakete zu sammeln. Wenn es diese Informationen zusammengesucht hat, sieht der Startbildschirm in etwa so aus wie in Abbildung 4.34. in die Konsole ein. Um das Programm dos2unix, das wir eben installiert haben, nun wieder zu deinstallieren, lautet der Befehl also: apt-get remove dos2unix Es empfiehlt sich aber, dieses Programm zu behalten, da es z.B. sehr sinnvoll ist, wenn Sie Konsolenskripte für den Raspberry Pi an einem Windows-Rechner schreiben möchten (eine kleine Einführung dazu gebe ich Ihnen in Kapitel 7, »Augen auf! Die Raspberry-Pi-Kamera einsetzen«). Einige Augenblicke später fragt das Betriebssystem, ob die zu dem Programm gehörenden Pakete wirklich entfernt werden sollen (siehe Abbildung 4.32). 92 Abbildung 4.34 Das Startmenü des Paketmanagers 93 4 4.3 Wichtige Konsolenbefehle im Griff Die Navigation durch das Menü ist sehr übersichtlich und oben in der Kopfzeile zusammengefasst. Durch das Drücken auf (¢) öffnen Sie das angewählte Untermenü, z.B. Not Installed Packages. Um es wieder zu schließen, wählen Sie es erneut aus und drücken wieder auf (¢). Installieren neuer Software via Konsole Programm dos2unix aus. Anschließend installieren Sie das Paket über Package 폷 Install (siehe Abbildung 4.37). Gehen wir erneut die Installation des Programmes dos2unix durch, nur benutzen wir diesmal den Paketmanager statt der Konsole. Als Erstes gehen Sie mit dem Mauscursor oben in der Leiste auf Search und anschließend auf find (siehe Abbildung 4.35). 4 Abbildung 4.37 Die Installation des Programms über den Paketmanager Abbildung 4.35 Das Suchmenü Sobald das Programm installiert wurde, verfärbt sich die Schrift grün, und beim Wechsel in das Fenster des Paketmanagers erscheint eine grüne Zeile, die Sie in Abbildung 4.38 sehen. Anschließend öffnet sich ein Suchfenster, wie es in Abbildung 4.36 zu sehen ist. Dort geben Sie den Suchbegriff »dos2unix« ein. Abbildung 4.38 Die Installation wurde abgeschlossen. Wenn Sie die Zeile des Programms nun auswählen, können Sie durch Drücken der Taste (U) einen Updatevorgang für das Programm starten. Natürlich benötigen Sie dafür rootRechte, und Sie werden gefragt, ob Sie dem Paketmanager diese Rechte erteilen, so dass er sich als Benutzer root anmelden darf (siehe Abbildung 4.39). Abbildung 4.36 Eingabe des zu suchenden Programms Unser gesuchtes Programm befindet sich gleich an erster Stelle. Mit einem Klick auf Ok beenden Sie das Suchfenster. Danach wählen Sie, falls das noch nicht geschehen ist, das 94 Abbildung 4.39 Darf der Paketmanager das Paket aktualisieren? 95 4 4.4 Wichtige Konsolenbefehle im Griff Wählen Sie Become root, wird nach dem Passwort für den Benutzer root gefragt; sobald Sie dieses richtig eingegeben haben, beginnt der Updatevorgang (siehe Abbildung 4.40). Der Editor »nano«. Wie nutze ich ihn? 왘 Ein Paket installieren Sie mit dem Befehl apt-get install <Paketname>. 왘 Um ein Update aller Pakete durchzuführen, nutzen Sie erst den Befehl apt-get update zum Aktualisieren der Paketlisten und dann den Befehl apt-get upgrade zum Aktualisieren der Programme. 왘 Mit dem Befehl apt-get remove <Paketname> entfernen Sie ein bestimmtes Paket. 4 왘 Zusätzlich zu der konsolenbasierten Installationsmethode über den Befehl apt-get install gibt es auf dem Desktop im Startmenü unter Others den Aptitude Package Manager für eine grafikgestützte Installation von Programmen. 4.4 Der Editor »nano«. Wie nutze ich ihn? Abbildung 4.40 Das Update wird durchgeführt. Um das Programm wieder zu entfernen, öffnen Sie einfach wieder das Menü Package, wählen aber diesmal nicht Install, sondern Remove (siehe Abbildung 4.41). In diesem Abschnitt beschäftigen wir uns mit einem der wichtigsten Programme, die Sie benötigen, um Dateien innerhalb der Konsole zu bearbeiten. Es handelt sich um den Editor nano. Der Editor ist beim Aufspielen eines Raspbian-Wheezy-Images bereits vorinstalliert, so dass Sie direkt mit ihm arbeiten können. Alles in allem ist er sehr übersichtlich gehalten; er verfügt über Standard-Textbearbeitungsfunktionen und ist in der Lage, verschiedene Programmiersprachen wie C, Python und Java zu erkennen und hervorzuheben. In Abbildung 4.42 sehen Sie ein kurzes Beispiel, wie z. B. ein PythonProgramm im Editor nano abgebildet wird. Abbildung 4.41 Das Programm wird wieder gelöscht. Mit einem Druck auf (Q) schließen Sie den Paketmanager am Ende der Arbeit. Damit wären die wichtigsten Punkte im Umgang mit dem Paketmanager erklärt, und ich kann das neu Gelernte wieder kurz zusammenfassen: 왘 Das Tool APT dient dazu, Pakete, welche alle wichtigen Dateien für ein bestimmtes Programm enthalten (ähnlich einer CD), herunterzuladen, zu entpacken und zu installieren. 96 Abbildung 4.42 Der Editor nano im Einsatz 97 Kapitel 5 Der Raspberry macht Musik – als MP3-Player 5 Jetzt haben Sie schon allerhand Dinge über den Raspberry Pi erfahren. Zeit, das gesammelte Wissen anzuwenden: Richten Sie sich einen MP3-Player ein! In diesem Kapitel lernen Sie, wie Sie einen MP3-Player auf dem Raspberry Pi installieren. Dadurch verleihen Sie dem Raspberry Pi die Möglichkeit, Musik wiederzugeben, und Sie können ihn z.B. als kleine Radiostation für einen Internetradiosender oder als Abspielgerät für die Lieblingsmusik nutzen. Dabei können Sie den Raspberry Pi bequem aus der Ferne z.B. über den eigenen Computer oder ein Tablet bedienen und mit der gewünschten Musik versorgen. Die Audioausgabe können Sie dabei auf viele verschiedene Weisen realisieren. Ich für meinen Teil verwende den HDMI-Anschluss, um den Sound über meinen Monitor wiedergeben zu können. Natürlich können Sie aber auch den analogen Audioausgang des Raspberry Pi benutzen, wenn Sie lieber normale Lautsprecher an den Raspberry Pi anschließen wollen. Eine weitere Möglichkeit besteht darin, die Wolfson Pi Audio Card zu verwenden. Hierbei handelt es sich um eine besondere Soundkarte speziell für den Raspberry Pi. Sie ist z.B. für etwa 36 € bei www.amazon.de erhältlich. Die ganze Audioausgabe geschieht über ein Programm, das sich Music Player Daemon oder auch MPD nennt. Dieses Programm agiert im Hintergrund und stellt eine Musikbibliothek bereit. Die Bedienung des MPDs kann auf viele verschiedene Weisen mit sogenannten Music Player Clients, kurz MPCs, erfolgen. MPCs gibt es für alle möglichen Plattformen wie Android, Windows und iOS. Eine gute Übersicht über alle Clients findet sich unter www.mpd.wikia.com/wiki/Clients, und dort gibt es auch eine Kategorie Windows, wo sich Windows-Nutzer einen Client herunterladen können. Ich arbeite mit dem Client Auremo, der sich für Windows Vista, Windows 7 und Windows 8 eignet. Für den Download des Clients öffnen Sie den genannten Link und folgen in der Liste unter »Windows« dem Link zu Auremo. Dort finden Sie wie in Abbildung 5.1 den Download. 131 5 5.1 Der Raspberry macht Musik – als MP3-Player Installation und Konfiguration des Music Player Daemon (MPD) 5 Abbildung 5.1 Hier finden Sie den Client zum Download. Sobald Sie auf den Link klicken, kommen Sie auf eine Seite von Google Code, wo Sie die aktuellste Version herunterladen können (In Abbildung 5.2 ist es die Auremo-0.6.1installer.exe). Abbildung 5.3 Diese Meldung ist beim ersten Start normal. Im nächsten Schritt aktivieren Sie die Soundausgabe. Da die Soundausgabe bei jedem Neustart neu aktiviert werden muss, schreiben wir diese Befehle in die Datei /etc/ rc.local. Diese Datei wird bei jedem Neustart automatisch ausgeführt und ist somit die ideale Möglichkeit, Starteinstellungen beim Booten zu laden. Als Erstes öffnen Sie also die Datei mit dem Befehl nano /etc/rc.local Alles das, was Sie zwischen dem fi und dem exit 0 eingeben, wird beim Startvorgang ausgeführt. Um die Soundausgabe zu aktivieren, fügen Sie folgende Zeilen ein: modprobe snd_bcm2835 amixer cset numid=3 1 Abbildung 5.2 Laden Sie diese Datei herunter. Nach dem Download wird der Client noch installiert, und damit sind die Arbeiten am Computer abgeschlossen. Zeit, sich dem Raspberry Pi zu widmen. 5.1 Installation und Konfiguration des Music Player Daemon (MPD) Jetzt installieren Sie die notwendige Software auf dem Raspberry Pi. Um den MPD zu installieren, öffnen Sie eine Konsole als Benutzer root und geben folgenden Befehl ein: apt-get install mpd mpc Am Ende der Installation erscheint die Meldung aus Abbildung 5.3. Diese Meldung braucht Sie aber erst einmal nicht weiter zu beunruhigen, denn sie erscheint nur, weil Sie den MPD noch nicht konfiguriert haben. 132 Was bewirken diese beiden Zeilen genau? Mit der ersten Zeile wird das Kernelmodul für die Soundausgabe geladen. Das Laden eines Kernelmoduls geschieht dabei immer mit dem Befehl modprobe Modulname In diesem Fall wird also das Modul snd_bcm2835 geladen. Sie werden den Befehl später noch einmal sehen, wenn es um die Programmierung der I²C-Schnittstelle geht. Kernelmodule per Autostart laden Kernelmodule, die durch den Befehl modprobe geladen wurden, müssen nach einem Neustart neu geladen werden. Dies kann manuell vom Benutzer oder automatisiert mit Hilfe eines Skriptes gemacht werden. Um dieses Problem zu umgehen, schreiben Sie den Befehl oben in die Datei /etc/rc.local. Diese Datei wird bei jedem Neustart aufgerufen, und so können bei einem Neustart automatisch bestimmte Konsolenbefehle ausgeführt werden. 133 5 5.1 Der Raspberry macht Musik – als MP3-Player Mit der Zeile amixer cset numid=3 n legen Sie das Interface fest, über das der Sound ausgegeben werden soll. Anstelle des Buchstaben n setzen Sie Folgendes: 왘 0 = auto 왘 1 = analog Installation und Konfiguration des Music Player Daemon (MPD) mkdir /home/pi/Desktop/Musik mkdir /home/pi/Desktop/Musik/Playlist Im nächsten Schritt öffnen Sie die Konfigurationsdatei des MPD: 왘 2 = HDMI nano /etc/mpd.conf Die Zeile amixer cset numid=3 1 müssen Sie nur hinzufügen, wenn als Soundausgabequelle nicht der HDMI-Anschluss genutzt werden soll. Es schadet aber auch nicht, beide Zeilen einzufügen – so sind Sie am Ende ein bisschen flexibler. In dieser Datei stellen Sie als Erstes den Pfad der Musik und der Playlists ein. Dafür passen Sie die Punkte music_directory 1 und playlist_directory 2 wie in Abbildung 5.5 an. 5 Audioausgabe: HDMI oder analog Sobald ein HDMI-Kabel eingesteckt ist, deaktiviert der Raspberry Pi automatisch den analogen Audioausgang. Die Audioausgabe kann also entweder über HDMI oder über die analoge Verbindung erfolgen, aber nicht über beide gleichzeitig! Die fertig bearbeitete Datei sieht am Ende so aus wie in Abbildung 5.4, hier mit Soundausgabe über HDMI. Abbildung 5.5 Hier tragen Sie die Pfade der Ordner für die Musik ein. Als Zweites aktivieren Sie den Netzwerkzugriff, indem Sie den Punkt bind_to_address "localhost" auskommentieren. Diese Einstellung sagt dem Programm, dass es nur auf dem installierten Rechner, dem sogenannten localhost, angesprochen werden darf. Da das Programm aber auch von jedem anderen Gerät (Computer, Tablet, etc.) gesteuert werden soll, müssen Sie diesen Punkt auskommentieren, wodurch er unwirksam wird. Um die Zeile auszukommentieren genügt es, wie in Abbildung 5.6 gezeigt, wenn Sie ein # vor die jeweilige Zeile setzen. Abbildung 5.4 Die fertig bearbeitete Datei Mit einem Druck auf (Strg) + (X) speichern Sie die Datei und starten anschließend den Raspberry Pi mit reboot neu. Nach dem Reboot melden Sie sich dann erneut als Benutzer root an und erstellen zwei Ordner für die Musik. Der erste Ordner dient als allgemeiner Musikordner, der zweite soll dann die fertigen Playlists enthalten. Natürlich müssen Sie keine zwei Ordner anlegen. Sie können die nachfolgenden Schritte auch mit nur einem Ordner durchführen, was Sie dann im weiteren Verlauf entsprechend berücksichtigen müssen. Diese Ordner speichern unter dem Pfad /home/pi/ Desktop ab: 134 Abbildung 5.6 Der Netzwerkzugriff wird aktiviert. Im letzten Schritt konfigurieren Sie die Soundausgabequellen. In Abbildung 5.7 und Abbildung 5.8 sehen Sie zwei Screenshots, in denen ich einmal die Soundquelle HDMI und einmal die obengenannte USB-Soundkarte als Soundquelle einstelle. Es können natürlich auch beide Quellen gleichzeitig verwendet werden! 135 5 5.1 Der Raspberry macht Musik – als MP3-Player Installation und Konfiguration des Music Player Daemon (MPD) Das Programm wurde nach der Installation automatisch im Hintergrund gestartet, aber damit die Änderungen in der Konfigurationsdatei wirksam werden, müssen Sie das Programm einmal neu starten: /etc/init.d/mpd restart 5 Danach sehen Sie in der Konsole wie in Abbildung 5.9 eine Bestätigung. Abbildung 5.7 So sieht die Soundausgabe über HDMI aus ... Abbildung 5.9 Wenn zweimal ein grünes »ok« erscheint, hat alles geklappt. Abbildung 5.8 ... und so über die obengenannte USB-Soundkarte. Zeit für den ersten Test mit Musik: Dazu öffnen Sie FileZilla und stellen eine Verbindung zu Ihrem Raspberry Pi her. Anschließend wählen Sie auf der rechten Seite – sprich in der Ordnerstruktur des Raspberry Pi – das Verzeichnis /home/pi/Desktop/Playlists aus (siehe Abbildung 5.10). In dieses Verzeichnis kopieren Sie nun per Drag & Drop ein Lied. Die Ausgabequelle können Sie dann bequem beim Client auswählen. Sobald Sie alle Eintragungen abgeschlossen haben, speichern Sie die Datei mit (Strg) + (X). Jetzt haben Sie es fast geschafft! Mit der Zeile chmod g+w /home/pi/Desktop/Musik/Playlist gewähren Sie dem MPD noch die notwendigen Rechte und mit dem Befehl chgrp audio /home/pi/Desktop/Musik/ ändern Sie die Gruppenzugehörigkeit des Ordners /home/pi/Desktop/Musik und fügen ihn der Gruppe audio hinzu. Soundkarte ansteuern: Nur für Mitglieder Nur Programme, die der Gruppe audio angehören, dürfen Töne über die Soundkarte bzw. über die Soundschnittstelle ausgeben. Da das Programm MPD bereits der Gruppe angehört, müssen alle Ordner, auf die das Programm zugreifen will, auch Mitglied der Gruppe audio sein, weil das Programm sonst nicht über die Berechtigungen verfügt, diese Dateien zu öffnen! 136 Abbildung 5.10 Das Lied wurde erfolgreich kopiert. Jetzt starten Sie das PC-Programm, und es öffnet sich direkt das Fenster aus Abbildung 5.11, wo Sie die IP-Adresse des Raspberry Pi eintragen, die Sie in Abschnitt 4.4 vergeben haben. Falls Sie die IP-Adresse nicht mehr genau wissen, so können Sie sich diese Adresse mit dem Befehl ifconfig eth0 anzeigen lassen. Unter dem Punkt inet addr sehen Sie dann die aktuelle IP-Adresse des Raspberry Pi. Mit einem Klick auf OK bestätigen Sie die Eingabe. Falls Sie dann noch nicht mit Ihrem Raspberry Pi verbunden sein sollten, klicken 137 5 5.2 Der Raspberry macht Musik – als MP3-Player Sie oben in der Leiste auf Connection und anschließend auf Connect. Ihre Musik finden Sie dann u.a. unter Filesystem (siehe Abbildung 5.12). Eine externe Festplatte als Musikspeicher nutzen Mit einem Doppelklick kopieren Sie das Lied in die nebenstehende Playlist, die Sie dann durch einen Klick auf Play abspielen (siehe Abbildung 5.13). Sie müssen jeden Song, den Sie abspielen wollen, erst in eine Playlist kopieren. Direktes Abspielen ist nicht möglich! 5 Abbildung 5.13 Die Playlist wird abgespielt – der Player funktioniert. Abbildung 5.11 Hier geben Sie die Verbindungsdaten Ihres Raspberry Pi ein. 5.2 Eine externe Festplatte als Musikspeicher nutzen Natürlich ist es nicht sonderlich praktisch, die Musik nur auf so umständliche Weise über FileZilla auf den Raspberry Pi kopieren zu können. Aus diesem Grund werden wir den Ordner nun im Netzwerk freigeben. So können Sie über jeden Rechner, der im Netzwerk angemeldet ist, ganz einfach Musik auf den Raspberry Pi kopieren. Für die Netzwerkfreigabe verwenden wir das Programm Samba, das es uns ermöglicht, eine Netzwerkfreigabe von Windows-Laufwerken zu emulieren. Das Programm installieren Sie wie folgt: apt-get install samba samba-common-bin Abbildung 5.12 Hier wird Ihre Musik anzeigt. 138 Nach der Installation schließen Sie einen USB-Stick oder eine USB-Festplatte an den Raspberry Pi an und erstellen eine ext3-Partition auf dem Speichermedium, wie auf Abbildung 5.14 zu sehen). Die Vorgehensweise haben Sie bereits in Abschnitt 4.2, »Wie ist das 139 5 Der Raspberry macht Musik – als MP3-Player 5.2 Eine externe Festplatte als Musikspeicher nutzen Dateisystem aufgebaut?«, kennengelernt, darum ist diese Aufgabe schon beinahe ein Kinderspiel. 5 Abbildung 5.16 Der Datenträger wurde erfolgreich gemountet. Jetzt können Sie sich der Konfiguration von Samba zuwenden. Zuerst müssen Sie die Arbeitsgruppe im Netzwerk herausfinden. Unter Windows 7 öffnen Sie das Startmenü Ihres Computers und anschließend die Systemsteuerung. Abbildung 5.14 Eine neue Partition auf einem USB-Stick für den Music Player Dieses Mal aber integrieren Sie den Datenträger in die Datei /etc/fstab; so wird der Datenträger bei jedem Neustart des Systems automatisch gemountet, und Sie müssen sich nicht mehr darum kümmern. Nach der Erstellung des Datenträgers rufen Sie die Datei auf: Wenn Sie Windows 8/8.1 nutzen, verwenden Sie auf dem Desktop die Tastenkombination (œ) + (E). Im sich öffnenden Fenster klicken Sie auf das Menü Computer. Von dort aus können Sie direkt zur Systemsteuerung 1 wechseln. Sobald Sie die Systemsteuerung geöffnet haben, klicken Sie auf System 2 (siehe Abbildung 5.17). nano /etc/fstab In der Datei /etc/fstab tragen Sie jetzt den Speicher ein, der gemountet werden soll (/dev/sda1), sowie den Mountpunkt (/home/pi/Desktop/Musik), das Dateisystem (ext3), die Mountoptionen (rw für Schreiben und Lesen) und zwei Parameter, die angeben, ob die Partition gesichert oder überprüft werden soll (die beiden letzten Zahlen 0 und 0, siehe Abbildung 5.15). Abbildung 5.15 Die fertigen Eintragungen in der Datei Mit (Strg) + (X) übernehmen Sie die Änderung. Starten Sie anschließend den Raspberry Pi mit reboot neu. Nach dem Reboot können Sie mit dem Befehl df –h überprüfen, ob der Datenträger gemountet wurde (siehe Abbildung 5.16). 140 Abbildung 5.17 Hier finden Sie die Informationen zu Ihrem Computer. 141 5 5.2 Der Raspberry macht Musik – als MP3-Player Eine externe Festplatte als Musikspeicher nutzen Sobald Sie auf System geklickt haben, erscheint ein neues Fenster, in dem alle möglichen Informationen über Ihren Computer angezeigt werden. Die Information, die wir suchen, nennt sich Arbeitsgruppe (siehe Abbildung 5.18). Abbildung 5.21 Ein Ordner wurde freigegeben. 5 Abbildung 5.18 Die Arbeitsgruppe im Netzwerk Diese Information merken Sie sich und öffnen auf dem Raspberry Pi die Konfigurationsdatei für Samba: nano /etc/samba/smb.conf Der Ausdruck zwischen [ ] ist der Freigabename (den Sie nachher noch benötigen werden), unter comment können Sie einen zusätzlichen Kommentar zu der Freigabe ausgeben, und mit path geben Sie den kompletten Pfad des freizugebenden Ordners an. Die letzten beiden Parameter legen fest, dass keine Gäste auf das Laufwerk Zugriff haben und dass Daten auf dem Laufwerk abgelegt werden dürfen. Speichern Sie die Datei, und schließen Sie den Editor ((Strg) + (X) und mit (Y) bestätigen). Jetzt müssen Sie noch einen Benutzer festlegen, der später auf das Laufwerk zugreifen darf. Der Einfachheit halber nehmen Sie für unser Beispiel dazu den Benutzer pi, den Sie mit dem Befehl smbpasswd –a pi als Samba-User festlegen. Danach müssen Sie noch ein Passwort vergeben, siehe Abbildung 5.22. In dieser Datei ändern Sie als Erstes den Punkt workgroup ab wie in Abbildung 5.19. Abbildung 5.22 Vergeben Sie ein neues Samba-Passwort. Abbildung 5.19 Tragen Sie die Arbeitsgruppe ein. Den Punkt security unter Authentication ändern Sie wie in Abbildung 5.20. Abbildung 5.20 Setzen Sie die Zugriffsrechte. Am Ende der Datei müssen Sie jetzt noch wie in Abbildung 5.21 die freizugebenden Ordner angeben. 142 Wichtiger Hinweis zu Samba-Benutzern Bei den Benutzern für Samba müssen Sie darauf achten, dass diese bereits im System registriert sind. Sie können also keinen Samba-User xyz anlegen, wenn es im Betriebssystem keinen »normalen« Benutzer namens xyz gibt. Es ist außerdem von Vorteil, wenn das Samba-Passwort eines Benutzers anders lautet als dessen Passwort für das Linux-System. So kann im Falle eines Passwortdiebstahls kein Unfug mit dem Account des Benutzers getrieben werden, da der Dieb nur das Samba-Passwort besitzt. Da das Verzeichnis /home/pi/Desktop/Musik nun als Mountpoint für den USB-Speicher dient, müssen Sie das Verzeichnis Playlists neu erstellen, damit sich das Verzeichnis Playlists auch auf dem Stick befindet. Zugleich ändern Sie die Besitzer des Verzeichnisses so um, dass der angemeldete Benutzer nachher auch in die freigegebenen Verzeichnisse schreiben darf. 143 5 Der Raspberry macht Musik – als MP3-Player Sie geben also Folgendes in die Konsole ein: mkdir /home/pi/Desktop/Musik/Playlist chown –R pi:pi /home/pi/Desktop/Musik chown –R pi:pi /home/pi/Desktop/Musik/Playlist 5.2 Eine externe Festplatte als Musikspeicher nutzen Anschließend erscheint ein Assistent, der Ihnen bei der Netzwerkfreigabe zur Seite steht. Klicken Sie erst einmal auf Weiter und dann auf den Punkt Eine benutzerdefinierte Netzwerkadresse auswählen (siehe Abbildung 5.25). Jetzt ist der Benutzer pi im Besitz der Verzeichnisse für die Musik (siehe Abbildung 5.23). 5 Abbildung 5.23 Die Rechte wurden neu vergeben. Abbildung 5.25 Wählen Sie diesen Menüpunkt aus. Mit dem Befehl /etc/init.d/samba restart starten Sie Samba zum Schluss neu. Sobald der Neustart geglückt ist (dies erkennen Sie daran, dass in der Konsole zweimal ein grünes OK erscheint), öffnen Sie an Ihrem Computer den Computer, rechtsklicken im Explorer und wählen wie in Abbildung 5.24 Netzwerkadresse hinzufügen aus. Mit einem Klick auf Weiter wechseln Sie zur nächsten Seite, wo Sie die IP-Adresse Ihres Raspberry Pi eingeben (siehe Abbildung 5.26). Die Eingabe bestätigen Sie dann mit einem erneuten Klick auf Weiter. Abbildung 5.26 Die IP-Adresse Ihres Raspberry und der Name der vorher erstellten Samba-Freigabe. Wählen Sie einen Namen für die Freigabe (meiner lautet ganz schlicht »MPD«), der nachher zur Anzeige im Computer (bzw. im Arbeitsplatz) dient. Mit einem erneuten Klick auf Weiter und dann auf Fertigstellen beenden Sie den Assistenten und schließen die Freigabe ab. Abbildung 5.24 Eine neue Netzwerkfreigabe wird erstellt. 144 Abbildung 5.27 Hier müssen sich neue Benutzer anmelden. 145 5 Der Raspberry macht Musik – als MP3-Player Jetzt öffnet sich umgehend das Fenster aus Abbildung 5.27, in dem Sie den vorhin angelegten Benutzernamen und das Passwort eingeben. Wer es bequem haben möchte, setzt noch einen Haken bei Anmeldedaten speichern. Wenn Sie das Passwort speichern, müssen Sie sich nicht immer neu anmelden, wenn Sie auf den Speicher zugreifen wollen. Aber bedenken Sie: Wenn Sie den Haken setzen, dann kann jeder Benutzer, der den Account mit der Ordnerfreigabe benutzt, ebenfalls auf den Ordner zugreifen! Überlegen Sie sich deswegen genau, ob Sie das Passwort speichern möchten. Wenn Sie auf OK geklickt und alles richtig gemacht haben, erscheint der Ordner auf dem Raspberry Pi, so wie in Abbildung 5.28. Abbildung 5.28 Geschafft! Der Ordner ist freigegeben und einsatzbereit. Jetzt können Sie ganz bequem Musik in den Ordner ziehen und abspielen. Zusammen mit einem WLAN-Stick und ein paar Boxen mit HDMI-Anschluss wird daraus eine richtig schöne Musikanlage, die sich z.B. mit einem Android Smartphone/Tablet und der App MPDroid fernsteuern lässt. Auch das Hinzufügen eines Radiostreams aus dem Internet ist möglich. Hierzu klicken Sie im Programm Auremo auf Streams, rechtsklicken in das linke Fenster, wählen den Punkt Add Stream by URL, geben eine URL ein und ziehen den Stream in die Playlist. 146