Linux

Aus besserwiki.de
Linux
Tux the penguin
Tux der Pinguin, Maskottchen von Linux
EntwicklerMitwirkende der Gemeinschaft
Linus Torvalds
Geschrieben inC, Assembler und andere Sprachen
Betriebssystem-FamilieUnix-ähnlich
ArbeitszustandDerzeit
Quellcode-ModellOffene Quelle
Erste Veröffentlichung17. September 1991; vor 31 Jahren
Repositorygit.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
Marketing-ZielCloud Computing, eingebettete Geräte, Großrechner, mobile Geräte, Personal Computer, Server, Supercomputer
Verfügbar inMehrsprachig
PlattformenAlpha, ARC, ARM, C6x, C-Sky, H8/300, Hexagon, IA-64, m68k, Microblaze, MIPS, Nios II, OpenRISC, PA-RISC, PowerPC, RISC-V, s390, SuperH, SPARC, x86, Xtensa
Kernel-TypMonolithisch
BenutzeroberflächeGNU, BusyBox
Standard
Benutzeroberfläche
  • Unix-Shell (CLI)
  • Die meisten Distributionen enthalten eine Desktop-Umgebung (GUI)
LizenzGPLv2 und andere (der Name "Linux" ist ein Warenzeichen)
Artikel der Reihe
Linux-Kernel
Linux-Distribution

Linux (/ˈlnʊks/ (LEE-nuuks oder /ˈlɪnʊks/ LIN-uuks) ist eine Familie von quelloffenen Unix-ähnlichen Betriebssystemen, die auf dem Linux-Kernel basieren, einem Betriebssystem-Kernel, der erstmals am 17. September 1991 von Linus Torvalds veröffentlicht wurde. Linux wird normalerweise in einer Linux-Distribution verpackt.

Die Distributionen enthalten den Linux-Kernel und unterstützende Systemsoftware und Bibliotheken, von denen viele vom GNU-Projekt bereitgestellt werden. Viele Linux-Distributionen verwenden das Wort "Linux" in ihrem Namen, aber die Free Software Foundation verwendet den Namen "GNU/Linux", um die Bedeutung der GNU-Software zu betonen, was zu einigen Kontroversen führte.

Beliebte Linux-Distributionen sind Debian, Fedora Linux und Ubuntu, von dem es wiederum viele verschiedene Distributionen und Modifikationen gibt, darunter Lubuntu und Xubuntu. Zu den kommerziellen Distributionen gehören Red Hat Enterprise Linux und SUSE Linux Enterprise. Desktop-Linux-Distributionen umfassen ein Fenstersystem wie X11 oder Wayland und eine Desktop-Umgebung wie GNOME oder KDE Plasma. Für Server vorgesehene Distributionen können ganz ohne Grafiken auskommen oder einen Lösungsstapel wie LAMP enthalten. Da Linux frei verteilbar ist, kann jeder eine Distribution für jeden Zweck erstellen.

Linux wurde ursprünglich für Personalcomputer auf der Basis der Intel x86-Architektur entwickelt, ist aber inzwischen auf mehr Plattformen portiert worden als jedes andere Betriebssystem. Aufgrund der Dominanz des Linux-basierten Android auf Smartphones hat Linux, einschließlich Android, die größte installierte Basis aller Allzweck-Betriebssysteme (Stand: Mai 2022). Obwohl Linux im Mai 2022 nur von etwa 2,3 Prozent der Desktop-Computer verwendet wird, dominiert das Chromebook, auf dem das auf dem Linux-Kernel basierende Chrome OS läuft, den US-amerikanischen K-12-Bildungsmarkt und macht fast 20 Prozent der Notebook-Verkäufe unter 300 US-Dollar in den USA aus. Linux ist das führende Betriebssystem auf Servern (über 96,4 % der Betriebssysteme der Top-1-Million-Webserver sind Linux), führt andere große Eisensysteme wie Großrechner an und ist das einzige Betriebssystem, das auf TOP500-Supercomputern verwendet wird (seit November 2017, nachdem es nach und nach alle Konkurrenten verdrängt hat).

Linux läuft auch auf eingebetteten Systemen, d. h. auf Geräten, deren Betriebssystem typischerweise in die Firmware integriert und stark auf das System zugeschnitten ist. Dazu gehören Router, Automatisierungssteuerungen, Smart-Home-Geräte, Fernseher (Samsung- und LG-Smart-TVs verwenden Tizen bzw. WebOS), Autos (Tesla, Audi, Mercedes-Benz, Hyundai und Toyota setzen alle auf Linux), digitale Videorekorder, Videospielkonsolen, Smartwatches, Raumfahrzeuge (die Avionik von Falcon 9 und Dragon 2 verwendet eine angepasste Version von Linux) und Rover (die Mars 2020-Mission brachte drei Linux-Computer zum Mars, darunter den Ingenuity-Helikopter).

Linux ist eines der bekanntesten Beispiele für die Zusammenarbeit bei freier und quelloffener Software. Der Quellcode kann von jedermann unter den Bedingungen der entsprechenden Lizenzen, wie der GNU General Public License (GPL), verwendet, verändert und kommerziell oder nicht kommerziell weitergegeben werden. Der Linux-Kernel beispielsweise steht unter der GPLv2, mit einer besonderen Ausnahme für Systemaufrufe, da ohne die Ausnahme für Systemaufrufe jedes Programm, das den Kernel aufruft, als Derivat betrachtet würde und daher die GPL für dieses Programm gelten müsste.

Als Linux (deutsch [ˈliːnʊks] anhören?/i) oder GNU/Linux (siehe GNU/Linux-Namensstreit) bezeichnet man in der Regel freie, unixähnliche Mehrbenutzer-Betriebssysteme, die auf dem Linux-Kernel und wesentlich auf GNU-Software basieren. Die weite, auch kommerzielle Verbreitung wurde ab 1992 durch die Lizenzierung des Linux-Kernels unter der freien Lizenz GPL ermöglicht. 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.

Linux wird vielfältig und umfassend eingesetzt, beispielsweise auf Arbeitsplatzrechnern, Servern, Mobiltelefonen, Routern, Notebooks, Embedded Systems, Multimedia-Endgeräten und Supercomputern. Dabei wird Linux unterschiedlich häufig genutzt: So ist Linux im Server-Markt wie auch im mobilen Bereich eine feste Größe, während es auf dem Desktop und Laptops eine noch geringe, aber wachsende Rolle spielt. Im Januar 2022 war es in Deutschland auf 4,19 % der Systeme installiert.

Linux wird von zahlreichen Nutzern verwendet, darunter private Nutzer, Regierungen, Organisationen und Unternehmen.

Geschichte

Vorläufer

Linus Torvalds, Hauptautor des Linux-Kernels

Das Unix-Betriebssystem wurde 1969 in den Bell Labs von AT&T in den Vereinigten Staaten von Ken Thompson, Dennis Ritchie, Douglas McIlroy und Joe Ossanna konzipiert und implementiert. Unix wurde erstmals 1971 veröffentlicht und war, wie damals üblich, vollständig in Assembler geschrieben. Im Jahr 1973 wurde es von Dennis Ritchie in der Programmiersprache C umgeschrieben (mit Ausnahme einiger Hardware- und E/A-Routinen) und leistete damit wichtige Pionierarbeit. Die Verfügbarkeit einer Hochsprachenimplementierung von Unix erleichterte die Portierung auf verschiedene Computerplattformen.

Aufgrund eines früheren Kartellverfahrens, das AT&T den Einstieg in das Computergeschäft untersagte, lizenzierte AT&T den Quellcode des Betriebssystems als Geschäftsgeheimnis an jeden, der danach fragte. Infolgedessen wuchs Unix schnell und wurde von akademischen Einrichtungen und Unternehmen in großem Umfang übernommen. 1984 trennte sich AT&T von seinen regionalen Betriebsgesellschaften und wurde von seiner Verpflichtung entbunden, nicht in das Computergeschäft einzusteigen; von dieser Verpflichtung befreit, begann Bell Labs, Unix als proprietäres Produkt zu verkaufen, bei dem es den Benutzern rechtlich nicht gestattet war, Unix zu verändern.

Onyx Systems begann 1980 mit dem Verkauf der ersten Unix-Workstations auf Mikrocomputerbasis. Später begann auch Sun Microsystems, das als Spin-off eines Studentenprojekts an der Stanford University gegründet wurde, 1982 mit dem Verkauf von Unix-basierten Desktop-Workstations. Die Sun-Workstations nutzten zwar keine handelsübliche PC-Hardware, für die später Linux entwickelt wurde, stellten aber den ersten erfolgreichen kommerziellen Versuch dar, einen Mikrocomputer mit einem Unix-Betriebssystem für Einzelbenutzer zu vertreiben.

Das GNU-Projekt, das 1983 von Richard Stallman ins Leben gerufen wurde, hatte das Ziel, ein "vollständiges Unix-kompatibles Softwaresystem" zu schaffen, das vollständig aus freier Software besteht. Die Arbeit begann 1984. Später, im Jahr 1985, gründete Stallman die Free Software Foundation und schrieb 1989 die GNU General Public License (GNU GPL). Anfang der 1990er Jahre waren viele der für ein Betriebssystem erforderlichen Programme (wie Bibliotheken, Compiler, Texteditoren, eine Befehlszeilen-Shell und ein Fenstersystem) fertiggestellt, obwohl Elemente auf niedriger Ebene wie Gerätetreiber, Daemons und der Kernel, genannt GNU Hurd, auf der Stelle traten und unvollständig waren.

MINIX wurde von Andrew S. Tanenbaum, einem Informatikprofessor, entwickelt und 1987 als minimales Unix-ähnliches Betriebssystem veröffentlicht, das sich an Studenten und andere Personen richtete, die die Prinzipien von Betriebssystemen erlernen wollten. Obwohl der vollständige Quellcode von MINIX frei verfügbar war, verhinderten die Lizenzbedingungen, dass es sich um freie Software handelte, bis die Lizenzierung im April 2000 geändert wurde.

Obwohl es aufgrund rechtlicher Komplikationen erst 1992 veröffentlicht wurde, ging die Entwicklung von 386BSD, von dem NetBSD, OpenBSD und FreeBSD abstammen, der Entwicklung von Linux voraus.

Linus Torvalds hat bei verschiedenen Gelegenheiten erklärt, dass er Linux wahrscheinlich nicht entwickelt hätte, wenn der GNU-Kernel oder 386BSD zu dieser Zeit (1991) verfügbar gewesen wäre.

Gründung

Während seines Studiums an der Universität Helsinki schrieb sich Torvalds im Herbst 1990 für einen Unix-Kurs ein. In dem Kurs wurde ein MicroVAX-Minicomputer mit Ultrix verwendet, und einer der erforderlichen Texte war Operating Systems: Design and Implementation von Andrew S. Tanenbaum. Dieses Lehrbuch enthielt eine Kopie von Tanenbaums MINIX-Betriebssystem. In diesem Kurs kam Torvalds zum ersten Mal mit Unix in Berührung. Im Jahr 1991 wurde er neugierig auf Betriebssysteme. Aus Frustration über die Lizenzierung von MINIX, die es damals nur für den Bildungsbereich zuließ, begann er, an einem eigenen Betriebssystemkern zu arbeiten, aus dem schließlich der Linux-Kernel wurde.

Torvalds begann die Entwicklung des Linux-Kernels auf der Grundlage von MINIX, und für MINIX geschriebene Anwendungen wurden auch unter Linux verwendet. Später wurde Linux ausgereift und die weitere Entwicklung des Linux-Kernels fand auf Linux-Systemen statt. GNU-Anwendungen ersetzten auch alle MINIX-Komponenten, da es von Vorteil war, den frei verfügbaren Code des GNU-Projekts mit dem jungen Betriebssystem zu verwenden; Code, der unter der GNU GPL lizenziert ist, kann in anderen Computerprogrammen wiederverwendet werden, solange sie unter der gleichen oder einer kompatiblen Lizenz veröffentlicht werden. Torvalds initiierte einen Wechsel von seiner ursprünglichen Lizenz, die eine kommerzielle Weitergabe untersagte, zur GNU GPL. Die Entwickler arbeiteten daran, GNU-Komponenten in den Linux-Kernel zu integrieren, wodurch ein voll funktionsfähiges und freies Betriebssystem entstand.

Benennung

5,25-Zoll-Disketten mit einer sehr frühen Version von Linux

Linus Torvalds wollte seine Erfindung "Freax" nennen, ein Portmanteau aus "free", "freak" und "x" (als Anspielung auf Unix). Zu Beginn seiner Arbeit an dem System enthielten einige der Makefiles des Projekts etwa ein halbes Jahr lang den Namen "Freax". Torvalds zog zunächst den Namen "Linux" in Betracht, verwarf ihn aber als zu egoistisch.

Um die Entwicklung zu erleichtern, wurden die Dateien im September 1991 auf den FTP-Server (ftp.funet.fi) von FUNET hochgeladen. Ari Lemmke, Torvalds' Mitarbeiter an der Helsinki University of Technology (HUT), der zu dieser Zeit einer der freiwilligen Administratoren des FTP-Servers war, hielt "Freax" nicht für einen guten Namen und nannte das Projekt auf dem Server "Linux", ohne Torvalds zu fragen. Später willigte Torvalds jedoch in "Linux" ein.

Einem Newsgroup-Post von Torvalds zufolge sollte das Wort "Linux" (/ˈlɪnʊks/ (listen) LIN-uuks) mit einem kurzen "i" wie in "print" und "u" wie in "put". Zur weiteren Veranschaulichung, wie das Wort "Linux" ausgesprochen werden sollte, hat er einen Audioguide (listen (help-info)) mit dem Kernel-Quellcode. In dieser Aufnahme spricht er "Linux" jedoch (/ˈlinʊks/ (listen) LEEN-uuks) mit einem kurzen, aber nahen vorderen ungerundeten Vokal aus.

Kommerzielle und populäre Akzeptanz

Ubuntu, eine beliebte Linux-Distribution
Nexus 5X mit Android

Die Einführung von Linux in Produktionsumgebungen, die nicht nur von Hobbyanwendern genutzt wird, begann Mitte der 1990er Jahre in der Supercomputing-Gemeinschaft, wo Organisationen wie die NASA begannen, ihre immer teureren Maschinen durch Cluster aus preiswerten Standardcomputern mit Linux zu ersetzen. Die kommerzielle Nutzung begann, als Dell und IBM, gefolgt von Hewlett-Packard, Linux-Unterstützung anboten, um das Monopol von Microsoft auf dem Markt für Desktop-Betriebssysteme zu umgehen.

Heute werden Linux-Systeme überall im Computerbereich eingesetzt, von eingebetteten Systemen bis hin zu praktisch allen Supercomputern, und haben sich einen Platz in Serverinstallationen wie dem beliebten LAMP-Anwendungsstapel gesichert. Die Verwendung von Linux-Distributionen auf Heim- und Unternehmens-Desktops hat zugenommen. Linux-Distributionen sind auch auf dem Netbook-Markt populär geworden, da viele Geräte mit angepassten Linux-Distributionen ausgeliefert werden und Google sein eigenes, für Netbooks konzipiertes Chrome OS herausgebracht hat.

Der größte Erfolg von Linux auf dem Verbrauchermarkt ist vielleicht der Markt für mobile Geräte, wo Android das dominierende Betriebssystem auf Smartphones ist und sich auch auf Tablets und neuerdings auch auf Wearables großer Beliebtheit erfreut. Linux-Gaming ist ebenfalls auf dem Vormarsch, da Valve seine Unterstützung für Linux zeigt und mit SteamOS eine eigene spielorientierte Linux-Distribution auf den Markt bringt. Linux-Distributionen erfreuen sich auch bei verschiedenen lokalen und nationalen Regierungen großer Beliebtheit, wie z. B. bei der brasilianischen Bundesregierung.

Aktuelle Entwicklung

Ein Bordunterhaltungssystem, das mit dem Linux-Logo hochgefahren wird

Greg Kroah-Hartman ist der Hauptverantwortliche für den Linux-Kernel und leitet dessen Entwicklung. William John Sullivan ist der geschäftsführende Direktor der Free Software Foundation, die wiederum die GNU-Komponenten unterstützt. Schließlich entwickeln Einzelpersonen und Unternehmen Komponenten von Drittanbietern, die nicht zu GNU gehören. Diese Komponenten von Drittanbietern umfassen einen großen Teil der Arbeit und können sowohl Kernel-Module als auch Benutzeranwendungen und Bibliotheken umfassen.

Linux-Anbieter und -Gemeinschaften kombinieren und vertreiben den Kernel, die GNU-Komponenten und die Nicht-GNU-Komponenten zusammen mit zusätzlicher Paketverwaltungssoftware in Form von Linux-Distributionen.

Streit um Linux

Schon früh kam es rund um Linux zum Streit. 1992 griff Andrew S. Tanenbaum Linux wegen eines aus seiner Sicht veralteten Designs und eines zu liberalen Entwicklungsmodells an. Später kam Tanenbaum erneut ins Spiel, als Ken Brown an seinem Buch Samizdat schrieb und nach Anhaltspunkten suchte, dass Linux nur eine Kopie von Tanenbaums Minix sei. Tanenbaum nahm Linux diesmal in Schutz. Linux habe ein zu schlechtes Design, als dass es abgeschrieben sein könne.

Anderen Streit gab es mit erklärten Konkurrenten. Schon früh wurden interne Microsoft-Dokumente (Halloween-Dokumente) bekannt, die aufzeigten, dass Microsoft annahm, Linux sei die größte Gefahr für Windows. Später begann Microsoft mit einer Kampagne, um Windows bei einer Gegenüberstellung mit Linux technisch wie wirtschaftlich gut aussehen zu lassen. Während die Community diese Kampagne recht gelassen sah, starteten vor allem Unternehmen im Linux-Umfeld Gegenkampagnen. Im Herbst 2006 aber kündigten Microsoft und Novell an, bei Interoperabilität und Patentschutz zusammenzuarbeiten, um so die Zusammenarbeit der einzelnen Produkte zu verbessern.

Ein anderer Konkurrent, der Unix-Hersteller SCO, erhob wiederum 2003 den Vorwurf, dass bei IBM angestellte Linux-Entwickler Quellcode von SCOs Unix in Linux kopiert hätten. Das Verfahren wurde im Sommer 2007 eingestellt, die SCO Group hat mittlerweile Insolvenz angemeldet und wurde vom Börsenhandel ausgeschlossen. 2013 wurde eine Wiederaufnahme des Verfahrens beantragt. Im Artikel SCO gegen Linux ist der Streit chronologisch dokumentiert.

Ebenfalls machte das Markenrecht Linux schon früh zu schaffen. So ließen einige Privatpersonen Mitte der 1990er Jahre den Namen Linux auf sich eintragen, was Torvalds nur mit viel Hilfe wieder rückgängig machen konnte. Er übertrug die Verwaltung der Markenrechte an das Linux Mark Institute, welches wiederum im Jahr 2005 auffiel, als es die Lizenzen für den Markenschutz auf bis zu 5.000 Dollar pro Jahr festlegte. Diese Summe brachte hauptsächlich viele an Community-Projekten beteiligte Gemüter in Wallung, woraufhin sich Torvalds genötigt fühlte, in einem offenen Brief Stellung zu nehmen und klarzustellen, dass das Geld schlichtweg benötigt werde, damit das gemeinnützig arbeitende Linux Mark Institute seine eigenen Kosten decken könne.

Entwurf

Viele Open-Source-Entwickler sind der Meinung, dass der Linux-Kernel nicht entworfen wurde, sondern sich vielmehr durch natürliche Selektion entwickelt hat. Torvalds ist der Ansicht, dass das Design von Unix zwar als Gerüst diente, "Linux aber mit einer Menge Mutationen wuchs - und weil die Mutationen nicht zufällig waren, waren sie schneller und gezielter als Alpha-Teilchen in der DNA." Eric S. Raymond ist der Ansicht, dass die revolutionären Aspekte von Linux sozialer und nicht technischer Natur sind: Vor Linux wurde komplexe Software sorgfältig von kleinen Gruppen entwickelt, aber "Linux entwickelte sich auf eine völlig andere Weise. Fast von Anfang an wurde es von einer großen Zahl von Freiwilligen, die sich nur über das Internet koordinierten, eher beiläufig gehackt. Die Qualität wurde nicht durch starre Standards oder Autokratie aufrechterhalten, sondern durch die naiv-einfache Strategie, jede Woche eine neue Version zu veröffentlichen und innerhalb weniger Tage Rückmeldungen von Hunderten von Benutzern zu erhalten, wodurch eine Art schnelle darwinistische Selektion der von den Entwicklern eingeführten Mutationen stattfand." Bryan Cantrill, ein Ingenieur eines konkurrierenden Betriebssystems, stimmt zu, dass "Linux nicht entworfen wurde, sondern sich entwickelt hat", hält dies aber für eine Einschränkung und schlägt vor, dass einige Funktionen, insbesondere solche, die mit der Sicherheit zusammenhängen, nicht weiterentwickelt werden können: "Letztendlich ist dies kein biologisches System, sondern ein Softwaresystem." Ein auf Linux basierendes System ist ein modulares, Unix-ähnliches Betriebssystem, dessen grundlegendes Design zu einem großen Teil von den in den 1970er und 1980er Jahren in Unix etablierten Prinzipien abgeleitet ist. Ein solches System verwendet einen monolithischen Kernel, den Linux-Kernel, der die Prozesssteuerung, die Vernetzung, den Zugriff auf die Peripheriegeräte und das Dateisystem übernimmt. Gerätetreiber werden entweder direkt in den Kernel integriert oder als Module hinzugefügt, die geladen werden, während das System läuft.

Das GNU-Userland ist ein wesentlicher Bestandteil der meisten Systeme, die auf dem Linux-Kernel basieren, wobei Android eine bemerkenswerte Ausnahme darstellt. Die Implementierung der C-Bibliothek des Projekts dient als Wrapper für die Systemaufrufe des Linux-Kernels, die für die Schnittstelle zwischen Kernel und Userspace erforderlich sind. Die Toolchain ist eine umfassende Sammlung von Programmierwerkzeugen, die für die Linux-Entwicklung unerlässlich sind (einschließlich der Compiler, die zur Erstellung des Linux-Kernels selbst verwendet werden), und die coreutils implementieren viele grundlegende Unix-Werkzeuge. Das Projekt entwickelt auch Bash, eine beliebte CLI-Shell. Die grafische Benutzeroberfläche (oder GUI), die von den meisten Linux-Systemen verwendet wird, basiert auf einer Implementierung des X Window Systems. In jüngster Zeit bemüht sich die Linux-Gemeinschaft, Wayland als neues Display-Server-Protokoll anstelle von X11 zu verwenden. Viele andere Open-Source-Softwareprojekte tragen zu Linux-Systemen bei.

Verschiedene Schichten innerhalb von Linux, zeigt auch die Trennung zwischen dem Userland und dem Kernel Space
Benutzermodus Benutzeranwendungen bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, ...
System-Komponenten Init-Daemon:
OpenRC, runit, systemd...
Systemdämonen:
polkitd, smbd, sshd, udevd...
Fenster-Manager:
X11, Wayland, SurfaceFlinger (Android)
Grafiken:
Mesa, AMD Catalyst, ...
Andere Bibliotheken:
GTK, Qt, EFL, SDL, SFML, FLTK, GNUstep, ...
C-Standardbibliothek fopen, execv, malloc, memcpy, localtime, pthread_create... (bis zu 2000 Unterroutinen)
glibc zielt darauf ab, schnell zu sein, musl zielt darauf ab, leichtgewichtig zu sein, uClibc zielt auf eingebettete Systeme, bionic wurde für Android geschrieben, usw. Alle zielen darauf ab, POSIX/SUS-kompatibel zu sein.
Kernel-Modus Linux-Kernel stat, splice, dup, read, open, ioctl, write, mmap, close, exit, usw. (etwa 380 Systemaufrufe)
Das Linux-Kernel System Call Interface (SCI), soll POSIX/SUS-kompatibel sein
Prozess-Scheduling
Subsystem
IPC
Subsystem
Speicherverwaltung
Subsystem
Virtuelle Dateien
Subsystem
Netzwerk
Subsystem
Andere Komponenten: ALSA, DRI, evdev, klibc, LVM, device mapper, Linux Network Scheduler, Netfilter
Linux-Sicherheitsmodule: SELinux, TOMOYO, AppArmor, Smack
Hardware (CPU, Hauptspeicher, Datenspeichergeräte, usw.)

Zu den installierten Komponenten eines Linux-Systems gehören die folgenden:

  • Ein Bootloader, zum Beispiel GNU GRUB, LILO, SYSLINUX oder systemd-boot. Dabei handelt es sich um ein Programm, das den Linux-Kernel in den Hauptspeicher des Computers lädt, indem es vom Computer beim Einschalten und nach der Initialisierung der Firmware ausgeführt wird.
  • Ein Init-Programm, wie das traditionelle sysvinit und die neueren systemd, OpenRC und Upstart. Dies ist der erste Prozess, der vom Linux-Kernel gestartet wird, und steht an der Wurzel des Prozessbaums: Mit anderen Worten, alle Prozesse werden durch init gestartet. Er startet Prozesse wie Systemdienste und Anmeldeaufforderungen (ob grafisch oder im Terminalmodus).
  • Softwarebibliotheken, die Code enthalten, der von laufenden Prozessen verwendet werden kann. Auf Linux-Systemen, die ausführbare Dateien im ELF-Format verwenden, ist der dynamische Linker, der die Verwendung von dynamischen Bibliotheken verwaltet, als ld-linux.so bekannt. Wenn das System so eingerichtet ist, dass der Benutzer Software selbst kompilieren kann, sind auch Header-Dateien enthalten, die die Schnittstelle der installierten Bibliotheken beschreiben. Neben der auf Linux-Systemen am häufigsten verwendeten Softwarebibliothek, der GNU C Library (glibc), gibt es zahlreiche weitere Bibliotheken, wie SDL und Mesa.
    • Die C-Standardbibliothek ist die Bibliothek, die benötigt wird, um C-Programme auf einem Computersystem auszuführen, wobei die GNU C Library der Standard ist. Für eingebettete Systeme wurden Alternativen wie musl, EGLIBC (ein glibc-Fork, der einst von Debian verwendet wurde) und uClibc (die für uClinux entwickelt wurde) entwickelt, wobei die beiden letztgenannten nicht mehr gepflegt werden. Android verwendet seine eigene C-Bibliothek, Bionic.
  • Grundlegende Unix-Befehle, wobei GNU coreutils die Standardimplementierung ist. Für eingebettete Systeme gibt es Alternativen, wie die Copyleft BusyBox und die BSD-lizenzierte Toybox.
  • Widget-Toolkits sind die Bibliotheken, die zur Erstellung von grafischen Benutzeroberflächen (GUIs) für Softwareanwendungen verwendet werden. Es gibt zahlreiche Widget-Toolkits, darunter GTK und Clutter, die vom GNOME-Projekt entwickelt wurden, Qt, das vom Qt-Projekt entwickelt wurde und von The Qt Company geleitet wird, und Enlightenment Foundation Libraries (EFL), die hauptsächlich vom Enlightenment-Team entwickelt wurden.
  • Ein Paketverwaltungssystem, wie z. B. dpkg und RPM. Alternativ können Pakete auch aus Binär- oder Quellcode-Tarballs kompiliert werden.
  • Programme für die Benutzeroberfläche, wie z. B. Befehlsshells oder Fensterumgebungen.

Benutzeroberfläche

Die Benutzerschnittstelle, auch Shell genannt, ist entweder eine Befehlszeilenschnittstelle (CLI), eine grafische Benutzerschnittstelle (GUI) oder Bedienelemente, die mit der zugehörigen Hardware verbunden sind, wie dies bei eingebetteten Systemen üblich ist. Bei Desktop-Systemen ist die Standard-Benutzeroberfläche in der Regel grafisch, obwohl die Befehlszeilenschnittstelle (CLI) in der Regel über Terminalemulator-Fenster oder auf einer separaten virtuellen Konsole verfügbar ist.

CLI-Shells sind textbasierte Benutzeroberflächen, die sowohl für die Eingabe als auch für die Ausgabe Text verwenden. Die vorherrschende Shell in Linux ist die Bourne-Again Shell (bash), die ursprünglich für das GNU-Projekt entwickelt wurde. Die meisten Low-Level-Linux-Komponenten, einschließlich verschiedener Teile des Userlands, verwenden ausschließlich die CLI. Die CLI eignet sich besonders für die Automatisierung von sich wiederholenden oder zeitlich verzögerten Aufgaben und bietet eine sehr einfache Kommunikation zwischen den Prozessen.

Auf Desktop-Systemen sind die beliebtesten Benutzeroberflächen die GUI-Shells, die zusammen mit umfangreichen Desktop-Umgebungen wie KDE Plasma, GNOME, MATE, Cinnamon, LXDE, Pantheon und Xfce angeboten werden, obwohl es eine Vielzahl weiterer Benutzeroberflächen gibt. Die meisten populären Benutzeroberflächen basieren auf dem X Window System, oft einfach "X" genannt. Es bietet Netzwerktransparenz und ermöglicht es, dass eine grafische Anwendung, die auf einem System läuft, auf einem anderen System angezeigt wird, wo ein Benutzer mit der Anwendung interagieren kann; bestimmte Erweiterungen des X Window Systems sind jedoch nicht in der Lage, über das Netz zu arbeiten. Es gibt mehrere X-Anzeigeserver, wobei die Referenzimplementierung, X.Org Server, die beliebteste ist.

Server-Distributionen können eine Befehlszeilenschnittstelle für Entwickler und Administratoren bereitstellen, bieten jedoch eine benutzerdefinierte Schnittstelle für Endbenutzer, die auf den Anwendungsfall des Systems zugeschnitten ist. Auf diese benutzerdefinierte Schnittstelle wird über einen Client zugegriffen, der sich auf einem anderen, nicht unbedingt Linux-basierten System befindet.

Es gibt mehrere Arten von Fenstermanagern für X11, darunter Kacheln, dynamische Fenster, Stapeln und Compositing. Fenstermanager bieten die Möglichkeit, die Platzierung und das Aussehen einzelner Anwendungsfenster zu steuern und mit dem X Window System zu interagieren. Einfachere X-Fenstermanager wie dwm, ratpoison, i3wm oder herbstluftwm bieten eine minimalistische Funktionalität, während aufwändigere Fenstermanager wie FVWM, Enlightenment oder Window Maker mehr Funktionen wie eine integrierte Taskleiste und Themes bieten, aber im Vergleich zu Desktop-Umgebungen immer noch leichtgewichtig sind. Desktop-Umgebungen enthalten Fenstermanager als Teil ihrer Standardinstallationen, wie z. B. Mutter (GNOME), KWin (KDE) oder Xfwm (xfce), obwohl die Benutzer einen anderen Fenstermanager verwenden können, wenn sie dies wünschen.

Wayland ist ein Display-Server-Protokoll, das als Ersatz für das X11-Protokoll gedacht ist; seit 2014 hat es keine größere Verbreitung gefunden. Im Gegensatz zu X11 benötigt Wayland keinen externen Fenstermanager und Compositing-Manager. Daher übernimmt ein Wayland-Compositor die Rolle des Display-Servers, Fenstermanagers und Compositing-Managers. Weston ist die Referenzimplementierung von Wayland, während GNOME's Mutter und KDE's KWin als eigenständige Display-Server auf Wayland portiert werden. Enlightenment ist bereits seit Version 19 erfolgreich portiert worden.

Infrastruktur für die Videoeingabe

Linux verfügt derzeit über zwei moderne Kernel-User-Space-APIs für den Umgang mit Videoeingabegeräten: V4L2 API für Videostreams und Radio und DVB API für digitalen TV-Empfang.

Aufgrund der Komplexität und Vielfalt der verschiedenen Geräte und aufgrund der großen Anzahl von Formaten und Standards, die von diesen APIs verarbeitet werden, muss diese Infrastruktur weiterentwickelt werden, um besser zu anderen Geräten zu passen. Außerdem ist eine gute Userspace-Gerätebibliothek der Schlüssel zum Erfolg, damit Userspace-Anwendungen mit allen von diesen Geräten unterstützten Formaten arbeiten können.

Entwicklung

Vereinfachte Geschichte der Unix-ähnlichen Betriebssysteme. Linux hat eine ähnliche Architektur und ähnliche Konzepte (als Teil des POSIX-Standards), aber nicht den gleichen unfreien Quellcode wie das ursprüngliche Unix oder MINIX.

Der Hauptunterschied zwischen Linux und vielen anderen modernen Betriebssystemen besteht darin, dass der Linux-Kernel und andere Komponenten freie und quelloffene Software sind. Linux ist nicht das einzige Betriebssystem dieser Art, wenngleich es bei weitem das am meisten verwendete ist. Einige Lizenzen für freie und quelloffene Software beruhen auf dem Prinzip des Copyleft, einer Art Gegenseitigkeit: Jedes Werk, das von einer Copyleft-Software abgeleitet ist, muss auch selbst Copyleft sein. Die gebräuchlichste Lizenz für freie Software, die GNU General Public License (GPL), ist eine Form von Copyleft und wird für den Linux-Kernel und viele der Komponenten des GNU-Projekts verwendet.

Linux-basierte Distributionen sind von den Entwicklern für die Interoperabilität mit anderen Betriebssystemen und etablierten Computerstandards konzipiert. Linux-Systeme halten sich nach Möglichkeit an POSIX-, SUS-, LSB-, ISO- und ANSI-Standards, obwohl bisher nur eine Linux-Distribution POSIX.1-zertifiziert ist: Linux-FT.

Freie Software-Projekte werden, obwohl sie in Zusammenarbeit entwickelt werden, oft unabhängig voneinander erstellt. Die Tatsache, dass die Softwarelizenzen ausdrücklich die Weiterverbreitung erlauben, bietet jedoch eine Grundlage für größere Projekte, die die von Einzelprojekten produzierte Software sammeln und in Form einer Linux-Distribution auf einmal zur Verfügung stellen.

Viele Linux-Distributionen verwalten eine Remote-Sammlung von System- und Anwendungssoftwarepaketen, die über eine Netzwerkverbindung heruntergeladen und installiert werden können. So können die Benutzer das Betriebssystem an ihre speziellen Bedürfnisse anpassen. Distributionen werden von Einzelpersonen, lose zusammengesetzten Teams, Freiwilligenorganisationen und kommerziellen Unternehmen gepflegt. Eine Distribution ist für die Standardkonfiguration des installierten Linux-Kernels, die allgemeine Systemsicherheit und ganz allgemein für die Integration der verschiedenen Softwarepakete in ein kohärentes Ganzes verantwortlich. Distributionen verwenden in der Regel einen Paketmanager wie apt, yum, zypper, pacman oder portage, um die gesamte Software eines Systems von einer zentralen Stelle aus zu installieren, zu entfernen und zu aktualisieren.

Gemeinschaft

Eine Distribution wird weitgehend von ihren Entwickler- und Benutzergemeinschaften bestimmt. Einige Anbieter entwickeln und finanzieren ihre Distributionen auf freiwilliger Basis, Debian ist ein bekanntes Beispiel. Andere pflegen eine Community-Version ihrer kommerziellen Distributionen, wie Red Hat mit Fedora und SUSE mit openSUSE.

In vielen Städten und Regionen gibt es lokale Vereinigungen, die als Linux User Groups (LUGs) bekannt sind, um ihre bevorzugte Distribution und damit auch freie Software zu fördern. Sie veranstalten Treffen und bieten neuen Benutzern kostenlose Demonstrationen, Schulungen, technischen Support und Betriebssysteminstallationen. Auch viele Internet-Communities bieten Linux-Benutzern und -Entwicklern Unterstützung an. Die meisten Distributionen und freien Software-/Open-Source-Projekte haben IRC-Chatrooms oder Newsgroups. Online-Foren sind ein weiteres Mittel zur Unterstützung, mit bemerkenswerten Beispielen wie LinuxQuestions.org und den verschiedenen distributionsspezifischen Support- und Community-Foren, wie die für Ubuntu, Fedora und Gentoo. Linux-Distributionen bieten Mailinglisten an; in der Regel gibt es für eine bestimmte Liste ein spezielles Thema wie Nutzung oder Entwicklung.

Es gibt mehrere Technologie-Websites mit einem Linux-Schwerpunkt. In gedruckten Magazinen zu Linux sind oft Deckblätter mit Software oder sogar kompletten Linux-Distributionen enthalten.

Obwohl Linux-Distributionen im Allgemeinen kostenlos erhältlich sind, verkaufen und unterstützen mehrere große Unternehmen die Komponenten des Systems und der freien Software und tragen zu deren Entwicklung bei. Eine Analyse des Linux-Kernels im Jahr 2017 ergab, dass weit über 85 % des Codes von Programmierern entwickelt wurden, die für ihre Arbeit bezahlt werden, während etwa 8,2 % auf unbezahlte Entwickler entfallen und 4,1 % nicht klassifiziert sind. Einige der großen Unternehmen, die Beiträge leisten, sind Intel, Samsung, Google, AMD, Oracle und Facebook. Eine Reihe von Unternehmen, insbesondere Red Hat, Canonical und SUSE, haben ein bedeutendes Geschäft mit Linux-Distributionen aufgebaut.

Die Lizenzen für freie Software, auf denen die verschiedenen Softwarepakete einer auf dem Linux-Kernel aufbauenden Distribution basieren, berücksichtigen und fördern ausdrücklich die Kommerzialisierung; die Beziehung zwischen einer Linux-Distribution als Ganzes und einzelnen Anbietern kann als symbiotisch angesehen werden. Ein gängiges Geschäftsmodell kommerzieller Anbieter ist die Erhebung von Gebühren für den Support, insbesondere für Geschäftskunden. Einige Unternehmen bieten auch eine spezialisierte Business-Version ihrer Distribution an, die proprietäre Support-Pakete und Tools zur Verwaltung einer größeren Anzahl von Installationen oder zur Vereinfachung von Verwaltungsaufgaben enthält.

Ein weiteres Geschäftsmodell besteht darin, die Software zu verschenken, um Hardware zu verkaufen. Dies war früher in der Computerindustrie die Norm, da Betriebssysteme wie CP/M, Apple DOS und Versionen von Mac OS vor 7.6 frei kopierbar (aber nicht veränderbar) waren. Mit der Standardisierung der Computerhardware in den 1980er Jahren wurde es für die Hardwarehersteller immer schwieriger, von dieser Taktik zu profitieren, da das Betriebssystem auf Computern aller Hersteller mit der gleichen Architektur laufen würde.

Programmierung unter Linux

Die meisten Programmiersprachen unterstützen Linux entweder direkt oder durch Portierungen von Drittanbietern aus der Community. Die ursprünglichen Entwicklungswerkzeuge, die für die Erstellung von Linux-Anwendungen und Betriebssystemprogrammen verwendet werden, finden sich in der GNU-Toolchain, zu der die GNU Compiler Collection (GCC) und das GNU Build System gehören. GCC bietet u.a. Compiler für Ada, C, C++, Go und Fortran. Viele Programmiersprachen haben eine plattformübergreifende Referenzimplementierung, die Linux unterstützt, zum Beispiel PHP, Perl, Ruby, Python, Java, Go, Rust und Haskell. Das LLVM-Projekt, das 2003 erstmals veröffentlicht wurde, bietet einen alternativen plattformübergreifenden Open-Source-Compiler für viele Sprachen. Zu den proprietären Compilern für Linux gehören der Intel C++ Compiler, Sun Studio und IBM XL C/C++ Compiler. BASIC in Form von Visual Basic wird in Form von Gambas, FreeBASIC und XBasic sowie in Form von Terminalprogrammierung oder QuickBASIC oder Turbo-BASIC-Programmierung in Form von QB64 unterstützt.

Ein gemeinsames Merkmal von Unix-ähnlichen Systemen ist, dass Linux traditionelle, zweckgebundene Programmiersprachen enthält, die auf Skripterstellung, Textverarbeitung und Systemkonfiguration und -verwaltung im Allgemeinen ausgerichtet sind. Linux-Distributionen unterstützen Shell-Skripte, awk, sed und make. Viele Programme haben auch eine eingebettete Programmiersprache, um die Konfiguration oder Programmierung selbst zu unterstützen. So werden beispielsweise reguläre Ausdrücke in Programmen wie grep und locate unterstützt, der traditionelle Unix-MTA Sendmail enthält ein eigenes, vollständiges Turing-Skriptsystem, und der fortschrittliche Texteditor GNU Emacs basiert auf einem Allzweck-Lisp-Interpreter.

Die meisten Distributionen bieten auch Unterstützung für PHP, Perl, Ruby, Python und andere dynamische Sprachen. Obwohl nicht so verbreitet, unterstützt Linux auch C# (über Mono), Vala und Scheme. Guile Scheme fungiert als Erweiterungssprache für die GNU-Systemdienstprogramme und versucht, die konventionell kleinen, statischen, kompilierten C-Programme des Unix-Designs durch ein elegantes, funktionales High-Level-Skriptsystem schnell und dynamisch erweiterbar zu machen; viele GNU-Programme können zu diesem Zweck mit optionalen Guile-Bindungen kompiliert werden. Eine Reihe von virtuellen Java-Maschinen und Entwicklungskits laufen unter Linux, darunter die ursprüngliche JVM von Sun Microsystems (HotSpot) und IBMs J2SE RE sowie viele Open-Source-Projekte wie Kaffe und JikesRVM.

GNOME und KDE sind beliebte Desktop-Umgebungen und bieten einen Rahmen für die Entwicklung von Anwendungen. Diese Projekte basieren auf den GTK- bzw. Qt-Widget-Toolkits, die auch unabhängig vom größeren Framework verwendet werden können. Beide unterstützen eine Vielzahl von Sprachen. Es gibt eine Reihe integrierter Entwicklungsumgebungen, darunter Anjuta, Code::Blocks, CodeLite, Eclipse, Geany, ActiveState Komodo, KDevelop, Lazarus, MonoDevelop, NetBeans und Qt Creator, während die altbewährten Editoren Vim, nano und Emacs weiterhin beliebt sind.

Hardware-Unterstützung

Linux ist allgegenwärtig auf verschiedenen Arten von Hardware zu finden.

Der Linux-Kernel ist ein weithin portierter Betriebssystem-Kernel, der für Geräte von Mobiltelefonen bis hin zu Supercomputern verfügbar ist; er läuft auf einer Vielzahl von Computerarchitekturen, darunter der ARM-basierte iPAQ und die IBM-Großrechner System z9 oder System z10. Für weniger gängige Architekturen gibt es spezialisierte Distributionen und Kernel-Forks; der ELKS-Kernel-Fork kann beispielsweise auf Intel 8086- oder Intel 80286-16-Bit-Mikroprozessoren laufen, während der µClinux-Kernel-Fork auf Systemen ohne Speicherverwaltungseinheit laufen kann. Der Kernel läuft auch auf Architekturen, die eigentlich nur für ein vom Hersteller entwickeltes Betriebssystem vorgesehen waren, wie z. B. Macintosh-Computer (sowohl mit PowerPC- als auch mit Intel-Prozessoren), PDAs, Videospielkonsolen, tragbare Musikgeräte und Mobiltelefone.

Es gibt mehrere Industrieverbände und Hardwarekonferenzen, die sich der Pflege und Verbesserung der Unterstützung für verschiedene Hardware unter Linux widmen, wie z. B. FreedomHEC. Im Laufe der Zeit hat sich die Unterstützung für verschiedene Hardware in Linux verbessert, so dass bei jedem Kauf von Standardhardware eine "gute Chance" besteht, dass sie kompatibel ist.

Im Jahr 2014 wurde eine neue Initiative gestartet, um automatisch eine Datenbank mit allen getesteten Hardwarekonfigurationen zu erstellen.

Marktanteil und Marktakzeptanz

Viele quantitative Studien zu freier/Open-Source-Software befassen sich mit Themen wie Marktanteil und Zuverlässigkeit, wobei zahlreiche Studien speziell Linux untersuchen. Der Linux-Markt wächst, und es wird erwartet, dass der Markt für Linux-Betriebssysteme bis 2027 um 19,2 % auf 15,64 Mrd. US-Dollar wächst, verglichen mit 3,89 Mrd. US-Dollar im Jahr 2019. Analysten und Befürworter führen den relativen Erfolg von Linux auf die Sicherheit, die Zuverlässigkeit, die niedrigen Kosten und die Freiheit von Herstellerbindung zurück.

Desktops und Laptops
Laut Webserver-Statistiken (d. h. basierend auf den Zahlen, die von Client-Geräten beim Besuch von Websites erfasst werden) liegt der geschätzte Marktanteil von Linux auf Desktop-Computern im Mai 2022 bei etwa 2,5 %. Im Vergleich dazu hat Microsoft Windows einen Marktanteil von etwa 75,5 %, während macOS etwa 14,9 % abdeckt.
Webserver
W3Cook veröffentlicht Statistiken, die sich auf die 1.000.000 größten Alexa-Domains stützen. Demnach laufen im Mai 2015 96,55 % der Webserver unter Linux, 1,73 % unter Windows und 1,72 % unter FreeBSD.
W3Techs veröffentlicht Statistiken, die die Top 10.000.000 Alexa-Domains und die Top 1.000.000 Tranco-Domains verwenden, die monatlich aktualisiert werden und für November 2020 schätzen, dass 39 % der Webserver Linux verwenden, während 21,9 % Microsoft Windows verwenden. 40,1 % nutzten andere Unix-Typen.
Der IDC-Bericht für das erste Quartal 2007 gab an, dass Linux zu diesem Zeitpunkt einen Anteil von 12,7 % am gesamten Servermarkt hatte; diese Schätzung basierte auf der Anzahl der von verschiedenen Unternehmen verkauften Linux-Server und berücksichtigte nicht die separat gekaufte Server-Hardware, auf der später Linux installiert wurde.
Mobile Geräte
Android, das auf dem Linux-Kernel basiert, hat sich zum dominierenden Betriebssystem für Smartphones entwickelt. Im zweiten Quartal 2013 verwendeten 79,3 % der weltweit verkauften Smartphones Android. Android ist auch ein beliebtes Betriebssystem für Tablets, das 2013 für mehr als 60 % der Tablet-Verkäufe verantwortlich war. Laut Webserver-Statistiken hat Android im Oktober 2021 einen Marktanteil von etwa 71 %, während iOS 28 % hält und das restliche 1 % auf verschiedene Nischenplattformen entfällt.
Filmproduktion
Linux ist seit Jahren die Plattform der Wahl in der Filmindustrie. Der erste große Film, der auf Linux-Servern produziert wurde, war 1997 der Film Titanic. Seitdem sind große Studios wie DreamWorks Animation, Pixar, Weta Digital und Industrial Light & Magic auf Linux umgestiegen. Nach Angaben der Linux Movies Group verwenden mehr als 95 % der Server und Desktops in großen Animations- und Visual-Effects-Firmen Linux.
Einsatz in Behörden
Linux-Distributionen sind auch bei verschiedenen lokalen und nationalen Regierungen sehr beliebt. Auch das russische Militär hat eine eigene Linux-Distribution entwickelt, die unter dem Namen G.H.ost Project zum Einsatz kommt. Der indische Bundesstaat Kerala hat sogar vorgeschrieben, dass alle staatlichen High Schools Linux auf ihren Computern verwenden müssen. China verwendet ausschließlich Linux als Betriebssystem für seine Loongson-Prozessorfamilie, um technologische Unabhängigkeit zu erreichen. In Spanien haben einige Regionen ihre eigenen Linux-Distributionen entwickelt, die im Bildungswesen und in öffentlichen Einrichtungen weit verbreitet sind, wie gnuLinEx in Extremadura und Guadalinex in Andalusien. Frankreich und Deutschland haben ebenfalls Schritte zur Einführung von Linux unternommen. Das nordkoreanische Red Star OS, das seit 2002 entwickelt wird, basiert auf einer Version von Fedora Linux.

Urheberrecht, Markenzeichen und Namensgebung

Der Linux-Kernel ist unter der GNU General Public License (GPL), Version 2, lizenziert. Die GPL verlangt, dass jeder, der Software auf der Grundlage von Quellcode unter dieser Lizenz weitergibt, dem Empfänger den ursprünglichen Quellcode (und alle Änderungen) unter denselben Bedingungen zur Verfügung stellen muss. Andere Schlüsselkomponenten einer typischen Linux-Distribution sind ebenfalls hauptsächlich unter der GPL lizenziert, aber sie können auch andere Lizenzen verwenden; viele Bibliotheken verwenden die GNU Lesser General Public License (LGPL), eine freizügigere Variante der GPL, und die X.Org-Implementierung des X Window Systems verwendet die MIT-Lizenz.

Torvalds erklärt, dass der Linux-Kernel nicht von Version 2 der GPL zu Version 3 wechseln wird. Ihm missfallen insbesondere einige Bestimmungen in der neuen Lizenz, die den Einsatz der Software in der digitalen Rechteverwaltung verbieten. Außerdem wäre es unpraktisch, von allen Urheberrechtsinhabern, die in die Tausende gehen, eine Genehmigung einzuholen.

Eine 2001 durchgeführte Studie über Red Hat Linux 7.1 ergab, dass diese Distribution 30 Millionen Quellcodezeilen enthält. Unter Verwendung des konstruktiven Kostenmodells schätzte die Studie, dass diese Distribution etwa achttausend Personenjahre an Entwicklungszeit erforderte. Wäre die gesamte Software auf herkömmliche Weise entwickelt worden, hätte ihre Entwicklung in den Vereinigten Staaten im Jahr 2020 etwa 1,57 Milliarden US-Dollar gekostet. Der größte Teil des Quellcodes (71 %) wurde in der Programmiersprache C geschrieben, aber auch viele andere Sprachen wurden verwendet, darunter C++, Lisp, Assembler, Perl, Python, Fortran und verschiedene Shell-Skriptsprachen. Etwas mehr als die Hälfte aller Codezeilen stand unter der GPL-Lizenz. Der Linux-Kernel selbst umfasste 2,4 Millionen Codezeilen bzw. 8 % der Gesamtmenge.

In einer späteren Studie wurde dieselbe Analyse für Debian Version 4.0 (etch, das 2007 veröffentlicht wurde) durchgeführt. Diese Distribution enthielt fast 283 Millionen Quellcodezeilen, und die Studie schätzte, dass ihre Entwicklung mit konventionellen Mitteln etwa 73.000 Mannjahre und 8,8 Milliarden US-Dollar (im Jahr 2020) gekostet hätte.

Der Name "Linux" wird auch für ein Waschmittel der Schweizer Firma Rösch verwendet.

In den Vereinigten Staaten ist der Name Linux eine auf Linus Torvalds eingetragene Marke. Zunächst meldete niemand den Namen an, doch am 15. August 1994 meldete William R. Della Croce, Jr. die Marke Linux an und verlangte anschließend Lizenzgebühren von den Linux-Vertreibern. 1996 verklagten ihn Torvalds und einige betroffene Organisationen, um die Marke auf Torvalds übertragen zu lassen, und 1997 wurde der Fall beigelegt. Die Lizenzierung der Marke wird seither vom Linux Mark Institute (LMI) wahrgenommen. Torvalds hat erklärt, dass er den Namen nur geschützt hat, um zu verhindern, dass jemand anderes ihn verwendet. Ursprünglich verlangte das LMI eine geringe Gebühr für die Unterlizenzierung des Linux-Namens als Teil des Warenzeichens, änderte dies aber später zugunsten einer kostenlosen, unbefristeten weltweiten Unterlizenz.

Die Free Software Foundation (FSF) bevorzugt den Namen GNU/Linux, wenn sie sich auf das Betriebssystem als Ganzes bezieht, da sie Linux-Distributionen als Varianten des GNU-Betriebssystems betrachtet, das 1983 von Richard Stallman, dem Präsidenten der FSF, initiiert wurde. Der Name Android für das Android-Betriebssystem, das ebenfalls auf dem Linux-Kernel basiert, wird von der FSF ausdrücklich nicht in Frage gestellt, da GNU kein Teil davon ist.

Eine Minderheit von Persönlichkeiten des öffentlichen Lebens und andere Softwareprojekte als Stallman und die FSF, insbesondere Debian (das bis 1996 von der FSF gesponsert wurde), verwenden ebenfalls GNU/Linux, wenn sie sich auf das Betriebssystem als Ganzes beziehen. Die meisten Medien und der allgemeine Sprachgebrauch bezeichnen diese Familie von Betriebssystemen jedoch einfach als Linux, ebenso wie viele große Linux-Distributionen (z. B. SUSE Linux und Red Hat Enterprise Linux). Im Gegensatz dazu verwenden Linux-Distributionen, die nur freie Software enthalten, "GNU/Linux" oder einfach "GNU", wie z. B. Trisquel GNU/Linux, Parabola GNU/Linux-libre, BLAG Linux and GNU und gNewSense.

Im Mai 2011 bestanden etwa 8 bis 13 % der Linux-Distribution Ubuntu aus GNU-Komponenten (die Spanne hängt davon ab, ob GNOME als Teil von GNU betrachtet wird), wie durch das Zählen der Quellcodezeilen von Ubuntus "Natty"-Veröffentlichung ermittelt wurde; inzwischen entfallen 6 % auf den Linux-Kernel, was sich auf 9 % erhöht, wenn man seine direkten Abhängigkeiten einbezieht.

Der Kernel

Struktur des Linux-Kernels im Detail

Technik

Die Bezeichnung Linux wurde von Linus Torvalds anfänglich nur für den Kernel genutzt, dieser stellt der Software eine Schnittstelle zur Verfügung, mit der sie auf die Hardware zugreifen kann, ohne sie genauer zu kennen. Der Linux-Kernel ist ein in der Programmiersprache C geschriebener monolithischer Kernel, wobei einige GNU-C Erweiterungen benutzt werden. Wichtige Teilroutinen sowie zeitkritische Module sind jedoch in prozessorspezifischer Assemblersprache programmiert. Der Kernel ermöglicht es, nur die für die jeweilige Hardware nötigen Treiber zu laden. Weiterhin übernimmt der Kernel auch die Zuweisung von Prozessorzeit und Ressourcen zu den einzelnen Programmen, die auf ihm gestartet werden. Bei den einzelnen technischen Vorgängen orientiert sich das Design von Linux stark an seinem Vorbild Unix.

Der Linux-Kernel wurde zwischenzeitlich auf eine sehr große Anzahl von Hardware-Architekturen portiert. Das Repertoire reicht von eher exotischen Betriebsumgebungen wie dem iPAQ-Handheld-Computer, Navigationsgeräten von TomTom oder gar Digitalkameras bis hin zu Großrechnern wie IBMs System z und neuerdings auch Mobiltelefonen wie dem Motorola A780 sowie Smartphones mit Betriebssystemen wie Android oder Sailfish OS auf dem Jolla. Trotz Modulkonzept blieb die monolithische Grundarchitektur erhalten. Die Orientierung der Urversion auf die verbreiteten x86-PCs führte früh dazu, verschiedenste Hardware effizient zu unterstützen und die Bereitstellung von Treibern auch unerfahrenen Programmierern zu ermöglichen. Die hervorgebrachten Grundstrukturen beflügelten die Verbreitung.

Kernel-Versionen

Auf kernel.org werden alle Kernel-Versionen archiviert. Die dort zu findende Version ist der jeweilige Referenzkernel. Auf diesem bauen die sogenannten Distributionskernel auf, die von den einzelnen Linux-Distributionen um weitere Funktionen ergänzt werden. Eine Besonderheit stellt dabei das aus vier Zahlen bestehende und durch Punkte getrennte Versionsnummernschema dar, z. B. 2.6.14.1. Es gibt Auskunft über die exakte Version und damit auch über die Fähigkeiten des entsprechenden Kernels. Von den vier Zahlen wird die letzte für Fehlerbehebungen und Bereinigungen geändert, nicht aber für neue Funktionen oder tiefgreifende Änderungen. Aus diesem Grund wird sie auch nur selten mit angegeben, wenn man beispielsweise Kernel-Versionen vergleicht. Die vorletzte, dritte Zahl wird geändert, wenn neue Fähigkeiten oder Funktionen hinzugefügt werden. Gleiches gilt für die ersten beiden Zahlen, bei diesen müssen die Änderungen und neuen Funktionen jedoch drastischer ausfallen. Ab Version 3.0 (August 2011) wird auf die zweite Stelle verzichtet.

Entwicklungsprozess

Die Entwicklung von Linux liegt durch die GPL und durch ein sehr offenes Entwicklungsmodell nicht in der Hand von Einzelpersonen, Konzernen oder Ländern, sondern in der Hand einer weltweiten Gemeinschaft vieler Programmierer, die sich in erster Linie über das Internet austauschen. In vielen E-Mail-Listen, aber auch in Foren und im Usenet besteht für jedermann die Möglichkeit, die Diskussionen über den Kernel zu verfolgen, sich daran zu beteiligen und auch aktiv Beiträge zur Entwicklung zu leisten. Durch diese unkomplizierte Vorgehensweise ist eine schnelle und stetige Entwicklung gewährleistet, die auch die Möglichkeit mit sich bringt, dass jeder dem Kernel Fähigkeiten zukommen lassen kann, die er benötigt. Eingegrenzt wird dies nur durch die Kontrolle von Linus Torvalds und einigen speziell ausgesuchten Programmierern, die das letzte Wort bei der Aufnahme von Verbesserungen und Patches haben. Auf diese Weise entstehen täglich grob 4.300 Zeilen neuer Code, wobei auch täglich ungefähr 1.800 Zeilen gelöscht und 1.500 geändert werden (Angaben nach Greg Kroah-Hartman als Durchschnitt für das Jahr 2007). An der Entwicklung sind derzeit ungefähr 100 Verantwortliche („maintainer“) für 300 Subsysteme beteiligt.

Beispiele für Details an Kerneländerungen

Neuerungen im Kernel 2.6

Der stabile Kernel 2.6 wurde ab Dezember 2001 auf Basis des damaligen 2.4er-Kernels entwickelt und weist eine Reihe von Neuerungen auf. Die auffälligste Auswirkung dieser Änderungen ist, dass graphische und interaktive Anwendungen deutlich schneller ausgeführt werden.

Eine der wichtigsten Änderungen war dabei die Verbesserung des sogenannten O(1)-Schedulers, den Ingo Molnár für den 2.6er-Kernel komplett neu konzipierte. Er hat die Fähigkeit, das Zuweisen von Prozessorzeit zu unterschiedlichen Prozessen unabhängig von der Anzahl der Prozesse in konstanter Zeit zu erledigen. Seit Kernel 2.6.23 kommt allerdings stattdessen der sogenannte Completely Fair Scheduler zum Einsatz.

Eine andere Neuerung stellt die Einführung von Access Control Lists dar, mit deren Hilfe ein sehr fein abgestimmtes Rechtemanagement möglich ist, was vor allen Dingen in Umgebungen mit vielen Benutzern sehr wichtig ist. Ebenso verfügt der neue Kernel über ein deutlich verbessertes System der Dateiüberwachung. In der neuen Version, Inotify genannt, gibt die Überwachung bei jeder Operation an einer Datei eine Nachricht ab, was z. B. für Desktop-Suchmaschinen wichtig ist, die daraufhin ihren Index in Bezug auf diese Datei aktualisieren können.

Distributionen

Da der Linux-Kernel alleine nicht lauffähig bzw. bedienbar wäre, muss man ihn mit Hilfssoftware zusammen verteilen, beispielsweise den GNU Core Utilities und vielen anderen Anwendungsprogrammen. Solch eine Zusammenstellung nennt man „Linux-Distribution“, sie ist eine Zusammenstellung verschiedener Software, die je nach Bedingung unterschiedlich sein kann. Die so entstehenden Distributionen unterscheiden sich teilweise sehr deutlich. Der Herausgeber einer Linux-Distribution ist der Distributor.

Einsatzbereiche

Der Linux-Kernel wird auf unterschiedlichster Hardware eingesetzt und wird von einer großen Menge von sowohl freier als auch proprietärer Software unterstützt. Die Mängel der bisher verfügbaren Fenstersysteme, möglicherweise die mangelnde Einheitlichkeit der zahlreichen grafischen Shells und definitiv das Fehlen von Gerätetreibern behindern die weitere Verbreitung.

Die Einsatzgebiete von Linux sind seit der ersten Version stetig erweitert worden und decken heutzutage einen weiten Bereich ab.

Supercomputer

IBM Blue Gene

Da Linux beliebig angepasst und optimiert werden kann, hat es sich auch in Rechenzentren stark verbreitet, in denen speziell angepasste Versionen auf Großrechnern, Computerclustern (siehe Beowulf) oder Supercomputern laufen.

In der TOP500-Liste der schnellsten Supercomputer (Stand Juni 2018) werden alle gelisteten Systeme mit Linux betrieben. Der im Desktop-Bereich größte Konkurrent Windows spielt bei Höchstleistungsrechnern keine Rolle. Im Juni 2011 waren es noch 4 Systeme (darunter Platz 40), die mit dem Betriebssystem Windows liefen.

(Automobil-)Industrie

Linux setzt sich aus vielfältigen Gründen auch immer mehr in der Industrie, speziell in der Automobilindustrie, durch. Das weltweit erste von Linux betriebene Infotainment-System wurde von General Motors in Kooperation mit Bosch entwickelt. Die GENIVI Alliance definiert Anforderungen an eine Linux-Distribution speziell für Infotainment-Systeme in Fahrzeugen. Die größte Marktdurchdringung hat Linux in Japan. Zu den bekannten Unternehmen, die Linux verwenden, gehören: Ashisuto, Aisin AW, JVC KENWOOD Corporation, NTT DATA MSE und Turbo Systems.

Weitere Einsatzbereiche

Ferner können auch NAS-Speichersysteme oder WLAN-Router Linux als Betriebssystem nutzen. Vorteil ist, dass eine sehr aktive Entwickler-Community besteht, auf deren Ressourcen (der Kernel mit den Schnittstellen-, Speicherverwaltungs- und Netzwerkfunktionen, aber z. B. auch umfangreiche Entwicklerprogramme, bereits bestehender Code wie die Benutzeroberflächen OPIE oder GPE Palmtop Environment, Erfahrung etc.) die Hersteller dabei zurückgreifen können.

Sicherheit

Allgemeines

Die Gründe für die Bewertung von Linux als sicheres System sind verschieden und hängen von dessen Aufgaben und der verwendeten Softwarekonfiguration ab. So verfügt Linux als Desktop-System über eine strenge Unterteilung der Zugriffsrechte, die bei anderen verbreiteten Desktop-Systemen im Normalfall nicht eingehalten wird. Dies führt unter anderem dazu, dass viele Funktionsprinzipien verbreiteter Würmer und Viren bei Linux nicht greifen können beziehungsweise nur den ausführenden Benutzer, jedoch nicht das ganze System, kompromittieren können. Eine Kompromittierung des Nutzers kann gleichwohl zu sensiblen Datenverlusten führen. Bisher traten nur sehr wenige Viren unter Linux auf, beispielsweise Staog und Bliss. Im Vergleich zu anderen Desktop-Systemen hat Linux die erste größere Verbreitung bei Nutzern mit einem sehr technischen und sicherheitsbewussten Umfeld erfahren. Die Entwicklung geschah somit, verglichen mit anderen verbreiteten Desktop-Systemen, unter den Augen eines sehr sicherheitskritischen Publikums. Im Gegensatz zu Desktop-Systemen hängt die Sicherheit bei Serversystemen primär vom Grad der Erfahrung der Administratoren mit dem System selbst ab. Linux punktet dabei durch die freie Verfügbarkeit, die es Administratoren ermöglicht, das System ohne Mehrkosten in verschiedensten Testszenarien zu installieren und dort ausgiebig zu untersuchen. Zudem gibt es eine Reihe von speziell gehärteten Linux-Distributionen, welche besonderen Wert auf Sicherheitsaspekte legen. Initiativen wie SELinux bemühen sich dort um das Erfüllen hoher Sicherheitsstandards.

Da Linux quelloffene Software ist, kann jeder den Quellcode studieren, untersuchen und anpassen. Dies führt unter anderem auch dazu, dass der Quellcode (sei es zum Zwecke der Anpassung, zum Zwecke der Schulung, aus dem Sicherheitsinteresse einer Institution oder eines Unternehmens heraus oder aus privatem Interesse) von mehr Menschen studiert wird, als dies bei proprietären Programmen der Fall sein kann, wodurch Sicherheitslücken schneller auffallen (und dann behoben werden können).

Sicherheitsaktualisierungen

Ein wesentliches Merkmal vieler Linux-Distributionen ist es, dass sie kostenlos und automatisiert Sicherheitsaktualisierungen für alle bereitgestellte Software anbieten. Diese Funktion existiert zwar auch bei anderen gängigen Betriebssystemen, erfasst dort aber nicht alle bereitgestellte Software, funktioniert nicht durchgehend automatisch oder ist nicht kostenlos, weshalb die Hürde, solche Aktualisierungen einzuspielen, bei anderen Betriebssystemen höher ist als bei Linux.

Unter anderem wegen der allgemein verfügbaren Sicherheitsaktualisierungen sind Antivirenprogramme für Linux wenig verbreitet. Anstatt mit einem Antivirenprogramm nach Schadsoftware suchen zu lassen, die bekannte Sicherheitslücken in der installierten Anwendungssoftware ausnutzt, können die bekannten Lücken bereits über Sicherheitsaktualisierungen geschlossen werden. Die existierenden Antivirenprogramme für Linux werden daher hauptsächlich dafür eingesetzt, um Datei- und E-Mail-Server auf Viren für andere Betriebssysteme zu untersuchen.

Technische Fähigkeiten

Linux verfügt über viele der Fähigkeiten, welche für eine sicherheitstechnisch anspruchsvolle Umgebung erforderlich sind. Dazu gehört sowohl eine einfache Nutzer- und Gruppenrechteverwaltung mittels Role Based Access Control, wie auch eine komplexere Rechteverwaltung mit Hilfe von Access Control Lists. Zusätzlich implementieren viele aktuelle Distributionen auch Mandatory-Access-Control-Konzepte mit Hilfe der SELinux/AppArmor-Technik.

Ebenso bietet fast jede Linux-Distribution auch eine Secure-Shell-Implementierung (zumeist OpenSSH) an, mit der authentifizierte verschlüsselte und deswegen sichere Verbindungen zwischen Computern gewährleistet werden können. Andere Verschlüsselungstechniken wie Transport Layer Security werden ebenfalls voll unterstützt.

Im Rahmen der Verschlüsselung für auf Medien gespeicherte Daten steht das Kryptographie-Werkzeug dm-crypt zur Verfügung, das eine Festplattenverschlüsselung ermöglicht. Es bietet dabei die Möglichkeit der Verschlüsselung nach aktuellen Standards wie dem Advanced Encryption Standard. Transparente Verschlüsselung, bei der nur einzelne Dateien statt ganzer Festplatten verschlüsselt werden, stellen die Verschlüsselungserweiterung EncFS und das Dateisystem ReiserFS zur Verfügung. Zu den Sicherheitszertifikaten, die im Zusammenhang mit Linux erworben wurden, siehe den Abschnitt Software-Zertifikate.

Zertifikate

Personalzertifikate

Um den Grad der Kenntnisse von Technikern und Administratoren messbar zu machen, wurden eine Reihe von Linux-Zertifikaten ins Leben gerufen. Das Linux Professional Institute (LPI) bietet dafür eine weltweit anerkannte Linux-Zertifizierung in drei Levels, die ersten beiden Level (LPIC-1 und LPIC-2) mit jeweils zwei Prüfungen und den dritten Level (LPIC-3) mit einer Core-Prüfung (301) und mehreren optionalen Erweiterungsprüfungen. Auch die großen Linux-Distributoren wie Red Hat, openSUSE und Ubuntu bieten eigene Schulungszertifikate an, die aber zum Teil auf die Distributionen und deren Eigenheiten ausgelegt sind.

Software-Zertifikate

Um den Grad der Sicherheit von Technikprodukten zu bewerten, gibt es ebenfalls eine Reihe von Zertifikaten, von denen wiederum viele für bestimmte Linux-Distributionen vergeben wurden. So hat z. B. das Suse Linux Enterprise Server 9 des Linux-Distributors Novell die Sicherheitszertifikation EAL4+ nach den Common Criteria for Information Technology Security Evaluation erhalten, Red Hat hat für seine Redhat Enterprise Linux 4 Distribution ebenso die EAL4+-Zertifizierung erhalten. Ein Problem bei der Zertifizierung stellen für viele Distributoren allerdings die hohen Kosten dar. So kostet eine Zertifizierung nach EAL2 etwa 400.000 US-Dollar.

Hardwareunterstützung

Eine häufige Schwierigkeit beim Einsatz von Linux besteht darin, dass oft keine ausreichende Hardware-Unterstützung gegeben ist. Tatsächlich verfügt Linux zahlenmäßig über mehr mitgelieferte Treiber als vergleichbare Systeme (Windows, macOS). Das führt dazu, dass in der Regel nicht einmal eine Treiber-Installation notwendig ist und dass sogar ein Wechsel von Hardware reibungslos möglich ist. Das bietet dem Anwender deutlich mehr Komfort als bei vergleichbaren Betriebssystemen, da so z. B. ein problemloser Umzug des Betriebssystems auf einen anderen Rechner oder sogar die Installation des Betriebssystems auf Wechseldatenträgern möglich ist, ohne dass hierfür spezielle Anpassungen am System nötig wären.

Oft ist diese reibungslose Hardware-Unterstützung jedoch nicht gegeben. Das gilt insbesondere für aktuellere Hardware. Die Ursache liegt darin begründet, dass nur wenige Hardwarehersteller selbst Linux-Treiber für ihre Hardware zur Verfügung stellen oder diese nur in schlechter Qualität vorliegen. Während für Hardware mit offen dokumentierter, standardisierter Schnittstelle (z. B. Mäuse, Tastaturen, Festplatten und USB-Host-Controller) Treiber zur Verfügung stehen, ist dies für andere Hardwareklassen (z. B. Netzwerkschnittstellen, Soundkarten und Grafikkarten) nicht immer der Fall. Viele Hardwarehersteller setzen auf proprietäre hardwarespezifische Schnittstellen, deren Spezifikation zudem nicht öffentlich zugänglich ist, sodass sie mittels Black-Box-Analyse bzw. Reverse Engineering erschlossen werden muss. Beispiele hierfür sind Intels HD Audio-Schnittstelle und deren Linux-Implementierung snd-hda-intel oder der freie 3D-Grafiktreiber nouveau für bestimmte 3D-Grafikchips von Nvidia. Ein anderes Beispiel ist der Energieverwaltungsstandard ACPI, der sehr komplex und auf die jeweilige Hauptplatine zugeschnitten ist, sodass eine Implementierung durch die Linux-Gemeinschaft aus Mangel an Ressourcen oder Hintergrundwissen oft unzureichend ist. Oft kann in diesem Zusammenhang auch das Mitwirken der Anwender hilfreich sein, indem sie auf Probleme hinweisen und idealerweise sogar technische Informationen zu ihrer Hardware ermitteln und der Linux-Gemeinschaft zur Verfügung stellen oder Entwicklerversionen vor der Veröffentlichung testen.

Ein oft genannter Grund für die Nichtbereitstellung von Linuxtreibern ist das Entwicklungsmodell des Linux-Kernels: Da er keine feste Treiber-API besitzt, müssen Treiber immer wieder an Veränderungen in den einzelnen Kernel-Versionen angepasst werden. Direkt in den Kernel integrierte Treiber werden zwar von den Kernel-Entwicklern meist mit gepflegt, müssen aber unter der GNU General Public License (GPL) veröffentlicht sein, was einige Hardware-Hersteller ablehnen. Extern zur Verfügung gestellte Treiber müssen aber ebenfalls ständig angepasst und in neuen Versionen veröffentlicht werden, was einen enormen Entwicklungsaufwand mit sich bringt. Außerdem ist die rechtliche Lage solcher externen Module, die nicht unter der GPL stehen, umstritten, weil sie in kompilierter Form technisch bedingt GPL-lizenzierte Bestandteile des Kernels enthalten müssen.

Das Problem der Hardwareunterstützung durch sogenannte Binärtreiber (Gewähren von Binärdateien ohne Offenlegung des Quellcodes) wird im Linux-Umfeld kontrovers diskutiert: Während manche für einen Ausschluss proprietärer Kernel-Module plädieren, befürworten andere, dass einige Hersteller überhaupt – zur Not auch proprietäre – Treiber bereitstellen, mit dem Argument, dass die Linux-Nutzer ohne sie benachteiligt wären, weil sie sonst von bestimmter Hardware schlicht abgeschnitten wären.

Allerdings können Treiber für viele Geräteklassen (z. B. alle per USB oder Netzwerk angeschlossenen Geräte) auch ganz ohne Kernelcode programmiert werden, was sogar die bevorzugte Vorgehensweise ist.

Digitale Rechteverwaltung

Linus Torvalds betont, dass sich Linux und digitale Rechteverwaltung (DRM) nicht ausschließen. Auch sind freie DRM-Verfahren zur Nutzung unter Linux verfügbar.

In der Praxis ist die Nutzung von DRM-geschützten Medien unter Linux jedoch seltener möglich als unter anderen Systemen, denn aufgrund des Prinzips digitaler Rechteverwaltung können Rechteinhaber alleine entscheiden, auf welchen DRM-Systemen ihre Medien verwendet werden dürfen. Die dabei eingesetzten Verfahren sind nicht standardisiert, sondern werden von den jeweiligen Herstellern kontrolliert, und die beiden größten Hersteller digitaler Rechteverwaltungssysteme im Endverbraucherumfeld, Microsoft und Apple, haben mit Stand Oktober 2009 keine entsprechenden Programme für Linux veröffentlicht oder auch nur entsprechende Absichten bekannt gegeben.

Allerdings gibt es Windows-DRM-zertifizierte Software, die unter Linux eingesetzt werden kann, wie sie beispielsweise bei der AVM FRITZ!Media 8020 verwendet wird.

Grundsätzlich besteht bei DRM-Verfahren die Notwendigkeit, dass die Daten, an denen der Nutzer nur eingeschränkte Rechte erhalten soll, dem Nutzer zu keiner Zeit in unverschlüsselter Form zur Verfügung gestellt werden dürfen, da er ja sonst in diesem Moment eine unverschlüsselte Kopie anfertigen könnte. Da Linux quelloffen ist, ist es dem Nutzer leicht möglich, den entsprechenden Programmteil eines lokalen, rein softwarebasierten DRM-Systems durch eigenen Code zu ersetzen, der genau dies tut.

Veranstaltungen und Medien

Kongresse

Der LinuxTag 2004 im Kongresszentrum Karlsruhe

Bis 2014 war der LinuxTag die größte jährlich stattfindende Messe zu den Themen Linux und freie Software in Europa. Neben den Ausstellungen aller namhaften Unternehmen und Projekte aus dem Linux-Umfeld wurde den Besuchern auch ein Vortragsprogramm zu verschiedenen Themen geboten. Der LinuxTag selbst existierte von 1996 bis 2014 und zog zuletzt jährlich mehr als 10.000 Besucher an. Neben dem großen LinuxTag gibt es noch eine Vielzahl kleinerer und regionaler Linuxtage, die oft mit Unterstützung von Universitäten organisiert werden. Seit 2015 sind die Chemnitzer Linux-Tage die größte Veranstaltung dieser Art in Deutschland.

Zu den weiteren internationalen Messen gehört der Linux Kongress – Linux System Technology Conference in Hamburg. Ein Kuriosum ist die jährlich stattfindende LinuxBierWanderung, die Linux-Enthusiasten der ganzen Welt eine Möglichkeit zum gemeinsamen „Feiern, Wandern und Biertrinken“ geben will.

Neben den allgemeinen Messen und Kongressen findet jedes Jahr das LUG-Camp statt. Dieses wird seit dem Jahr 2000 von Linux-Benutzern aus dem Raum Flensburg bis hin zur Schweiz organisiert und besucht.

Als bekannt wurde, dass der LinuxTag 2015 im Messeformat ausfällt, nahmen andere Menschen dies als Anlass den Linux Presentation Day (kurz LPD) zu etablieren. Der LPD ist allerdings nicht als Ersatz für den LinuxTag gedacht. Stattdessen hat sich der LPD auf die Fahnen geschrieben, Linux auf dem Desktop zu mehr Erfolg zu verhelfen. Dazu wird er meist von den mittlerweile weltweit verteilten Linux User Groups (Linux Benutzer Gruppen) als eine Art Messe veranstaltet.

Printmedien und elektronische Medien

Mit der zunehmenden Verbreitung von Linux hat sich auch ein Angebot an Printmedien entwickelt, die sich mit der Thematik beschäftigen. Neben einer Vielzahl an Büchern zu nahezu allen Aspekten von Linux haben sich auch regelmäßig erscheinende Zeitschriften auf dem Markt etabliert. Bekannteste Vertreter sind hier die einzelnen Hefte der Computec Media, die monatlich (Linux-Magazin, LinuxUser) oder vierteljährlich (EasyLinux) erscheinen. Schon seit einer ganzen Weile produzieren auch andere große Verlage wie IDG mit der zweimonatlich erscheinenden LinuxWelt sowie Heise mit der in unregelmäßiger Abfolge erscheinenden c't Linux Heftreihen beziehungsweise Sonderhefte zu langjährig bestehenden Computerzeitschriften, nämlich PCWelt und c’t. Darüber hinaus gibt es auch noch für die Distribution „Ubuntu Linux“ und ihre Derivate das jährlich viermal erscheinende Magazin UbuntuUser, das durch den Medienanbieter Computec Media veröffentlicht wird.

Rezeption

Wissenschaft

Der am 12. Oktober 1994 entdeckte Asteroid (9885) Linux wurde nach dem Linux-Kernel benannt.

Filme

Die Thematik rund um Linux wurde auch in einer Reihe von Dokumentationen behandelt. So behandelt der Kino-Dokumentationsfilm Revolution OS die Geschichte von Linux, freier Software und Open Source und stützt sich dabei größtenteils auf diverse Interviews mit bekannten Vertretern der Szene. Die TV-Dokumentation Codename: Linux, in Deutschland von Arte ausgestrahlt, geht ähnliche Wege, stellt aber auch einen chronologischen Verlauf der Entwicklung von Linux und Unix dar.