Raspberry Pi 3

03.03.17

Seite 1

Änderungen und Ergänzungen am installierten Raspian auf dem Raspberry Pi 3B


Dieter Drewanz





Dokument begonnen: August 2016

Dokument letzter Stand: Februar 2017



Kurzfassung:

Der Text umfaßt die Vorbereitung, Erstinbetriebnahme, Installation weiterer praktischer Pakete, Anwendung der Pakete/Anwendungen und Installation von Treibern.



Inhaltsverzeichnis

1 Einleitung 2

2 Die Erstinbetriebnahme 3

2.1 Der Zusammenbau 3

2.2 Vorbereitung der SD-Karte für den Raspberry Pi 4

3 Der erste Start des Betriebssystems und Nachinstallation von einigen Anwendungen 7

3.1 Der erste Eindruck und Grundkonfigurationen 7

3.2 Einbinden von Swap-Partitionen 9

3.3 Die Distribution und Paketmanager aktualisieren ("update" und "upgrade") 10

3.3.1 Einbinden von bereits auf Datenträger befindlichen Paketdateien 10

3.3.2 Durchführen der Aktualisierung der Paketverwaltung und der Pakete 11

3.4 Die Installation von ersten Anwendungen zur Netzwerkuntersuchung 12

3.5 Installation von Medien-Center und Media-Playern 13

3.6 Installation von Office-Paketen und Office-Anwendungen 14

3.7 Installation von Programmen für das Internet (Browser und andere Anwendungen) 16

3.8 Installation von Anwendungen und kleinen Werkzeugen 17

3.8.1 Dateimanager, Datei- und Datenträgerbearbeitung 17

3.8.2 Virenschutz, Fehlersuche und Systeminformationen 19

3.9 Texteditoren 20

3.10 Bildbearbeitung 20

3.11 Technische Anwendungen und Mathematikprogramme 23

3.12 Spiele 23

3.13 Experimente mit dem Open Grapic Driver 24

3.14 Remote Zugriff und virtueller Netzwerk-Client 26

3.14.1 Einfacher Fernzugriff über X11 (Netzwerk) 26

3.14.1.1 Das Prinzip hinter diese Art des Zugriffs 26

3.14.1.2 Zugriff auf Konsolenebene (ohne X11-Unterstützung) 27

3.14.1.3 Zugriff auf über Konsole mit X11-Unterstützung 28

3.14.2 Fernzugriff über VNC (Virtual Network Client) 29

4 Aspekte der IT-Sicherheit 31

4.1 Zugang beim Starten des Systems mit Startbildschirm 31

4.2 Einloggen über das Netzwerk 32

4.3 Erste einfache Maßnahmen zur Absicherung 32

4.4 Und noch eine kleine Besonderheit des Raspi 33

5 Das System auf eine größere SD-Karte übertragen 34

6 Zusammenfassung zur Inbetriebnahme und ersten Ergänzungen 35

7 Fortgeschrittene Erweiterung der Anwendungen und Konfigurationen des Raspberry Pi 35

7.1 Übertragen des Systems auf eine größere SD-Karte 35

7.2 Anwendungen für Netzwerke und Internet 38

7.2.1 Lokales Netzwerk - Samba 38

7.3 Technische und naturwissenschaftliche Anwendungen 39

7.3.1 Mathematikprogramm octave 39

7.3.2 Mathematikprogramm wxmaxima 39

7.3.3 Elektrotechnische Schaltungen zeichnen und simulieren mit qucs 39

7.4 Emulatoren und Virtualisierung 39

8 Problembehebungen 40

8.1 Keine graphische Ausgabe über den HDMI-Ausgang 40



1 Einleitung

Parallel zu den Arbeiten und Änderungen am System des Raspberry Pi wurde der hiermit vorliegende Text als kleine Dokumentation angelegt. Die ursprüngliche Motivation war für später Änderungen und Fortsetzungen eine einfache Zusammenstellung wesentlicher Schritte und auch Quellen vorzuhalten. Eine Nebenabsicht war ein ähnliches System anhand dieser Notizen wieder aufzusetzen, wenn es notwendig werden sollte.

Somit ist dieser sprachlich einfach gehalten und auch nicht weiter quergelesen. Ohne Absichten und Aussichten auf irgendwelche Zuwendungen wurde verständlicherweise hierbei auf den schriftlichen Ausdruck auch nicht besonders geachtet. Manchmal wurden auch nur die Notizen mit den Links zu Seiten im Internet mit interessanten Informationen, Beschreibungen und Anleitungen gesammelt oder Auszüge aus der Konsole in den Text kopiert.

Eingestellt im Netz kann es viel­leicht dem Einen oder Anderen ebenfalls nützlich sein zur Information oder Fehlerbehebung.

In der Vergangenheit wurde bereits ein Raspberry Pi 2 B eingerichtet. Für der Nutzung des Gerätes fand ich die 1 GB RAM etwas knapp bemessen, wenn der Raspi zum Sur­fen mit mehreren offenen Tabs (Tabs=Reiter auf Deutsch) und parallel zur umfangreichen Dokumentenbearbeitung verwendet wer­den soll. Auf der SD-Karte wurde zwar zusätzlich eine Swap-Partiton eingerichtet, aber Flash hat eine endliche Zahl von Schreibzyklen, welche die Lebensdauer begrenzt. Also hoffte ich auf ein Nachfolgermo­dell Raspi 3 mit 2 GB RAM.

Nachdem der neue Raspi keine 2 GB RAM bekam, suchte ich nach Alternativen und legte mir einen Cubietruck (Cubietruck 3, mit Dualcore-Prozessor) zu, da nicht viel Rechenleistung für die vorgesehene Verwendung benötigt wurde und dieser auch einen eigenen VGA-Anschluß besaß. Somit konnte ohne Adapterwulst ein alter Monitor angeschlossen werden. Beim moderneren Altgerät blieb somit der DVI-Anschluß frei um hier zum Beispiel eine Raspberry Pi anzuschließen, falls dieser nicht über eine VNC-Verbindung verwendet werden sollte.

Allerdings reizte mich die neuen Features des Raspi (WLAN, Bluetooth, schnellerer Quadcore-Prozessor) und die vielen umfangreichen Programme, so dass ich mir letztendlich den Raspberry Pi 3 zulegte.

Der CubieTruck, Raspberry Pi und ähnliche Computerboards wurden und sind auch weiterhin konzi­piert für Technikinteressierte als günstige Systeme zum Experimentieren und Lernen. Daher wird auch kein großer Aufwand betrieben um alle Fallstricke aus dem Weg zu räumen von Seiten der je­weiligen Community betreffend der Software und Anwendungen.



2 Die Erstinbetriebnahme

2.1 Der Zusammenbau

Als komplettes Set oder in Einzelteilen von einem bekannten Läden (Reichelt, Conrad, ELV, Völkner, Pollin, Watterott, usw.) beschafft, war das Gerät schnell zusammengebaut. Den Kühlkörper ließ ich erst einmal weg.

Meine Empfehlung für den Kauf wäre darauf zu achten, dass ein Netzgerät ausgewählt wird mit einem USB-Anschluß so dass bei Kabelschaden nur dieses ausgetauscht werden muss. Ich empfehle dabei gleich immer ein zweites Kabel in Reserve auch für die Smartphones und Mobiltelefone mit einzukaufen.

Zunächst aus Gründen der Einfachheit wurde ein TEKO-Gehäuse verwendet. Für den Betrieb ohne die GPIO-Ports zu verwenden sind diese durchaus geeignet. Die vorstehenden Ränder sind praktisch, wenn man das Gerät befestigen möchte (z.B. festklemmen mit Schrauben).

Werden die GPIO-Ports allerdings benötigt um zum Beispiel Dinge wie im Buch von den Herren Kofler, Kühnast, Scherbeck, "Raspberry Pi", "Das umfassende Handbuch", dann wird man in den Deckel entsprechende Löcher fräsen müssen entweder von oben oder seitlich.

Wenn keine entsprechende Fräse vorhanden sein sollte, anbei ein kleiner Tipp, wie es dennoch ordentliche Löcher werden. Mit einem dünnen permanenten Schreiber werden die Ausschnitte angezeichnet. Mit einem Bohrer wird innerhalb der Fläche ein kleines Loch in ausreichender Größe für das Laubsägeblatt gebohrt. Mit der Laubsäge wird das Loch ausgesägt. Mit einer Feile werden die Schnittkanten begradigt.

2.2 Vorbereitung der SD-Karte für den Raspberry Pi

Das Dokument für das vorherige Modell Raspberry Pi 2 B half hier natürlich sehr vieles nicht erneut wieder suchen zu müssen. Dieses Dokument zum Raspi 3 entstand aus einer parallelen Aktualisierung und Überarbeitung des Dokumentes zum Raspi 2. Somit ist diese Version übersichtlicher, besser strukturiert, vollständiger und mit weniger Fehlern aller Art behaftet.


Von der Homepage wurde das aktuelle Raspian heruntergeladen.

https://www.raspberrypi.org/downloads/

https://www.raspberrypi.org/downloads/raspbian/

Ausgewählt wurde folgende Variante:

Raspbian Jessie

Full desktop image based on Debian Jessie

Version: May 2016

Release date: 2016-05-27

Kernel version: 4.4

Die ZIP-Datei hatte ungefähr 1,4 GB, die entpackt ein ca. 3,9GB Größe Image enthielt. Heruntergeladen kann dies über den Browser oder auf einer Linux-Konsole mittels

wget -c http://downloads.raspberrypi.org/raspbian/images/raspbian-2016-05-31/2016-05-27-raspbian-jessie.zip

oder es wird das Torrent-File heruntergeladen über den Browser oder auf einer Linux-Konsole mittels

wget -c http://downloads.raspberrypi.org/raspbian/images/raspbian-2016-05-31/2016-05-27-raspbian-jessie.zip.torrent

Der Torrent wird gestartet auf der Konsole über den folgenden Befehl.

ctorrent 2016-05-27-raspbian-jessie.zip.torrent

Dabei wird zunächst eine 1,4GB große ZIP-Datei angelegt, die allerdings erst über das verteilte Herunterladen der einzelnen Segmente so nach und nach vollständig wird.

Das Kopieren zwischen der SD-Karte mittels Mini-Adapter und einen USB-Stick gestaltete sich als unerwartet schwierig. Die Fehlersuche ergab, das der verwendete USB-Hub mit der SD-Karte zu warm wurde und somit der Vorgang stoppte. High-Speed bedeutet in der Regel auch etwas mehr Wärmeentwicklung. Durch künstliche Verlangsamung des Kopiervorganges wurde das Problem gelöst.

Da die SD-Karte später mit dem Image überschrieben wird, wäre es sinnvoller die Datei auf ein anderes Medium herunter zu laden, aber hier sollte die SD-Karte gleichzeitig getestet werden. Vor einer weiteren Verwendung sollte immer das Dateisystem wieder repariert werden. Unter Linux ist dies auf der Konsole mittels fsck möglich. Wichtig ist dabei das sogenannte Dirty-Bit zurückzusetzen.


Die Anleitungen um das gepackte Image auf die SD-Karte zu schreiben sind dort zu finden:

https://www.raspberrypi.org/documentation/installation/installing-images/README.md


Erster Schritt:

unzip 2016-05-27-raspbian-jessie.zip

Archive: 2016-05-27-raspbian-jessie.zip

inflating: 2016-05-27-raspbian-jessie.img

Je nach USB-Geschwindigkeit (USB-SD-Kartenleser, USB-Speicherstick) kann diese einige Zeit beanspruchen.


Zweiter Schritt:

Mit "dd if=Raspi_Jessie.img of /dev/sdc" wird das Image auf eine 32GB SD-Karte geschrieben. Bei letztere Option bitte genau aufpassen, dass das richtige Medium ausgewählt wird. Sonst sind die Daten auf dem Datenträger für immer verloren. Meistens sind die Rechteeinstellungen so gesetzt, daß noch Admin-Rechte für dd notwendig werden. Wenn dabei Fehler auftreten, kann es passieren, dass auch ein erneutes Erkennen der Datenträger durchgeführt wird. Dabei kann sich die Reihenfolge ändern. Vor einer Wiederholung immer prüfen, ob die Reihenfolge der Medien "sda...sde" noch stimmt. Zwischen dem Kontrollieren der Befehlszeile und Return drücken, erwischte mich schon einmal diese Neuerkennung der Datenträger (Murphy's Law).

Je nach USB-Geschwindigkeit (USB-SD-Kartenleser, USB-Speicherstick) kann das Schreiben auf die SD-Karte einige Zeit beanspruchen (meist 2 bis 3 mal so lange wie vorheriger Schritt). Zur Vermeidung eines Wärmebedingten Fehlers beim Beschreiben wurde hier ein ältere langsamer 2.0 USB-Hub verwendet.

Mit “sudo killall -USR1 dd” kann man nachsehen, wie weit der Vorgang ist, wenn man die neue Option “status=progress” vergessen hat zu verwenden.

Zum Beispiel:

3492246016 bytes (3.5 GB) copied, 1790.95 s, 1.9 MB/s

4019191808 bytes (4.0 GB) copied, 2034.53 s, 2.0 MB/s


$ lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 1 29G 0 disk

├─sda1 8:1 1 63M 0 part

└─sda2 8:2 1 3.7G 0 part


Dritter Schritt:

Mittels gpartet wurde auf der SD-Karte die Partition auf etwa 14 bis 16GB vergrößert, eine weitere primäre Partition von ca. 10 bis 14GB erzeugt und zusätzlich eine weitere primäre Partition mit ungefähr 1 bis 3GB als Swap (Auslagerungsdatei) angelegt.


Die Swap-Partition bringt zum Beispiel folgenden Vorteil gegenüber keiner oder zumindest einer angelegten Swap-Datei im Hauptverzeichnis (meist angelegt unter "/var"). Wenn ein Rechner mit vielen Tabs oder Anwendungen plötzlich stark langsam wird, dann besteht so eine bessere Chance, laufende Programme wieder zu beenden bevor alles einfriert. Ohne Auslagerungsdatei oder -partition (Swap) versucht das Betriebssystem Programmteile durch ein anderes Verfahren ähnliches zu erreichen, das System wird sehr langsam oder friert ein.

Eine Swap-Partition verursacht weniger Schäden auf dem Dateisystem (Hauptsystem) einer SD-Karte, als eine Swap-Datei, wenn zum Beispiel das Limit der Flash-Lebensdauer der Zellen auf der Karte erreicht wurde durch häufiges “swappen” eben auf diesen Datenträger. Die Daten einer defekt geflashten SD-Karte mit eigener Flash-Partition lassen sich in der Regel ohne besondere Kenntnisse über Recovery-Techniken so noch kopieren und retten, wenn diese an einem Rechner als weiteres Medium angeschlossen oder eingebunden wird.


cubietruck:~$ lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 1 29G 0 disk

├─sda1 8:1 1 63M 0 part

├─sda2 8:2 1 14.9G 0 part

├─sda3 8:3 1 10.2G 0 part

└─sda4 8:4 1 3.8G 0 part


cubietruck:~$ sudo fdisk -l /dev/sda

Disk /dev/sda: 29 GiB, 31104958464 bytes, 60751872 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0xXXXXXXXX

Device Boot Start End Sectors Size Id Type

/dev/sda1 8192 137215 129024 63M c W95 FAT32 (LBA)

/dev/sda2 137216 31250000 31112785 14.9G 83 Linux

/dev/sda3 31252480 52733951 21481472 10.2G 83 Linux

/dev/sda4 52735000 60751871 8016872 3.8G 82 Linux swap / Solaris


Wie obige beiden Ausgaben zeigen, wurden die Partitionen grob nach Planung angelegt. Der Zeitaufwand betrug ungefähr bis zu diesem Punkt 3h, wobei gut 50% der Zeit parallel andere Tätigkeiten durchgeführt wurden.


Der Bootvorgang bei der ARM-Architektur unterliegt mehreren Schritten. Der erste Teil befindet sich in dem Bereich unterhalb der ersten Partition auf der Karte, der zweite Teil auf der 64MB großen ersten Partition um dann als letztes in die zweite Partition weiter zu starten.

Als nächstes wurde der Raspi in das Gehäuse eingebaut.


Der Raspberry Pi 3 B mit 4-Kernprozessor und 1 GB RAM wurde über einen DVI-HDMI Adapter an einen DVI-Monitor angeschlossen. Mit dem zusätzlichen DVI-VGA funktionierte es nicht auf Anhieb, da zuvor die config-Datei auf der SD-Karte geändert werden müßte. Nach einigem hin und her klappe es mit dem Anbringen der Steckkombination am Monitor auf Grund von Platzproblemen zwischen den Anschlüssen am Monitor und der Monitorfußbefestigung.


Nachdem die ersten Einstellungen getätigt waren, wurde der Raspi 3 ins Netzwerk gehängt und per Fernzugriff (Remote Access) eines Cubietruck mittels Konsolensitzung die Pakete nach und nach eingespielt. Es war angenehm und praktisch den Raspi 3 an einem geeigneten Platz abzustellen und vor sich hin arbeiten zu lassen.




Später wurde eine zweite SD-Karte 64GB vorbereitet. Die Daten wurden kopiert mit:

$ sudo dd bs=1M if=/dev/sda of=/dev/sdb

Nach diesem Vorgang hatte die SD-Karte nur noch 32GB. Schuld daran ist, dass das Image kopiert wurde und somit auch die Partitionstabelle.

Obwohl die SD-Karte identisch kopiert wurde, ergab sich nach dem Start ein unerwarteter Unterschied bei der Tastatureinstellung. Diese war nicht auf Deutsch sondern auf Englisch eingestellt. Mit gparted wurden erweiterte Partitionen angelegt.


3 Der erste Start des Betriebssystems und Nachinstallation von einigen Anwendungen

3.1 Der erste Eindruck und Grundkonfigurationen


Beim ersten Start gab es eine Fehlermeldung, dass er das Dateisystem nicht expandieren könne, aber der Start läßt sich dennoch fortsetzen. Er fährt bis in die grafische Oberfläche hoch. Dort wurde als erstes in der linken oberen Leiste auf das WLAN-Symbol geklickt, das Netz ausgewählt und das Passwort eingeben. Beim ersten Start des Raspian auf dem Raspberry Pi läuft das System langsamer hoch als es später startet.


Ein Aufruf mit „top“ auf der Konsole zeigt, dass in diesem Zustand 400MB des Hauptspeichers belegt wurden. Die Belastung der CPU ist deutlich unter 10% im Ruhebetrieb.


Die Ablage der aktuellen Anfangswerte ohne die vorherigen Dateien versehentlich zu überschreiben, wurde über die Datumsfunktion und gesetzten Optionen realisiert auf folgende Weise:

sudo fdisk ­l > fdisk_$(date +%Y%m%d_%H%M)

sudo df > df_$(date +%Y%m%d_%H%M)

sudo mount > mount_$(date +%Y%m%d_%H%M)

sudo dpkg ­l > dpkg_$(date +%Y%m%d_%H%M)

sudo dmesg > dmesg_$(date +%Y%m%d_%H%M)

sudo history > history_$(date +%Y%m%d_%H%M)


In den Systemeinstellungen wird die Tastatur auf Deutsche Standardtastatur eingestellt, damit die Sonderzeichen sowie die Buchstaben „y“ und „z“ wie gewohnt funktionieren. Unter Menu Einstelluungen Raspberrry Konfiguration wurde alles auf Deutsch bzw. Deutschland eingestellt.


Nachdem das Image von Ende Mai 2016 stammte und bei der Inbetriebnahme es Ende August 2016 war, wurde es notwendig vor der Installation von weiteren Anwendungen das Paketsystem-Update durchzuführen.

$ sudo apt.-get update

Es wurden 9.212 kB in 25 min 20 s geholt (6.058 B/s).


$ sudo apt-get upgrade

68 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

Es müssen 109 MB an Archiven heruntergeladen werden.

Nach dieser Operation werden 718 kB Plattenplatz zusätzlich benutzt.

Über eine schwache Verbindung etwas zu viel auf einmal und wurde daher auf später verschoben.


$ sudo apt-get install vnstat

0 aktualisiert, 1 neu installiert, 0 zu entfernen und 68 nicht aktualisiert.

Es müssen 69,8 kB an Archiven heruntergeladen werden.

Nach dieser Operation werden 185 kB Plattenplatz zusätzlich benutzt.


sudo apt-get install htop

0 aktualisiert, 1 neu installiert, 0 zu entfernen und 68 nicht aktualisiert.

Es müssen 68,8 kB an Archiven heruntergeladen werden.

Nach dieser Operation werden 135 kB Plattenplatz zusätzlich benutzt.


Ein Aufruf mit „htop“ zeigt, dass in diesem Zustand eigentlich nur 100MB des Hauptspeichers belegt wurden. Es wird in der Regel mehr belegt mit Programmteilen (meist Objekten), die aus Performanzgründen bevorzugt auch im RAM gehalten werden. Die Belastung der CPU ist deutlich unter 10% im Ruhebetrieb.





3.2 Einbinden von Swap-Partitionen


Es ist besser auf der SD-Karte für swap eine eigene Partition zu wählen. In dem Falle bleibt, wenn der obere Bereich der SD-Karte defekt wird, die anderen Partitionen mit den rettenswerten Datenbereichen meistens noch mit Standardmitteln lesbar. Wenn es zu vielen Swap-Fehlern kommt, dann sollte die SD-Karte baldigst ersetzt werden durch eine neue SD-Karte.


Als nächstes wurde die Swap-Partition in Betrieb genommen.


Damit diese Swap-Partition dauerhaft übernommen wird, muss diese in die /etc/fstab eingetragen werden.

sudo nano /etc/fstab

Die beiden Zeilen wurden ergänzt:

/var/swap none swap sw,pri=1 0 0

/dev/mmcblk0p6 none swap sw,pri=5 0 0


$ sudo swapon -a

swapon: /dev/mmcblk0p4: read swap header failed


Das Einschalten der Swap-Partition scheiterte, weil diese noch nicht formatiert war.


$ sudo mkswap /dev/mmcblk0p4

Setting up swapspace version 1, size = 4008432 KiB

no label, UUID=xxxx-xxxx-xxx-xxxxx-xxxxx


Nun werden alle Swap-Partitionen eingeschaltet.

$ sudo swapon -a


$ sudo swapon

NAME TYPE SIZE USED PRIO

/var/swap file 100M 0B -1

/dev/mmcblk0p4 partition 3,8G 0B 5


Die Ausgabe zeigt, dass nun alle Swap-Partitionen aktiviert wurden. Die Swap-Partition hat eine höhrere Priorität als die Swap-Datei und wird daher immer bevorzugt verwendet.

Wenn eine alte HD als Swap über USB ergänzt werden soll, dann muss dieser die höchste Priorität vergeben werden, nach folgendem Muster um die SD-Karte zu schonen.


/dev/hda6 none swap sw,pri=3 0 0

/dev/hdb2 none swap sw,pri=2 0 0

/dev/hdc2 none swap sw,pri=1 0 0



3.3 Die Distribution und Paketmanager aktualisieren ("update" und "upgrade")


3.3.1 Einbinden von bereits auf Datenträger befindlichen Paketdateien


Eine gute Idee ist auch mittels "sudo dpkg ­l > dpkg_$(date +%Y%m%d_%H%M)" abzulegen, welche Pakete zu Beginn installiert waren oder aktuell sind. Diese Datei kann später auch genutzt werden, um mit Hilfe von Skripten (die "dpkg" benutzen) das System mit allen Anwendungen wieder aufzusetzen. Die heruntergeladenen Pakete befinden sich alle unter dem Pfad "/var/cache/apt/archives/", sofern dieses nicht mit Optionen von "apt-get, wie zum Beispiel clean/autoclean/autoremove aufgeräumt wurde.

Eine weitere gute Idee zur Verringerung der Datenmenge zum Herunterladens von Paketen wäre dieses Archiv in den entsprechenden Pfad des neu aufzusetzenden Systems zu kopieren. Somit würden diese Dateien auch nicht mehr vom Internet geholt seitens "apt-get" mit "upgrade" oder "install" sofern diese noch aktuell sind.

Unter "/var/lib/apt/lists" liegen die Informationen zu den Pakten. Dieses sollte auch kopiert werden, wenn mit "apt-get" ohne Internetverbindung (oder nur Internet über Mobilfunknetz wäre vorhanden) installiert werden sollte.


Ein reines lokales Verzeichnis (z.B. USB-Stick voll mit *.deb Dateien) für apt-get einbinden:

mkdir MeinRepository

cd MeinRepository

dpkg-scanpackages binary /dev/null | gzip -9c > Packages.gz

Folgende Zeile in /etc/apt/sources.list einfuegen:

deb file:///pfad/zu/MeinRepository ./

Anschließend apt-get update ausführen, damit der Installer die Dateien findet und nutzen kann.


Versucht, funktionierte so aber nicht:

sudo dpkg-scanpackages binary /dev/null | gzip -9c > Packages.gz

bash: Packages.gz: Permission denied

dpkg-scanpackages: error: binary dir binary not found


Aber so funktioniert es mit ein paar Fehlermeldungen:

sudo $(dpkg-scanpackages ./ /dev/null | gzip -9c > ~/Packages.gz)

Und anschließend wurden manuell die Dateien in das Verzeichnis verschoben .


Über “sudo apt-get upgrade –print-uris” wurden die Links zu den *.deb-Dateien heruntergeladen und extern über einen Linux-Rechner mittels wget und kleinem Script heruntergeladen. Diese Dateien werden nach /var/cache/apt/archives kopiert. Somit entfällt das Herunterladen der Installationsdateien.


3.3.2 Durchführen der Aktualisierung der Paketverwaltung und der Pakete

Für die Aktualisierung auf der Konsole wurde vorwiegend das Paketverwaltungwerkzeug "apt-get" verwendet. Nachdem der Raspi, beziehungsweise eigentlich nur eine der vielen SD-Karten seit drei Monaten nicht mehr benutzt wurde, war durchaus eine über 300 MB große Bugwelle an herunterzuladenden Dateien entstanden.

Wenn auf den Raspi per Fernzugriff betrieben werden sollte, empfiehlt es sich vorher mit sudo apt-get -n update auf der Konsole anzusehen, welche Pakete aktualisiert werden. Sind darunter folgende aufgelisteten Paketnamen oder -namensteile zu finden, sollte über eine ssh-Konsolensitzung das Upgrade durchgeführt werden, da die Chance groß ist, dass die VNC-Verbindung wegen Neustarts von Services abbricht. Noch sicherer wäre das Gerät an einen Monitor mit Tastatur und Maus für diesen Vorgang anzuschließen. Bei diesen Updates werden manchmal auf der Konsole noch Eingaben abgefragt im Hinblick auf die Konfiguration und wenn die Verbindung abbricht, könnte es ein Henne-Ei-Problem werden.

dbus, systemd, systemctl, libs mit mesa vnc, x11-common xserver-common xserver-xorg, samba

# Die Paketverwaltung aktualisieren:

sudo apt-get update

# Die Pakete aktualisieren:

sudo apt-get upgrade

# Nur die Dateien für die zu aktualisierenden Pakete herunterladen:

sudo apt-get -d upgrade



Eine interessante Variante bietet eine Kombination mit "trickle" zur Drosselung des Datenverkehrs und die Option mehrere Befehle mit "sudo" in eine Kette zu fassen. Mit dem Kommando "sleep" kann der Vorgang in die Nacht verschoben werden und auch Pausen dazwischen gelegt werden. Das ist zum Beispiel interessant, wenn der Raspi über einen Smart-Phone Hotspot im Netz hängt und dessen Internetverbindung nutzt.



trickle -d 5 -u 2 sudo bash -c 'sleep 10000 ; apt-get update; sleep 1000; apt-get -d -y upgrade; sleep 1000; apt-get -d -y upgrade; sleep 1000; apt-get -d -y upgrade'








3.4 Die Installation von ersten Anwendungen zur Netzwerkuntersuchung

Die Installation eines Programms für die Zählung des Datenverkehrs, das wenig Resourcen beansprucht, wurde bereits einige Schritte früher installiert.

"sudo apt-get install vnstat"


vnstat -l -i wlan0

Zeigt den aktuellen Datenverkehr über das WLAN an.

vnstat -h -i wlan0

Gibt den Datenverkehr der letzten 24h aus.

vnstat -m -i wlan0

Gibt den Datenverkehr der letzten 12 Monate aus. Das ist eine gute Möglichkeit zu prüfen, ob das Gerät auch genutzt wurde oder nur herumlag.


ifconfig zeigt auch wieviel mit surfen und apt-get seit dem Start verbraucht wurde an Daten-Verkehr. Praktischer ist aber vnstat. Dessen im Hintergrund laufender Dämon benötigt sehr wenig Ressourcen.

$ ifconfig

RX bytes:56849052 (54.2 MiB) TX bytes:9282326 (8.8 MiB)


Um das Netzwerk zu scannen, wurde nmap installiert. Hierzu wurden fast 6MB heruntergeladen, da noch einige Libraries und ndiff wegen Abhägigkeiten benötigt wurden.

$ sudo apt-get install nmap

0 upgraded, 6 newly installed, 0 to remove and 68 not upgraded.

Need to get 5.031 kB of archives.

After this operation, 20,9 MB of additional disk space will be used.

Auf der SD wurden ca. 3,4 GB zu dem Zeitpunkt vom System belegt.


Interessant ist, dass selten reproduzierbar Port 1352 offen ist beim Smartphone.

PORT STATE SERVICE

53/tcp open domain

1352/tcp filtered lotusnotes


Um den Netzwerkverkehr sehen zu können, wird etherape installiert.

$ sudo apt-get install etherape

0 upgraded, 22 newly installed, 0 to remove and 68 not upgraded.

Need to get 8.386 kB of archives.

After this operation, 34,8 MB of additional disk space will be used.

Auf der SD wurden ca. 3,5 GB zu dem Zeitpunkt vom System belegt.


Das Startmenü erhält eine weitere Auswahl "Systemtools" unter dem sich etherape befindet. Erst nach einem Neustart befindet sich dort auch etherape (root), welches funktioniert, da erst nach der Passworteingabe der Zugriff auf das WLAN besteht. Eine andere Methode führte über Eingabe "sudo etherape" zum gewünschten Funktionieren der Anwendung.


Installation eines Datenverkehrsbegrenzungsprogramms auf der Konsole für zum Beispiel einzelne Aktionen mit wget oder apt-get. Herunterzuladen sind hierfür schlappe 40kB.

$ sudo apt-get install trickle

0 upgraded, 1 newly installed, 0 to remove and 65 not upgraded.

Need to get 37,9 kB of archives.

After this operation, 85,0 kB of additional disk space will be used.


"trickle -d 3 -u 1 sudo apt-get install iceweasel"

"sudo trickle -d 3 -u 1 sudo apt-get install iceweasel"

"sudo trickle -d 3 -u 1 apt-get install iceweasel"

Das scheint nur bedingt zu funktionieren. Vermutlich geht es nach einem Neustart besser.

"sudo trickle -d 6 -u 2 apt-get install iceweasel"

Führt zu häufigeren Wiederaufnahmen des Downloades. Es schwankt ralativ stark, so dass man meint die Begrenzung funktioniert nicht. Aber es läßt sich unter Verwendung eines mobilen GSM-Netz als Internetzugang besser parallel surfen.


3.5 Installation von Medien-Center und Media-Playern


Als nächstes wurde das bekannte Mediencenter "kodi" installiert. Teile von mesa, samba und mysql werden dabei nachinstalliert. Da hier auch Pakete, die die grafische Ausgabe "xorg" betreffen enthalten waren, sollte kodi nicht vor einem Neustart gestartet werden.

Beim Herunterladen über eine mobile GSM-Verbindung mit 64kbit wäre nun eine Stunde Zeit für eine Mahlzeit und andere Tätigkeiten.


$ sudo apt-get install kodi

3 upgraded, 29 newly installed, 0 to remove and 65 not upgraded.

Need to get 32,2 MB of archives.

After this operation, 77,1 MB of additional disk space will be used.

Auf der SD wurden ca. 3,6 GB zu dem Zeitpunkt vom System belegt.


$ sudo apt-get install vlc

0 upgraded, 66 newly installed, 0 to remove and 65 not upgraded.

Need to get 16,1 MB of archives.

After this operation, 57,9 MB of additional disk space will be used.

Installation eines Universalmedienplayers. Der omxplayer ist bereits installiert.

$ sudo apt-get install mplayer

Note, selecting 'mplayer2' instead of 'mplayer'

0 upgraded, 4 newly installed, 0 to remove and 65 not upgraded.

Need to get 886 kB of archives.

After this operation, 2.394 kB of additional disk space will be used.


$ sudo apt-get install gnome-mplayer

Suggested packages: gecko-mediaplayer

0 upgraded, 12 newly installed, 0 to remove and 65 not upgraded.

Need to get 2.369 kB of archives.

After this operation, 11,9 MB of additional disk space will be used.

Auf der SD wurden ca. 3,7 GB zu dem Zeitpunkt vom System belegt.



Und zugehöriges Paket für die Videokonvertierung, falls dies notwendig sein sollte.

$ sudo apt-get install mencoder

Package mencoder is not available, but is referred to by another package.

This may mean that the package is missing, has been obsoleted, or

is only available from another source

E: Package 'mencoder' has no installation candidate



Still to Do:


Videobearbeitung mit kino?




Die Anwendung kodi wurde gestartet und einige Einstellungen vorgenommen. Das Laden der Anwendungen funktionierte. Mit der Auswahl “Verlassen” fällt man wieder in das Raspian zurück und kann hier weiterarbeiten.



sudo apt-get install browser-plugin-lightspark

Herunterzuladen waren 10MB;

sudo apt-get purge browser-plugin-lightspark

Wieder gelöscht und einige Plugins für Mozilla/Icewaeasel installiert. Nun scheinen youtoube-videos zu funktionieren.




3.6 Installation von Office-Paketen und Office-Anwendungen

Die allgemein bekannte Office-Suite LibreOffice war bereits installiert auf dem Raspian-Image, wie folgende Ausgabe belegt.

$ sudo apt-get install libreoffice

libreoffice is already the newest version.

0 upgraded, 0 newly installed, 0 to remove and 68 not upgraded.


Installation eines Programms für kleine Dokumente, das wenig Resourcen beansprucht.

$ sudo apt-get install abiword

0 upgraded, 44 newly installed, 0 to remove and 65 not upgraded.

Need to get 15,8 MB of archives.

After this operation, 70,3 MB of additional disk space will be used.

Nach der Installation sind auf der SD 3,8GB belegt.


"sudo apt-get install gnumeric"

Installation eines Programms für kleine Dokumente, das wenig Resourcen beansprucht.

$ sudo apt-get install gnumeric

0 upgraded, 24 newly installed, 0 to remove and 65 not upgraded.

Need to get 42,1 MB of archives.

After this operation, 126 MB of additional disk space will be used.

Nach der Installation sind auf der SD 4,0GB belegt.


Werkzeug zur Bearbeitung von PDF-Dokumenten:

sudo apt-get install pdftk

Need to get 8,434 kB of archives.

After this operation, 39.8 MB of additional disk space will be used.

for i in 2016_ScannedPage_0*.png ; do convert $i $i.pdf ; done

pdftk 2016_ScannedPage_0*".pdf" cat output 2016_ScannedPagesAll.pdf

$ sudo apt-get install pdftk

Need to get 18,8 MB of archives.

After this operation, 51,2 MB of additional disk space will be used.

(Nach der Installation waren auf der SD 4,2GB (vorher 4,1GB) belegt.)



okular (download 7,4MB / 31MB disk space)

$ sudo apt-get install okular

0 upgraded, 90 newly installed, 0 to remove and 65 not upgraded.

Need to get 67,7 MB of archives.

After this operation, 165 MB of additional disk space will be used.

Wird später gemacht. Wenn krita oder kwrite installiert wurden, werden deutlich weniger archives benötigt.

0 upgraded, 89 newly installed, 0 to remove and 62 not upgraded.

Need to get 67,6 MB of archives.

After this operation, 165 MB of additional disk space will be used.

(Nach der Installation waren auf der SD 4,6GB (vorher 4,3GB) belegt.)


Still to Do:

sudo apt-get install libreoffice-help-de

http://extensions.libreoffice.org/extension-center/german-de-de-frami-dictionaries

dict-de_de-frami_2015-12-28.oxt




3.7 Installation von Programmen für das Internet (Browser und andere Anwendungen)



"sudo apt-get install firefox"

Das Paket ist nicht im Standard-Raspian enthalten. Statt dessen gibt es aber iceweasel. Das ist eigentlich auch der Browser firefox, aber mit kleinen Änderungen auf Grund von Differenzen mit der Mozilla-Foundation.

$ sudo apt-get install iceweasel

0 upgraded, 2 newly installed, 0 to remove and 65 not upgraded.

Need to get 40,1 MB of archives.

After this operation, 85,6 MB of additional disk space will be used.

Nach der Installation waren 4,15GB auf der SD belegt.


Installation eines einfachen IRC-Clients zum Chatten unter Nutzung bekannter Servern, wie zum Beispiel freenode.

$ sudo apt-get install xchat

3 upgraded, 4 newly installed, 0 to remove and 62 not upgraded.

Need to get 6.545 kB of archives.

After this operation, 4.094 kB of additional disk space will be used.

(Nach der Installation waren auf der SD 4,2GB (vorher 4,2GB) belegt.)


Interessante Browser auf der Konsolenebene sind w3m, lynx, links und links2.

$ sudo apt-get install w3m lynx links links2

0 upgraded, 6 newly installed, 0 to remove and 62 not upgraded.

Need to get 5.063 kB of archives.

After this operation, 11,0 MB of additional disk space will be used.


Mit “links2 -g -driver help” erfolgt zum Beispiel eine graphische Ausgabe. Hier ist sichergestellt, dass zunächst der gesamte Text angezeigt wird, und dann erst die Bilder nachgeladen werden. Alles wird hier schön einfach untereinander aufgelistet. Mit “links2 -g -driver help” wird aufgelistet, welche Graphik-Treiber vorhanden sind und kann diese auch testen.


Die Anwendung filezilla dient dem hoch- und herunterladen von Dateien über ftp, zum Beispiel einer Homepage oder andere Rechner im Netz.

$ sudo apt-get install filezilla

0 upgraded, 4 newly installed, 0 to remove and 62 not upgraded.

Need to get 7.778 kB of archives.

After this operation, 31,4 MB of additional disk space will be used.

(Nach der Installation waren auf der SD 4,3GB (vorher 4,3GB) belegt.)



3.8 Installation von Anwendungen und kleinen Werkzeugen

3.8.1 Dateimanager, Datei- und Datenträgerbearbeitung


Ein Test mit "sudo apt-get upgrade" zeigt, dass ca. 100MB nachgeladen werden müßten. Bei der Installation von einzelnen Pakete würden dies in Schritten auch nachgeholt, wenn es notwendig wäre.

Ein Terminal, das auch Reiter zuläßt, wie auch kopieren und einfügen mit der Maus namens lxterminal war bereits vorhanden beim Raspian. Darunter kann nano und vim als Editoren verwendet werden, wie auch die vielen Konsolenwerkzeuge. Bei einem größeren Update in Verbindung mit X11 oder den grafischen Oberflächen sollte dieses nicht in einem solchen Fenster innerhalb der grafischen Umgebung durchgeführt werden. Hierzu sollte auf die puristische Konsole (Strg+Alt+F1...F4) außerhalb der grafischen Oberfläche gewechselt werden.


Installation eines altbewährten und praktischen Dateimanagers für die Konsole.

$ sudo apt-get install mc

0 upgraded, 2 newly installed, 0 to remove and 65 not upgraded.

Need to get 1.659 kB of archives.

After this operation, 6.762 kB of additional disk space will be used.


Werkzeug zum löschen von doppelten Dateien.

$ sudo apt-get install fdupes

0 upgraded, 1 newly installed, 0 to remove and 65 not upgraded.

Need to get 18,5 kB of archives.

After this operation, 31,7 kB of additional disk space will be used.


Es wurde ein einfaches und praktisches Werkzeug zum Einbinden von Datenträgern installiert.

$ sudo apt-get install pmount

0 upgraded, 1 newly installed, 0 to remove and 65 not upgraded.

Need to get 80,8 kB of archives.

After this operation, 373 kB of additional disk space will be used.



Programm zur Datenträgeranalyse und Wiederherstellung.

$ sudo apt-get install testdisk

0 upgraded, 1 newly installed, 0 to remove and 65 not upgraded.

Need to get 314 kB of archives.

After this operation, 1.061 kB of additional disk space will be used.


Werkzeug zur Partitionierung von Datenträgern mit grafischer Oberfläche.

$ sudo apt-get install gparted

0 upgraded, 7 newly installed, 0 to remove and 62 not upgraded.

Need to get 3.428 kB of archives.

After this operation, 11,3 MB of additional disk space will be used.


Ein weiterer Dateimanager. Diese wird benötigt, wenn dieser mit Ergänzungen (z.B. Dateipfade) über die Konsole oder Skripte aufgerufen werden soll.

$ sudo apt-get install dolphin

Bevor okular (ca. 60-70MB, wegen KDE-Essentials) installiert wurde war die Ausgabe:

0 upgraded, 95 newly installed, 0 to remove and 62 not upgraded.

Need to get 67,5 MB of archives.

After this operation, 163 MB of additional disk space will be used.

Nachdem okular (ca. 60-70MB, wegen KDE-Essentials) installiert wurde war die Ausgabe:

$ sudo apt-get install dolphin

0 upgraded, 12 newly installed, 0 to remove and 62 not upgraded.

Need to get 1.529 kB of archives.

After this operation, 4.208 kB of additional disk space will be used.



Programm zur grafischen Dateien De-/Komprimierung:

$ sudo apt-get install ark

Bevor okular und dolphin installiert wurde:

0 upgraded, 86 newly installed, 0 to remove and 62 not upgraded.

Need to get 67,3 MB of archives.

After this operation, 164 MB of additional disk space will be used.

Nachdem okular und dolphin installiert wurde:

0 upgraded, 3 newly installed, 0 to remove and 62 not upgraded.

Need to get 1.406 kB of archives.

After this operation, 4.867 kB of additional disk space will be used.



Ein weiterer Dateimanager. Diese wird benötigt, wenn dieser mit Ergänzungen (z.B. Dateipfade) über die Konsole oder Skripte aufgerufen werden soll. Der Dateimanager enthält auch einen Browser und ftp-Client.

$ sudo apt-get install konqueror

0 upgraded, 102 newly installed, 0 to remove and 62 not upgraded.

Need to get 69,5 MB of archives.

After this operation, 169 MB of additional disk space will be used.

$ sudo apt-get install konqueror

0 upgraded, 7 newly installed, 0 to remove and 62 not upgraded.

Need to get 1.981 kB of archives.

After this operation, 5.814 kB of additional disk space will be used.





3.8.2 Virenschutz, Fehlersuche und Systeminformationen

Eine Anwendung zur Ausgabe der Prozessorauslastung und Belegung des Speichers namens htop wurde in einem früheren Schritt bereits installiert. Die angezeigte Belegung des RAM weicht zu „top“ ab. Der kleinere Wert von htop gibt an welcher Bereich zwingend von den Anwendungen belegt wird. Weiterer Speicher wird belegt von Modulen der Anwendungen aus Gründen der Performance. Meistens wird der Rechner überprportional merklich langsamer, wenn hierfür weniger als ein Viertel des RAM noch zur Verfügung steht.


Anwendung zur Unterstützung bei der Fehlersuche, da es die Fehlermeldungen ausführlich ausgibt.

$ sudo apt-get install strace

strace is already the newest version.

Beispiel zur Verwendung:

strace -o strace.out -f scanimage -T


Ein kleines Diagnoseprogramm auf der Konsole, das ausgibt welche Dateien von Prozessen verwendet werden. Herunterzuladen sind fast 0,4MB.

$ sudo apt-get install lsof

0 upgraded, 2 newly installed, 0 to remove and 62 not upgraded.

Need to get 365 kB of archives.

After this operation, 736 kB of additional disk space will be used.


Ein kleines Virenscanprogramm ist clamav. Das Programm lädt danach die Virensignaturen (freshclam) nach (sichtbar in über etherape mirror.cambrium.nl).

$ sudo apt-get install clamav

0 upgraded, 5 newly installed, 0 to remove and 62 not upgraded.

Need to get 1.963 kB of archives.

After this operation, 3.905 kB of additional disk space will be used.


In der Nacht würden die Virensignaturen ca. 200MB geladen (6-7h bei 64kbit/s). Die zukünftigen Delta-Dateien sind deutlich kleiner. Details sind zu lesen unter

cat /var/log/clamav/freshclam.log”

ls /var/lib/clamav”

-rw-r--r-- 1 clamav clamav 86357 Aug 31 22:12 bytecode.cvd

-rw-r--r-- 1 clamav clamav 38322176 Aug 31 22:12 daily.cld

-rw-r--r-- 1 root root 109143933 Aug 31 22:07 main.cvd

-rw------- 1 clamav clamav 104 Aug 31 22:13 mirrors.dat

Das ganze wurde abgekürzt in dem diese Dateien von einem anderen Rechner in das Verzeichnis kopiert wurde. Damit er es erkennt, mußte der Raspi einem Neustart (sudo reboot) unterzogen werden. Ansonsten wären die Dateien im temporären Unterverzeichnis noch komplett herunter geladen worden.

Insgesamt sind nun 4,8GB durch das System auf der SD-Karte belegt.



3.9 Texteditoren

Der Texteditor nano war bereits vorhanden.


Ein weitere Editor ist vim. Diese ist ähnlich vi, aber besser handzuhaben.

$ sudo apt-get install vim

0 upgraded, 2 newly installed, 0 to remove and 62 not upgraded.

Need to get 5.857 kB of archives.

After this operation, 28,2 MB of additional disk space will be used.

(Nach der Installation waren auf der SD 4,2GB (vorher 4,2GB) belegt.)


$ sudo apt-get install kwrite

0 upgraded, 1 newly installed, 0 to remove and 62 not upgraded.

Need to get 69,5 kB of archives.

After this operation, 195 kB of additional disk space will be used.

(Nach dem okular, konqueror installiert wurden, mußten keine 60MB heruntergeladen werden.)



3.10 Bildbearbeitung

Eine gute Übersicht über Grafikprogramme bietet Ubuntu:

https://wiki.ubuntuusers.de/Grafik/


sudo apt-get install imagemagick

Need to get 668 kB of archives.

After this operation, 799 kB of additional disk space will be used.

$ sudo apt-get install imagemagick

0 upgraded, 10 newly installed, 0 to remove and 62 not upgraded.

Need to get 3.956 kB of archives.

After this operation, 12,1 MB of additional disk space will be used.


Die Konvertierung von Bildern auf der Konsole werden mit dem Befehl „convert“ aufgerufen.

convert $fname.tiff $fname.jpg ;

convert -quality 30 -resize 70% $fname.tiff "$fname"_min.jpg

convert -quality 30 $fname.tiff "$fname"_min.jpg

convert "$fname"_min.jpg "$fname"_min.pdf



$ sudo apt-get install gimp

0 upgraded, 11 newly installed, 0 to remove and 62 not upgraded.

Need to get 15,3 MB of archives.

After this operation, 66,3 MB of additional disk space will be used.


Ein Vektorgrafikzeichenprogramm. Ein kleines vektororientiertes Zeichenprogramm. Die Zeichnungen können für TEX/LATEX exportiert werden.

$ sudo apt-get install xfig

0 upgraded, 6 newly installed, 0 to remove and 62 not upgraded.

Need to get 3.026 kB of archives.

After this operation, 13,8 MB of additional disk space will be used.

Fetched 3.026 kB in 8min 5s (6.236 B/s)


Ein Vektorgrafikzeichenprogramm.

$ sudo apt-get install inkscape

After this operation, 84,8 MB of additional disk space will be used.

0 upgraded, 14 newly installed, 0 to remove and 62 not upgraded.

Need to get 12,5 MB/13,6 MB of archives.

After this operation, 84,8 MB of additional disk space will be used.

(Bei Inkscape sind Teile von xfig enthalten)

Fetched 12,5 MB in 33min 53s (6.150 B/s)


Ein Vektorgrafikzeichenprogramm.

$ sudo apt-get install krita

0 upgraded, 13 newly installed, 0 to remove and 62 not upgraded.

Need to get 30,0 MB of archives.

After this operation, 97,7 MB of additional disk space will be used.

Fetched 30,0 MB in 1h 19min 14s (6.319 B/s)


Raspi2: Dieses stürzt leider beim Öffnen eines Bildes ab.



Bildergaleriebetrachter

$ sudo apt-get install gwenview

0 upgraded, 7 newly installed, 0 to remove and 62 not upgraded.

Need to get 2.990 kB/3.307 kB of archives.

After this operation, 6.383 kB of additional disk space will be used.

Fetched 2.990 kB in 7min 57s (6.260 B/s)



Anwendung für Screenshots.

$ sudo apt-get install shutter

0 upgraded, 86 newly installed, 0 to remove and 62 not upgraded.

Need to get 8.014 kB/8.523 kB of archives.

After this operation, 38,4 MB of additional disk space will be used.

Fetched 8.014 kB in 21min 43s (6.146 B/s)

Download complete and in download only mode

(Es wurden Teile von perl mit installiert)




Anwendung für Screenshots.

$ sudo apt-get install gnome-screenshot

0 upgraded, 1 newly installed, 0 to remove and 62 not upgraded.

Need to get 145 kB of archives.

After this operation, 711 kB of additional disk space will be used.

Fetched 145 kB in 23s (6.036 B/s)

Download complete and in download only mode







Still to Do:


Programme, die früher getestet wurden, aber der Umfang der Funktionen zum Teil noch nicht alle funktionierten.

"sudo apt-get install gnome-paint"

Installation eines Programms für die Bildbearbeitung das wenig Resourcen beansprucht. Herunterzuladen sind hierfür fast 100kB. Bei dem Programm sind nicht alle Funktionen realisiert, so dass ein anderes Programm ausgesucht werden muss für diese Zweck. Das Paket wird daher wieder entfernt.

"sudo apt-get purge gnome-paint"


Somit wird pinta installiert.

sudo apt-get install pinta, 7MB herunterladen, 28MB Speicherplatz benötigen;

Pinta hat auch einige Macken, zum Beispiel werden nur kleine Flächenbereiche kopiert.

sudo apt-get install mtpaint”

Herunterzuladen sind hierfür 500kB.


sudo apt-get upgrade” würde 170MB herunterladen, nach dem “sudo apt-get update” und “sudo apt-get upgrade” wäre es nun 450MB und 97 Pakete. Grund sind die neuen Open Driver 3D-Unterstützungen von Raspian. D.h. so nach und nach eines der Pakete, dass erneuert werden würde aus der Liste installieren lassen.


Nun waren 6,3GB belegt. Nach einem “sudo apt-get autoclean” waren es 6.1GB.


3.11 Technische Anwendungen und Mathematikprogramme


Als Wolfram im Menü aufzurufen ist Mathematica bei der Kombination von Raspi+Raspian schon dabei.


Ein universelles Daten-Plott-Programm auf der Konsolenebene mit grafischer Ausgabe der Diagramme und weiteren exportierbaren Ausgaben (z.B. für LATEX).

$ sudo apt-get install gnuplot

0 upgraded, 7 newly installed, 0 to remove and 62 not upgraded.

Need to get 1.508 kB of archives.

After this operation, 3.941 kB of additional disk space will be used.


Ein freies Mathematikprogramm, dass in der Lage ist auch mit Variablen zu rechnen und Gleichungen zu lösen. Wenn es nicht bereits installiert wurde, würde wxmaxima die Anwendung gnuplot mit installieren.


$ sudo apt-get install wxmaxima

0 upgraded, 7 newly installed, 0 to remove and 62 not upgraded.

Need to get 17,0 MB of archives.

After this operation, 65,6 MB of additional disk space will be used.

Fetched 17,0 MB in 45min 29s (6.220 B/s)




3.12 Spiele


Penguin-Command

$ sudo apt-get install penguin-command

0 upgraded, 1 newly installed, 0 to remove and 62 not upgraded.

Need to get 853 kB of archives.

After this operation, 1.209 kB of additional disk space will be used.



Supertux

$ sudo apt-get -d install supertux ;

0 upgraded, 2 newly installed, 0 to remove and 62 not upgraded.

Need to get 7.805 kB of archives.

After this operation, 15,0 MB of additional disk space will be used.

Fetched 7.805 kB in 20min 45s (6.268 B/s)

Download complete and in download only mode

$ sudo apt-get -y install supertux



Extremetuxracer

$ sudo apt-get -d install extremetuxracer ;

0 upgraded, 3 newly installed, 0 to remove and 62 not upgraded.

Need to get 31,6 MB of archives.

After this operation, 64,8 MB of additional disk space will be used.

Fetched 31,6 MB in 1h 23min 11s (6.327 B/s)

Download complete and in download only mode

$ sudo apt-get -y install extremetuxracer




Raspi2:

sudo apt-get install extremetuxracer” benötigt, dass 32MB heruntergeladen werden.

Start mit “etracer” funktioniert nicht.

*** etracer error: Couldn't initialize video: Couldn't find matching GLX visual (Resource temporarily unavailable)




3.13 Experimente mit dem Open Grapic Driver


To Do:


Dieser Artikel betraf nur den Raspi 2. Wenn entsprechende Versuch mit dem Raspi 3 durchgeführt werden, wird dies aktualisiert.


Ab Januar 2016 wurde der open source Grafiktreiber für die Hardwarebeschleunigung für Experimente frei gegeben und verfügbar gemacht, stand bei heise.de (Raspbian mit experimenteller OpenGL-Unterstützung). Somit ein Grund dies auszuprobieren am Raspi 2, nach dem Motto “no risk no fun”.


Aktivieren des Open Graphic Drivers:

sudo raspi-config”

Unter den erweiterten Optionen wird moniert, dass eine Komponente fehlt. Diese wurde nachinstalliert.

sudo apt-get install libgl1-mesa-dri”

sudo raspi-config”

Unter den erweiterten Optionen wird moniert, dass eine Komponente fehlt. Diese wurde “sudo apt-get install xcompmgr”

sudo raspi-config”

Danach wird ein Neustart erforderlich.


etracer” funktioniert nur bedingt. Nach ca. 20 bis 60 Sekunden hängt etracer. Es wurden Neustarts notwendig. Der mplayer geht auch nicht. Es wird hier jeweils ausgelloggt und man muss sich neu einloggen.


Anschließend wurde der Treiber wieder deaktiviert mit raspi-config. Danach noch mal mplayer gestartet. Der Rechner hängt und fährt auch nicht mehr hoch. Somit wurde das System erfolgreich geschreddert.


Eine Lösung wäre hier alles neu auf der SD-Karte wieder anzulegen. Das Herunterladen der deb-Dateien hätte man noch größtenteils vermeiden können, wenn man die Dateien unter /var/cache/apt/archives sichert und in ensprechendes Verzeichnis wieder kopiert. Allerdings gelang es das System manuell wieder zum Laufen zu bekommen. Auf der ersten Partition befindet sich die Datei config.txt



Befehl “lsblk”

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

mmcblk0 179:0 0 14,9G 0 disk

├─mmcblk0p1 179:1 0 60M 0 part /boot


ls -l /boot/config*

-rwxr-xr-x 1 root root 1658 Feb 14 12:14 /boot/config.txt



cat /boot/config.txt

usw …

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)

dtparam=audio=on

dtoverlay=vc4-kms-v3d


Ändern in beziehungsweise auskommentiert mit # reichte noch nicht ganz.

#dtoverlay=vc4-kms-v3d


Aus dem Grunde sollte man sich eine funktionierende config.txt als Sicherungskopie aufheben um vergleichen zu können, was sich geändert haben könnte.


Trotzdem bootete das Raspian noch nicht. Als Kennzeichen leuchtete die grüne LED im Dauerbetrieb und der Bilschirm blieb dunkel. Es mußte zusätzlich noch das “dirty bit” zurückgesetzt werde. Dazu wurde die SD-Karte mittels Adapter in ein Notebook gesteckt und fsck ausgeführt. Vorher wurde mit “lsblk” nachgesehen unter welchem Device sich die SD-Karte für den Zugriff befindet.


fsck /dev/sdd1”

Und dirty bit korrigieren wurde bestätigt.


Erst dann bootete der Rechner wieder wie gewohnt. Zurück blieb eine kleine Verhaltensänderung mit der Anwendung oder Spiel etracer (tux racer). Dieses startet nun auch ohne die 3D-Beschleunigung. Der Cursor bewegt sich in dem Fenster sehr ruckartig und der Tux fährt langsam um ruckartig die Piste herunter. Die Zahnräder mit glxgears bewegen sich mit niedrigen Frameraten.


glxgears

109 frames in 5.0 seconds = 21.767 FPS (kleines Fenster, ca 200x200 Pixel)

16 frames in 5.0 seconds = 3.190 FPS (Vollbild, ca. 1200X1000 Pixel)

3.14 Remote Zugriff und virtueller Netzwerk-Client

3.14.1 Einfacher Fernzugriff über X11 (Netzwerk)

3.14.1.1 Das Prinzip hinter diese Art des Zugriffs


Einfacher Zugriff über X11 von einem anderen Linux-Rechner ist sehr einfach zu realisieren. Da bei Linux alle Kommunikation der Prozesse als TCP/IP-System aufgebaut ist, kann natürlich die Darstellung von grafischen X11-Anwendungen auch über das Netzwerk entfernt auf einem anderen Rechner erfolgen. Für diesen Fall ist dieses technische Konzept deutlich überlegen anderen Betriebssystemen, die die ein anderes Konzept verfolgen.

Allerdings bei der hardwareseitigen klassischen 3D/2D-Beschleunigung auf Grafikkarten von einzelnen Anwendungen hat diese Technologie systembedingte Nachteile. Bei neuen Entwicklungen wird jedoch dieser Unterschied kleiner, wenn CPU und GPU immer mehr miteinander vernetzt werden, um die Rechenleistung besser zu verteilen. In dem Falle wird das fertig geränderte Ergebnis quasi als X11-Videostream übertragen.

Im Gegensatz hierzu gibt auch Projekte, die eine Unterstützung der 2D/3D-Beschleunigung auf dem Client ermöglichen. Allerdings hat dies immer einen Nachteil in der Performance gegenüber der Karte, die im Rechner steckt und auf die direkt zugegriffen werden kann. Der Nachteil kann sich aber umkehren in einen Vorteil, wenn eine größere Zahl von Clients mit Beschleunigung arbeiten, deren Workload-Summe die Leistung der eingebauten Karte übersteigen würde.


Bei Linux gibt es also mehrere Möglichkeiten im ferngesteuerten Betrieb zu arbeiten. Die erste Variante stellt keinen virtuellen Client im eigentlichen Sinn dar. Dabei wird ausgenutzt, dass unter Linux fast alles als Netzwerk intern strukturiert ist. Darunter fällt auch die klassische graphische X11-Oberfläche ohne 3D-Beschleunigung. Somit ist es möglich den entfernten Rechner im Textmode zu betreiben und trotzdem auf den Clients mit X11-Anwendungen zu arbeiten, die auf dem entfernten Rechner laufen.


3.14.1.2 Zugriff auf Konsolenebene (ohne X11-Unterstützung)


Als Basis sei hier erst der Remote-Access (Fernzugriff) auf der reinen Konsolenebene als Terminal-Session (Textkonsolensitzung) beschrieben.


Um zu vermeiden Router oder Switches zu konfigurieren war es wichtig, dass sich die beiden Rechner (Raspi und Notebook, von dem aus eingeloggt wird) im selben Netzwerk befinden. Für diese Fall befanden sich beide Geräte im Netz des Hot-Spot eines Smart-Phone. Mittels ifconfig wurde aus den Angaben die Adresse im Netz nachgesehen und notiert.


$ ifconfig

eth0 Link encap:Ethernet HWaddr …...

lo Link encap:Local Loopback

wlan0 Link encap:Ethernet HWaddr …..

inet addr:192.168.x.y Bcast:192.168.x.255 Mask:255.255.255.0

inet6 addr: fe80::.....

In folgenden Beispielen habe 192.168.x.y die Adresse 192.168.1.2.


Vom Client-Rechner wurde mit folgendem Befehl auf den Raspi zugegriffen:

$ ssh pi@192.168.1.2

pi@192.168.1.2's password:

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: Wed Aug 31 07:36:16 2016 from cubietruck

pi@raspberrypi:~ $


Wenn jedoch diese IP bereits für einen Login bereits verwendet wurde, dann wurden bereits ssh-keys ausgetauscht. War dies ein anderer Rechner oder auch nur eine andere SD-Karte im Raspi, dann kommt es mit einer Fehlermeldung zum Abbruch.


In dem Falle hilft folgende Zeile weiter:

$ ssh -o UserKnownHostsFile=.ssh/known_hosts_pi_raspian -o StrictHostKeyChecking=no pi@192.168.1.2 -v

Allerdings stellt dies auch jedesmal eine Sicherheitslücke dar, da ja der Key des Empfängers akzeptiert wird und nicht überprüft werden kann.

Es können auch über Filesystemzugruff per ftp/sftp Dateien ausgetauscht werden:


sftp -o UserKnownHostsFile=.ssh/known_hosts_pi_raspian -o StrictHostKeyChecking=no pi@192.168.1.2 -v


Das strenge Checking abzuschalten ist keine gute Lösung, aber nach dem der Raspi mit verschiedenen SD-Karten betrieben wird und der Key nicht gleich ist, würde es sonst nur mit einer Karte gehen, bzw. ich immer überlegen müssen welches das richtige File mit den Schlüsseln ist.

3.14.1.3 Zugriff auf über Konsole mit X11-Unterstützung

Vom Client-Rechner wurde mit folgendem Befehl (-X option für X11 Unterstützung) eingeloggt:

$ ssh -X pi@192.168.1.2


Programme folgendermaßen ausgeführt auf dem Raspi aber ausgeben auf dem Client, d.h. auf diesem geht ein weiteres Fenster mit der Anwendung auf:

Auf dem lxterminal des eingeloggten Clients auf der Konsole wird hierzu eingegeben:

pi@raspberrypi:~ $ abiword

(pi@raspberrypi:~ $ DISPLAY=:10.0 abiword hatte den gleichen Effekt)


Soll allerdings das Fenster mit der Anwendung auf dem Raspi aufgehen, dann wird hierzu folgendes eingegeben:

Auf dem lxterminal des eingeloggten Clients auf der Konsole wird hierzu eingegeben:

pi@raspberrypi:~ $ DISPLAY=:0.0 abiword auf dem entfernten Rechner


Dauerhaft sind solche Einstellungen für die jeweilige Sitzung durch setzen der Umgebungsvariablen möglich.

# or set the environment variable for all programs

export DISPLAY=:0.0

xeyes &

firefox &



Wenn jedoch diese IP bereits für einen Login bereits verwendet wurde, dann wurden bereits ssh-keys ausgetauscht. War dies ein anderer Rechner oder auch nur eine andere SD-Karte im Raspi, dann kommt es mit einer Fehlermeldung zum Abbruch.


In dem Falle hilft wieder folgende Zeile weiter:

$ ssh -o UserKnownHostsFile=.ssh/known_hosts_pi_raspian -o StrictHostKeyChecking=no pi@192.168.1.2 -v -X

$ ssh -v -X -o UserKnownHostsFile=.ssh/known_hosts_pi_raspian -o StrictHostKeyChecking=no pi@192.168.1.2

(Reihenfolge der Optionen ist nicht strikt, erstere paßt schöner in die Zeile des Dokumentes)


Anbei ein paar Beispiele mit unterschiedlichen Key-Dateien, und wenn andere User/Nutzer angelegt wurden.

ssh 192.168.1.2 -v -i .ssh/known_hosts -X

ssh 192.168.1.2 -v -i .ssh/known_hosts_pi_mate -X

ssh seem@192.168.1.2 -v -i .ssh/known_hosts_pi_mate -X


Um die jeweilige Programme aufzurufen, muss man aber ihre richtigen Bezeichnungen auf der Konsolenebene kennen.


LibreOfficeCalc: loclac

LibreOfficeWriter: lowriter

LibreOffice: loffice

lomath, lobase, localc, lodraw, loimpress, loweb



3.14.2 Fernzugriff über VNC (Virtual Network Client)



Als nächstes wird eine richtiger virtual Network Client eingerichtet.


$ sudo apt-get install x11vnc

0 upgraded, 7 newly installed, 0 to remove and 62 not upgraded.

Need to get 1.503 kB of archives.

After this operation, 3.204 kB of additional disk space will be used.


$ sudo apt-get install xvnc4viewer

Need to get 91,6 kB of archives.

After this operation, 370 kB of additional disk space will be use


sudo x11vnc -storepasswd”

sudo x11vnc -storepasswd KENNWORT /etc/x11vnc.pass”


Starten der Anwendung auf dem Rechner des Helfenden bei remoter Unterstützung:

xvnc4viewer -listen 5500”


Starten der Anwendung auf dem Rechner des Hilfesuchenden bei remoter Unterstützung:

x11vnc -connect 192.168.1.2”

Allerdings ohne Passwortabfrage ist das keine so gute Idee. Ungünstigerweise ist hier der schwierigere Part beim Hilfesuchenden. In dem Falle sollte der Helfende entsprechenden Befehl als Skript hinterlegt haben, so dass nur dieses einfach vom Nutzer aufzurufen wäre.


x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/USERNAME/.vnc/passwd -rfbport 5900 -shared


(Ggf auch host:display)



pi@raspberrypi:~ $ sudo apt-get install tightvncserver

0 upgraded, 2 newly installed, 0 to remove and 62 not upgraded.

Need to get 6.736 kB of archives.

After this operation, 9.895 kB of additional disk space will be used.


Beim ersten Aufruf wird zwangsweise das anlegen eines Passwortes verlangt.

username@cubietruck $ tightvncserver

You will require a password to access your desktops.

Password:

Verify:

Would you like to enter a view-only password (y/n)? y

Password:

Verify:

New 'X' desktop is cubietruck:1

Creating default startup script /home/dieterd/.vnc/xstartup

Starting applications specified in /home/dieterd/.vnc/xstartup

Log file is /home/dieterd/.vnc/cubietruck:1.log


Beim zweiten Aufruf wird dies nicht mehr verlangt.

username@cubietruck:~$ tightvncserver

New 'X' desktop is cubietruck:2

Starting applications specified in /home/dieterd/.vnc/xstartup

Log file is /home/dieterd/.vnc/cubietruck:2.log

Jetzt laufen zwei vnc-server.


Das Ergebnis auf dem selben Rechner ist nur ein graues Bildschirmfenster.

username@cubietruck:~$ xvncviewer cubietruck:1

username@cubietruck:~$ xvncviewer cubietruck:2



Beim ersten Aufruf auf dem anderen Rechner (hier der Raspi) wird zwangsweise das Anlegen eines Passwortes verlangt.

pi@raspberrypi:~ $ tightvncserver

You will require a password to access your desktops.

Password:

Verify:

Would you like to enter a view-only password (y/n)? y

Password:

Verify:

New 'X' desktop is raspberrypi:1

Creating default startup script /home/pi/.vnc/xstartup

Starting applications specified in /home/pi/.vnc/xstartup

Log file is /home/pi/.vnc/raspberrypi:1.log


Das Ergebnis auf dem selben Rechner (cubietruck in der ssh -X session eingegeben) ist eine VNC-Darstellung in voller Größe.

pi@raspberrypi:~ $ xvncviewer raspberrypi:1

Auf dem Raspi und Cubietruck funktioniert dies recht gut.


VNC Viewer Free Edition 4.1.1 for X - built Apr 8 2015 10:19:38

Copyright (C) 2002-2005 RealVNC Ltd.

See http://www.realvnc.com for information on VNC.


Das Ergebnis auf dem selben Rechner (cubietruck in der ssh -X session eingegeben) ist eine VNC-Darstellung in voller Größe.

username@cubietruck:~$ xvncviewer raspberrypi:1

Auf dem Raspi und Cubietruck funktioniert dies recht gut.


Nicht funktioniert die Ausgabe von kodi über diese VNC-Verbindung. Die Anwendung verwendet im Prinzip einen anderen Kanal für diese Ausgabe. Noch nicht geprüft wurde, ob die Option Übertragung über Air, diese Funktion ermöglicht.




4 Aspekte der IT-Sicherheit


4.1 Zugang beim Starten des Systems mit Startbildschirm


Das Betriebssystem ist für die erste Verwendung natürlich besonders nutzerfreundlich ausgelegt. Somit werden keine Nutzernamen und Paßwörter für das Starten erforderlich und der Startvorgang endet direkt in die graphische Desktop-Umgebung. Ein Paßwort wird nur für den ersten Zugang zum jeweiligen geschützten WLAN-Netz benötigt.

Von Seiten der IT-Sicherheit ist das eigentlich eine Katastrophe. Als reines Bastlersystem zum Probieren und Experimentieren, kann dies in gewissen Maßen noch toleriert werden, für die ursprüngliche Zielgruppe und deren Verwendung. Wer mehr mit dem System macht, wird sicherlich unvermeidlich so tief in der Materie stecken, so dass er die notwendigen Maßnahmen selbst ergreifen wird sein System abzusichern.


4.2 Einloggen über das Netzwerk


Auf alle Rechner wird über das allgemein bekannte Passwort und Zugangsnamen remote zugegriffen im Netzwerk. Dies stellt auch eine große Sicherheitslücke dar, vor allem bei der Nutzung in WLAN-Netzen. Im lokalen Heimnetzwerk hinter einem Router ist zwar schon eine schützende Firewall zur Außenwelt vorhanden, aber dieser Schutz kann auch überwunden werden. Häufige Schwachstelle sind hier andere Rechner im Netz, die vielleicht schon gekapert wurden. Relativ sicher am Internet hängt ein Raspi, wenn noch ein alter Router vorhanden ist, dem von Seiten des DSL-Modemeinganges wirklich keine Zugriffe jediglicher Art möglich sind. Bei modernen Routern mit Voice over IP-Funktionen, USB-Anschlüssen für Speicher und Drucker ist das leider nicht mehr so.


Nach dem die Empfehlung das Default-Passwort von pi sofort zu ändern, zu häufig vernachlässigt wurde, immer mehr Pis in Netzwerken integriert wurden, haben sich die Raspbian-Entwickler entschlossen, bei aktuellen Raspbian-Images den SSH-Dienst zwar weithin zu installieren, aber standardmäßig nicht aktiv zu setzen. Bei einem Upgrade passiert dies auch und somit muss dieser explizit wieder freigegeben werden, wenn dieser per Fernbetrieb genutzt werden soll.


Unter folgendem Link stehen die notwendigen Schritte beschrieben:

https://pi-buch.info/geaenderte-ssh-server-konfiguration-von-raspbian/


Als Vorbereitung für den sogenannten "Headless Betrieb", d.h. ohne angeschlossenen Monitor, Tastatur und Maus, muss eine Datei ssh im Verzeichnis boot erstellt werden, die nach dem Bootvorgang von einer Einrichtungsroutine wieder gelöscht wird.


pi@raspberrypi:~ $ touch /boot/ssh

touch: \u201e/boot/ssh\u201c kann nicht berührt werden: Keine Berechtigung

pi@raspberrypi:~ $ sudo touch /boot/ssh

pi@raspberrypi:~ $ ls /boot/ssh

/boot/ssh




4.3 Erste einfache Maßnahmen zur Absicherung


Im Fall dass eine Anwendung unbedingt unter dem Nutzernamen “pi” laufen muss, wäre eine Maßnahme für diesen Nutzer den Port für den Empfang von ssh-Zugriffen zu schließen oder und zugleich das Paßwort zu ändern. Ist dieses nicht notwendig sollte gleich ein Nutzer mit einem nicht so leicht zu knackenden Paßwort angelegt werden.


Am einfachsten wird der neue Nutzer auf der Konsole mit dem Befehl "adduser" angelegt.

pi@raspberrypi:~$ adduser mynewusername

adduser: Nur root darf Benutzer oder Gruppen zum System hinzufügen.

pi@raspberrypi:~ $ sudo adduser mynewusername

Lege Benutzer »mynewusername« an ...

Lege neue Gruppe »mynewusername« (1001) an ...

Lege neuen Benutzer »mynewusername« (1001) mit Gruppe »mynewusername« an ...

Erstelle Home-Verzeichnis »/home/mynewusername« ...

Kopiere Dateien aus »/etc/skel« ...

Geben Sie ein neues UNIX-Passwort ein: HierEinGutesPasswortEingeben

Geben Sie das neue UNIX-Passwort erneut ein: HierEinGutesPasswortEingeben

passwd: Passwort erfolgreich geändert

Benutzerinformationen für mynewusername werden geändert.

Geben Sie einen neuen Wert an oder drücken Sie ENTER für den Standardwert

Vollständiger Name []: mynewusername

Zimmernummer []: 001

Telefon geschäftlich []:

Telefon privat []:

Sonstiges []:

Sind die Informationen korrekt? [J/n] j

pi@raspberrypi:~ $


Die Datei “sudoers” wird auch angefaßt werden müssen, um zu verhindern, dass man ohne Passwort root werden kann. Umgekehrt darf man dann die Paßwörter nicht mehr vergessen.


Einen Startbildschirm mit Einloggmenü und Paßwortabfrage sollte auch installiert werden. Somit erhält man ein System, das schon mal die wichtigsten Hürden beinhaltet.


Für den User “pi” wurde unter “sudo raspi-config” das Paßwort geändert und der Startbildschirm, so dass mit dem Usernamen und Paßwort eingeloggt werden muss.


Aus versehen zwei mal Return geklickt und Neustart ausgelöst. Glücklicherweise war vorher noch das Dokument vorher gespeichert worden. Das Dokument werde ich als abiword-Format abspeichern, da die Überschriftennummerierung in anderen Formaten verloren ging. Zwischen den Programmen (Abiword und LibreOffice) und Dateitypen (Abiword) bleibt der Text zwar erhalten, aber die Nummerierungen der Kapitel geht verloren. Somit sollten die umfangreicheren Texte besser mit LibreOffice geschrieben werden. Der Vorteil von Abiword ist dass es weniger Ressourcen benötigt und noch ein paar weitere selterene Datei-Typen konvertieren kann.


4.4 Und noch eine kleine Besonderheit des Raspi

Der kleine Raspberry Pi hat kein BIOS, UEFI die geflasht werden können. Das hat auf der einen Seite den Nachteil, dass keine Bootmedienauswahl festgelegt werden kann, keine Uhr im System gibt um ein paar der damit verbundenen nachteiligen Dinge hier aufzuzählen. Dafür hat dieser aber den Vorteil, wenn er mal gehackt wurde, ist der Raspie nach der Entnahme des Speichermediums (SD-Karte) meist wieder als sauber zu betrachten. Nach Empfang einer frischen bespielten SD-Karte kann er wieder weiter arbeiten gehen.

Beim Raspi 3 gibt es einen Teil der sich ohne weiteren Aufwand flashen läßt, wie eine Anleitung zur Umstellung auf Booten von USB-Medien belegt. Allerdings ist hier das Risiko gering. Was dem Raspi so passieren kann, wäre diesen per Hack zu zerstören durch gezieltes übertakten und ignorieren der thermischen Warnungen. Daher wäre der Raspi zum Beispiel gut zu verwenden zum Löschen von Medien mit kritischen Daten über USB-IDE/SATA-Adapter oder als Paketfilter zwischen sicherheitskritischen Netzwerkverbindungen. Dass nur ein 100MBit LAN-Anschluss vorhanden ist hierbei nicht nachteilig im Hinblick auf das notwendige Verhältnis von Datenrate zur benötigten Rechenleistung für eine entsprechende Filterqualität.


5 Das System auf eine größere SD-Karte übertragen

Zuletzt wurde das System auf eine größere SD-Karte übertragen. Damit es schneller geht, habe ich eine Micro-CD-Karte in den SD-Adapter gesteckt und die andere in einen USB-Adapter. Beide wurden am Netbook angeschlossen. Kopiert wurde mittels “dd”. Hierbei muss besonders aufgepaßt werden, dass man sich nicht die falsche Karte zerschießt oder sogar die HD vom Netbook löscht. Man beachte “of=” gibt das zu schreibende Zielmedium an.


dd if=/dev/sdb of=/dev/sdc


Bei einer Schreibgeschwindigkeit von ca. 3 bis 4 MB/s dauerte das ganze ungefähr 20-30 Minuten.


Die neue 16GB-SD-Karte muss anschließend noch mit “gparted” bearbeitet werden.


sudo fdisk -l /dev/mmcblk0

Device Boot Start End Sectors Size Id Type

/dev/mmcblk0p1 8192 131071 122880 60M c W95 FAT32 (LBA)

/dev/mmcblk0p2 131072 20705279 20574208 9,8G 83 Linux

/dev/mmcblk0p3 20705280 28764159 8058880 3,9G 83 Linux

/dev/mmcblk0p4 28764160 31115263 2351104 1,1G 82 Linux swap / Solaris


Zuerst wurde die Swap-Partition gelöscht, dann die zweite Partition vergrößert auf ca 10GB, eine weitere Datenpartition mit ca. 4GB angelegt und zuletzt eine 1GB große Swap-Partition angelegt.

Die fstab mußte in dem Falle auch angepaßt werden, da die Swap-Partition nun nicht mehr die dritte sondern die vierte Partition ist.


sudo cat /etc/fstab

proc /proc proc defaults 0 0

/dev/mmcblk0p1 /boot vfat defaults 0 2

/dev/mmcblk0p2 / ext4 defaults,noatime 0 1

# a swapfile is not a swap partition, no line here

# use dphys-swapfile swap[on|off] for that

# added swapfile as partition

/dev/mmcblk0p4 swap swap defaults 0 0

/dev/mmcblk0p3 /media/seem ext4 defaults,noatime,users,rw 0 0


sudo mkdir /media/seem/data

sudo chmod 777 /media/seem/data


Aus den Angaben kann entnommen werden, wo die Partition zu finden ist. Da diese in der fstab aufgenommen wurde, wird diese automatisch beim Start eingebunden. Für den Nutzer wird noch ein beschreibbares Verzeichnis angelegt. Darunter kann diese nun auch Dateien ablegen.



6 Zusammenfassung zur Inbetriebnahme und ersten Ergänzungen

Das Raspian ist somit nun konfiguriert für die Verwendung als MediaCenter mit Kodi, Surfmaschine mit Iceweasel (another Firefox) und für das Schreiben von Dokumenten in einem kleinen Heimnetzwerk.

Der Raspi 3 startet mit dem Raspian so schnell, dass es einem vorkommt, dass die längste Zeit für das Eintippen des Passwortes benötigt würde.




7 Fortgeschrittene Erweiterung der Anwendungen und Konfigurationen des Raspberry Pi

Mit den vorigen Kapiteln ist die Erstinbetriebnahme weitestgehend abgeschlossen und das Gerät kann als kleiner Desktop-Ersatz durchaus verwendet werden.

Im Rahmen des Arbeitens mit dem kleinen Gerät nahm die Zahl und der Umfang der nachinstallierten Anwendungen und weiteren Einstellungen zu, die in folgenden Abschnitten festgehalten wurden. Bei diesen folgenden Abschnitte wurde lag ein Raspberry Pi 3 zu Grunde.


7.1 Übertragen des Systems auf eine größere SD-Karte

Zuletzt wurde das System bereits schon einmal auf eine größere SD-Karte übertragen. Diesmal stand die Übertragung auf eine günstig erworbenen 64GB SD-Karte an.

Entgegen üblicher Beschreibungen, beide Karten über entsprechende SD-USB-Adapter "offline" zu kopieren, wurden die Kopien auch vom root-Verzeichnis des laufenden System getätigt. Eine relativ gute Chance ohne sich große Probleme hier einzuhandeln besteht nur, wenn das System in die Konsole ohne grafische Oberfläche gestartet wurde, die graphische Oberfläche beendet wurde und keine Aktualisierungen des Systems oder Datenbanken aktiv sind.

Für den Kopiervorgang sollte unbedingt beachtet werden, dass nicht versucht wird eine hohe Schreibgeschwindigkeit zu erreichen, da sonst auf Grund zu großer Erwärmung der Karte es zu einem Schreibabbruch kommen könnte. Die Verwendung eines älteren USB-Hubs kann hier durchaus sinnvoll sein, auch wenn es merklich länger dauert.

Kopiert wurde mittels “dd”. Hierbei muss besonders aufgepaßt werden, dass man sich nicht die falsche Karte zerschießt oder sogar die HD vom Netbook oder laufenden Raspi löscht. Man beachte “of=” gibt das zu schreibende Zielmedium an.



dd if=/dev/sdb of=/dev/sdc

(dd if=/dev/mmcblk0 of=/dev/sda - Auf dem Netbook ausgeführt, würde danach dieses nicht mehr starten!)



Bei einer Schreibgeschwindigkeit von ca. 3 bis 4 MB/s dauerte das Ganze ungefähr 30 Minuten.



Partitionen der 16-GB-SD-Karte:

sudo fdisk -l /dev/mmcblk0

Device Boot Start End Sectors Size Id Type

/dev/mmcblk0p1 8192 131071 122880 60M c W95 FAT32 (LBA)

/dev/mmcblk0p2 131072 20705279 20574208 9,8G 83 Linux

/dev/mmcblk0p3 20705280 28764159 8058880 3,9G 83 Linux

/dev/mmcblk0p4 28764160 31115263 2351104 1,1G 82 Linux swap / Solaris


Partitionen der 64-GB-SD-Karte nach dem Kopieren:

sudo fdisk -l /dev/sda

Device Boot Start End Sectors Size Id Type

/dev/mmcblk0p1 8192 131071 122880 60M c W95 FAT32 (LBA)

/dev/mmcblk0p2 131072 20705279 20574208 9,8G 83 Linux

/dev/mmcblk0p3 20705280 28764159 8058880 3,9G 83 Linux

/dev/mmcblk0p4 28764160 31115263 2351104 1,1G 82 Linux swap / Solaris


Die neue 64-GB-SD-Karte mußte anschließend noch mit “gparted” bearbeitet werden. In diesem speziellen Fall, wurde die Karte nur so weit erweitert, dass theoretisch eine 32GB SD-Karte auch gereicht hätte. Die noch freien Bereiche werden später noch belegt werden.

In diesem Falle wurde beginnend von der höchsten Partition bis zur zweitniedrigsten Partition dessen obere Grenze nach oben verschoben und anschließend die untere Grenze entsprechend verschoben, bis die unten angegebene Endlage erreicht wurde.

$ sudo fdisk -l /dev/mmcblk0

Disk /dev/mmcblk0: 59,6 GiB, 64021856256 bytes, 125042688 sectors

Device Boot Start End Sectors Size Id Type

/dev/mmcblk0p1 8192 137215 129024 63M c W95 FAT32 (LBA)

/dev/mmcblk0p2 137216 31250000 31112785 14,9G 83 Linux

/dev/mmcblk0p3 31252480 52733951 21481472 10,2G 83 Linux

/dev/mmcblk0p4 52735000 60751871 8016872 3,8G 82 Linux swap / Solaris

oder

$ lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

mmcblk0 179:0 0 59,6G 0 disk

\u251c\u2500mmcblk0p1 179:1 0 63M 0 part /boot

\u251c\u2500mmcblk0p2 179:2 0 14,9G 0 part /

\u251c\u2500mmcblk0p3 179:3 0 10,2G 0 part /media/pi/0d16c7ee-02e8-4257-be16-ad09d88

\u2514\u2500mmcblk0p4 179:4 0 3,8G 0 part


Im späteren Verlauf sollen auf den freien Bereichen noch Partitionen angelegt werden, die für verschiedene chroot-Umgebungen verwendet werden sollen. Dies wird sich erst im späteren Verlauf ergeben. Die Tabelle wird sich für diese Verwendung noch wesentlich ändern, zum Beispiel sollen erweiterte und logische Partitionen angelegt werden.

Wenn erreicht werden soll, dass die erweiterte Partition nicht in der zweiten primären sondern in der vierten Primären stehen soll, dann muss die Anwendung fdisk verwendet werden, da gparted dies nur gestattet, wenn die zweite und dritte Partition als zumindest kleine Partition mit wenigen Megabyte angelegt wurde.



Als Ziel sollte am Ende eine ähnliche Partitionierung auf der 64 GB SD-Karte vorliegen nach folgendem Strickmuster:

$ sudo fdisk -l

Device Boot Start End Sectors Size Id Type

/dev/mmcblk0p1 8192 137215 129024 63M c W95 FAT32 (LBA)

/dev/mmcblk0p2 137215 52967423 52965376 25.3G 83 Linux

/dev/mmcblk0p4 53096448 125042687 71946240 34.3G 5 Extended

/dev/mmcblk0p5 53098496 86777855 33679360 16.1G 83 Linux

/dev/mmcblk0p6 86779904 117583871 30803968 14.7G 83 Linux

/dev/mmcblk0p7 117585920 125042687 7456768 3.6G 82 Linux swap / Solaris


Bei der Standardpartitionierung der SD-Karte zwischen Raspian und Armbian gibt es einen nicht ganz unerheblichen Unterschied.


Beim Armbian sind die ersten 64MB nicht partitioniert und dort befinden sich spezielle angelegte Dateien für den mehrstufigen Boot-Mechanismus von Arm-Architekturen.

/dev/mmcblk0p1 2048 52967423 52965376 25.3G 83 Linux

Beim Raspian sind die ersten 64MB nicht partitioniert, mit noch etwas weiteren Platz als Reserve und dort befinden sich spezielle angelegte Dateien für den mehrstufigen Boot-Mechanismus von Arm-Architekturen. Es wurde zusätzlich noch eine erste Partition mit Datein für den mehrstufigen Boot-Mechanismus von Arm-Architekturen angelegt.

/dev/mmcblk0p1 8192 137215 129024 63M c W95 FAT32 (LBA)


Da die Arm-Architektur kein BIOS besitzt, sind diese Dateien mit der Firmware für die Hardwarekomponenten auf der SD-Karte abgelegt. Dadurch kann diese Karte auch nur auf dem gleichen Arm-System mit identischer Hardware verwendet werden. Es gibt aber auch Wege diese Dateien auszutauschen, so dass eine andere HW verwendet werden könnte.

Bei Armbian sind solche Dateien zu finden unter dem Pfad

für besonders Interessierte.

Bei Raspian sind solche Dateien zu finden unter

mit der Funktion, dass ein Kernel für einige verschiedene Hardware-Typen verwendet werden kann, das heißt zum Beispiel für den Raspi 2 und Raspi 3.



To be done later:


Zuerst wurde die Swap-Partition gelöscht, dann die zweite Partition vergrößert auf ca 10GB, eine weitere Datenpartition mit ca. 4GB angelegt und zuletzt eine 1GB große Swap-Partition angelegt.

Die fstab mußte in dem Falle auch angepaßt werden, da die Swap-Partition nun nicht mehr die dritte sondern die vierte Partition ist.

sudo cat /etc/fstab

proc /proc proc defaults 0 0

/dev/mmcblk0p1 /boot vfat defaults 0 2

/dev/mmcblk0p2 / ext4 defaults,noatime 0 1

# a swapfile is not a swap partition, no line here

# use dphys-swapfile swap[on|off] for that

# added swapfile as partition

/dev/mmcblk0p4 swap swap defaults 0 0

/dev/mmcblk0p3 /media/seem ext4 defaults,noatime,users,rw 0 0


sudo mkdir /media/seem/data

sudo chmod 777 /media/seem/data


Aus den Angaben kann entnommen werden, wo die Partition zu finden ist. Alle in der in der fstab aufgenommenen Partitionen werden automatisch beim Start eingebunden. Für den Nutzer wurde noch ein beschreibbares Verzeichnis angelegt. Darunter kann dieser nun auch Dateien ablegen.




7.2 Anwendungen für Netzwerke und Internet

7.2.1 Lokales Netzwerk - Samba

Samba wird benötigt um mit Rechnern eines anderen Betriebssystems als Linux über das LAN zu verbinden um Netzwerkanwendungen und Netzwerkservices gemeinsam nutzen zu können. Zum Beispiel um die dortigen freigegebenen Laufwerke, Drucker, Datenbanken im Workspace und so weiter gemeinsam zu verwenden.

Das Paket Samba war als Standard nicht bereits installiert, obwohl einige Libraries (Bibliotheken, z.B. samba-common) für andere Anwendungen sehr wohl installiert waren.


$ sudo apt-get install samba

5 aktualisiert, 16 neu installiert, 0 zu entfernen und 176 nicht aktualisiert.

Es müssen noch 2.523 kB von 8.586 kB an Archiven heruntergeladen werden.

Nach dieser Operation werden 16,4 MB Plattenplatz zusätzlich benutzt.


7.3 Technische und naturwissenschaftliche Anwendungen


7.3.1 Mathematikprogramm octave

Für numerischen Berechnungen eignet sich gut die Anwendung octave, weil dessen Syntax die meisten dem kommerziellen Produkt Mathematica ähnelt.


$ sudo apt-get install octave

0 upgraded, 18 newly installed, 0 to remove and 10 not upgraded.

Need to get 14,8 MB of archives.

After this operation, 75,1 MB of additional disk space will be used.


7.3.2 Mathematikprogramm wxmaxima

Diese Anwendung wurde bereits in früheren Kapiteln installiert und wurde hier der Vollständigkeit halber aufgeführt.

$ sudo apt-get install wxmaxima


7.3.3 Elektrotechnische Schaltungen zeichnen und simulieren mit qucs

Für die Simulation von elektrischen Schaltungen ist die Anwendung qucs nicht uninteressant. Da diese vorwiegend im Bereich des Amateurfunks verwendet wird, sind die Standardwerte auf diese Simulationen mehr oder weniger optimiert. Ohne die Anwendung Octave läßt sich qucs umfassend bedienen, aber die Simulationsläufe verliefen ergebnislos. Der Paketmanager erzwingt keine installieren von Octave und muß manuell vom Nutzer selbst durchgeführt werden.


pi@raspberrypi:~ $ sudo apt-get install qucs

0 upgraded, 13 newly installed, 0 to remove and 10 not upgraded.

Need to get 14,6 MB of archives.

After this operation, 46,4 MB of additional disk space will be used.






7.4 Emulatoren und Virtualisierung


Zur Verwendung anderer Architekturen (hier x86) und Anwendungen anderer Betriebssysteme (z.B. Windows x.x) siehe folgender Link:

https://github.com/AlbrechtL/RPi-QEMU-x86-wine


Es handelt sich dabei um ein Raspian, welches um wine unter qemu ergänzt wurde. Eine interessante Lösung um kleine Anwendungen weiter verwenden zu können. Begründet ist dies darin, dass es wine nur für eine x86-Architektur gibt. Es lohnt sich unter Umständen zu testen, ob ein Treiber eines älteren Gerätes hier weiter verwendet werden kann.


https://wiki.debian.org/QemuUserEmulation

Adjusting the system: Depending on the your kernel settings, you may need to set 'vm.mmap_min_addr=0' sysctl option to allow a program being run under a regular user, not root.

https://wiki.debian.org/mmap_min_addr

Beschreibung wie der Wert für einmalige oder dauerhafte Verwendung gesetzt wird.

Test, was gesetzt ist:

$ cat /proc/sys/vm/mmap_min_addr

4096



Sicherheit:

Change the root password of your Raspberry Pi with the following command:

sudo passwd root

Add the user root as a mod with the following command:

sudo usermod -L root

At this point, your server should be up and running and you should be able to transfer files through FTP by using your servers IP address and connecting using port 21.




8 Problembehebungen

8.1 Keine graphische Ausgabe über den HDMI-Ausgang

Nachdem der Raspberry Pi 3 einige Zeit lag, wurde er mit einem anderen neuen Netzteil und USB-Kabel in Betrieb gesetzt. Über VNC ließ sich dieser betreiben, aber jeder Monitor zeigte kein Bild an mit der Fehlermeldung "No Signal".

Im Internet wurde beschrieben, dass dies auch ein Spannungsversorgungsproblem sein könnte. Wenn die rote LED sehr lange betrachtet wurde, dann konnte sehr selten ein Flackern beobachtet werden. Eine Messung am USB-Anschluss ergab eine Spannung zwischen 4,7 bis 4,9 Volt. die Angabe der Grenzen schwankt zwischen 4,65, 4,75, 4,8 und 4,85. Die USB-Netzteile streuen im Bereich von 4,95 bis 5,1 V und hier lag anscheinend gerade ein Netzteil vor, das sich um unteren Bereich der Streuung befand. Auf Grund der ausreichenden Leistungsfähigkeit des Netzteiles fielen die Spannungseinbrüche zu flach aus, so dass die Warnsymbole "rainbow sqare / yellow flash" nicht angezeigt wurden. Das Signal des Unterspannungsdetektors liegt gemäß einem Blog auch an GPIO Pin 35 an. Wenn man dieses auswerten wollte, müßte dieser Pin mit einem anderen GPIO Pin als Eingang verbunden werden und kann so ausgelesen werden.

Bei älteren Raspberry Pi Modellen wäre noch über:

sudo cat /sys/class/leds/led1/brightness

0 oder 255 auf der Konsole zur Auswertung möglich gewesen. Die grüne LED kann hier noch als led0 abgefragt werden.



https://howtoraspberrypi.com/raspberry-pi-hdmi-not-working/

"If despite all your attempts the Raspberry Pi still not display anithing on HDMI, it can come from a simple power supply problem. In other words, the power delivered by your power supply is enough to run your Raspberry Pi, but not to power the HDMI connection."



Leider wurde beim Raspbian kein Zugriff auf die Daten der PMU über den Bus realisiert. Somit sind keine Informationen über die 3,3 und 5 Volt über Software möglich. Bei Armbian/ Cubietruck sind solche Daten abzugreifen möglich.



Ein paar Werte sind aber über das Programm vgencmd per Software auszulesen.

http://raspberrypi.stackexchange.com/questions/7414/is-it-possible-to-detect-input-voltage-using-only-software



vcgencmd measure_volts core



The following shell commands will display all the voltages:

for id in core sdram_c sdram_i sdram_p

do

echo -e "$id:\t$(vcgencmd measure_volts $id)"

done



Auch die aktuelle Temperatur kann ausgegeben werden.

http://elinux.org/RPI_vcgencmd_usage



vcgencmd measure_temp

temp=48.9'C



Solange die Temperatur noch weit genug entfernt von 80/85 Celsius liegt, kann auf die Kühlkörper noch verzichtet werden (overtemperature condition >85 C).





1 Anlagen, Entwürfe, Reste, Baustellen

2 Energiekostenberechnungen

2.1 Vergleich eines Einplatinenrechners zu einem Minirechner oder Notebook

Ein Jahr hat zwischen 8760 bis 8784 Stunden (24x365 oder 366).

Im Dauerbetrieb ergibt sich folgender Stromverbrauch pro Jahr:

4W x 8760h = 35,04 kWh

Bei einem Strompreis von ca. 30ct/kWh (mit allen Steuern, d.h. allen verbrauchsabhängigen Nebenkosten, ohne Fixkosten) ergeben sich folgender Energiekosten pro Jahr:

4W x 8760h x 0,30 Euro = 10,53 Euro (aufgerundet)

Zum Vergleich die Kosten eines klassischen Mini-Rechners pro Jahr:

30W x 8760h x 0,30 Euro = 78,84 Euro

Daraus folgt, dass sich die Anschaffung des Einplatinenrechners bereits nach zwei Jahren amortisieren könnte.