Linux & co.

Aus Jonas Notizen Webseite
Zur Navigation springen Zur Suche springen
Tux, der Linux-Pinguin

Als Linux oder GNU/Linux bezeichnet man in der Regel freie, unixähnliche Mehrbenutzer-Betriebssysteme, die auf dem Linux-Kernel und wesentlich auf GNU-Software basieren.

Einer der Initiatoren von Linux war der finnische Programmierer Linus Torvalds. Er nimmt bis heute eine koordinierende Rolle bei der Weiterentwicklung des Linux-Kernels ein und wird auch als Benevolent Dictator for Life (deutsch wohlwollender Diktator auf Lebenszeit) bezeichnet.

Inhaltsverzeichnis

Quellen

Vom Herrn Kofler lese ich mir gerade die folgenden Bücher (durch):

Weitere Quellen:




Linux-Einführung

Was ist ein Betriebssystem

Ein Betriebssystem ist ein Bündel von Programmen, mit denen die grundlegendsten Funktionen eine Rechners realisiert werden. Sprich: "Die Schnittstelle zwischen Mensch und Maschine". Konkret:

  • Die Verwaltung von Peripheriegeräten wie Tastatur, Maus oder Bidschirm
  • sowie die Verwaltung von Systemressourcen (CPU-Zeit, Speicher, ...)

Populäre Betriebssysteme sind Android (Mobil), iOS (Mobil), Windows (Desktop), macOS (OS X) (Desktop), Linux (Desktop) und BSD (Desktop). (Quelle: statcounter.com)

Die damals bekanntesten Betriebssysteme waren MS-DOS und OS/2. (Weitere Informationen zur Geschichte von DOS, CP/M und IBM stehen auf meiner Seite IT-Labor Hofer.)




Unix

Schon lange vor den ersten Versionen von Linux (1983), macOS (1984) und Windows (1985) gab es Unix (1969).

Viele Neuerungen

Unix war von der technischen Perspektive aus gesehen seiner Zeit um weiten voraus:

Nachteil

Allerdings bot Unix anfänglich nur eine spartanische Benutzeroberfläche und stellte hohe Hardware-Anforderungen, weswegen Unix fast ausschließlich im wissenschaftlichen und industriellen Bereichen (mit SEHR teuren Workstations) eingesetzt wurde.

Weiteres

Heute steht "Unix" allgemein für Betriebssysteme, die entweder ihren Ursprung im Unix-System von AT&T (ursprünglich Bell Laboratories) haben oder dessen Konzepte implementieren.
... Die frühen Entwickler definierten auch eine Reihe von Konzepten und Regeln für die Software-Entwicklung, die als Unix-Philosophie bekannt wurden und bis heute Einfluss in der Informatik haben.




Linux: Verbreitung

In seiner Verbreitung hat Linux Unix fast vollständig verdrängt: Große Teile des Internets (darunter auch Google) werden heute von Linux getragen.
Linux läuft auf herkömmlichen Rechnern, in Form von Android auf Smartphones/Tablets/Smart-TVs, auf Embedded-Devices (zB. ADSL-Routern, NAS-Festplatten) bis hin zu Supercomputern.

Mehr als 99% der schnellsten Rechner der Welt laufen heute unter Linux.(Quelle: top500.org)




Der Linux-Kernel

Genau genommen bezeichnet der Begriff "Linux" nur den Kernel: Er ist der innerste Teil (Kern) eines Betriebssystems mit ganz elementaren Funktionen, wie Speicherverwaltung, Prozessverwaltung und Steuerung der Hardware.


Hardware-Unterstützung

Linux unterstützt beinahe die gesamt gängige PC-Hardware, und läuft darüber hinaus auch auf anderen Hardware-Plattformen, wie z.B. auf Smartphones gängigen ARM-CPUs. (Siehe [1] für eine Auflistung aller (23+) unterstützen Architekturen)

Ubunutuusers bietet eine sehr große Datenbank an Hardware/Peripherie-Geräten dessen Kompatiblität mit Linux getestet wurde und somit auf-alle-Fälle funktioniert.
Auch eine Suche nach linux [hardwarename] kann nicht schaden.

Grafikkarten

Fast alle auf den Markt vertretenen Grafikkarten bzw. in die CPU integrierten Grafik-Kerne funktionieren unter Linux.

  • Für viele Linux-Anwender (ohne besondere Anforderungen an das Grafiksystem) sind Intel-CPUs mit eingebauten Grafik-Core die optimalste Lösung.
  • Neue, exotische Grafikkarten von NVIDIA und ATI/AMD erfordern hingegen oft Zusatztreiber, damit die Karte perfekt genutzt werden kann.
    • Die Installation dieser Treiber bereitet oft Probleme, vor allem wegen den strengen Lizenz.

Hybrid-Grafiksysteme

Besonders problematisch sind Grafiksysteme, bei denen ein energiesparender interner Grafik-Core mit einer schnelleren externen Grafikkarte kombiniert wird.

  • Mit integrierten Windows oder macOS-Treibern wechselt das Betriebssystem im laufenden Betrieb zwischen Grafik-Core und Grafikkarte.
  • Unter Linux funktioniert dieses live-wechseln - wenn überhaupt - nur nach einer komplizierten Konfiguration.

Siehe ubuntuusers.de-Eintrag zu "Hybrid-Grafikkarten" und dessen verfügbaren Treibern.

Hochauflösende Displays

Hardware-technisch kommt Linux mit nahezu allen auf dem Markt erhältlichen Bildschirmen zurecht.

  • Relativ schlecht ist leider die Software (!)-Unterstützung von hochauflösenden Displays, die (je nach Marketing-Slang) Retina-, XHD/HiDPI-Display, 4k- oder 5k-Monitore genannt werden.
    • Wenn man solche Displays in der vollen Auflösung betreiben möchte, bleiben (bei nicht dafür optimierten-Distributionen) Teile der Benutzeroberfläche (standardmäßig) unleserlich klein.

SSD-Cache

Manche Notebooks kombinieren eine herkömmliche Festplatte mit einer kleinen SSD.
In der Theorie erhaltet man damit das Beste aus beiden Welten: viel Speicherplatz und hohe Geschwindigkeit für wenig Geld.
Die Praxis sieht schon unter Windows eher weniger rosig aus. Wenn dann auch noch Linux ins Spiel kommt, ist es mit den Vorteilen des SSD-Caches ganz vorbei.

  • Im besten Fall ignoriert Linux den SSD-Cache einfach und läuft so, als gäbe es nur eine herkömmliche Fesplatte.
  • Im ungünstigsten Fall verursacht man ein defektes Dateisystem, wenn man unter Linux auf eine Windows-Partition schreibt, deren Daten sich teils auf dem SSD-Cache befinden.

Investieren Sie ein paar Euro mehr in ein Notebook, das nur eine SSD enthält - es lohnt sich!

Energiesparfunktionen

Gerade neue Notebooks haben unter Linux oft deutlich kürzere Akku-Laufzeiten als unter Windows.

  • Dieses Ärgernis resultiert daraus, dass das Zusammenspiel diverser Energiesparfunktionen optimale (leider meist proprietäre) Treiber vorraussetzt, die für Linux oft gar nicht oder erst in 1/2 Jahren nach Markteinführung vorhanden sind.

Fazit

Exotische/Neue Hardware braucht ein bisschen länger, bis sie vollständig vom Linux-Kernel an sich (aka. in jeder Distribution) unterstützt wird.

Da Linux Quelloffen ist und ständig weiter-entwickelt wird, und manche spezielle Distributionen zusätzliche Treiber/Programme mit-einbauen, muss man sich keine Sorge machen, dass es nie funktionieren wird.

  • Mehr dazu im Thema "Distributionen -> Unterschiede der verschiedenen Linux-Distributionen -> Hardware Unterstützung".




Distributionen

Noch immer ist die einleitende Frage - "Was ist Linux?" - nicht ganz beantwortet.

Viele Anwender interessiert der Kernel nämlich ziemlich wenig, sofern er nur läuft und die vorhandene Hardware unterstützt.
Für sie umfasst der Begriff Linux, wie er umgangssprachlich verwendet wird, neben dem Kernel auch das riesige Bündel von Programmen, das mit Linux mitgeliefert wird:

  • Dazu zählen neben unzähligen Kommandos die Desktop-Systeme KDE und Gnome, das Office-Paket LibreOffice, der Webbrowser Firefox, das Zeichenprogramm GIMP sowie zahllose Programmiersprachen und Server-Programme (Webserver, Mail-Server, File-Server etc.)

Was versteht man unter einer Linux-Distribution

Als Linux-Distribution wird die Einheit bezeichnet, die aus dem eigentlichen Betriebssystem-Kernel und seinen Zusatzprogrammen besteht.

  • Eine Distribution ermöglicht eine rasche und bequeme Installation sowie Nutzung von Linux.
  • Die meisten Distributionen können kostenlos aus dem Internet heruntergeladen werden.

Unterschiede der verschiedenen Linux-Distributionen

Distributionen unterscheiden sich vor allem durch folgende Punkte voneinander:

Umfang, Aktualität

Die Anzahl, Auswahl und Aktualität der mitgelieferten Programme und Bibliotheken variiert stark.
Manche Distributionen setzten bewusst auf etwas ältere, stabilere Versionen - darunter zB. Debian.

Installations- und Konfigurationswerkzeuge

Die mitgelieferten Programme zur Installation, Konfiguration und Wartung des Systems helfen dabei, die Konfigurationsdateien einzustellen. Das kann viel Zeit ersparen.

Konfiguration des Desktops

Manche Distributionen lassen den Anwender die Wahl zwischen verschiedenen Desktop-Systemen wie KDE, Gnome und andere.
Auch die Detailkonfiguration und optische Gestaltung des Desktops variiert je nach Distribution.

Hardware Unterstützung

Jede Linux-Distribution kommt (schon alleine dank dem Kernel) mit den meisten PC-Hardware-Komponenten zurecht. Dennoch gibt es im Detail Unterschiede zwischen Distributionen, insbesondere wenn es darum geht, Nicht-Open-Source-Treiber (zB. für NVIDIA Grafikkarten) in das System zu integrieren.

Live-System

Viele Linux-Distributionen ermöglichen den Betrieb direkt von einer CD/DVD/USB-Stick. Dies ermöglicht ein einfaches Ausprobieren von Linux.
Außerdem bieten Live-Systeme eine ideale Möglichkeit, ein defektes (Linux- oA.-)System zu reparieren.


Updates

Man kann eine Distribution nur so lange sicher betreiben, wie Sie Updates bekommen. Danach ist aus Sicherheitsgründen ein Wechsel auf eine neue Version erforderlich!

Zeitspanne (nach Release eine stabilen offiziellen Version) in der die Entwickler Sicherheit-Updates zu Verfügung stellen (Stand: Frühjahr 2017)
Distribution Sicherheits-Updates
Fedora 13 Monate
openSUSE Leap ca. 18 bis 24 Monate
Red Hat Enterprise Linux 10 Jahre (mit Einschränkungen sogar 13 Jahre)
SUSE Enterprise Server 10 Jahre (mit Einschränkungen sogar 13 Jahre)
Ubuntu LTS (Long Term Support) 3 bis 5 Jahre
Ubuntu (sonstige Versionen) 9 Monate

Support

Bei kommerziellen Distributionen bekommt man zudem Hilfe bei der Installation. (via. E-Mail und/oder per Telefon)

Lizenzen

Die meisten Distributionen sind kostenlos erhältlich.

Bei einigen Distributionen gibt es hier aber einige Einschränkungen: Beispielsweise ist bei den Enterprise-Distributionen von Red Hat und SUSE ein Zugriff auf das Update-System nur für registrierte Kunden möglich. (Sie zahlen hier nicht für die Software an sich, sondern für das Service-Angebot rund herum)

Zielplattform (CPU-Architektur)

Viele Distributionen sind nur für Intel- und AMD-kompatible Prozessoren erhältlich, in der Regel in einer 32- und in einer 64-Bit-Variante.

  • Es gibt aber auch andere Distributionen für andere Plattformen, zB. für ARM- oder PowerPC-CPUs.

Linux Standard Base

So belebend die Konkurenz vieler Distributionen für deren Weiterentwicklung ist, so lästig ist sie bei der Installation von Programmen, die nicht mit der Distribution mitgeliefert werden:

  • Eine fehlende oder veraltete Programmbibliothek kann die Ursache dafür sein, dass ein Programm nicht läuft.

Abhilfe versucht das Linux-Standrad-Base-Projekt (LSB) zu schaffen:

  • Die LSB-Spezifikationen definiert Regeln, die einen gemeinsamen Nenner aller am LSB-Projekt beteiligten Distributionen sicherstellen:



Gängige Linux-Distributionen

Der folgende Überblick über die wichtigsten verfügbaren Distributionen soll einem eine erste Orientierungshilfe geben.

Einen ziemlich guten Überblick über alle momentan verfügbaren Linux-Distributionen, egal ob kommerziellen oder anderen Ursprungs, findet man unter https://distrowatch.com/dwres.php?resource=major

Auf Wikipedia gibt es eine Seite, in welcher alle Distributionen in Stammbaum-Form aufgelistet sind.

  • Hierfür gibt es auch eine sehr schöne Grafik-Timeline (Verwende ich OFT zum nachsehen): Linux_Distribution_Timeline.svg (Texte im Bild sind zudem durch STRG+F durchsuchbar)


In den folgenden Abschnitten wird

  • im Titel der Wikipedia-
  • im Text der Distrowatch

-Eintrag der Distribution verlinkt.

Red Hat

Red Hat ist die international bekannteste und erfolgreichste Linux-Firma. Red-Hat-Distributionen dominieren insbesondere den amerikanischen Markt. Die Packteverwaltung auf der Basis des RPM-Formats (einer Eigenentwicklung von Red Hat) wurde von vielen anderen Distributionen übernommen.

Red Hat ist überwiegend auf Unternehmenskunden ausgerichtet. Die Enterprise Versionen (RHEL = Red Hat Enterprise Linux) sind vergleichsweise teuer.

  • Sie zeichen sich durch hohe Stabilität und einen zehnjährigen Update-Zeitraum aus.
  • Für Linux-Enthusiasten, die ein Red-Hat ähnliches System zum Null-Tarif suchen, bieten sich CentOS und Fedora an:
CentOS und Scientific Linux

CentOS und Scientific Linux sind zwei kostenlose Varianten zu Red Had Enterprise Linux (RHEL).
Beide Distributionen sind binärkompatibel zu RHEL, es fehlen aber alle Red-Hat-Markenzeichen, -Logos, etc.

  • Die Distributionen sind vorallem für Server-Betreiber interessant, die kompatibel zu RHEL sein möchten, sich die hohen RHEL-Kosten aber nicht leisten können
Fedora

Fedora ist der kostenlose Entwicklungszweig von Red Hat Linux.

Für Red Hat ist Fedora eine Art Spielwiese, auf der neue Funktionen ausprobiert werden können, ohne die Stabilität der Enterprise-Version zu gefährden.

  • Programme, die sich unter Fedora bewährend, werden später in die Enterprise-Version (RHEL) aufgenommen,
    • Bei technisch interessierten Linux-Fans ist Fedora beliebt, weil diese Distribution oft eine Vorreiterrolle spielt: Neue Linux-Funktionen finden sich oft zuerst in Fedora und später in anderen Distributionen.

Neue Fedora-Versionen erscheinen alle 6 Monate. Updates werden einen Monat nach dem erscheinen der übernächsten Version eingestellt, d. h., die Lebensdauer ist mit 13 Monaten sehr kurz.

Oracle Linux

Oracle bietet unter dem Namen Oracle Linux eine Variante zu Red Hat Enterprise Linux (RHEL) an. Das ist aufgrund der Open-Source-Lizenzen eine zulässige Vorgehensweise.

  • Technisch gibt es nur wenige Unterschiede zu RHEL, die Oracle-Variante ist aber billiger und ohne Support sogar kostenlos verfügbar.
    • (Dennoch ist die Verbreitung von Oracles Linux-Variante verhältnismäßig gering)


SUSE

SUSE gilt weltweit als die Nummer 2 auf dem kommerziellen Linux-Markt. SUSE Enterprise (Server) ist vor allem im europäischen Markt verankert.

openSUSE

openSUSE ist eine kostenlose Linux-Distribution. Beginnend mit der seit November 2015 verfügbaren Version "Leap 42.n" basiert openSUSE auf den Enterprise-Versionen von SUSE, ersetzt aber viele Programme durch aktuellere Versionen.


Arch Linux

Arch Linux ist eine für technische Anwender optimierte Linux-Distribution. Die manuell im Textmodus durchzuführende Installation stellt sicher, dass Einsteiger einen großen Bogen um Arch Linux machen.

Arch-Linux-Derivaten wie Manjaro und Antergos mit grafischen Installations-und Konfigurationswerkzeugen haben Arch-Linux zuletzt sogar in die Top-10-Liste von https://distrowatch.com/ gebracht.

Siehe hierfür auch ein Video von Luke Smith indem er zusammenfassend die Vorteile von Arch-Linux erläutert.


Debian

Debian ist die älteste vollkommen freie Distribution. Sie wird von engagierten Linux-Entwicklern zusammengestellt, wobei die Einhaltung der Spielregeln freier Software eine hohe Priorität genießt.

Debian richtet sich an fortgeschrittene Linux-Anwender und hat einen großen Markt bei Server-Installationen.

  • Im Vergleich zu anderen Distributionen ist Debian stark auf maximale Stabilität hin optimiert und enthält oft relativ alte Programmversionen.
  • Dafür steht Debian für viele Hardware-Plattformen zur Verfügung, unter anderem für AMD64, ARM64, ARMEL, ARMHF, i386, Mips, Mipsel, PowerPC, PPC64EL und S390X.

Es gibt zahlreiche Distributionen, die sich von debian ableiten, darunter zB. Ubuntu und Raspbian:

Ubuntu

Ubuntu ist die zurzeit populärste Distribution für Privatanwender. (Neben Linux Mint, welche aber von Ubuntu abstammt) Ubuntu verwendet als Basis Debian, ist aber besser für Desktop-Anwender optimiert. (Motto: "Linux for Human beings")

Die kostenlose Distribution erscheint im Halbjahresrhythmus. Für gewöhnliche Versionen werden Updates über neuen Monate zur Verfügung gestellt.

  • Für die alle 2 Jahre erscheinenden LTS-Versionen gibt es sogar 3 bzw. 5 Jahre lang Updates (für Desktop- bzw. Server-Packete)
  • Finanziell wird Ubuntu Linux durch die Firma Canonical unterstützt.
Ubuntu-Derivate

Zu Ubuntu gibt es eine Menge offizieller und inoffizieller Varianten. Etabliert und weit verbreitet sind

  • Ubuntu Server (ohne grafische Oberfläche. )
  • Kubuntu (Ubuntu mit KDE)
  • Xubuntu (Ubuntu mit Xfce)
  • Ubuntu MATE (Ubuntu mit MATE)
  • Linux Mint (<-- Nutzen wir in der Firma, auch für Windows-Umsteiger gut geeignet - mit vielen Programmen und verschiedenen, vom Hersteller unterstützen Oberflächen)

Relativ neue Ubuntu-Derivate mit modernen Desktop-System sind

  • Ubuntu Budgie (Solus Desktop)
  • elementary OS (macOS-ähnlicher Desktop)
  • Neon und Zorin OS (Windows-ähnlicher Desktop)
    • Besonders interessant ist Neon: Diese Distribution kombiniert Ubuntu LTS mit stets aktuellen KDE-Paketen und etabliert sich aktuell als die Distribution für KDE-Fans.
Kali-Linux

Das auf Debian basierende Kali Linux enthält eine riesige Sammlung von Hacking und Pen-Testing-Werkzeugen.
Die Distributionen gilt somit als der Werkzeugkasten für Hacker und Sicherheits-Experten.

Raspbian

Raspbian ist die Standard-Distribution für den beliebten Minicomputer Raspberry Pi. Raspbian basiert auf Debian, wurde für den Raspberry Pi aber speziell adaptiert und erweitert.


Android

Android ist eine von Google entwickelte Plattform für Mobilgeräte und Tablets. Android hat damit Linux zur Weltdominanz verholfen, über die Linux-Entwickler in der Vergangenheit gescherzt haben.
(Aber Android ist natürlich keine typische, PC-taugliche Distribution)


ChromeOS

Das ChromeOS wird wie Android von Google entwickelt. Es ist für Notebooks optimiert und setzt zur Nutzung eine aktive Internetverbindung voraus.
Die Benutzeroberfläche basiert auf dem Google Chrome Webbrowser.

ChromeOS spielt in Europa derzeit keine große Rolle, wohl aber auf dem Bildungsmarkt in den USA: Dort werden billige Chrome-Books (Also notebooks mit Chrome OS) häufig in Schulen eingesetzt.


andere Distributionen

Neben den oben aufgezählten großen Distributionen gibt es im Internet zahlreiche Zusammenstellungen von Miniatursystemen.
Sie sind vor-allem für Spezialaufgabe konzipiert, etwa für Wartungsarbeiten (Emergency-Systeme) oder um ein Linux-System ohne eigentliche Installation verwenden zu können (Live-Installation).

  • Populäre Vertreter dieser Linux-Gattung sind "Devil Linux", "Parted Magic" und "TinyCore".



Die Qual der Wahl

Eine Empfehlung für eine bestimmte Distribution ist schwierig.

Für Einsteiger

Für Linux-Einsteiger ist es zumeist von Vorteil, sich vorerst für eine weitverbreitete Distribution wie Debian, Ubuntu, Fedora oder Arch_Linux zu entscheiden.

  • Vorteil: Zu diesen Distributionen sind sowohl im Internet als auch im Buch- und Zeitschriftenhandel viele Informationen verfügbar. Bei Problemen ist es vergleichsweise leicht, Hilfe zu finden.
Für kommerzielle Nutzen

Kommerzielle Linux-Anwender bzw. Server-Administratoren müssen sich entscheiden, ob sie bereit sind, für professionellen Support Geld auszugeben.

  • In diesem Fall spricht wenig gegen die Marktführer Red Hat und SUSE.
  • Anderenfalls sind CentOS, Debian und Ubuntu attraktive kostenlose Alternativen.
In meiner Firma

In der Firma, in der ich Arbeite, läuft alles (bis auf den Domain-Controller) hauptsächlich auf Linux:

  • Als normales Desktop-Betriebssystem nutzen wird Linux Mint, welches auch von Ubuntu und somit von Debian abstammt, aber zudem noch einige nützliche Tools/Menüs/Installer/Desktops/Umgebungen/Hilfestellungen/... hinzufügt.
  • Auf unseren (virtualisierten) Servern, sowie auch meinen gemieteten dedizierten-Server von Hetzner (auf dem diese Webseite läuft), läuft Debian.

Open-Source-Lizenzen (GPL & Co.)

Die Grundlage von Open-Source besteht darin, dass der Quellcode von Programmen frei verfügbar ist und von jedem erweitert bzw. geändert werden darf.

  • Allerdings ist damit auch eine Verpflichtung verbunden: Wer Open-Source-Quellcode zur Entwicklung eigener Produkte verwendet, muss den gesamten Code ebenfalls wieder frei weitergeben.

Die Open-Source-Lizenz verbietet übrigens keinesfalls den Verkauf von Open-Source-Produkten. [2]

  • Auf den ersten Blick scheint das ein Widerspruch zu sein. Tatsächlich bezieht sich die Freiheit von Open-Source mehr auf den Code als auf das fertige Produkt (mit etwaigen Serviceleistungen etc.).

Zudem regelt die freie Verfügbarkeit des Codes auch die Preisgestaltung von Open-Source-Produkten:

  • Nur wer neben dem Kompilat eines Open-Source-Programms weitere Zusatzleistungen anbietet (Handbücher, Support, ...) wird überleben.
  • Sobald der Preis in keinem Vernünftigen Verhältnis zu den Leistungen steht, werden sich andere Firmen finden, die es günstiger machen.

Eine gute Einführung in das Thema geben die beiden folgenden Websites:

  • https://www.heise.de/-221957
  • https://opensource.org/
    • OpenSource.org ist eine non-profit Kooperation, dessen Ziel es ist, unabhängig von Einzel- oder Firmeninteressen die Idee (oder das Ideal) von Software mit frei verfügbarem Quellcode zu fördern. [3]
    • Hier findet man auch eine Liste von Lizenzen, die der Open-Source-Idee entsprechen. [4]

General Public License (GPL)

Das Ziel der Open-Source-Entwickler ist es, Software zu schaffen, deren Quellen frei verfügbar sind und es auch bleiben.
Um einen Missbrauch auszuschließen, sind viele Open-Source-Programme durch die "GNU General Public License (kurz GPL)" geschützt.

Die Kernaussage der GPL besteht darin, dass zwar jeder den Code verändern und sogart die resultierenden Programme verkaufen darf, dass aber gleichzeitig der Anwender/der Käufer das Recht auf den vollständigen Code hat und diesen ebenfalls verändern und wieder kostenlos weitergeben darf.
Jedes GNU-Programm muss zusammen mit dem vollständigen GPL-Text weitergegeben werden.

  • Die GPL schließt damit aus, dass jemand ein GPL-Programm weiterentwickeln und verkaufen kann, ohne die Veränderungen öffentlich Verfügbar zu machen.


(Siehe auch die GPL-FAQ Seite zu den wichtigsten Fragen und Antworten rund um GPL)

Lesser General Public License (LGPL)

Der wesentliche Unterschied der Lesser-GPL zur GPL besteht darin, dass eine derart geschützte Bibliothek auch von kommerziellen Produkten genutzt werden darf, deren Code nicht frei verfügbar ist.

  • Ohne die LGPL könnten GPL-Bibliotheken nur wieder für GPL-Programme genutzt werden, was in vielen Fällen eine unerwünschte Einschränkung für kommerzielle Programmierer wäre.

Andere Lizenzen

Durchaus nicht alle Teile einer Linux-Distribution unterliegen den gleichen Copyright-Bedingungen! Obwohl der Kernel und viele Tools der GPL unterliegen, gelten für manche Komponenten und Programme andere rechtliche Bedingungen:

MIT- und BSD-Lizenz

Die MIT- und BSD-Lizenz erlauben die kommerzielle Nutzung des Codes ohne die Verpflichtung, Änderungen öffentlich weiterzugeben. (Vergleichbar zur LGPL)

Doppellizenzen

Für einige Programme gelten je nach Anwendungsart eine andere Lizenz.

Beispielsweise kann man den Datenbank-Server MySQL für Open-Source-Projekte, auf einem eigenen Webserver bzw. für den innerbetriebliche Anwendung gemäß der GPL kostenlos einsetzen.

  • Wenn man hingegen ein kommerzielles Produkt auf der Basis von MySQL entwickeln und samt MySQL verkaufen möchte, ohne Ihren Quellcode zur Verfügung zu stellen, dann kommt die kommerzielle Lizenz zum Einsatz. Die weitergabe von MySQL wird in diesem Fall kostenpflichtig.

Kommerzielle Lizenzen

Einige Programme unterstehen zwar einer kommerziellen Lizenz, dürfen aber dennoch kostenlos genutzt werden.

  • Ein bekanntes Beispiel ist das Flash-Plugin von Adobe: Zwar ist das Programm unter Linux kostenlos erhältlich (und darf auch in Firmen kostenlos eingesetzt werden), aber der Quellcode zu diesem Programm ist nicht verfügbar.

Lizenzkonflikte zwischen Open- und Closed-Source-Software

Viele Open-Source Lizenzen erlauben die Weitergabe nur, wenn man das daraus resultierende Programm im Rahmen einer Open-Source-Lizenz frei zu Verfügung stellt.

GPL-Probleme mit Hardware-Treibern

Manche proprietäre Treiber für Hardware-Komponenten (zB. für NVIDIA-Grafikkarten) bestehen aus einem kleinen Kernmodul (Open Source) und diversen externen Programmen oder Bibliotheken, deren Quellcode nicht verfügbar ist (Closed Source).

  • Das Kernmodul hat nur den Zweck, eine Verbindung zwischen dem Kernel und dem Closed-Source-Treiber herzustellen.

Diese Treiber sind aus Sicht vieler Linux-Anwender eine gute Sache: Sie sind kostenlos verfügbar und ermöglichen es, diverse Hardware-Komponenten zu nutzen, zu denen es entweder gar keine oder zumindest keine vollständige Open-Source-Treiber für Linux gibt.

  • Die Frage ist aber, ob. bzw. in welchem Ausmaß die Closed-Source-Treiber wegen der engen Verzahnung mit dem Kernel, der ja der GPL untersteht, diese Lizenz verletzen. (Viele Open-Source entwickler dulden diese Treiber nur widerwillig)
  • Eine direkte weitergabe mit GPL-Produkten ist nicht zulässig, weswegen der Benutzer die Treiber in der Regel selbst herunterladen muss.

Die Geschichte von Linux

Siehe Wikipedia: Die Geschicht von Linux für einen detaillierteren Überblick.

1982: GNU

Unter dem Projekt GNU wurden seit 1982 eine vielzahl von Open-Source-Werkzeuge entwickelt. Zu den Programmen zählen:

Der Name GNU steht hierbei für "GNU ist not Unix" um zu veranschaulichen, dass GNU keinen UNIX-Code beinhaltet und der Source-Code im Gegensatz dazu frei ist.

Wikipedia:

Da der Kernel des Projektes, GNU Hurd, noch nicht für den praktischen Einsatz geeignet ist, wird GNU heute in der Regel mit dem Linux-Kernel genutzt. Diese Kombination ist das GNU/Linux-Betriebssystem, das oft verkürzt Linux genannt wird.

1989: GPL

Erst sieben Jahre nach dem Start des GNU-Projekts "war die Zeit reif" für die erste Version der "General Public License". Diese Lizenz stellt sicher, dass freier Code frei bleibt.

1991: Linux-Kernel 0.01

Die allerersten Teile des Linux-Kernels (Version 0.01) entwickelte Linus Torvalds. Er gab seinen Code im September 1991 über das Internet frei. Schnell fanden sich weltweit Programmierer, die an der Idee Interesse hatten und Erweiterungen programmierten.

Als der Kernel von Linux die Ausführung des GNU-C-Compilers erlaubte, stand auch die gesamte Palette der GNU-Tools zur Verfügung. Weitere Komponenten waren:

  • Das Dateisystem Minix,
  • Netzwerk-Software von BSD-Unix,
  • das X-Window-System des MIT und dessen Portierung "XFree86"
  • uvm.

Linux ist also nicht nur Linus Torvalds zu verdanken. Hinter Linux stehen vielmehr eine Menge engagierter Menschen, die in ihrer Freizeit, im Rahmen eines Studiums oder bezahlt von Firmen wie Google, IBM oder HP freie Software produzieren.

1994: Erste Distributionen

Informatik-Freaks an Universitäten konnten sich Linux und seine Komponenten selbst herunterladen, kompilieren und installieren.

  • Eine breite Anwendung fand Linux aber erst mit Linux-Distributionen, die Linux und die darum entstandene Software auf Disketten bzw. CD-ROMs verpackten und mit einem Installationsprogramm versahen.

Vier der zu dieser Zeit entstandenen Distributionen existieren heute noch: Debian, Red Hat, Slackware und SUSE

1996: Pinguin

1996 wurde der Pinguin "Tux" zum Linux-Logo. (Siehe Wikipedia Eintrag zum Maskottchen)

1998: Microsoft nimmt Linux wahr

Mit dem rasanten Siegeszug des Internets stieg auch die Verbreitung von Linux, vor allem auf Servern.
Gewissermaßen zum Ritterschlag für Linux wurde der legändere Spruch von Steve Ballmer: "Microsoft is worried about free software..."

2009: Android

Mit der Anroid-Plattform brachte Google Linux zuerst auf das Handy (2009), danach auf Tablets und TV-Geräte.

2012: Raspberry Pi

2012 eroberte der Minicomputer Raspberry Pi die Herzen der Elektronikbastlern. Für nur rund 40€ können Sie mit dem Raspberry Pi selbst Hardware-Experimente durchführen, in die Welt der Heimautomation einsteigen, ein Medien-Center oder einen Home-Server betreiben. Der Raspberry Pi macht Embedded Linux zu einem massenphänomen.

Software-Patente und andere Ärgernisse

Patente schützen in den USA (und anderen Ländern) Software-Ideeen, -Konzepte und Algorithmen. Alles Möglich und Unmögliche ist patentiert, sogar triviale Dinge wie Darstellung eines Fortschrittbalkens oder die 1-Click-Bestellung (Amazon). Der Missbrauch derartiger Trivialpatente und die für die schnelllebiege Software-Branche sehr lange Laufzeit von 20 Jahren tragen zum Widerwillen gegen Software-Patente bei.

Beispielsweise verizichteten viele Distributionen jahrelang aus Angst vor Klagen darauf, Bibliotheken zum Abspielen von MP3-Dateien mitzuliefern, da die darin eingesetzten Algorithmen durch ein Paten geschützt waren.

  • Die Anwender mussten sich die zum Abspielen von MP3-Dateien erforderlichen Bibliotheken selbst installieren.
  • Glücklicherweiße liefen die MP3-Patente 2017 aus, sodass zumindest dieses Problem aus der Welt geschafft ist.

Patent-Krieg

Während Patente selten ein Risiko für einzelne Software-Entwickler sind, spielen sie im Kampf um Marktanteile eine immer größere Rolle. Jeder große Hersteller verklagt jeden anderen - mit ungewissem Ausgang, aber auf jedem fall zur Freude der beteilitgten Rechtsanwälte und Kanzleien.

Patent-Pools der Open-Source-Gemeinde

Ganz aussichtslos ist die Lage zum Glück nicht. Das liegt vor allem daran, dass einige Linux nahestehende Firmen wie IBM selbst über rießige Patent-Pools verfügen. [5]
Diverse Linux-Firmen haben zudem begonnen, selbst Patente zu sammeln, die teilweise von anderen Firmen gleichsam für Open-Source-Zwecke gespendet wurden.

  • Details über Patent-Pools der Open-Source-Gemeinde findet man hier

Das Absurde an der Situation besteht darin, dass ein verfehltes Patentrecht die Open-Source-Gemeinde dazu zwingt, selbst Patente einzusetzen, um sich gegen eventuelle Klagen zu schützen.

Multimedia

Auch abseits der MP3-Dateien ist der Multimedia-Markt ein Problemfeld.

Beispielsweiße kann man unter Linux DVDs nicht ohne Weiteres abspielen.
Diverse Gesetzte verbieten in vielen Ländern sowohl die Weitergabe der erfoderlichen Bibliotheken als auch die bloße Beschreibung, wie diese zu installieren sind - zB. das Urheberrechtsgesetz in Deutschland.

Digital Rights Management

Nicht besser sieht es mit online erworbenene Daten (Videos, E-Books, ...) aus, die durch DRM geschützt sind.
DRM steht für "Digital Rights Management" und bezeichnet diverse Verfahren, um die Nutzung der Daten so einzuschränken, dass sie nur auf einem ganz bestimmten Rechner (mit bestimmer Hardware oder Betriebssystems) möglich ist.

  • DRM-Gegner bezeichnen das System nicht umsonst "Digital Restriction Management".

Siehe auch What is DRM?:

Digital Restrictions Management (DRM) is any technology that is built into an electronic product or service with the aim of limiting its range of uses after purchase.

Installationsgrundlagen

Systemvorrausetzungen: Ein Überblick

Quote von Debian's Seite zur minimalen Hardware-Anforderungen:

Es ist praktisch unmöglich, für Server-Installationen generelle Speicher- oder Festplattenplatzanforderungen anzugeben, da dies sehr davon abhängt, wozu der Server verwendet wird.
Bedenken Sie, dass diese Angaben nicht die anderen Daten enthalten, die normalerweise auf solchen Systemen vorhanden sind, wie die Dateien der Benutzer, E-Mails und Daten. Es ist immer ratsam, bei der Erwägung des für Ihre eigenen Dateien benötigten Platzes großzügig zu sein.

Die meisten Systeme können sogar auf einem PC, der den minimal-Anforderungen nicht genau entspricht, genutzt werden. (Siehe dazu die etwaige Notiz des Distributors)

Quelle Distribution Arbeitsspeicher Festplatte Prozessor
minimal empfohlen minimal empfohlen minimal empfohlen
[6] Debian (ohne Desktop) 128 MB 512 MB 2 GB Pentium 4 mit 1 GHz
Debian (mit Desktop) 256 MB 1 GB 10 GB Pentium 4 mit 1 GHz
[7] Ubuntu (mit Desktop) 2 GB 25 GB 2 GHz Zweikern-Prozessor
Ubuntu Server (ohne Desktop) 256 MB 1.5 GB 300 MHz x86 Prozessor
[8] Linux Mint 19 "Tara" Cinnamon 1 GB 2 GB 15 GB 20 GB
[9] Kali Linux 1 GB 2 GB 20 GB jeder i386- und amd64-kompatible Prozessor
[10] Red Hat Enterprise Linux 4 / 5 1 GB 4 GB Pentium 4 mit 2 GHz
[11] CentOS 7 1 GB 10 GB 20 GB
[12] Fedora 20 1 GB 4 GB 10 GB 20 GB 1 GHz 2 GHz
[13],
[14]
Oracle Linux 6 1 GB 4 GB 1 GB 10 GB
[15] openSUSE Leap (ohne Desktop) 1 GB 2 GB 3 GB Pentium 4 mit 1.6 GHz Pentium 4 mit 2.4 GHz
openSUSE Leap (mit Desktop) 1 GB 2 GB 5 GB Pentium 4 mit 1.6 GHz Pentium 4 mit 2.4 GHz
[16] Arch Linux 512 MB 2 GB 1 GB 20 GB jeder x86_64-kompatible Prozessor
[17] Windows 10 (32-Bit) 1 GB (32 Bit) 16 GB (32-Bit) Prozessor mit 1 GHz oder ein SoC-System
Windows 10 (64-Bit) 2 GB (64 Bit) 32GB (64 Bit)

32 und 64-Bit-Distributionen

In fast allen gängigen PCs und Notebooks befinden sich 64-Bit Prozessoren.
Der wesentliche Unterschied zwischen 32- und 64-Bit-Prozessoren besteht darin, dass mit 64-Bit-Prozessoren Speicherbereiche über 4 GiB direkt addresiert werden können.

Aus technischen Gründen werden die Vorteile der 64-Bit-Architektur nur wirksam, wenn die gesamte Distribution aus 64-Bit-Programmen und -Bibliotheken besteht. Deswegen gibt es von den meisten Distributionen zwei Ausführungen:

  • eine 32-Bit Version (übliche Kürzel sind i386, i586 oder i686, die sich auf Intel-Prozessorfamilien beziehen)
  • und eine 64-Bit Version (Kürzel x86_64 oder AMD64)

In der Vergangenheit mussten sich Anwender von 64-Bit-Distributionen damit herumärgern, dass es diverse Nicht-Open-Source-Programme und -Treiber nur in 32-Bit-Version gab. Das hat sich mittlerweile zum Glück geändert.

  • Heute gibt es kaum noch Gründe, die gegen eine 64-Bit Installation sprechen. Zudem sind 64-Bit-Distributionen EFI-kompatibel.


BIOS und EFI

Das Thema "BIOS und EFI" habe ich schon mehrmals durchgemacht:

Hier nocheinmal eine Zusammenfassung:

BIOS

Das BIOS ist für die Erkennung der Hardware-Komponenten, für die Konfiguration der Hardware sowie für den Start des Betriebssystems verantwortlich.

EFI und UEFI

Das traditionelle BIOS schleppt mit seinen 40-Jahren eine Menge Atlasten mit sich herum, weswegen Intel bereits 1998 mit der Entwicklung des BIOS-Nachfolgers EFI (Extensible Firmware Interface) begann. Später beteilitgten sich viele namhafte Firmen (AMD, Apple, Microsoft etc.) an der Weiterentwicklung, wobei die Software auch eine Abkürzung bekam: UEFI (Unified EFI).

Während Apple schon früh auf den EFI-Zug aufsprang und seit vielen Jahren alle Macs mit einer EFI-Variante ausstattet, dauerte es in der PC-Welt wesentlich länger. Der Siegeszug von EFI hat erst 2012 mit der Markteinführung von Windows 8 begonnen. Seither kommt EFI auf nahezu allen neuen Notebooks und PCs zum Einsatz. Viele EFI-implementierungen sind zudem EFI kompatibel.

Wozu EFI?

Aus technischer Sicht bietet EFI viele grundlegende Vorteile im Vergleich zum BIOS (höhere Intialisierungsgeschwindigkeit, Unterstützung der Parallelinstallation mehrerer Betriebssysteme etc.).
Aus Anwendersicht reduzieren sich die Argumente für EFI aber zumeist auf drei Punkte:

  • EFI kommt mit Festplatten über 2 TiB (Terabyte) zurecht. Für das herkömmliche BIOS gilt das nur mit Einschränkungen.
  • EFI ist kompatibel zu den GUID Partition Tables (GPT). Das ist eine modernere Form der Festplattenpartitionierung.
  • EFI vereinfacht die Parallelinstallation von Windows und Linux auf einem Rechner

Linux und EFI

Die meisten aktuellen Linux-Distributionen sind EFI-Kompatibel. Das Installationsmedium startet bei ihnen direkt im EFI-Modus (nicht im BIOS-Modus) und richtet Linux so ein, dass es direkt durch EFI hochgefahren werden kann.

EFI-Kompatiblität der wichtigsten Linux-Distributionen
Distribution EFI-Kompatibel ab EFI Secure Boot ab
CentOS Version 6.4 Version 7
Debian Version 7 Version 9.1 (?)
Ubuntu Version 11.10 Version 12.10
Linux Mint Version 15 k.A.
RHEL Version 6.2 Version 7
Fedora Version 16 Version 18
openSUSE Version 12.3 Version 13.1

Linux als Vorreiter des EFI

Es mag paradox wirken, aber aus Linux-Sicht bringt EFI kaum nennenswerte Vorteile mit sich:

  • Linux untersützt schon bisher, im Zusammenspiel mit den meisten BIOS-Versionen, GPT-partitionierte Festplatten in belibieger Größe
  • Linux konnte mit dem Bootloader GRUB schon bisher beliebig viele parallel installierte Betriebssysteme starten

BIOS und EFI-Boot

Manche Mainboards unterstützen sowohl den herkömmlichen BIOS-Start als auch EFI: Im Boot-Menü erscheint das Installationsmedium dann möglicherweise doppelt: Einmal mit und einmal ohne "UEFI"/"EFI" im Namen.

  • Hier sollte man auf jeden fall die neuere EFI-Variante wählen.

Nur 64-Bit

Bei den meisten Linux-Distributionen kommt nur die 64-Bit-Variante mit EFI zurecht. Zwar sind Notebooks mit 32-Bit-CPU und EFI sehr selten, aber es gibt sie. Vorsicht also beim Rechnerkauf: Auf einem derartigen Notebook ist es unmöglich, Linux zu installieren.

Apple und EFI

Apple setzt schon viel länger auf EFI als herkömmliche PCs/Notebooks. Das bringt leider mit sich, dass die EFI-Versionen auf Macs inkompatibel zu den (U)EFI-Versionen auf PCs ist.

  • Trotz EFI ist die Installation von Linux auf einem Mac daher sehr häufig mit Problemen verbunden.

Die EFI-Partition

Im Gegensatz zum BIOS sieht die EFI-Spezifikation die Parallelinstallation mehrerer Betriebssysteme sowie deren Auswahl während des Boot-Prozesses vor.
Damit das funktioniert, muss es auf der Festplatte eine spezielle EFI-Partition geben, in der jedes Betriebssystem sein eigenes Startprogramm (sog. Bootloader) installiert.

Die EFI-Partition muss ein VFAT-Dateisystem enthalten, als ein Windows-95-kompatibles Dateisystem. Außerdem muss die Partition durch eine spezielle UID markiert sein. 100 bis 200 MiB reichen für diese Partition vollkommen aus.

Bei der Installation von Linux muss man darauf achten, dass eine bereits vorhandene EFI-Partition in das Verzeichnis /boot/efi eingebunden werden muss.

  • (Die Installationsprogramme der meisten, aktuellen Distributionen kümmern sich automatisch um diesen Schritt, außer man entscheidet sich für eine manuelle Partitionierung.)
  • Auf keinem Falls darf eine vorhandene EFI-Partition formatiert werden, sonst kann keines der bereits installierten Betriebssysteme mehr gestartet werden.

UEFI Secure Boot

UEFI Secure Boot ist eine von Microsoft betriebene Erweiterung der EFI-Funktionen: Wenn Secure-Boot aktiv ist, kann nur ein Betriebssystem gestartetwerden, das mit dem auf dem Mainboard hinterlegten Schlüssel signiert ist.

  • Auf diese weiße ist ausgeschlossen, dass Viren oder andere Schadsoftware bereits in den Boot-Vorgang eingreifen - was in der Praxis in den letzten Jahren aber ohnedies nur äußerst selten der Fall war.

Das Problem mit Secure Boot

Dennoch wird Secure Boot natürlich als Sicherheitsgewinn für Windows-Anwender verkauft. Aus Linux-Sicht verursacht diese FUnktionen hingegen Probleme: Auf den meisten Mainboards gibt es nur einen Schlüssel - den von Microsoft.

  • Zwar stellt Microsoft den Schlüssel auch Linux-Distributoren gegen eine geringe Gebühr zur Verfügung, dennoch hat sich die Unterstützung von Secure Boot als relativ schwierig erwiesen.

Für Linux-Anwender gibt es derzeit 2 Wege, um Linux auf Rechnern mit UEFI Secure-Boot einsetzen zu können:

  • Sie verwenden eine Linux-Distribution, die kompatibel zu UEFI-Secure-Boot ist (siehe Tabelle oben).
    • Bei diesen Distributionen kommt ein mit dem Schlüssel signierter Bootloader zum Einsatz, zumeist das Programm "Shim". Dieses startet in einem zweiten Schritt den gewöhnlichen Linux-Bootloader GRUB.
  • Sie deaktivieren UEFI Secure-Boot vor der Installation.

Weitere Quellen zu (U)EFI



Installationsvarianten

TODO weiterlesen und Quellen zu Texten hinzufügen