Raspberry Pi - Teil 1

Referent: Werner Büchli, HB9CZV
Datum: Samstag, 11. Januar 2014 - Zeit: 10:00
Ort: Badertscher + Co. AG, Zentweg 13 (2. Stock), 3006 Bern

Linux Grundlagen

Zielsetzung

Die Teilnehmer sind vertraut mit den wichtigsten Eigenschaften eines Linux Betriebssystems (Befehle, File-Struktur) und sind in der Lage, selbständig einfache Befehle über ein Eingabeterminal (PuTTY) einzugeben. Die individuellen Anwendungen sollten an diesem ersten Workshop definiert sein.

Einführung

Die im Workshop behandelten Anwendungen basieren auf dem Raspberry Pi und dessen Betriebssystem Debian Wheezy. Man kann jedoch auch andere Linux-Distributionen und andere Hardware benutzen wie etwa Sheeva oder BeagleBone Black.

Das Linux Betriebssystem erlaubt, mehrere Anwendungen unabhängig voneinander und (quasi)gleichzeitig zu betreiben.

Einführungs-Vortrag zum Download [7'213 KB]
Beschreibungen von Zsolt, HA6QZ. Er wird am 2. Workshop dabei sein.

Betriebssystem Debian Wheezy

Vorbemerkungen zu Linux
Prinzipiell ist mit dem Begriff "Linux" nur der Kernel gemeint, also der Teil des Systems, der z.B. die Ressourcen für die laufenden Programme und die Anwender verwaltet. Die vorliegenden Anwendungen benutzen die Linux-Distribution "Debian" resp. Raspbian. Debian ist mehr als nur ein Betriebssystem: Es enthält mehr als 37500 Softwarepakete, vorkompilierte Software in einfach zu installierenden Paketen.

Anweisungen zum Installieren des Betriebssystems
http://www.raspberrypi.org/downloads

Beschreibungen von Zsolt, HA6QZ.

Die Minimalgrösse der SDcard ist 4GB. Es wird aber 8GB oder mehr empfohlen. Speed: 30 MB/s oder mehr

Um Raspbian Wheezy, bzw. Out of Box Software (NOOBS) auf die SDcard zu kopieren, benötigen wir den Win32DiskImager
Dieses Programm schreibt ein 'raw disk image' auf einen Wechselspeicher.

Tutorials von Karesyk: Raspbian installieren
________________________________________________________________

Der Pi bootet beim Einschalten der Speisespannung. Eingabe des Login: root und des provisorischen Passworts: 1234.

Wir wählen Raspbian (Wheezy), eine vereinfachte Version von Debian, als Betriebssystem. Als Programmiersprache ist Python empfohlen.

Arbeiten mit dem Raspberry Pi/Wheezy

Initial Screem

Nach dem ersten Aufstarten (Boot) mit Bildschirm, Maus und Tastatur wird die Basis-Konfiguration gesetzt. Nun kann der Pi mit einem Computer über das Netzwerk bedient werden. Dazu benötigen wir ein Client-seitiges ssh (Secure Shell) Programm:
- PuTTY (für alle Rechnertypen) oder ...
- Android-App (z.B. JuiceSSH oder ConnectBot)
Damit werden die beiden USB-Ports des Raspberry Pi frei für Tests.

 

Terminal

mit JuiceSSH

Die "Shell" ist ein Programm, das die Eingabebefehle der Tastatur an das Linux-System weiter gibt.
"Bash" (Bourne-Again SHell) ist eine verbesserte Ausgabe der Shell.

'Terminal' ist ein Programm, dass ein Fenster öffnet und den Dialog mit der Shell/Bash ermöglicht.

System Promts:
# Benutzer arbeitet als sog. Superuser mit Admin-Rechten (Vorsicht !)
$ Benutzer arbeitet ohne Administratoren-Rechte (Normalfall)

 

PuTTY Konfiguration


Linux-Befehle

Einige Befehle, die auf das System nur beschränkten Einfluss haben zum üben:

root@raspberrypi ~ # ifconfig zeigt Netzwerkinformationen an. Hier ist auch die interne IP-Adresse des Raspberry Pi ersichtlich
root@raspberrypi ~ # apt-get update (update Paketbeschreibungen)
root@raspberrypi ~ # passwd (ändert Passwort)
root@raspberrypi ~ # df (zeigt Speicherbelegung)
root@raspberrypi ~ # dpkg -l (zeigt installierte Awendungen)
root@raspberrypi ~ # uptime (zeigt Uptime)
root@raspberrypi ~ # cd (verzeichnis)
root@raspberrypi ~ # cd /etc/samba (ändert Directory ... :/etc/samba#)
root@raspberrypi ~ # poweroff (sauber abschalten)
root@raspberrypi ~ # logout (wenn z.B. als user 'pi')
root@raspberrypi ~ # sudo -i (Wechsel zum root-Benutzer)
root@raspberrypi ~ #
sudo reboot (Booten als user 'Pi')
root@raspberrypi ~ #
startx (zu grafischer Oberfläche wechseln/retour durch Abmelden)
root@raspberrypi ~ #
sudo raspi-config (Config Initial screen)
.........
Liste von Linux-Befehlen

Ausdrücke
Torrent (Download Protokoll)
SSH Secure SHell
CLI Command Line Interface

Linux File-Struktur
Als nächstes wollen wir wissen, wo unsere Applikationen und deren Konfigurations-Files gespeichert werden. Eine vereinfachte Baumstruktur ist im folgenden dargestellt:

Vereinfachte Linux File-Struktur

Beispiele:
/etc
Hier befinden sich wichtigsten System-Konfigurationsfiles und Daten
/usr Programme, Bibliotheken, Documentationen etc. für alle Benutzer-bezogene Programme

mehr unter File-Struktur

Befehle/Installation:
1 cd /etc/samba um zum Programm Samba zu gelangen
2 sudo nano /etc/samba/smb.conf zum Konfigurieren
3 Installation des FTP Servers VSFTPD



login as: pi
pi@192.168.1.105's password: xxxxxxx
Linux raspberrypi 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Dec 20 11:27:22 2013 from 10.8.0.1

pi@raspberrypi ~ $ cd /etc/samba
pi@raspberrypi /etc/samba $

Eingabe des Befehls, um die Samba Konfigurationsdatei zu bearbeiten:

pi@raspberrypi /etc/samba $ sudo nano /etc/samba/smb.conf
pi@raspberrypi /etc/samba $ (Promt)

Erklärung:
sudo
Substitute Do
nano Editor
/etc/samba Pfad
smb.conf File-Name

Resultat:

Samba Konfiguration

Bevor wir mit den Hauptanwendungen wie APRS IGate beginnen, installieren wir als Uebung den FTP Server VSFTPD. Dieser erlaubt uns eine einfachere Bearbeitung der Konfigurations-Files:

Oeffne ein Terminal (PuTTY).
Eingabe:

sudo bash (Enter)
sudo apt-get install vsftpd (Enter)

Eingabe: Y wenn das System bestätigt (Prompt)

Eingabe:
nano /etc/vsftpd.conf (Enter)
Anmerkung: nano ist ein Text-Editor

Editiere oder 'uncomment' (# löschen) die folgenden Zeilen von VSFTPD
Anonymous_enable= NO
Local_enable= YES
Write_enable= YES
Ascii_upload_enable= YES
Ascii_download_enable=YES

Eingabe CTRL + O um zu sichern
Eingabe CTRL + X um den Editor zu verlassen

Eingabe:
/etc/init.d/vsftpd restart
Damit wird der FTP Server VSFTPD neu gestartet, um die Aenderungen zu übernehmen.
Nun kann der FTP Server mit einem Client Programm wie etwa WinSCP unter dem Benutzernamen 'pi' erreicht werden

Anmerkung:
Aus Sicherheitsgründen kann man nicht unter dem Benutzer 'root' einloggen und dann die Dateien ändern. Also kopiert man die Files innerhalb des Benutzerbereichs 'pi' und kann sie dann frei mit dem mc (Midnight Commander) laden. MC ist ähnlich dem Total Commander (File Manager) oder MS Windows Commander.




Eingabeterminal ASUS eeePad und App JuiceSSH

Snippet: Mit einem Tastendruck direkt zum config File von SAMBA


Material

- ASUS eeePad mit Video-Adapter und Maus: Demo SSH Client JuiceSSH als Terminal
- Win PC (alter Sony): Demo SSH Terminal und Vortrag
- USM Stick: IPAddress, Vortrag ...
- Raspberry Pi mit TNC-Pi und Handheld und Speisung (Reserve IGate)
- Modem-Stecker
- SDcard 8G (Reserve mit Wheezy)
- USB/WiFi Adapter
- Netzwerkkabel (Verlängerung)
- Netzkabel (Verlängerung)
- Samsung Galaxy S4


- Raspberry Pi mit TNC-Pi



Anwendungen

Die Hauptanwendungen werden im Workshop 2 behandelt


Bedeutung von Linux

Im Servermarkt spielt Linux seine wahren Stärken aus: ein offenes, schnelles, sicheres und sehr zuverlässiges Betriebssystem. Server sind denn auch Hauptapplikationen in den PRIG Workshops.
Bei den Desktop-Systemen ist Linux schwach. Hauptgrund ist m.E. die viel zu grosse Anzahl von Distributionen und Derivaten. Keine dieser Distros kommt an die Qualität von Windows oder des OS-X heran. Am ehestens noch Linux 'Mint' oder 'Ubuntu'
Bei den Geräte-Systemen (embedded Linux) dagegen ist Linux absolut führend. Alleine die Spezialausführung Android wurde bisher über 1 Milliarde mal verkauft. Faktoren mehr Linux-Systeme sind in andere Apparate (z.B. Router/OpenWRT) verbaut worden.

Samstag, 11. Januar 2014
How to Clone Your Raspberry Pi SD Card for Super Easy Reinstallations

Montag, 6. Januar 2014
Why didn't Linux win on the desktop?

Heady forecasts showing Linux would become a major player on the desktop, on the server, and in embedded systems were published back in 1994. While the prognostications proved correct for server and embedded operating systems, what happened on the desktop?

Admin