author: Sjoerd Takken company: Sjoerd's Computerwelten title: Linux ein alternatives Betriebssystem subtitle: Was ist Linux ? slide_theme: default slide_footer: slide_subfooter: :category: S5-slideshow Linux, ein alternatives Betriebssystem ============== Was ist Linux ----------------- +-- {: style="float:right;width:104px;"}  =-- * Linux ist oft bekannt als ein alternatives Betriebssystem für der Computer. * Statt Windows 10 oder Mac OS benutzen wir Linux **Was ist Linux wirklich ?** Linux umfasst im Gründe nur der [Kernel](https://kernel.org) (Der Kern vom Betriebssystem). Meistens wird der Kernel zusammen mit dem [GNU System](https://www.gnu.org) benutzt um ein wirksam Betriebssystem zu bekommen. GNU kann man vergleichen mit das frühere DOS System. Es gibt dort viele keine Programme die auf der Kommandozeile eingegeben werden können, damit das Betriebssystem benutzbar wird. <svg width="340" height="300" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:se="http://svg-edit.googlecode.com" se:nonce="96385"> <!-- Created with SVG-edit - https://github.com/SVG-Edit/svgedit--> <g class="layer"> <title>Layer 1</title> <g id="svg_96385_5"> <text fill="#000000" font-family="serif" font-size="24" id="svg_96385_8" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="185.5" xml:space="preserve" y="205.5"/> <g id="svg_96385_17"> <g id="svg_96385_18"> <rect fill="#ffffff" height="62.999997" id="svg_96385_6" stroke="#000000" stroke-width="2" width="194.000003" x="57.5" y="135.5"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_96385_16" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="156.5" xml:space="preserve" y="173.5">GNU System</text> </g> <rect fill="#ffffff" height="255" id="svg_96385_19" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="2" width="243" x="30.5" y="30.5"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_96385_20" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="152.5" xml:space="preserve" y="251.5">Linux Betriebssystem</text> </g> </g> <g id="svg_96385_4"> <rect fill="#ffffff" height="62.999997" id="svg_96385_3" stroke="#000000" stroke-width="2" width="194.000003" x="54.5" y="54.5"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_96385_1" stroke="#000000" stroke-width="0" text-anchor="middle" x="150.5" xml:space="preserve" y="93.5">Linux Kernel</text> </g> <g id="svg_96385_9"> <rect fill="#ffffff" height="64" id="svg_96385_2" stroke="#000000" stroke-width="2" width="193" x="55.5" y="138.5"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_96385_7" stroke="#000000" stroke-width="0" text-anchor="middle" x="149.5" xml:space="preserve" y="175.5">GNU System</text> </g> </g> </svg> Ein Linux - Distribution ----------------- Sinn einer Distribution ist es, ein Paket aufeinander abgestimmter Software zu bilden. Linux-Distributionen halten in der Regel eine große Anzahl an Programmen zur Installation bereit. Dies steht im konzeptuellen Gegensatz zu anderen Betriebssystemen wie Windows und macOS, die neben dem Betriebssystem selbst nur wenige Anwendungen enthalten, dafür auf die Integration von Programmen von externen Anbietern setzen Über ein Paketverwaltungs-System werden die Programme installiert und aktualisiert. Standardmäßig umfasst ein Linux - Distribution schon viele vorinstallierte Programmen. +-- {: style="float:left;width:220px;"}  =-- +-- {: style="float:left;width:220px;"}  =-- +-- {: style="float:left;width:220px;"}  =-- +-- {: style="float:left;width:220px;"}  =-- +-- {: style="clear:both"} =-- Arten von Linux - Distributionen ----------------- Es gibt sehr viele Linux - Distributionen. Sie sind haben allen verschiedene Verwendungen. Von daher kann man folgende Arten underschieden: * _Smartphone-Distributionen_: für Smartphones gibt es einige Linux Distributionen. Was wenig Menschen nicht wissen ist das **Android** basiert ist auf der Linux Kernel, allerdings ohne das GNU System. * _Desktop-Distributionen_: für der normale Benutzer gibt es einige bekannte Desktop Distributionen für Linux. Beispiele sind: _Debian_, _Ubuntu_, _Linux Mint_, _Fedora_, _Suse_. Desktop Distributionen sind extra ausgestattet mit ein Window Manager und ein grafische Oberfläche. * _Server-Distributionen_: als Server wird Linux häufig verwendet und hat ein Marktanteil von mehr dann 50%. Oft werden Linux Servers benutzt als Webserver. Die Verwendung ist Stabil und Sicher. * _Live-Distributionen_: damit es für Windows oder Mac benutzer einfach ist Linux einmal auszuprobieren gibt es viele Distributionen die man direkt vom CD oder USB Disk ausprobieren kann ohne das man der Distribution erst installieren muss. Damit bekommt man Niederigschwellig ein Zugang zu Linux. Live-Systeme eignen sich auch hervorragend zur Datenrettung und Systemanalyse, da sie von der Konfiguration des bereits bestehenden Systems unabhängig sind und so auch von möglichen Infektionen durch Würmer und Viren nicht betroffen werden können. Arten von weitere Linux - Distributionen ----------------- * _Embedded-Distributionen_: die werden oft benutzt für industrielle Verwendungen. z.B in der Prozessleittechnik, in Motorsteuerungen, in der Satellitensystemtechnik, in Signal- und Weichenstellanlagen, in der Robotik und in weiteren Bereichen. Oft müssen Ergebnisse innerhalb ein fest definierte Zeitintervall garantiert sein. Dort sind diese Distributionen auf ausgerichtet. * _Distributionen in dem Bildungsbereich_: Diese haben oft ein zentrale Terminalserver wo die Klients auf einloggen und arbeiten. Beispiele hier für sind _Edubuntu_ oder _\DebianEdu _. * _Distributionen für veraltete Rechner_: Ebenso gibt es Systeme speziell für veraltete Rechner, die einen geringeren Funktionsumfang haben und geringe Systemanforderungen stellen. Beispiele sind etwa _Damn Small Linux_ oder _Puppy Linux_, die einen Umfang von nur 50 beziehungsweise 100 MB haben. Das Starten einer Linux Distribution ----------------- Wenn ein Linux Distribution gestart wird gibt es die folgende Reihenfolge beim starten: 1. Der Linux-Kernel wird geladen. 1. Der Kernel start der Initialisierung des Systems. Das findet bei die meiste Distributionen mit __systemd__ statt. 1. Systemd start Tätigkeiten beim Systemstart ( Sockets anlegen, Hardware einrichten, Datenträger einbinden, Hintergrunddienste starten und so weiter ) Die Tätigkeiten sind in sogenannten Units organisiert. 1. Wenn ein Linux Distribution start und die ein grafische Umgebung hat, dann wird auch die grafische Umgebung als Hintergrunddienst gestart. <svg width="640" height="420" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:se="http://svg-edit.googlecode.com" se:nonce="29264"> <!-- Created with SVG-edit - https://github.com/SVG-Edit/svgedit--> <defs> <marker id="se_marker_end_svg_29264_3" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" id="svg_29264_6" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_mid_svg_29264_3" markerHeight="8.5" markerUnits="strokeWidth" markerWidth="14.382813" orient="0" refX="72.914063" refY="43.5" se_type="textmarker" viewBox="0 0 143.828125 85"> <rect fill="#ffffff" height="85" stroke-width="0" width="143.828125" x="0" y="0"/> <text fill="#000000" font-family="serif" font-size="75" stroke-width="0" text-anchor="left" x="1" xml:space="preserve" y="62.75">Start</text> </marker> <marker id="se_marker_end_svg_29264_14" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" se_type="rightarrow" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40z" fill="#000000" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_end_svg_29264_15" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" se_type="rightarrow" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40z" fill="#000000" stroke="#000000" stroke-width="10"/> </marker> <marker id="se_marker_end_svg_29264_16" markerHeight="5" markerUnits="strokeWidth" markerWidth="5" orient="auto" refX="50" refY="50" se_type="rightarrow" viewBox="0 0 100 100"> <path d="m100,50l-100,40l30,-40l-30,-40z" fill="#000000" stroke="#000000" stroke-width="10"/> </marker> </defs> <g class="layer"> <title>Layer 1</title> <polyline fill="none" id="svg_29264_16" marker-end="url(#se_marker_end_svg_29264_16)" points="206.885498046875,237.5 201.46946716308594,254 196.05343627929688,270.5" se:connector="svg_29264_2 svg_29264_12" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_29264_15" marker-end="url(#se_marker_end_svg_29264_15)" points="284.5,203.50192260742188 311,207.25863647460938 337.5,211.0153350830078" se:connector="svg_29264_2 svg_29264_8" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_29264_14" marker-end="url(#se_marker_end_svg_29264_14)" points="284.5,166.90774536132812 310.5,155.61012268066406 336.5,144.3125" se:connector="svg_29264_2 svg_29264_7" stroke="#000000" stroke-width="2"/> <polyline fill="none" id="svg_29264_3" marker-end="url(#se_marker_end_svg_29264_3)" marker-mid="url(#se_marker_mid_svg_29264_3)" points="141.65586853027344,112.5 158.10525512695312,129.5 174.55465698242188,146.5" se:connector="svg_29264_1 svg_29264_2" stroke="#000000" stroke-width="2"/> <ellipse cx="101.5" cy="71" fill="#FFEEEE" id="svg_29264_1" rx="60" ry="40.5" stroke="#000000" stroke-width="2"/> <ellipse cx="221" cy="194.500003" fill="#FFEEEE" id="svg_29264_2" rx="62.5" ry="42.000003" stroke="#000000" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_29264_4" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="99.5" xml:space="preserve" y="77.5">Kernel</text> <text fill="#000000" font-family="serif" font-size="24" id="svg_29264_5" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="219.5" xml:space="preserve" y="202.5">Systemd</text> <ellipse cx="472.999998" cy="85.000002" fill="#000000" fill-opacity="0" id="svg_29264_7" rx="130.500007" ry="54.499998" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="2"/> <ellipse cx="482.000003" cy="231.5" fill="#000000" fill-opacity="0" id="svg_29264_8" rx="138.499998" ry="49" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="2"/> <text fill="#000000" fill-opacity="0" font-family="serif" font-size="24" id="svg_29264_9" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="443.5" xml:space="preserve" y="151.5"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_29264_10" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="472.5" xml:space="preserve" y="90.5">Hardware Einrichten</text> <text fill="#000000" font-family="serif" font-size="24" id="svg_29264_11" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="483.5" xml:space="preserve" y="235.5">Datenträger einbinden</text> <ellipse cx="177.999997" cy="325.5" fill="#000000" fill-opacity="0" id="svg_29264_12" rx="144.499991" ry="49" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="2"/> <text fill="#000000" font-family="serif" font-size="24" id="svg_29264_13" stroke="#000000" stroke-dasharray="null" stroke-linecap="null" stroke-linejoin="null" stroke-width="0" text-anchor="middle" x="173.5" xml:space="preserve" y="329.5">Hintergrunddienste starten</text> </g> </svg> Paketverwaltungs-Systeme ----------------- vielen Distributionen benutzen ein Paketverwaltungs-Systeme. Hier sind die meist benutzte aufgelistet: * _dpkg_ _(apt)_: das ist das _Debian_ Paketverwaltungssystem, das große Verbreitung erlangt hat durch die Distrubitionen _Ubuntu_ und _Linux Mint_. * _rpm_: das ist auch ein viel benutzt Paketverwaltungssystem und ursprunglich benutzt auf _Red Hat_ und jetzt benutzt für _\OpenSUSE _ und _Fedora_ Die Pakete sind aufeinander aufgebaut und abhängig von einander. Wenn man ein Programm als Paket installiert, dann werden automatisch die davon abhängige Pakete mit installiert, damit das Programm dann auch direkt funktioniert. auch gibt es alternative Paketformate die man eigenständig installieren kann und keine Abhängigkeiten haben. Sie sind allen abhängig von der Linux Kernel mit dem GNU System * _Snap_: Durch Ubuntu entwickelt, aber ist mittlerweile auch in andere Distributionen verfügbar. Es hat aber nur ein App Store und ist dadurch zentral organisiert. * _Flatpak_: Für Flatpak kann jeder ein App Store aufbauen und ist dadurch dezentral. Ihre Stärke ist, es hat oft die aktuelste Version zur Verführung. * _\AppImage _: Dennoch stellen \AppImages momentan die einfachste Variante dar: Es ist keine Konfiguration notwendig und es werden auch keine besonderen Anforderungen an das System gestellt. Linux auf dem Smartphone ----------------- Für Smartphones und Tablets gibt es speziell optimierte Linux-Distributionen. Sie bieten neben den Telefonie- und SMS-Funktionen diverse Navigations- und Multimedia-Funktionen. Die Bedienung erfolgt meistens über ein Touchscreen. Linux-basierte Smartphonesysteme werden meist von Firmen entwickelt und unterscheiden sich teilweise sehr stark von den sonst klassischen Desktop-, Embedded- und Server-Distributionen. Was vielen nicht wissen ist das **Android** basiert ist auf Linux. Allerdings wird von Android nur ein Teil der sonst üblichen GNU-Software-Umgebung genutzt. Andere Smartphone-Distributionen, wie etwa _[Maemo Leste](https://maemo-leste.github.io)_, _[Mobian](https://mobian-project.org/)_, _[Ubuntu Touch](https://ubports.com)_ und _[Sailfish OS](https://sailfishos.org)_ nutzen größere Teile der klassischen GNU-Software-Umgebung, so dass diese Distributionen teilweise einfacher mit klassischen Linux-Anwendungen ergänzt werden können und somit eher Linux-Distributionen im klassischen Sinne entsprechen. Ein andere Smartphone-Distribution ist _[postmarkerOS](http://postmarketos.org/)_ diese Distribution ist basiert auf Alpine Linux und nicht basiert auf das GNU-System und ist dadurch sehr klein und schnell. Die Linux Smartphone-Distributionen unterstutzen nicht alle Geräte. Es ist darum sinnvoll um vorher zu schauen ob dein Gerät durch deine gewünschte Linux-Distribution unterstutzt wird. Linux als Server ----------------- weit verbreitet sind Linux-Servers. Ein viel vorkommende Konfiguration ist die so genannte LAMP-Server. LAMP steht für * Linux * Apache Webserver * Mysql / Maria DB Datenbank * PHP Das ist ein Standard Kombination die benotigt sind um z.B. eine bearbeitbare Webseite laufen zu lassen, z.B. Wordpress oder Drupal Linux Server sind bekannt für ihre Sicherheit und Stabilität In 2017 sind 34% alle Server Linux-Server. Da nicht alle Linux-Server sich auch als solche zu erkennen geben, könnte der tatsächliche Anteil um bis zu 31 Prozentpunkte höher liegen. Linux für das Desktop ----------------- Linux Desktop Distributionen sind in sehr viele Formen zu bekommen. Die meiste Distributionen basieren auf GNU/Linux und haben ein Paketverwaltungs-System. Damit Linux benutzbar wird mit eine grafische Umgebung, gibt es für GNU/Linux verschiedene Desktop-Umgebungen für Linux * _Gnome_ ist der bekannteste Umgebung und wird mit die meiste Distributionen Standard installiert. * _Cinnamon_ ist ein abspaltung von Gnome und kombiniert Gnome 2 & 3 und ist spezial für der _Linux Mint_ Distribution entwickelt worden. * _KDE_ ist eine andere sehr bekannte Umgebung und wird auch häufig benutzt. * _XFCE_ ist eine leichtere Umgebung die sich gut eignet für alte Computers. * _LXDE_ ist auch eine leichtere Umgebung für langsamere Computers. Linux für das Desktop 2 ----------------- Folgende bekannte Distributionen gibt es: * basiert auf _dpkg_: * _Debian_ ist eine der ältesten, einflussreichsten und am weitesten verbreiteten GNU/Linux-Distributionen. Viele Distributionen sind auf Debian basiert. * _Ubuntu_ ist auf Debian basiert. Der Name _Ubuntu_ bedeutet auf _Zulu_ etwa „Menschlichkeit“ und bezeichnet eine afrikanische Philosophie. Ubuntu hat ein einfach zu installierendes und leicht zu bedienendes Betriebssystem mit aufeinander abgestimmter Software. Von Ubuntu gibt es verschiedene Abwanderungen: KUbuntu (bassiert auf der KDE-Desktop), XUbuntu (basiert auf der XFCE-Desktop) für altere PC's, LUbuntu (basiert aus LXDE) für altere Computers * _Linux Mint_ ist aufgebaut auf _Ubuntu_ und kommt mit drei verschiedene Desktop Umgebungen (Cinnamon, Mate (Gnome 2 basiert) und XFCE). Es ist eine der wenigen Distributionen, die ihre bevorzugten Desktop-Umgebungen auf der Basis der eigenen Bedürfnisse und zum Erreichen der selbstgesteckten Ziele eigens entwickeln. _Linux Mint_ enthält im Gegensatz zu Ubuntu und Debian bereits unfreie Software, z.B. Codecs für verschlüsselte DVDs, MP3 oder DivX sowie Plug-ins wie Adobe Flash und Oracle Java. Linux für das Desktop 3 ----------------- * basiert auf _rpm_: * _Fedora_ ist eine RPM-basierte Linux-Distribution. Ziel der Entwickler der Distribution ist es, Freie Software zu fördern und ein Betriebssystem für eine möglichst vielfältige Zielgruppe zu gestalten. Organisiert wird die Entwicklung in der Online-Community, das vom Unternehmen Red Hat angeführt wird. _Fedora_ ist der nachfolger von _Red Hat Linux_. Standard ist Fedora mit Gnome 3 ausgestattet, es gibt aber auch unterstutzung für alle andere übliche Desktop Umgebungen. * _Open SUSE_ ist ein Gemeinschaftsprojekt, welches den Einsatz von Linux und freier Software fördert. Neben mehreren Linux-Distributionen werden Tools zur Entwicklung und zum Test entwickelt. Die Nutzer der Distribution kommen vorwiegend aus Deutschland (knapp 26 Prozent Anteil an der weltweiten Nutzerbasis) und den USA (knapp 14 Prozent).Der Fokus der Entwickler liegt darauf, ein stabiles und benutzerfreundliches Betriebssystem mit großer Zielgruppe für Arbeitsplatzrechner und Server zu erschaffen.