Tag2 - maBurger/raspiKurs GitHub Wiki
- NOOBS
- raspian
- raspi-config
- Software Pakete
Im direkten Betrieb wird die gesamte Hardware an den raspi angeschlossen. Das sind
- die USB Tastatur
- die USB Maus
- per HDMI Kabel ein Bildschirm
- das Netzwerk-Kabel
- die Stromversorgung via Mikro-USB
Alle Aktionen werden direkt auf dieser Hardware eingetippt oder mit der Maus ausgelöst. Die Ausgabe wird ebenfalls von der Grafikeinheit des raspi erzeugt und auf dem Bildschirm dargestellt.
Das sieht folgendermaßen aus
Im Netzwerkbetrieb brauchen wir nicht so viel Hardware direkt am raspi anzuschließen. Was hierbei notwendig ist
- das Netzwerk-Kabel, ganz wichtig ansonsten kannst Du Deinen raspi nicht anrufen
- die Stromversorgung via Mikro-USB
In diesem Modus werden deine Eingaben (per Maus und Tastatur) von einem anderen Rechner zum Beispiel Deinem Laptop aus gemacht und über das Netzwerk an den raspi gesendet.
Das sieht dann so aus
IP Adresse die Hausnummer des raspberry Jeder Rechner der Teil eines Netzwerk ist hat eine IP Adresse. Darüber kann er angesprochen werden. Dies ist zum Beispiel eine IP Adresse
192.168.178.58
Wie kann ich meine IP Adresse finden
Dazu gibt es Hilfsprogramme, die standardmäßig installiert sind. Auf der Kommandozeile eingeben:
pi@raspberry:~# ifconfig
eth0 Link encap:Ethernet Hardware Adresse b8:27:eb:b9:c8:fc
UP BROADCAST MULTICAST MTU:1500 Metrik:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metrik:1
RX packets:19266 errors:0 dropped:0 overruns:0 frame:0
TX packets:19266 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:166738436 (159.0 MiB) TX bytes:166738436 (159.0 MiB)
wlan0 Link encap:Ethernet Hardware Adresse 7c:dd:90:5d:55:a1
inet Adresse:192.168.178.58 Bcast:192.168.178.255 Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:7709 errors:0 dropped:0 overruns:0 frame:0
TX packets:3814 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:761492 (743.6 KiB) TX bytes:3825110 (3.6 MiB)
pi@raspberry:~# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever
inet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether u0:21:cc:c7:d2:cc brd ff:ff:ff:ff:ff:ff
inet 192.168.178.260/24 brd 192.168.178.255 scope global dynamic noprefixroute eth0 valid_lft 331417sec preferred_lft 331417sec
inet6 2006:xxb8:xxa1:0x00:4e98:56ft:ftd1:7599/64 scope global dynamic noprefixroute valid_lft 6875sec preferred_lft 3275sec
inet6 fe80::61fc:e0c0:e71b:f6fb/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether u0:21:cc:c7:d2:cc brd ff:ff:ff:ff:ff:ff
inet 192.168.178.107/24 brd 192.168.178.255 scope global dynamic noprefixroute wlan0
valid_lft 331434sec preferred_lft 331434sec
inet6 2006:xxb8:xxa1:0x00:4e98:56ft:ftd1:7599/64 scope global dynamic noprefixroute valid_lft 6875sec preferred_lft 3275sec
inet6 fe40::4880:1c67:7fed:ff59/64 scope link noprefixroute valid_lft forever preferred_lft forever
Was ist die Hardware Adresse --> MAC Adresse
Diese Adresse ist weltweit für jedes Netzwerk Gerät eindeutig und wird schon vom Hersteller des Chips festgelegt.
Hardware Adresse f0:21:cc:c7:d2:cf
Was sagt mir die Maske?
Die Maske macht deutlich wie groß das Netzwerk ist. ... 255.255.255.0 Besagt das die Adresse 192.168.178.xx nur an Stelle xx variabel ist (Es können 254 verschiedene Adressen vergeben werden.) 255.255.0.0 Besagt das die Adresse 192.168.xx.xx an allen xx-Stellen variabel ist (Es können 254 * 254 also 64516 Adressen vergeben werden) 255.0.0.0 Besagt das die Adresse 192.xx.xx.xx an allen xx-Stellen variabel ist (Es können 254³ also 16387064 Adressen vergeben werden)
Kann ich die IP Adresse von anderen Rechnern herausfinden?
Ja klar das geht. Wir können z.B. herausfinden welche IP Adresse der Webserver von mincraft hat.
- Mit APT nach nslookup suchen (
pi@raspberry:~# sudo apt search nslookup
) - dnsutils Paket intallieren
- nslookup verwenden (
pi@raspberry:~# nslookup <Domain/Adresse>
)
Schaut her. Es gibt sogar einen Server der maincraft heißt. :-)
Kann ich den anderen Rechner erreichen? Ich klopfe quasi an die Haustür des anderen Rechners:
pi@raspberrypi:~# ping mincraft.net
PING mincraft.net (66.228.63.51) 56(84) bytes of data.
64 bytes from nb-66-228-63-51.atlanta.nodebalancer.linode.com (66.228.63.51): icmp_req=1 ttl=53 time=919 ms
64 bytes from nb-66-228-63-51.atlanta.nodebalancer.linode.com (66.228.63.51): icmp_req=2 ttl=53 time=118 ms
64 bytes from nb-66-228-63-51.atlanta.nodebalancer.linode.com (66.228.63.51): icmp_req=3 ttl=53 time=118 ms
64 bytes from nb-66-228-63-51.atlanta.nodebalancer.linode.com (66.228.63.51): icmp_req=4 ttl=53 time=118 ms
64 bytes from nb-66-228-63-51.atlanta.nodebalancer.linode.com (66.228.63.51): icmp_req=5 ttl=53 time=118 ms
--- mincraft.net ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 118.532/118.879/119.582/0.428 ms
Dieses Bild zeigt wie ein privates Netzwerk, zum Beispiel bei Dir zu Hause aussehen kann:
Vorbereitung
Auf dem raspberry fernen Rechner ( von hier aus möchtest Du den raspi fernsteuern) muss eine zusätzliche Software installiert werden.
mobaxterm bietet uns alles was wir brauchen auf dem Windows Rechner: http://mobaxterm.mobatek.net/ Download --> Home Edition
ssh steht für Secure Shell und ist ein Programm unter linux. Damit kann man sich von einem Linux Rechner aus (also auch von Deinem raspberry pi) auf andere Rechner verbinden
ssh <ip-adresse>
.....
export DISPLAY=192.168.178.32:0
Dann werden die Fenster auf dem anderen Rechner dargestellt. Das funktioniert über das mobaxterm Programm. Mit anderen SSH Programmen kann man sich die Fenster nicht auf den Windows PC holen!
Vorbereitung Notwendige Software installieren. Dies ist das Paket xrdp
sudo apt install xrdp
Die Installation wir durch die Meldung, dass der Remote Desktop Protocol server gestartet wird beendet:
Damit kann der raspberry pi schon von Windows aus gesteuert werden.
Windows Remote Desktop Verbindung
- In der Sucheingabe unter Start "Remotedesktopverbindung" eingeben und das gefundene Programm durch doppelklick starten.
- Im Fenster die IP-Adresse eures raspi eingeben
- Weil der raspi sich nicht genau so melden kann, wie es Windows braucht, kommt ein Warnhinweis, den wir bestätigen können
- Jetzt kommt schon das erste Fenster vom raspi, das Einloggen. Benutzer: pi Passwort: euer Passwort
5. Nach kurzer Arbeit des raspi können wir auch schon das Fenster sehen und ganz normal arbeit.
Zum Trennen der Verbindung auf dem raspberry
Shutdown --> Logout
wählen.
ifconfig
BESCHREIBUNG Ifconfig wird benutzt um kernel-residente Netzwerksschnittstellen zu konfigurieren. Es wird zur Systemstartzeit verwendet, um die Schnittstellen nach Notwendigkeit zu initialisieren. Danach wird es üblicherweise nur zur Fehlersuche oder zur Verfeinerung der Systemkonfiguration verwendet.
Wenn keine Argumente angegeben werden, dann zeigt ifconfig den Zustand der Augenblicklich aktiven Netzwerksschnittstellen. Wird ein einzelne Schnittstellenargument angegeben, so zeigt es nur den Zustand der angegebenen Netzwerksschnittstelle an. Wird ein einzelne -a Option angegeben, zeigt es den Zustand aller Schnittstellen an, selbst wenn diese inaktiviert sind. Ansonsten konfiguriert ifconfig eine Schnittstelle.
ping
Mit ping werden kleine Datenpakete über das Internet zu einem entfernten Rechner geschickt. Dieser muss antworten. Über die Reaktionsgeschwindigkeit kann man feststellen, wie schnelle die Verbindung mit dem Rechner ist und ob der Rechner überhaupt angeschaltet ist.
pstree
Mit diesem Befehl wird ein Baum der Prozesse, die auf dem raspi laufen angezeigt:
pi@raspberry:~# pstree
init─┬─console-kit-dae───64*[{console-kit-dae}]
├─cron
├─2*[dbus-daemon]
├─dbus-launch
├─dhclient
├─7*[getty]
├─gvfs-afc-volume───{gvfs-afc-volume}
├─gvfs-gdu-volume───{gvfs-gdu-volume}
├─gvfs-gphoto2-vo
├─gvfsd
├─gvfsd-dnssd
├─gvfsd-metadata
├─gvfsd-network───2*[{gvfsd-network}]
├─gvfsd-smb───2*[{gvfsd-smb}]
├─gvfsd-smb-brows───2*[{gvfsd-smb-brows}]
├─gvfsd-trash───{gvfsd-trash}
├─3*[ifplugd]
├─lxpolkit───{lxpolkit}
├─lxterminal─┬─bash───man───pager
│ ├─gnome-pty-helpe
│ └─{lxterminal}
├─menu-cached───{menu-cached}
├─ntpd
├─polkitd───2*[{polkitd}]
├─rsyslogd───3*[{rsyslogd}]
├─sshd─┬─sshd───sshd───bash───pstree
│ └─sshd───sshd───sftp-server
├─thd
├─udevd───2*[udevd]
├─udisks-daemon─┬─udisks-daemon
│ └─2*[{udisks-daemon}]
├─wpa_cli
├─wpa_supplicant
├─xrdp───{xrdp}
└─xrdp-sesman───xrdp-sessvc─┬─Xvnc
├─ck-launch-sessi─┬─lxsession─┬─einpanel───3*[{lxpanel}]
│ │ ├─openbox
│ │ ├─pcmanfm───2*[{pcmanfm}]
│ │ └─{lxsession}
│ └─ssh-agent
└─xrdp-chansrv───{xrdp-chansrv}
Das kann manchmal ganz hilfreich sein, wenn man feststellen möchte, was auf dem raspi so alles passiert.
Jedes Programm, dass Du startest hat mindestens einen Prozess und muss in der pstree enthalten sein.
ps aux
Mit diesem Befehl bekommst Du noch mehr über die Prozesse heraus.
pi@raspberry:~# ps aux
PID TTY STAT TIME COMMAND
1 ? Ss 0:03 init [2]
2 ? S 0:00 [kthreadd]
3 ? S 0:00 [ksoftirqd/0]
5 ? S< 0:00 [kworker/0:0H]
7 ? S 0:20 [rcu_preempt]
8 ? S 0:00 [rcu_sched]
9 ? S 0:00 [rcu_bh]
....
1630 ? S 0:04 /usr/sbin/ifplugd -i wlan0 -q -f -u0 -d10 -w -I
1717 ? S 0:04 /usr/sbin/ifplugd -i lo -q -f -u0 -d10 -w -I
1723 ? S 0:30 /usr/sbin/ifplugd -i eth0 -q -f -u0 -d10 -w -I
1777 ? Ss 0:02 /sbin/wpa_supplicant -s -B -P /var/run/wpa_supplicant.wlan0.pid -i wlan0 -W -D nl80211,wext -c /etc/wpa_supplicant/wpa_supplicant.conf
1817 ? Ss 0:01 /sbin/wpa_cli -B -P /var/run/wpa_action.wlan0.pid -i wlan0 -p /var/run/wpa_supplicant -a /sbin/wpa_action
1961 ? Ss 0:00 /usr/sbin/thd --daemon --triggers /etc/triggerhappy/rootkit.d/ --socket /var/run/thd.socket --pidfile /var/run/thd.pid --user nobody /dev/input/event*
2003 ? Sl 0:09 /usr/sbin/rsyslogd -c5
2077 ? Sl 2:06 /usr/sbin/xrdp
2128 ? S 0:00 /usr/sbin/xrdp-sesman
2179 ? Ss 0:00 /usr/sbin/cron
2234 ? Ss 0:00 /usr/bin/dbus-daemon --system
2252 ? S< 0:00 [kworker/0:1H]
2282 tty1 Ss+ 0:00 /sbin/getty --noclear 38400 tty1
2283 tty2 Ss+ 0:00 /sbin/getty 38400 tty2
2284 tty3 Ss+ 0:00 /sbin/getty 38400 tty3
...
7519 pts/0 S+ 0:00 man ifconfig
7533 pts/0 S+ 0:00 pager -s
7536 ? S 0:00 [kworker/2:2]
7539 ? Ss 0:00 sshd: pi [priv]
7543 ? Ss 0:00 sshd: pi [priv]
7546 ? S 0:00 sshd: pi@pts/1
7552 ? S 0:00 sshd: pi@notty
7553 pts/1 Ss 0:00 -bash
7554 ? Ss 0:00 /usr/lib/openssh/sftp-server
7633 ? S 0:00 [kworker/0:0]
7653 pts/1 R+ 0:00 ps ax
Ganz wichtig für den nächsten Befehl ist die PID Process ID. Diese findest Du in der ersten Spalte.
kill
Mit kill können Prozesse gestoppt werden. Das ist nützlich, wenn ein Programm / Prozess nicht mehr reagiert.
pi@raspberry:~# sudo kill 7519
Das Programm gibt keine Rückmeldung, du siehst nur, dass zum Beispiel das Fenster verschwindet.
passwd
Nachdem wir gelernt haben, dass man sich mit den richtigen Tools ganz schnell auf einen anderen Rechner aufschalten kann, wird klar, das der Benutzer und das Passwort sehr wichtig sind. Also das Standard Passwort des Benutzers pi sollte von jedem geändert werden. Das geht mit dem Befehl
pi@raspberry:~# passwd
Ändern des Passworts für pi.
(aktuelles) UNIX-Passwort:
Geben Sie ein neues UNIX-Passwort ein:
Geben Sie das neue UNIX-Passwort erneut ein:
passwd: Passwort erfolgreich geändert
sudo
Steht für superuser do. Damit können linux Befehle als Administrator ausgeführt werden. Manchmal ist das Ausführen eines Befehls nur als superuser möglich. Aber Vorsicht! Bei einem Fehler kann man mit Superuser Rechten sehr schnell etwas kaputt machen.