Neues Buch - Pilotumgebung Link and Learn Bw PDF

Summary

Dies ist ein neues Buch über Linux. Der Inhalt umfasst eine Einführung in die Grundlagen von Linux, seine Strukturen und die Systemverwaltung. Es wird sowohl für Linux-Einsteiger als auch Fortgeschrittene von Interesse sein. Die Informationen sind detailliert und verständlich.

Full Transcript

08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw neues Buch Website: Pilotumgebung Link and Learn der Bundeswehr Gedruckt von: Brieger, Ke...

08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw neues Buch Website: Pilotumgebung Link and Learn der Bundeswehr Gedruckt von: Brieger, Kevin Kurs: Linux Datum: Sonntag, 8. Dezember 2024, 19:57 Buch: neues Buch https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 1/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw Inhaltsverzeichnis 1. Warum Linux 2. Unter der Haube: Wer schraubt, wer übersetzt und wer die Show abzieht? 2.1. Der unsichtbare Boss: Warum der Kernel das Sagen hat! 2.2. Shell it like it is: Dein direkter Draht zum Linux-Herz! 2.3. "Klick mich!" - Wie die GUI den Computer zur Spielwiese macht 3. Ordnerstruktur 3.1. Alles im Griff: Wie der Root-Ordner dein System zusammenhält! 3.2. Bin da, sbin da – Die stillen Stars der Linux-Kommandozeile 3.3. Boot up – Was Linux aus dem Bett holt! 3.4. Medien, Mounts und Magie – So schnappt sich Linux deine Geräte! 3.5. Home Sweet /home – Zwischen User-Gemütlichkeit und Admin-Macht 3.6. Lib it up! – Die unsichtbaren Helden im Linux-Baukasten 3.7. /etc und /opt – Willkommen in Config-Cockpit und Software-Spielplatz! 3.8. Prozess-Paparazzi und Hardware-Hack: Was /proc und /sys verraten 3.9. Daten-Parkplatz, Log-Dschungel und das Fundbüro – Willkommen in /tmp, /var und /lost+found! 4. Verwaltung 5. Hard- und Softlinks 6. Exkurs GRUB 2 7. Exkurs Bibliotheken https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 2/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 1. Warum Linux Ansprechen: Linux ist ein beliebtes und offenes Betriebssystem, das für seine Flexibilität, Sicherheit und die Unterstützung durch eine große Gemeinschaft bekannt ist. Es wird von vielen Menschen und Unternehmen weltweit genutzt, sowohl zu Hause als auch im Beruf. Linux findet man in vielen Bereichen, wie zum Beispiel auf Servern, in der Cloud, in Geräten des Internets der Dinge (IoT), auf Supercomputern und sogar in Alltagstechnologien wie Smartwatches und VR-Brillen. Im Gegensatz zu geschlossenen Systemen wie Windows und macOS, deren Quellcode nicht öffentlich einsehbar ist, kann jeder den Linux-Code sehen, ändern und verbessern. Beurteilen: Linux ist aufgrund seiner Offenheit, Anpassungsfähigkeit, hohen Sicherheit, Stabilität und Skalierbarkeit besonders für kritische Anwendungen geeignet. Die Open-Source-Community sorgt durch ständige Weiterentwicklung und Sicherheitsupdates dafür, dass Linux immer auf dem neuesten Stand bleibt. Diese Eigenschaften machen es zur bevorzugten Wahl für viele professionelle Umgebungen. Folgern: Linux ist weit mehr als nur ein Betriebssystem – es ist ein vielseitiges Werkzeug, das sich nahezu jeder Aufgabe anpassen lässt und sich kontinuierlich weiterentwickelt. Es ist von Vorteil, die grundlegenden Befehle, Konfigurationsoptionen und Best Practices zu beherrschen. Durch Schulungen, praktische Übungen und die Nutzung von Ressourcen der Linux-Community (Suchmaschinen sind Ihr bester Freund) können Sie Ihre Fähigkeiten kontinuierlich ausbauen. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 3/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 2. Unter der Haube: Wer schraubt, wer übersetzt und wer die Show abzieht? Ansprechen Ein Computer besteht aus verschiedenen Schichten, die zusammenarbeiten, damit wir ihn benutzen können. Drei wichtige Teile sind der Kernel, die Shell und die grafische Benutzeroberfläche. Sie erfüllen unterschiedliche Aufgaben und sorgen dafür, dass der Computer reibungslos läuft und benutzerfreundlich ist. Der Kernel ist das Herz des Betriebssystems. Er steuert die gesamte Hardware des Computers, also alle physischen Teile wie den Prozessor, den Speicher und die Geräte. Der Kernel sorgt dafür, dass Programme die benötigten Ressourcen bekommen und kümmert sich darum, dass alles reibungslos funktioniert Die Shell ist die Programmierschnittstelle, die unsere Befehle entgegennimmt und an den Kernel weiterleitet. Sie arbeitet direkt mit dem Nutzer zusammen und interpretiert die eingegebenen Befehle, um sie dann auszuführen. Die Shell selbst ist meistens textbasiert und verarbeitet diese Befehle, aber sie ist keine eigenständige Anwendung, die man direkt sieht. Das Terminal ist die Anwendung, die uns erlaubt, die Shell zu nutzen. Es zeigt, was wir eintippen und gibt die Antworten der Shell zurück. Die grafische Benutzeroberfläche (GUI) ist die bunte, klickbare Oberfläche, die wir sehen, wenn wir den Computer benutzen. Sie besteht aus Fenstern, Icons, Menüs und Schaltflächen und macht die Nutzung des Computers einfach und verständlich. Die GUI sorgt dafür, dass wir nicht jeden Befehl eintippen müssen, sondern durch Klicken und Ziehen die gleichen Aufgaben erledigen können. Beurteilen Wer schraubt? Das ist der Kernel – er macht die ganze schwere Arbeit hinter den Kulissen und sorgt dafür, dass die Hardware reibungslos funktioniert. Wer übersetzt? Das ist die Shell – sie versteht, was du willst, und gibt die Befehle weiter an den Kernel. Und das Terminal ist das Werkzeug, mit dem du die Shell erreichst, quasi dein Zugang zum Übersetzer. Wer zieht die Show ab? Das ist die grafische Benutzeroberfläche – sie sorgt dafür, dass alles schick aussieht und du dich ganz ohne Technikstress durch Klicks und Fenster bewegen kannst. Jeder dieser Teile hat seine Rolle im Team: Schrauben, Übersetzen und die Show abziehen, damit der Computer tut, was du willst! Folgern Ein guter Administrator sollte umfassendes Wissen über den Kernel, die Shell und die grafische Benutzeroberfläche (GUI) besitzen, um ein System optimal zu verwalten. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 4/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 2.1. Der unsichtbare Boss: Warum der Kernel das Sagen hat! Ansprechen Der Kernel ist das Gehirn des Betriebssystems, das die Kommunikation zwischen der Hardware (wie Prozessor, Speicher und Festplatte) und der Software (Programmen und Anwendungen) ermöglicht. Ohne den Kernel würde der Computer nur aus Hardware ohne Auftrag bestehen.Man kann ihn sich wie einen Dirigenten vorstellen, der das Zusammenspiel aller Teile im Computer orchestriert. Hier sind die Hauptaufgaben des Linux-Kernels: Ressourcenverwaltung: Der Kernel teilt die Rechenleistung des Prozessors, den Arbeitsspeicher und andere Ressourcen so auf, dass alles optimal läuft. Dank präemptivem Multitasking kann er jederzeit Programme unterbrechen und anderen Prozessen Rechenzeit zuweisen, damit nichts hängen bleibt und alles flüssig läuft. Hardwaresteuerung: Der Kernel ist die Brücke zwischen der Hardware und den Anwendungen. Egal ob Tastatur, Maus, Festplatte oder Drucker – der Kernel sorgt dafür, dass diese Geräte mit dem Rest des Systems harmonieren. Mit Mehrprozessorfähigkeit verteilt er die Arbeit auf mehrere Prozessoren, was besonders bei rechenintensiven Aufgaben für eine hohe Geschwindigkeit sorgt. Speicherverwaltung: Der Kernel organisiert, welche Daten im Arbeitsspeicher gespeichert werden und wann sie gelöscht werden müssen. So stellt er sicher, dass der Speicher effizient genutzt wird und keine Programme mehr Platz beanspruchen, als sie sollten. Prozessverwaltung: Der Kernel kümmert sich um die Verwaltung von Programmen und Prozessen. Er startet, stoppt und überwacht alle Programme, die auf dem Computer laufen, und sorgt dafür, dass sie sich nicht in die Quere kommen. Sicherheit und Zugriffsrechte: Der Kernel regelt, wer was darf. Er sorgt dafür, dass Programme nur auf Daten zugreifen können, die ihnen erlaubt sind, und schützt das System vor schädlichen Eingriffen. Mit Mehrsessionfähigkeit ermöglicht er es mehreren Nutzern, gleichzeitig auf dem System zu arbeiten, ohne sich gegenseitig zu stören. Beurteilen Der Kernel ist der unsichtbare Boss im Linux-System, weil er alles steuert und das Sagen hat. Mit präemptivem Multitasking sorgt er dafür, dass alle Programme flüssig laufen und sich die Ressourcen fair teilen. Dank Mehrprozessorfähigkeit nutzt er die volle Leistung mehrerer Kerne, was den Computer schneller und effizienter macht. Und durch Mehrsessionfähigkeit ermöglicht er mehreren Nutzern, gleichzeitig und sicher auf dem System zu arbeiten. Der Kernel hält die Fäden in der Hand: Er steuert den Speicher, verwaltet die Hardware, startet und stoppt Programme und sorgt dafür, dass alles reibungslos funktioniert. Ohne den Kernel würde nichts klappen – keine Programme, keine Geräte, keine Nutzer- Sessions. Er ist der Chef im Hintergrund, der die Technik im Griff hat und dafür sorgt, dass du deinen Computer problemlos nutzen kannst! Folgern Ein fundiertes Kernel-Wissen ermöglicht einem Admin, das System optimal auf die Anforderungen zuzuschneiden, Ausfallzeiten zu minimieren und die Sicherheit zu gewährleisten. Vorallem ein gutes Verständnis der Kernel-Logs und -Fehlerdiagnose ist unerlässlich, um Probleme frühzeitig zu erkennen und zu beheben. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 5/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 2.2. Shell it like it is: Dein direkter Draht zum Linux-Herz! Ansprechen In Linux sind die Begriffe Shell und Terminal allgegenwärtig und spielen eine zentrale Rolle in der Arbeit mit dem System. Die Shell ist das mächtige Werkzeug, mit dem man dem Computer durch Texteingaben Befehle erteilen kann, während das Terminal das Fenster ist, durch das man diese Befehle eintippt. Die Shell ist ein Programm, das Befehle entgegennimmt und ausführt. Man kann die Shell als den Übersetzer zwischen dem Benutzer und dem Computer sehen. Mit der Shell kann man Programme starten, Dateien verwalten, Systemeinstellungen ändern und Skripte ausführen. Es gibt verschiedene Arten von Shells, die alle etwas unterschiedlich funktionieren, aber im Grunde den gleichen Zweck erfüllen: Bash (Bourne Again Shell): Die am weitesten verbreitete Shell, besonders in den meisten Linux-Distributionen. Sie ist leicht zu bedienen und bietet viele Funktionen für den täglichen Gebrauch. Zsh (Z Shell): Eine erweiterte Shell mit vielen zusätzlichen Funktionen, wie Autovervollständigung, farbliche Hervorhebungen und benutzerfreundlichen Plugins. Besonders beliebt bei Power-Usern. Fish (Friendly Interactive Shell): Eine anfängerfreundliche Shell mit einfacher Syntax und hilfreichen Vorschlägen während der Eingabe. Ideal für Nutzer, die eine unkomplizierte Bedienung suchen. C Shell (csh): Eine Shell, die an die Programmiersprache C angelehnt ist und besonders in der Entwicklung beliebt ist. Sie bietet eigene Skriptsprache und spezielle Befehle, die sich von Bash und anderen Shells unterscheiden. Das Terminal ist das Fenster, durch das wir mit der Shell interagieren. Es zeigt, was wir eintippen, und gibt die Antworten der Shell zurück. Das Terminal selbst ist nur ein Anzeigewerkzeug, das die Shell sichtbar macht. Man kann es sich wie ein Telefon vorstellen, das die Verbindung zur Shell herstellt – du sprichst durch das Terminal, aber die Shell erledigt die Arbeit. Beurteilen Shell it like it is: Die Shell über das Terminal ist der direkte Draht zum Linux-Herz und bietet die volle Kontrolle über das System. Mit der Shell können schnell, präzise und direkt Dinge erledigt werden, die mit bloßem Klicken in der grafischen Oberfläche nicht möglich wären. Folgern Das Wissen über die Shell ist daher unverzichtbar, um als Admin schnell, flexibel und effizient auf sich ändernde Anforderungen reagieren zu können. Exkurs in die Praxis Hier ist ein kurzes Beispiel wie Sie zwischen verschiedene Shell in ein und demselben Terminalfenster hin und her springen können. Installiere Fish (falls noch nicht geschehen) Wir arbeiten hier mit Debian und deshalb müssen Sie folgenden Befehl über das Terminal eingeben: sudo apt install fish Wechseln zur Fish-Shell Um von der Bash zur Fish-Shell zu wechseln, geben Sie einfach folgenden Befehl im Terminal ein: fish Jetzt sind Sie in der Fish-Shell. Das können Sie an der geänderten Eingabeaufforderung und den farblichen Hervorhebungen erkennen. Zurück zur Bash wechseln Um wieder zur Bash zurückzukehren, können Sie folgenden Befehl nutzen: exit oder bash Die Standardshell ändern Falls Sie eine der Shells dauerhaft als Standardshell festlegen möchten, können Sie dies mit dem Befehl chsh (change shell) tun. Fish als Standardshell setzen: chsh -s /bin/bash Nach dem Ausführen dieses Befehls müssen Sie sich abmelden und wieder anmelden, damit die Änderung wirksam wird. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 6/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw Anmerkung "Shell it like it is" ist eine Abwandlung des englischen Ausdrucks "Tell it like it is", was so viel bedeutet wie „Sprich Klartext“. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 7/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 2.3. "Klick mich!" - Wie die GUI den Computer zur Spielwiese macht Ansprechen Die GUI ist die bunte, visuelle Oberfläche, die es uns leicht macht, mit dem Computer zu arbeiten. Sie ersetzt die textbasierte Eingabe von Befehlen durch eine freundliche, intuitive Umgebung. Programme öffnen sich in Fenstern, Dateien erscheinen als Symbole, und Menüs bieten alle möglichen Optionen, die man per Klick nutzen kann. Die GUI ist eine Schicht, die auf dem Betriebssystem aufbaut und die Kommunikation zwischen dem Benutzer und der Software vereinfacht. Sie nimmt die Befehle, die Sieper Klick oder Touch geben, und übersetzt sie für den Computer. Im Hintergrund arbeitet immer noch die Shell und der Kernel, aber die GUI verdeckt die technischen Details und macht alles viel benutzerfreundlicher. Es gibt verschiedene grafische Oberflächen, je nach Geschmack und Einsatzzweck: GNOME: Eine moderne, einfache Benutzeroberfläche, die viel Wert auf Übersichtlichkeit und Effizienz legt. KDE Plasma: Eine anpassbare GUI mit vielen Optionen und einem Design, das dem von Windows ähnelt. Beurteilen Klick mich! Die GUI macht den Computer zur echten Spielwiese, weil sie alles kinderleicht und zugänglich gestaltet. Anstatt Befehle einzutippen, klicken Sie einfach auf Symbole, ziehen Fenster hin und her, oder öffnen Menüs mit einem Fingerzeig. Die GUI verwandelt den Computer in eine bunte, interaktive Oberfläche, die Spaß macht und dir das Gefühl gibt, alles im Griff zu haben – ganz ohne technisches Vorwissen. Sie macht den Computer zu einem Ort, an dem Sie sich frei bewegen können, ohne sich um die komplizierten Abläufe im Hintergrund zu kümmern. Egal ob Dateien, Programme oder Einstellungen – mit der GUI wird alles zu einem Klick-Abenteuer, das sogar Einsteiger problemlos meistern können. Folgern Das Wissen über die GUI sollte von einem guten Admin ergänzend eingesetzt werden, um schnelle, visuelle Aufgaben effizient zu bewältigen. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 8/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 3. Ordnerstruktur Die Ordnerstruktur in Linux ist wie ein Baum aufgebaut und beginnt beim obersten Ordner, der / oder Wurzelverzeichnis genannt wird. Darunter gibt es verschiedene Ordner, die jeweils eine bestimmte Aufgabe haben. Jeder Ordner speichert bestimmte Arten von Dateien, wie z. B. Benutzerdateien, Programme oder Einstellungen des System Um Linux gut nutzen und verwalten zu können, ist es wichtig zu wissen, was in diesen Ordnern liegt und wofür sie da sind. Dieses Wissen wird Ihnen in den nachfolgenden Unterkapiteln vermittelt. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 9/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 3.1. Alles im Griff: Wie der Root-Ordner dein System zusammenhält! Ansprechen Der Root-Ordner / ist das oberste Verzeichnis im Linux-Dateisystem und organisiert alle Verzeichnisse und Dateien des Systems. Im Gegensatz zu Windows, das Laufwerksbuchstaben (z.B. C:) nutzt, fasst Linux alles unter diesem einen Verzeichnis zusammen. Es bildet die Grundlage für die Struktur des Betriebssystems, da es alle wichtigen Systemverzeichnisse, Programme, Konfigurationsdateien, Bibliotheken und Daten enthält. Beurteilen / als einheitlicher Ausgangspunkt für das gesamte Linux-Dateisystem bietet eine klare, konsistente und leicht navigierbare Struktur. Diese Organisation erleichtert die Verwaltung, Fehlerbehebung und Anpassung des Systems erheblich, da alle Ressourcen zentral erreichbar und übersichtlich angeordnet sind, unabhängig von physischen Speicherorten oder Laufwerken. Folgern Ein tiefes Verständnis der Ordnerstruktur beginnend ab / und der Funktionen der wichtigsten Unterverzeichnisse ist unerlässlich für eine effiziente Systemverwaltung, Fehlerbehebung und Backup-Strategien. Dieses Wissen ist fundamental für Administratoren, Entwickler und alle, die mit Linux arbeiten. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 10/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 3.2. Bin da, sbin da – Die stillen Stars der Linux-Kommandozeile Ansprechen Die Verzeichnisse (Binary) und /sbin (System Binary) enthalten grundlegende Programme und Befehle, die für den Betrieb und die Verwaltung des Linux-Systems notwendig sind. /bin beherbergt Befehle für alle Nutzer (ls zum Auflisten von Dateien, cp zum Kopieren von Dateien), während /sbin speziell für Administratoren relevante Systemverwaltungsprogramme (wie reboot zum Neustarten des Systems, fdisk zum Bearbeiten von Festplattenpartitionen) enthält. Diese Verzeichnisse sind essenziell für die Funktionsweise und Wartung des Systems. Beurteilen Beide Verzeichnisse sind essenziell für den Betrieb und die Verwaltung des Systems. Sie enthalten die wichtigsten Programme, die das Rückgrat des Systems bilden. Folgern Das Wissen über die Verzeichnisse und /sbin ist unerlässlich für die tägliche Arbeit und die Systemadministration in Linux. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 11/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 3.3. Boot up – Was Linux aus dem Bett holt! Ansprechen Das Verzeichnis /boot enthält essenzielle Dateien für den Start des Linux-Systems, darunter den Kernel (vmlinuz) und den Bootloader (z.B. GRUB2), die den Bootvorgang steuern und die Kommunikation zwischen Hardware und Software ermöglichen. Ohne /boot kann das Betriebssystem nicht geladen werden. Bei Kernel-Updates werden neue Dateien in /boot gespeichert; ausreichend Speicherplatz ist wichtig, um Fehler während des Updates zu vermeiden. Beurteilen /boot ist essenziell für den Systemstart; ohne seine Dateien kann Linux nicht laden. Änderungen sollten vorsichtig vorgenommen werden, da Fehler schwerwiegende Folgen haben können. Das Verständnis von /boot hilft, Startprobleme zu beheben, da beschädigte oder fehlende Dateien in diesem Verzeichnis den Systemstart verhindern können. Folgern Das Verständnis von /boot hilft einem gutem Admin, Startprobleme zu beheben, da beschädigte oder fehlende Dateien in diesem Verzeichnis den Systemstart verhindern können. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 12/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 3.4. Medien, Mounts und Magie – So schnappt sich Linux deine Geräte! Ansprechen Die Verzeichnisse /media , /mnt und /dev sind zentral für die Verwaltung von Laufwerken und Geräten in Linux. /media bindet automatisch externe Geräte wie USB-Sticks und Festplatten ein, /mnt dient für das manuelle, temporäre Einbinden von Dateisystemen, und /dev enthält Geräte-Dateien (z.B. /dev/sda ), die als Schnittstelle zwischen Hardware und Betriebssystem fungieren. Beurteilen Diese drei Verzeichnisse bieten flexible Möglichkeiten, externe Geräte und Dateisysteme in Linux-Systemen einzubinden und zu verwalten. /media ermöglicht eine einfache, automatische Einbindung von Wechseldatenträgern, was besonders benutzerfreundlich ist. /mnt und /dev hingegen bieten fortgeschrittenen Benutzern und Administratoren tiefere Kontrollmöglichkeiten. Folgern Gute Administratoren wissen über die Eigenschaften von /media , /mnt und die entsprechenden Dateien in /dev um mögliche Fehlerquellen bei Geräteproblemen zu identifizieren. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 13/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 3.5. Home Sweet /home – Zwischen User-Gemütlichkeit und Admin-Macht Ansprechen Die Verzeichnisse /root , /usr und /home sind zentrale Bestandteile von Linux: /root ist das Home-Verzeichnis des Administrators mit uneingeschränkten Rechten, /usr enthält systemweite Programme und Bibliotheken (und ist mittlerweile keine Kurzform von user mehr), und /home speichert die persönlichen Daten und Einstellungen der Benutzer. Diese Verzeichnisse organisieren System-, Benutzer- und Administrationsdaten klar voneinander getrennt. Beurteilen Die Verzeichnisse /home , /root und /usr spielen zentrale Rollen in der Datenverwaltung: /home isoliert Benutzerdaten und schützt die Privatsphäre, /root bietet dem Administrator einen geschützten Arbeitsbereich für kritische Aufgaben, und /usr enthält Programme und Bibliotheken, die systemweit genutzt werden. Diese Struktur schützt Nutzerdaten, sichert Administrationsrechte und erleichtert den Zugriff auf Anwendungen, erfordert aber sorgfältige Verwaltung, um Fehler zu vermeiden. Folgern Das Verständnis dieser Verzeichnisse hilft dabei, den eigenen Arbeitsbereich zu pflegen, Programme zu nutzen und als Administrator verantwortungsvoll zu handeln. Für jeden, der mit Linux arbeitet, ist das Wissen um diese Verzeichnisse ein wichtiger Schritt zu einer effektiven Systemnutzung. Für Neugierige: Warum gibt es einen Ordner /bin und /usr/bin sowie /lib und /usr/lib ? Historischer Hintergrund: In den 70er Jahren, als Unix entwickelt wurde, waren die Speichermedien noch sehr klein, und das System musste auf mehrere Medien verteilt werden. Als die Binaries im Verzeichnis /bin zu viel wurden, lagerten die Entwickler neue Programme nach /usr/bin aus. Ursprünglich war /usr sogar das Benutzerverzeichnis, bevor es zu einem Systemverzeichnis umgestaltet wurde. Um Ordnung zu schaffen und Nutzerdaten getrennt zu halten, entstand später /home. Mit /lib und /usr/lib verhält es sich genau so. In letzteren lagen, genau wie in /usr/bin , die für den Bootvorgang nicht erforderlich waren. Heutige Bedeutung: Die Trennung zwischen essenziellen und nicht-essenziellen Dateien hat sich im Laufe der Zeit aufgeweicht, da moderne Linux-Distributionen (wie Ubuntu) für den Start auch auf Dateien aus /usr angewiesen sind. Deshalb sind /bin und /lib symbolische Links zu den Ordnern /usr/bin und /usr/lib. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 14/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 3.6. Lib it up! – Die unsichtbaren Helden im Linux-Baukasten Ansprechen Der Ordner /lib enthält essenzielle Bibliotheken, die für den Systemstart und grundlegende Funktionen benötigt werden. Er ist besonders wichtig, da diese Bibliotheken bereits verfügbar sein müssen, bevor andere Dateisysteme eingehängt werden. Hier liegen beispielsweise Bibliotheken für das Init-System und den Kernel. Beurteilen /lib ist ein zentraler Bestandteil des Betriebssystems und enthält wichtige Bibliotheken, die für den Start und den reibungslosen Betrieb unerlässlich sind. Unsachgemäße Änderungen oder Manipulationen an den Dateien in /lib können schwerwiegende Systemfehler verursachen und das System unbrauchbar machen. Folgern Das Wissen über /lib ist für einen guten Administrator entscheidend, da es wichtige Bibliotheken enthält, die für den Betrieb grundlegender Systemprogramme erforderlich sind. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 15/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 3.7. /etc und /opt – Willkommen in Config-Cockpit und Software-Spielplatz! Ansprechen Die Verzeichnisse /etc und /opt spielen eine zentrale Rolle im Linux-Dateisystem und sind für die Verwaltung von Konfigurationsdateien und Software zuständig. Während /etc (ursprünglich „et cetera“ für "alles übrige" was nicht in /bin bzw. /sbin gehört) das Herzstück der Systemkonfiguration ist, dient /opt als spezieller Ablageort für optionale und zusätzlich installierte Software. Beide Verzeichnisse tragen zur Flexibilität und Anpassungsfähigkeit eines Linux-Systems bei und sind wichtig für die Systemverwaltung und -anpassung. In /etc liegen beispielsweise Einstellungen für den Netzwerkbetrieb ( /etc/network/ ) Benutzerdaten ( /etc/passwd ) Dienste und Systemprogramme. Jede wichtige Konfigurationsdatei hat hier ihren Platz, was das Anpassen und Verwalten des Systems vereinfacht. /opt steht für "optional" und wird als Ablageort für Softwarepakete verwendet, die nicht Teil der Standard-Systeminstallation sind (z.B. /opt/google für den Google Chrome Browser). Hier können zusätzliche Programme installiert werden, insbesondere solche, die nicht über die Standard-Softwarequellen (TODO Link zu apt einfügen) verfügbar sind. Beurteilen /etc ist das Herzstück für alle Systemeinstellungen. Hier wird entschieden, wie das System sich verhält und welche Dienste laufen. /opt bietet einen geordneten Platz für zusätzliche Softwareinstallationen. Durch die Trennung von System- und Zusatzsoftware bleibt das Hauptsystem sauber und aufgeräumt, während dennoch die Möglichkeit besteht, erweiterte Softwarefunktionen zu nutzen. Folgern Ein guter Admin muss /etc gut verstehen, um das System optimal zu konfigurieren und zu sichern, und /opt effektiv nutzen, um zusätzliche Software sauber und getrennt vom Hauptsystem zu installieren und zu verwalten. Beide Verzeichnisse sind essenziell für eine kontrollierte und flexible Systemverwaltung. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 16/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 3.8. Prozess-Paparazzi und Hardware-Hack: Was /proc und /sys verraten Ansprechen Die Verzeichnisse /proc und /sys geben einen Einblick in das Innenleben des Betriebssystems. Sie enthalten keine normalen Dateien, sondern spezielle, sogenannte virtuelle (vom Kernel dynamisch erzeugt) Dateien, die in Echtzeit Informationen über das System und die Hardware bereitstellen. /proc :enthält Informationen über laufende Prozesse und Systemressourcen. Jedes Unterverzeichnis in /proc , das aus einer Nummer besteht, repräsentiert einen laufenden Prozess auf dem System. Es enthält auch Dateien, die Informationen über das System anzeigen, wie z.B. Speicherverbrauch ( /proc/cpuinfo ), und CPU-Nutzung ( /proc/meminfo ). /sys : zeigt den aktuellen Status der Hardwarekomponenten. Es ermöglicht den Zugriff auf Geräteeigenschaften und -parameter und stellt eine Schnittstelle zur Systemhardware dar. Informationen zu denNetzwerkschnittstellen kann über cat /sys/class/net abgefragt werden Beurteilen Es ist oft der erste Ort, an dem Administratoren nachsehen sollten, wenn sie Probleme mit der Performance oder verdächtige Aktivitäten vermuten. Da /proc und /sys sehr detaillierte undsicherheitsrelevante Informationen liefern, ist Vorsicht geboten, wenn anderen Nutzern Zugriff auf diese Verzeichnisse gewährt wird. Unsachgemäße Änderungen in /sys könnten die Hardwarekonfiguration negativ beeinflussen oder zu einem instabilen System führen. Änderungen sollten immer genau überprüft werden, um unerwünschte Folgen zu vermeiden. Folgern Diese Verzeichnisse sind wichtig, um zu verstehen, wie das System arbeitet, welche Prozesse gerade laufen und wie die Hardware konfiguriert ist. Sie bieten sozusagen ein Fenster ins Herz von Linux. Dementsprechend sollte der Zugriff auf diese auch geschützt werden. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 17/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 3.9. Daten-Parkplatz, Log-Dschungel und das Fundbüro – Willkommen in /tmp, /var und /lost+found! Ansprechen Die Verzeichnisse /tmp , /var und /lost+found betreiben das Betriebssystem effizient, beheben Fehler und speichern Daten sicher. /tmp :Dieses Verzeichnis dient als temporärer Speicherplatz. Programme legen hier „Wegwerf-Dateien“ ab, die während der Nutzung wichtig sind, aber nach dem Beenden des Programms oder beim Neustart des Systems nicht mehr gebraucht werden. /var :Das Verzeichnis /var steht für „variable“ Daten und enthält alle sich häufig ändernden Daten des Systems. Hier werden Logdateien ( /var/log ), Caches ( /var/cache ) und andere sich häufig ändernde Daten gespeichert. /lost+found :In diesem „Fundbüro“-Verzeichnis landen Dateien, die nach einem Systemabsturz oder einem Festplattenfehler gerettet wurden und für die Reparaturen von Dateisystemfehlern werden. Beurteilen /tmp ist praktisch für die Ablage von Dateien, die man nur kurzzeitig braucht. Da es regelmäßig geleert wird, sollte man keine wichtigen Daten hier ablegen, da diese verloren gehen könnten. Ein gut gepflegtes /var ist entscheidend für die Systemgesundheit. Logdateien und Caches können viel Platz beanspruchen und somit kritische Prozesse blockieren. Daher ist es wichtig, diese Verzeichnisse im Auge zu behalten und bei Bedarf aufzuräumen, um Speicherplatz freizugeben. Nach einem Systemfehler lohnt es sich, einen Blick in /lost+found zu werfen, um eventuell gerettete Dateien wiederherzustellen. Die hier abgelegten Daten können unvollständig sein, aber es ist oft der letzte Versuch, Datenverlust zu minimieren. Folgern /tmp ist ideal für vorübergehende Dateien, aber wegen der automatischen Bereinigung sollte es aber nicht für Langzeitspeicherung genutzt werden. Die dynamische Natur von /var macht es notwendig, regelmäßig Logdateien und andere Daten zu überprüfen und gegebenenfalls zu löschen, um die Systemleistung zu sichern. /lost+found :kann nach Systemfehlern eine wertvolle Ressource sein, um verlorene Daten zurückzubekommen. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 18/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 4. Verwaltung Idee: verschiedene Admins anlegen: 1x Netzwerkadmin mit zugriff auf../interfaces und../dhcpd uws 1x WebAdmin mit Zugriff auf apache Konfig.-Dateien weitere Adminkonten, dann verschiedene Adminkonten als Gruppe zusammenfassen Ziel mit der Idee: praktische Anwendung und weg davon, das ein S6 Fw eine Textdatei anlegt, auf die der S2 Fw nicht zugreifen kann -> unrealistisch. Linux wird als Server, Router bei uns genutzt! https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 19/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 5. Hard- und Softlinks Ansprechen Softlinks auch Symbolische Links genannt, sind Verknüpfungen auf eine andere Datei oder ein Verzeichnis. Es handelt sich um eine separate Datei, die den Pfad zu einem Ziel speichert, ähnlich wie eine Verknüpfung auf dem Windows Desktop. Wenn Sie auf die Verknüpfung klicken, öffnet sich die Originaldatei. Beispiel: Sie haben ein Foto in deinem "Bilder"-Ordner und erstellen eine Verknüpfung im "Dokumente"-Ordner. Die Verknüpfung in "Dokumente" öffnet immer das Foto im "Bilder"-Ordner. Wenn Sie aber das Originalfoto aus dem "Bilder"-Ordner löschen, funktioniert die Verknüpfung nicht mehr, da sie nur ein Hinweis auf das Original ist. Ein symbolischer Link wird mit dem Befehl ln -s erstellt. Hardlinks Ein Hardlink ist eine direkte Verknüpfung zu den gleichen Daten im Dateisystem wie die Originaldatei. Beide Dateien (die Originaldatei und der Hardlink) sind gleichwertig, da sie auf dieselben Inode-Daten (die Speicherstruktur im Dateisystem) verweisen. Bildlich gesprochen, ist es wie ein weiterer Eingang zu derselben Datei. Wenn Sie einen Hardlink erstellen, sieht es aus, als hätten Sie zwei Kopien der Datei, aber in Wirklichkeit gibt es nur eine Datei. Egal, ob Siesie über den einen oder den anderen Link öffnen, es ist immer dasselbe Foto. Selbst wenn sie das "Original" löschst, bleibt das Foto noch über den anderen Link zugänglich. Warum bleibt es erhalten? Weil in den Inode Daten nur der Weg zu den Speicherblöcken liegt, in denen das eigentliche Bild gespeichert ist. Löschen Sie ein von zwei Hardlinks, bleibt das Inode noch erhalten. Erst wenn alle Hardlinks gelöscht werden, werden die Inode Daten gelöscht und die Speicherblöcke vom Foto geleert. Ein Hardlink wird mit dem Befehl ln erstellt. Hauptunterschiede: Symbolische Links sind wie einfache Verknüpfungen. Sie zeigen auf eine Originaldatei, aber wenn das Original gelöscht wird, funktioniert die Verknüpfung nicht mehr. Hardlinks sind wie eine zweite Tür zur gleichen Datei. Egal, welche "Tür" Sie benutzen, es ist dieselbe Datei, und sie bleibt zugänglich, selbst wenn eine von beiden gelöscht wird. Beurteilen Hard Links sind effizienter und robuster, solange sie im selben Dateisystem verwendet werden, eignen sich aber nicht für komplexe oder Dateisystem-übergreifende Verknüpfungen. Sie sind ideal, wenn du mehrere Verweise auf denselben Dateiinhalt innerhalb eines Dateisystems brauchst. Soft Links bieten mehr Flexibilität, da sie über Dateisystemgrenzen hinweg und auch für Verzeichnisse verwendet werden können. Allerdings können sie brechen, wenn die Zieldatei verschoben oder gelöscht wird, und sind weniger effizient. Die Wahl zwischen Hard- und Softlinks hängt von der Anwendung ab: Hardlinks sind ideal für stabile, systeminterne Verweise, während Softlinks mehr Flexibilität bei Verzeichnissen und Netzwerken bieten. Folgern Für einen guten Administrator ist das Wissen über Hard- und Softlinks essenziell, da es zu einer besseren Speicherverwaltung, effizienteren Prozessen, und einer gesteigerten Datensicherheit und -verfügbarkeit beiträgt https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 20/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 6. Exkurs GRUB 2 GRUB 2(Grand Unified Bootloader Version 2) ist ein Bootloader, also ein kleines Programm, das dafür sorgt, dass ein Betriebssystem wie Linux gestartet wird, wenn Sie Ihren Computer einschalten. Was macht GRUB 2 genau? 1. Starten des Systems: GRUB 2 lädt den Kernel (den Kern des Betriebssystems) und andere wichtige Dateien in den Speicher, damit das Betriebssystem ausgeführt werden kann. Ohne GRUB 2 würde der Computer nicht wissen, wie er das Betriebssystem starten soll. 2. Mehrere Betriebssysteme: GRUB 2 kann mehrere Betriebssysteme verwalten. Das bedeutet, wenn du z.B. Linux und Windows auf deinem Computer installiert hast, kannst du beim Einschalten des Computers auswählen, welches System gestartet werden soll. 3. Einstellungen und Anpassungen: GRUB 2 bietet ein Menü mit verschiedenen Startoptionen. Man kann damit z.B. im „Abgesicherten Modus“ starten, falls es Probleme gibt, oder zwischen verschiedenen Kernel-Versionen wählen. 4. Flexibilität und Anpassbarkeit: GRUB 2 ist sehr flexibel und kann durch eine Konfigurationsdatei ( /boot/grub/grub.cfg ) angepasst werden. Man kann hier zum Beispiel den Standard-Betriebssystemeintrag ändern, Boot-Optionen hinzufügen oder das Design des Boot- Menüs anpassen. Zusammengefasst: GRUB 2 ist das Programm, das deinen Computer beim Start anweist, welches Betriebssystem geladen werden soll und wie es geladen werden soll. Es bietet eine benutzerfreundliche Oberfläche, um zwischen verschiedenen Systemen zu wählen, und sorgt dafür, dass der Startprozess reibungslos verläuft. Grand Unified Bootloader Version 2 übersetzt man ins Deutsche als "Großer Vereinheitlichter Startprogramm Version 2". Das Gegenstück zu GRUB 2 bei Windows ist der Windows Boot Manager (auf Deutsch: Windows-Start-Manager). https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 21/22 08.12.24, 19:57 neues Buch | Pilotumgebung Link and Learn Bw 7. Exkurs Bibliotheken Wofür werden Bibliotheken genau verwendet? Bibliotheken werden in der Softwareentwicklung verwendet, um wieder verwendbare Codebausteine bereitzustellen, die von verschiedenen Programmen genutzt werden können. Sie enthalten Funktionen, Klassen und Prozeduren, die häufig benötigt werden, wie zum Beispiel Berechnungen, Dateioperationen oder das Zeichnen von Grafiken. 1. Wiederverwendbarer Code: Bibliotheken enthalten Code, der immer wieder gebraucht wird, z.B. für mathematische Berechnungen, das Arbeiten mit Dateien oder das Verarbeiten von Daten. Anstatt den Code in jedem Programm neu zu schreiben, kann man einfach die Bibliothek verwenden. 2. Ressourcenschonung: Durch die Nutzung von Bibliotheken muss nicht jeder Programmierer dieselben Funktionen immer wieder neu schreiben. Das spart Zeit und Ressourcen und reduziert den Speicherbedarf, da die Bibliothek nur einmal geladen wird und von mehreren Programmen genutzt werden kann. 3. Vereinfachung der Programmierung: Bibliotheken bieten fertige, geprüfte Lösungen für häufige Aufgaben, was das Programmieren einfacher und schneller macht. Anstatt selbst komplizierte Funktionen zu schreiben, können Entwickler auf getestete und optimierte Bibliotheksfunktionen zugreifen. 4. Standardisierung: Durch die Verwendung von Bibliotheken wird Code standardisiert, was die Wartung und Weiterentwicklung von Programmen erleichtert. Wenn viele Programme die gleichen Bibliotheken nutzen, wird auch die Zusammenarbeit zwischen Programmen verbessert. 5. Erweiterbarkeit: Bibliotheken erlauben es, Funktionen nachträglich zu erweitern, ohne das eigentliche Programm ändern zu müssen. Wenn eine Bibliothek aktualisiert wird, profitieren alle Programme, die sie nutzen, automatisch von den Verbesserungen. 6. Spezialisierung: Es gibt spezialisierte Bibliotheken für verschiedene Anwendungsbereiche, z.B. für Grafik (wie OpenGL), Datenbanken (wie SQLite), Netzwerke (wie libcurl), und viele mehr. Diese Bibliotheken bieten gezielte Lösungen für spezifische Aufgaben. Zusammengefasst Bibliotheken sind wesentliche Bausteine in der Programmierung, die die Entwicklung beschleunigen, Ressourcen sparen und die Qualität der Software verbessern. Sie ermöglichen es, komplexe Funktionen zu nutzen, ohne selbst tief ins Detail gehen zu müssen, und fördern so Effizienz und Zuverlässigkeit. https://lms.auf.bundeswehr.de/mod/book/tool/print/index.php?id=366493 22/22

Use Quizgecko on...
Browser
Browser