Raspberry Pi und Linux - Basiswissen - Teil 2

Im ersten Teil habe ich Ihnen den Raspberry Pi, Raspberry Pi OS und auch ein bisschen Linux vorgestellt. Abgerundet wurde das Ganze damit, dass uns ein OLED-Display die wichtigsten Informationen vom Pi angezeigt hat. Eingeleitet habe ich Linux bzw. ehemals Raspbian damit, dass es eben kein Windows ist und vieles einfach für den Windows-Nutzer ungewohnt ist, wenn Sie zum ersten Mal einen Raspberry Pi mit Linux starten.

Im heutigen Beitrag soll das Thema Linux, in diesem Fall durch Raspberry Pi OS, weiter vertieft werden und wichtige Kommandos erklärt werden. Gleichzeitig will ich Ihnen die Struktur von Linux erklären (wobei ich das an dieser Stelle nur sehr oberflächlich machen werde, da diese Themen und alles was dazu gehört, ganze Bücher füllt. Wenn Sie mehr Interesse daran haben, Empfehle ich persönlich einen Blick in das Buch Raspberry Pi Handbuch für Einsteiger aber auch Linux: Das umfassende Handbuch) und wir installieren einen Apache Webserver.

Was ist Linux

Im ersten Teil bin ich schon einmal grob auf diese Frage eingegangen. Linux, ein Unix-ähnliches Betriebssystem, ist ein freies System, nach der General Public License, kurz GPL. Frei heißt in diesem Fall aber nicht nur einfach kostenlos, sondern dass Sie den kompletten Quellcode von Linux einsehen, kopieren oder auch kompilieren können. Theoretisch können Sie als Entwickler sogar an Verbesserungen an Linux mitwirken. Das ist schon einmal ein wesentlicher Unterschied zu Windows oder MacOS, da hier das dahinterstehende Unternehmen den Quellcode des Betriebssystems, kurz OS für Operating System, nicht frei öffentlich zugänglich macht.

Im Grunde habe ich im Absatz zuvor eine falsche Terminologe verwendet, wie es häufig bei Linux der Fall ist. Im Grunde ist Linux nicht das Betriebssystem, sondern bezeichnet nur den Kernel. Der Kernel ist, damit Sie es greifen können, das Kernsystem vom Betriebssystem und stellt alle elementaren Funktionen zur Verfügung. Im Wesentlichen sind das die Speicher- und Prozessorverwaltung und die Steuerung der Hardware. Aufbauend auf den Kernel wird dann das Betriebssystem mit z.B. grafischer Oberfläche gesetzt. Interessant dabei ist, dass Linux fast überall zu finden ist. Jedes größere Unternehmen nutzt Linux-Server, Android basiert auf Linux und viele Embedded Devices laufen mit Linux. Selbst bei den aktuellen Supercomputern ist der Anteil an Linux über 90%, wenn man die ganzen Distributionen mit einbezieht, siehe https://top500.org/statistics/list/, was in dem Konsumerbereich eben nicht der Fall ist.

Schaut man sich die weltweite Verteilung der Betriebssysteme im Konsumerbereich an, so ist Linux mit einem Anteil von 1,3%, ein recht magerer Vertreter beim Endanwender, siehe https://de.statista.com. Man könnte nun mit den Argumenten anfangen, dass auf fast jedem neuen Laptop ja eine aktivierte Windows-Version vorinstalliert ist und ein Apple-Gerät auch schon MacOS besitzt, oder wie kompliziert es die Hersteller einem machen (können), auf ein anderes System zu wechseln. Mit dieser Diskussion möchte ich aber erst gar nicht anfangen. Vom Prinzip ist es aber so, dass Sie ein Linux-basierendes Betriebssystem mit hoher Wahrscheinlichkeit auf Ihren PC oder Laptop installieren können.

Kommen wir an dieser Stelle noch auf das Thema Hardware-Unterstützung zu sprechen. Ein fertiger PC oder auch Laptop hat diverse verbaute Hardware, Festplatte, CPU, Sound- bzw. Grafikkarte, (W)LAN und ggf. weitere PCI-Express-Karten. All das unterstützt Linux ohne Probleme, auch wenn oft behauptet wird, dass Linux in Sachen Kompatibilität weit hinter Windows wäre. Tatsächlich unterstützt Linux so viele Hardwarekomponenten, wie kein anderes System! Das ist auch der Grund, warum z.B. Android oder aber unser beliebter Raspberry Pi, den Linux-Kernel verwendet.

Wenn Linux nicht das Betriebssystem ist, was dann?

Eingangs hatte ich versucht klar zu unterscheiden, was nun der Linux-Kernel ist und was das Betriebssystem. Der Kernel stellt die Basis für alle sogenannten Distributionen dar. Eine Distribution nutzt den Linux-Kernel, diverse Kommandos für die Shell, eine grafische Benutzeroberfläche, diverse Softwarepakete und packt das alles zu einem Installationsmedium zusammen. Bei dem Raspberry Pi ist dies das Standardbetriebssystem Raspberry Pi OS, welches als Image-Datei auf eine SD-Karte, oder seit dem Raspberry Pi 3 auch möglich, auf einen USB-Massenspeicher kopiert wird. Raspberry Pi OS, siehe Abbildung 1, ist eine schlanke Distribution, welche wenige Systemressourcen benötigt. Das ist vom Grundprinzip ihr Betriebssystem.

Abbildung 1: Desktop-Ansicht von Raspberry Pi OS

Abbildung 1: Desktop-Ansicht von Raspberry Pi OS

Dabei braucht Raspberry Pi OS in der Lite-Version, also ohne grafische Oberfläche, gerade einmal 400MB Speicherplatz, hingegen die Full-Version von Raspberry Pi OS 2,8GB. Der Speicherunterschied beider Versionen liegt darin, dass in der Full-Version viele (vermeintlich) nützliche Programme direkt mit verfügbar sind. Die Lite-Version stellt tatsächlich nur die grundlegendsten Funktionen zur Verfügung. Extras, wie z.B. ein Webserver, oder einen Remotedesktop-Server (nur bei grafischer Oberfläche), müssen zusätzlich installiert werden.

Der Vollständigkeit soll an dieser Stelle noch einmal erwähnt sein, dass Raspberry Pi OS als Basis die Distribution debian nutzt. Daher auch der ursprüngliche Name „Raspbian“. Persönlich nutze ich debian sehr gerne für meinen Webserver und Raspberry Pi OS für meine vielen Raspberry Pi’s. Das sind aber nicht alle Distributionen. Genannt werden sollte hier auch Ubuntu oder Linux Mint. Eine komplette Übersicht aller bekannten Distributionen finden Sie unter lidux.de.

Mythen und Aussagen rund um Linux

Im ersten Teil habe ich schon über einen großen Mythos aufgeklärt, es gibt aber noch einige mehr. Ich möchte, damit Sie merken, dass Linux nichts Böses ist, die gängigsten Mythen zusammenfassen und ggf. sogar widerlegen.

(1) Linux, bzw. deren Distributionen, sind nur was für IT-Nerds

Diese Behauptung ist relativ verbreitet und trifft zum einen zu, zum anderen aber auch nicht. Die verschiedenen Distributionen sind für unterschiedliche Personen gemacht. Es gibt Distributionen, wie Raspberry Pi OS, die einem Anfänger einen leichten Einstieg geben, aber auch Distributionen, wie z.B. Arch Linux, die eher etwas für Fortgeschrittene sind, die wissen was Sie tun (müssen)

(2) Linux ist nur über Terminal und umständlich zu bedienen

Auch hier wieder ein klares Jain. Viele Distributionen, wie auch Raspberry Pi OS, bieten die Möglichkeit, sie nur mit Terminal zu bedienen, oder aber eine grafische Oberfläche dem User mitzugeben. Viele Operationen sind mit der Konsole schneller durchzuführen, als auf der grafischen Oberfläche und einige Operationen gehen nur ausschließlich im Terminal.

(3) Linux bietet mir nicht das was Windows mir bietet

Diesen Mythos oder Aussage findet man häufig in Foren, wo es um das Thema Linux vs. Windows geht. Ja es gibt viel Software, die ausschließlich auf Windows und vllt. noch MacOS läuft. Ein guter Vertreter ist da Adobe mit z.B. Photoshop oder Lightroom. Aber unter Linux gibt es dafür qualitativ ebenbürtige Software. Teilweise ist es sogar möglich, mit dem Programm WINE bekannte Windows-Software unter Linux zum Laufen zu bekommen.

(4) Linux, bzw. deren Distributionen, sind total kompliziert

Da entgegne ich mal mit der Aussage, jedes (Betriebs-)System was ich nicht kenne, ist kompliziert. Auch unter Windows muss ich mich entsprechend einarbeiten, damit ich sicher damit umgehen kann.

(5) Linux, bzw. deren Distributionen, sind kompliziert zu installieren

Je nach Linux-Distribution kann diese Aussage stimmen. So schlimm, wie es noch vor 15 - 20 Jahren war, ist es mittlerweile nicht mehr und viele Anbieter von Distributionen haben einen ähnlichen Installer, wie bei Windows parat. Es gibt aber durchaus Linux-Distributionen, da sieht es anders aus und der Endanwender muss sich vorher kompliziert sein Betriebssystem zusammenbauen. Das hängt aber stark davon ab, welche Linux-Distribution Sie verwenden wollen. In vielen Fällen gibt es aber spezielle Foren, die einem da weiterhelfen.

(6) Für Linux gibt es keine Schadsoftware

Da muss ich leider auch widersprechen. Auch Linux, bzw. deren Distributionen, bleiben von Schadsoftware, sogenannter Malware, nicht verschont. Tatsächlich ist es aber deutlich komplizierter, Linux-Malware auf einem Rechner zu platzieren, als bei z.B. Windows. Ich weiß, dass ist nun eine gefährliche Aussage, die ich hier treffe, aber der Grund ist auch das Rechtesystem von Linux. Zudem lohnt es sich nur bedingt für Angreifer, Linux-Malware zu programmieren, da der Marktanteil von Windows im Konsumerbereich deutlich höher und der Schaden damit enormer ist.

(7) Ohne Terminal kann ich Linux bzw. deren Distributionen nicht 100% verwenden

Ja, dieser Aussage kann ich nur zustimmen. Viel Konfigurationsarbeit, für z.B. einen Webserver, kann ich nur mit Konfigurationsarbeit über das Terminal erledigen. Dazu muss ich als Endanwender aber auch wissen, was ich tue. Ein Anfänger wird in der Regel nicht gleich einen Webserver und Druckerserver einrichten, oder andere komplizierte Konfigurationen durchführen. Raspberry Pi OS ist in der Hinsicht sicher, solange der Raspberry Pi nicht aus dem Internet erreichbar ist. Aber auch hier betrifft dieses Szenario eher schon einen erfahrenen Anwender.

Ich könnte hier noch ewig weiter machen, aber ich denke, die gängigsten Aussagen oder Mythen habe ich klären können. Grundlegend sei aber gesagt: haben Sie keine Angst vor Linux, sondern experimentieren Sie damit! Jeder (Miss-)Erfolg ist ein Lernziel und Sie werden mit Linux bzw. einer Linux-Distribution vertrauter.

Laufwerke und Ordner unter Linux

Die Überschrift verrät es vllt. nicht direkt, aber jetzt folgt der Abschnitt, bei dem ich auf die Struktur von Linux im Vergleich zu Windows eingehen möchte. Wenn ich den Explorer von Windows öffne, siehe Abbildung 2, sehen Sie direkt die verschiedenen Laufwerke. Egal ob eine neue USB-Festplatte oder SD-Karte angeschlossen wird, Windows präsentiert diese immer als ein Laufwerk. Auch DVD- oder CD-Laufwerke bekommen eine Laufwerksbuchstaben von Windows zugeordnet.

Abbildung 2: Windows Explorer mit Laufwerken

Abbildung 2: Windows Explorer mit Laufwerken

Ein Laufwerk ist bei Windows eine komplette oder partitionierte Festplatte, die einen Laufwerksbuchstaben zugewiesen bekommt. Klassisch liegt auf der C-Partition das Betriebssystem Windows. Auf allen Festplatten können Programme installiert, oder Daten abgelegt, bearbeitet oder gelöscht werden. Natürlich können Sie auch entsprechend Ordner und Unterordner anlegen, bearbeiten oder löschen, wie es Ihnen gefällt. Der Vollständigkeit muss natürlich erwähnt werden, dass diese Operationen nur funktionieren, wenn die entsprechenden Berechtigungen vorhanden sind. Bei einem normalen Heimcomputer ist das meist der Fall. Damit Windows auch die entsprechenden Laufwerke erkennt, kommen die Filesysteme NTFS, FAT32 oder exFAT zum Einsatz. Ersteres ist mittlerweile seit Windows XP das Standard-Filesystem.

Linux, bzw. im weiteren Verlauf nutze ich Raspberry Pi OS als Referenz, geht hier einen anderen Weg. Vom Prinzip kann Linux alle Filesysteme lesen, wobei für NTFS ein Zusatzpaket installiert werden muss, seit dem Kernel 5.15 ist das Filesystem aber auch direkt verfügbar. Damit Linux booten kann, braucht es eine boot-Partition im vfat-Format bzw. Fat32 und mindestens eine weitere Partition, die als root-Partition „/“ eingehängt wird.

Wenn Sie im Terminal von Raspberry Pi OS Code 1 eintippen und mit Enter bestätigen, werden Sie eine ähnliche Ausgabe sehen, wie in Abbildung 3.

 sudo cat /etc/fstab

Code 1: FStab anzeigen

Abbildung 3: Ausgabe von fstab

Abbildung 3: Ausgabe von fstab

Die zweite Zeile ist die boot-Partition, die in den Pfad /boot eingehängt wird. Direkt danach sehen Sie die ext4-Partition die ins root-Verzeichnis „/“ eingehängt wird. Abgesehen von der PARTUUID ist das bei jedem Raspberry Pi OS und vielen Linux-Distributionen gleich. Jetzt kommt aber der Unterschied zu Windows! Linux nutzt nicht die Laufwerksstruktur von Windows, sondern man muss Festplatten in Pfaden mounten (einhängen). Klingt erst einmal komplizierter als es ist! Raspberry Pi OS übernimmt dieses Mounten von externem Speicher automatisch für Sie, wenn Sie z.B. einen USB-Stick anschließen, siehe Abbildung 4.

Abbildung 4: USB-Stick am Raspberry Pi angeschlossen

Abbildung 4: USB-Stick am Raspberry Pi angeschlossen

Für Sie sieht es so aus, als ob einfach nur ein neues Laufwerk, ähnlich wie bei Windows, erkannt wurde und Ihnen als Benutzer nun zur Verfügung steht. Tatsächlich aber passiert ein bisschen mehr im Hintergrund. Zunächst „erkennt“ Raspberry Pi OS, dass ein neuer Speicher eingesteckt wurde. Da es sich um einen Massenspeicher handelt, wird ein neuer Ordner unter dem Pfad /media/pi mit dem Namen „Datenträger 8,1GB“ angelegt und im Anschluss das Laufwerk /dev/sdb1 bzw. die entsprechende UUID gemounted. Im Anschluss erfolgen noch ein paar Berechtigungen und der Benutzer „pi“ kann auf den USB-Stick zugreifen. Das passiert alles im Hintergrund, viele Anfängerfreundliche Linux-Distributionen machen es ähnlich, es gibt aber auch Distributionen, da müssen Sie diese Abläufe manuell durchführen.

Sie werden jetzt wahrscheinlich verwundert sein, was /dev/sdb1 sein soll und warum unter /media/pi ein Ordner angelegt wurde, was ich aber jetzt erläutern möchte.

Kommen wir noch mal auf Abbildung 3 zu sprechen, wo die ext4-Partition in das root-Verzeichnis „/“ eingehängt wird. Im Grunde wird eben jene Festplattenpartition als Wurzel angegeben. Stellen Sie sich das vor wie bei einem Baum. Die Basis ist die Wurzel mit dem Baumstamm. Danach kommen die Äste, die hier die verschiedenen Ordner und Unterordner sind und zuletzt die Blätter an jedem Ast, welche die Dateien sind. Das root- bzw. Wurzelverzeichnis „/“ hat in der Regel die in Tabelle 1 beschriebenen Verzeichnisse.

Verzeichnis

Erklärung

/bin

Enthält für Linux unverzichtbare Programme (binaries), die zum Systemstart vorhanden sein müssen. Diese Programme können von allen Benutzern verwendet werden. Unterordner sind nicht erlaubt.

/boot

Enthält zum Booten benötigte Dateien.

/boot/grub enthält Dateien für den Bootloader GRUB 2

/boot/efi enthält EFI-Programme

/dev

Das Geräte-Verzeichnis (device) welches alle Hardwarekomponenten im Betrieb anspricht. Muss beim Systemstart vorhanden sein.

/etc

Ordner, der alle änderbaren Konfigurationsdateien beinhaltet. Früher et cetera (alles Übrige) später editable text configuration genannt.

/home

Das Verzeichnis, in dem jeder angelegte Benutzer ein separates eigenes Verzeichnis hat. Entspricht unter Windows dem Ordner „Eigene Dateien“

/lib

Enthält unverzichtbare Bibliotheken (libraries), die zum Systemstart benötigt werden

/lost+found

Enthält Dateien oder Dateifragmente, die beim Versuch, ein defektes Dateisystem zu reparieren, übriggeblieben sind.

/media

Ist in der Regel das Verzeichnis, welches als Einhängepunkte für Massenspeicher wie USB-Sticks oder externe Festplatten dient.

/mnt

Der mount-Ordner (eingehängt) ist für temporär eingehängte Speicher. Wird hier ein Speicher eingehängt, erscheint dieser nicht auf dem Desktop, wie bei /media.

/opt

Der Optional-Ordner ist für die manuelle Installation von Programmen gedacht, die eigene Bibliotheken mitbringen und nicht über den Paketmanager der Distribution verfügbar sind

/proc

Dient als Schnittstelle zu laufenden Programmen (processes)

/root

Das Heimverzeichnis vom root-User.

/run

In diesem Ordner befinden sich Dateien, die den Zustand vom System speichert. Früher unter /var/run zu finden

/sbin

Enthält Systemprogramme (system binaries) die beim Systemstart vorhanden sein müssen. Beinhaltet Systemprogramme, die nur der Systemadmin, oder ein User mit Superuserrechten ausführen dürfen.

/svr

Der Ordner der Daten für Dienste (services) enthält

/sys

Der Ordner system enthält hauptsächlich Kernelschnittstellen

/tmp

Ordner für temporäre Dateien und Ordner. Wird beim Booten komplett geleert

/usr

Unter user sind Systemtools, Bibliotheken und installierte Programme abgelegt

/var

Das variable Verzeichnis enthält Dateien und Ordner, die von den verschiedenen Programmen geändert werden können. Als Beispiel dienen hier die Log-Files unter /var/log, wo jedes Systemprogramm Logs erstellen kann.

Tabelle 1: Verzeichnisstruktur von Linux

Die letzte Frage ist nun vllt. noch, warum der USB-Stick unter dem Ordner /dev als sdb1 eingetragen ist. Dazu möchte ich einfach auf einen Artikel von debian.org verlinken, die das sehr knapp und verständlich zusammengefasst haben.

Programme auf dem Raspberry Pi (de-)installieren

Fast jede Distribution hat einen eigenen Paketmanager, mit dem es dem Benutzer möglich ist, Software zu (de-)installieren oder das System auf den aktuellen Stand zu bringen, siehe Abbildung 5.

Abbildung 5: Grafischer Paketmanager vom Raspberry Pi OS

Abbildung 5: Grafischer Paketmanager vom Raspberry Pi OS

Hier können Sie z.B. den beliebten http-Server Apache installieren. In der Suche geben Sie das zu suchende Programm, oder die benötigte Bibliothek ein, lassen danach suchen und über die Auswahl und OK wird dann das Paket theoretisch installiert, siehe Abbildung 6.

Abbildung 6: Den apache HTTP Server installieren

Abbildung 6: Den apache HTTP Server installieren

Um ehrlich zu sein, mag ich diese Variante nicht, da jeder Paketmanager so seine Eigenart hat. Viel besser, auch auf Hinblick mit den Abhängigkeiten, ist das Installieren von Paketen mit dem apt Paketmanager aus der Konsole heraus. Sie kennen das bestimmt schon aus unseren eBooks, wie Sie z.B. das Raspberry Pi OS auf dem aktuellen Stand halten können.

Öffnen Sie die Konsole und geben Sie die Befehle aus Code 2 ein:

 sudo apt update && sudo apt dist-upgrade -y && sudo apt autoremove

Code 2: Raspberry Pi OS und Programme vom Pi aktualisieren

Das „sudo“ ist dabei der Befehl, dass wir den nachkommenden Befehl mit Systemadministratorenrechten ausführen wollen. Eine der wohl lustigsten Memes, die den Befehl „sudo“ sehr gut erklärt, zeigt Abbildung 7.

Abbildung 7: Meme sudo sandwich, Quelle devrant.com

Abbildung 7: Meme sudo sandwich, Quelle devrant.com

Ohne das Kommando sudo am Anfang würde Raspberry Pi OS genauso reagieren, wie das rechte Strichmännchen und die Ausführung des Befehls verweigern. Gleichzeitig, sollten Sie keine sudo-Rechte haben, wird der Systemadministrator über einen „illegalen“ Versuch informiert. Woher Raspberry Pi OS weiß, wer diese Rechte hat und wer nicht, liegt einmal daran, in welcher Gruppe sich der User befindet, siehe Abbildung 8.

Abbildung 8: Zeige Gruppen, zu den der User pi gehört

Abbildung 8: Zeige Gruppen, zu den der User pi gehört

Sie sehen deutlich, dass der Benutzer pi unter anderem der Gruppe sudo angehört. Damit hat pi schon einmal Systemadminrechte und darf auch die entsprechenden Kommandos ausführen. In der Theorie muss trotzdem jeder Benutzer ein Passwort eingeben müssen, das steht in der Datei /etc/sudoers, siehe Abbildung 9.

Abbildung 9: Inhalt von /etc/sudoers

Abbildung 9: Inhalt von /etc/sudoers

Das ist aber nur ein Teil dieser Datei. Zusätzlich gibt es das Verzeichnis /etc/sudoers.d, siehe Abbildung 10, der nachfolgende Dateien beinhaltet.

Abbildung 10: Inhalt von Pfad /etc/sudoers.d

Abbildung 10: Inhalt von Pfad /etc/sudoers.d

Interessant ist hier die Datei 010_pi-nopasswd, siehe Abbildung 11, die eben von /etc/sudoers inkludiert wird und anschließend die entsprechenden Rechte eingelesen werden. Darin ist festgelegt, dass pi kein Passwort eingeben muss, wenn Befehle mit sudo ausgeführt werden sollen.

Abbildung 11: Inhalt von 010_pi-nopasswd

Abbildung 11: Inhalt von 010_pi-nopasswd

Kommen wir aber nun wieder zurück zu der Installation des Apache-Webservers über die Kommandozeile. Um den Apache-Webserver mit allen Abhängigkeiten zu installieren, reicht es mit dem Kommando aus Code 3:

 sudo apt install apache2

Code 3: Kommando zum Installieren vom apache-Webserver

Direkt nach diesem Kommando wird geprüft, ob Apache schon installiert wurde und wenn nicht, welche Abhängigkeiten noch fehlen, siehe Abbildung 12.

Abbildung 12: Apache-Webserver mit allen Abhängigkeiten installieren

Abbildung 12: Apache-Webserver mit allen Abhängigkeiten installieren

Bestätigen Sie die letzte Meldung mit einem Enter und Apache mit allen nötigen Paketen werden auf ihrem aktuellen Raspberry Pi OS runtergeladen und installiert. Je nach Pi und Internetleitung, kann dieser Vorgang ein bisschen dauern. Da es sich aber um relativ kleine Pakete handelt, sollte es nicht allzu lange dauern. Direkt danach können Sie in einem Browser die Adresse 127.0.0.1 auf dem Raspberry Pi oder die IP-Adresse ihres Pi auf einem anderen PC öffnen und sehen die Default-Seite von Apache, siehe Abbildung 14.

Abbildung 13: Default-Seite von apache-Seite

Abbildung 13: Default-Seite von apache-Seite

Damit haben Sie einen eigenen Webserver in ihrem Netzwerk, der komplett ungesichert ist und deshalb erst einmal nicht über Internet erreichbar sein sollte. Apache oder nginx sind in den meisten Fällen die erste Wahl für einen kleinen eigenen Webserver. Egal ob es dabei um eine eigene Nextcloud oder eine Wordpress-Seite geht. Gerade für die meisten Webservices gibt es gute (englischsprachige) Tutorials, wie Sie diese auf einem Pi installieren können.

Interessante Projekte für Sie könnten sein:

Tatsächlich nutze ich meine Pi’s für diverse Projekte. Da wäre zunächst mein DNS-Filter, um unnötige Werbung zu blockieren. Gleichzeitig habe ich ein Pi als Low-Budget-NAS, ein Pi als 3D-Druckerserver und ein Arbeits-Pi, den ich für Kali-Linux (Hacking) und Entwickler-System nutze. Viele haben aber eine Gemeinsamkeit, dass alle eine SSD als Massenspeicher benutzen, die durch eine Expansionskarte meiner diversen Gehäuse via USB gemounted werden.

Kommandos die Sie kennen sollten

Damit kommen wir zum letzten Teil dieses Artikels, wichtige Kommandos, die Sie kennen sollten für das Terminal. Dazu habe ich Tabelle 2 für Sie zusammengestellt.

Kommando

Beschreibung

cp

Kopiert eine Datei, oder mit dem Attribut -r einen Ordner an einen anderen Ort. Syntax ist cp /Pfad/zur/Datei /Pfad/zum/Ziel

mv

Verschiebt eine Datei, oder mit dem Attribut -r einen Ordner an einen anderen Ort. Syntax mv /Pfad/zur/Datei /Pfad/zum/Ziel

chown

Ändert den Eigentümer einer Datei oder eines Ordners. Geht außerhalb vom Homeverzeichnis nur mit sudo-Rechten und mit Attribut -r auch rekursiv auf Ordner anwendbar. Geht auch um die Gruppe zu ändern. Syntax chown Option Benutzer:Gruppe DATEI

chmod

Ändert die Zugriffsrechte von Dateien und Ordnern für Benutzer und Eigentümer. Syntax chmod Option Modus Datei/Verzeichnis [Datei/Verzeichnis 2 usw.

apt

Ausführen vom Paketmanager apt.

Mit apt install Paket wird das Paket installiert mit allen Abhängigkeiten

Mit apt purge Paket wird das Paket deinstalliert

Mit apt autoremove werden nicht benötigte Pakete entfernt

Mit apt update werden die Paketdaten aktualisiert

Mit apt dist-upgrade werden alle Pakete aktualisiert

Mit apt autoclean werden alle nicht benötigte Daten von alten Paketen gelöscht

nano

Öffnet oder legt eine Datei mit dem Texteditor nano (an). Syntax nano /Pad/zur/Datei

Dateien außerhalb vom Homeverzeichnis des Benutzers müssen mit Systemrechten geöffnet werden

cat

Gibt den Inhalt einer Datei im Terminal aus, sofern der Benutzer die erforderlichen Rechte hat.

blkid

Listet alle angeschlossene Datenträger auf

df

Zeigt den freien Speicher aller gemounteten Laufwerke an. Mit Attribut -h wird die Ausgabe lesbar für Menschen

top

Listet die aktuellen Prozesse vom System auf.

clear

Löscht alle Einträge aus dem Terminal

cd

Wechselt in ein anderes Verzeichnis

man

Öffnet die Hilfedatei zu dem gewünschten Programm.

Syntax man Programm

ls

Listet alle Dateien und Ordner im aktuellen Verzeichnis auf. Mit Attribut -a werden auch versteckte Dateien und Ordner angezeigt

dir

Wie ls nur nicht so bunt

Tabelle 2: Wichtige Terminal-Kommandos für Einsteiger

Natürlich gibt es noch viel mehr Kommandos in der Linux-Welt. Diese kann ich aber nicht alle aufzählen, damit kann man im wahrsten Sinne des Wortes ein Buch füllen. Ich empfehle, sofern Sie das interessiert, das Buch von Kofler Linux Kommandoreferenz.

Zusammenfassung

In den beiden Blogbeiträgen habe ich Ihnen den Raspberry Pi und auch Linux in Form von Raspberry Pi OS nähergebracht. Ein kleines Projekt im vergangenen Blogbeitrag und hier der Webserver sind nur kleinere Beispiele, was mit dem Raspberry Pi so alles möglich ist. Es gibt sowohl hier bei AZ-Delivery, als auch auf anderen Seiten, diverse Projekte für Sie und andere Maker. In den meisten Fällen wird Python oder C/C++ als grundlegende Programmiersprache verwendet, daher sollten Sie gerade diesen beiden Sprachen Aufmerksamkeit schenken. Gleichzeitig können Sie die Hardware, die AZ-Delivery anbietet, auch für den Raspberry Pi benutzen. Diese und andere Kommandos sind nicht nur unter Raspberry Pi OS verfügbar, sondern auch auf anderen Linux-Distributionen. Gerade der Raspberry Pi ist eine gute Spielwiese, um sich mit dem Thema Linux und Hard- und Softwareentwicklung auseinanderzusetzen.

Weitere Projekte für AZ-Delivery von mir, finden Sie unter https://github.com/M3taKn1ght/Blog-Repo.

Projekte für anfängerRaspberry pi

3 Kommentare

Andreas Wolter

Andreas Wolter

@Wolfgang: wir haben die Idee in der Schublade, einen solchen Beitrag zu schreiben. Tests dazu haben wir bereits durchgeführt.

Wolfgang

Wolfgang

Hallo, alles klar und verständlich erklärt, ein tolles Handbuch.
Gibt es eigentlich auch eine Anleitung, einen Raspi 4 ohne SD-Karte zu betreiben, nur mit Stick oder SSD?
Danke auch an AZ für die vielen tollen Beiträge.

W.Herz

W.Herz

Danke für dieses tolle Tutorial. Da macht es gleich doppelt soviel Spaß sich mit dem Thema zu beschäftigen.
Super erklärt!

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert