produktivzone
36 Normseiten, geschätzte Lesezeit 36 Min.

Linux

Linux ist ein modular aufgebautes freies Unix-ähnliches Betriebssystem, das in Deutschland häufig für Server-Anwendungen eingesetzt wird, weshalb ein Internet- Profi damit einigermaßen vertraut sein sollte.

Aber das System eignet sich nicht nur für die Server-Administration, sondern auch für den privaten Anwender. Denn im Gegensatz zu seinen Konkurrenten kann Linux mit einem nahezu unschlagbaren Vorteil punkten: das Betriebssystem ist kostenlos, inklusive aller benötigten Software-Pakete, die man im Alltag so braucht. Dazu kommt noch ein weiterer Vorteil, den ich für sehr viel wichtiger halte:

In Zeiten, wo selbst Windows und MacOS ihre Nutzer umfassend aus­spionieren, ist Linux eine höchst willkommene Alternative.

Wieso Linux sicherer ist, als die anderen Betriebssysteme? Nun, das ist ganz einfach: Es arbeiten hunderte, wenn nicht gar tausende Programmierer unentgeltlich an diesem Betriebssystem. Wenn die etwas bemerkt hätten, wäre das schon längst raus gekommen. Sollten Sie denen nicht glauben, können Sie auch gern selbst nachsehen, denn der Quelltext von Linux ist für jedermann einsehbar.

Das bedeutet: es gibt tatsächlich keine versteckten Clouds, das System telefoniert nicht nach Hause, es gibt keine Hintertürchen für die NSA oder andere Geheimdienst und es gibt wenig Raum für sonstige Verschwörungs­theorien.

Natürlich werden Ihnen Google, Facebook, NSA & Co. auch auf einem Linux-Rechner hinterher spionieren, aber das hat nichts mit dem Betriebssystem zu tun, sondern vielmehr mit den kapitalistischen Interessen der großen Firmen gepaart mit der Inkompetenz der Politik und der der Unwissen­heit des einfachen Bürgers.

Nachfolgend werde ich versuchen, Ihnen Linux ein wenig näher zu bringen. Dazu möchte ich Ihnen einen kleinen Überblick verschaffen. Sie werden sehen, dass Linux keine Hexerei ist.

Der Linux-Kernel

Das Herz eines Betriebssystems wird Kernel genannt. Der Linux-Kernel wurde von dem finnischen Programmierer Linus Torvalds für die x86-Architektur entwickelt (Bild links). Er war auch der Namensgeber von Linux.

1991 wurde der Kernel unter die GPL-Lizenz gestellt. Seither wird er von einer weltweiten Community gepflegt und weiter entwickelt. An der Entwicklung sind inzwischen tausende Programmierer beteiligt, die von Torvalds und einem Team von vertrauten Kollegen koordiniert werden.

Der Kernel ist fast ausschließlich in der Programmiersprache C geschrieben. Für die Entwicklung des Kernels wurde eine eigene Versionskontrolle realisiert, die GIT genannt wird. Diese Software hat sich ebenfalls durchgesetzt und wird heute in vielen anderen Projekten eingesetzt. Die verschiedenen Kernel-Versionen sind unter kernel.org einsehbar.

Im Vergleich zu anderen Systemen erfüllt der Kernel lediglich die Funktion, für die Hardware eine Abstraktionsschicht zu bilden. Dazu gehört die Speicherverwaltung, die Prozessverwaltung, das Multitasking, die Lastverteilung, die Sicherheits­erzwingung und die Schnittstellenverwaltung zu den verschiedenen Geräten. Alle anderen Funktionen sind ausgelagert. Der Kernel ist derzeit wie folgt strukturiert. Das Bild ist aufgrund seiner Größe ein wenig eingerückt:

 

Eine Besonderheit ist, dass alle Hardware-Treiber im Kernel integriert sind (monolithischer Kernel), so dass keine weiteren Programme nachgeladen werden müssen. Das macht das Betriebssystem performanter, als die meisten Konkurrenten. Alternativ dazu können aber auch Module eingesetzt werden, die während des Betriebs geladen oder entfernt werden können.

Torvalds hat bei der Entwicklung des Kernels nicht wirklich auf die Portierbarkeit geachtet. Aber er hat für die Entwicklung den GNU Compiler GCC verwendet, der auf verschiedenen Plattformen eingesetzt werden kann. Dadurch ist auch der Kernel portierbar geworden.

So kommt es, dass der Kernel auf den meisten handels­üblichen Architekturen eingesetzt werden kann, wie IA-32, AMD64, Alpha AXP, Sun SPARC, Motorola 68000, PowerPC, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, IA-64, AXIS CRIS, Atmel AVR32, Renesas H8/300, Blackfin und viele weitere.

Was hat GNU mit Linux zu tun?

Das GNU-Projekt wurde 1983 von dem Programmierer Richard Stallmann gegründet (Bild links). Um dem Projekt einen juristischen und finanziellen Rahmen zu geben, gründete er 1985 die gemeinnützige Free Software Foundation.

Anders als Torvalds ist Stallmann nicht mehr aktiv an der Programmierung der GNU-Pakete beteiligt. Sein Anliegen ist es, den Nutzern von Software Freiheitsrechte zu gewähren. Er ist seit 2008 als Aktivist tätig und gilt heute als die treibende Kraft hinter dem Open Source Gedanken. Ich möchte nicht wissen, wie die IT-Welt heute ohne diesen bemerkenswerten Mann aussehen würde.

Das Ziel des GNU-Projektes war ursprünglich die Realisierung eines Unix-ähnliches Betriebssystem auf der Basis von freier Software. Um die Freiheit zu gewährleisten, wurde unter anderem die berühmte virale Open Source Lizenz GPL geschaffen, die seither von zahllosen Entwicklern übernommen wurde.

Als Kernel war zunächst ein Betriebs­system­kern mit dem Namen "Mach" vorge­sehen. Darauf aufbauend sollte ein Multi­server­betriebs­system realisiert werden, das "GNU Hurd" genannt wurde. Allerdings war dieses System so komplex, dass die Entwicklung sehr schleppend voran ging. Insider sprachen gar von "Vaporware" (Produkte, die nie erscheinen, weil deren Veröffentlichungstermin permanent verschoben wird).

Als Torvalds 1991 seinen Linux-Kernel veröffentlichte, stellte er fest, dass wichtige Teile wie Shell, Compiler und Bibliotheken fehlten, um seinen Kernel nutzbar zu machen. Aber diese Teile waren in dem GNU-Projekt enthalten. Umgekehrt fehlte GNU ein handlicher Kernel. Was lag also näher, als die beiden Projekte zu fusionieren? Die Aufgabenverteilung wurde wie folgt festgelegt:

Linux-Kernel

hardwarenaher Software für Scheduling, Multitasking, Gerätetreiber, Speicher­verwaltung, usw.

GNU-Pakete

Shell (Kommandozeile), Coreutils (Kernfunktionen), GCC (GNU C-Compiler), Bibliotheken (z.B. GNU-C-Bibliothek glibc) und sämtliche Funktionen des POSIX System Application Program Interface (Schnittstelle Anwendungssoftware und Betriebssystem).

Aus der Fusion von Linux und GNU entstand die Frage, wie das Betriebssystem künftig genannt werden sollte. Die Vertreter des GNU-Projektes bestanden auf den Namen GNU/Linux, weil das GNU für freiheitskämpferische und bürgerrechtliche Aspekte stehe. Durchgesetzt hat sich das Betriebssystem unter dem Namen Linux.

Vor- und Nachteile von Linux

Zuerst die Pro's:

Linux steht auf nahezu allen gängigen Prozessoren zur Verfügung. Die meisten Bus-Systeme, Controller, Laufwerke, Netzwerkkarten, Dateisysteme und Netz­werkprotokolle werden unterstützt.

Linux steht unter der GPL-Lizenz, ist also Open Source und somit kostenlos erhältlich. Es kann auch für kommerzielle Zwecke bedenken­los eingesetzt werden.

Linux ist das am besten dokumentierte Betriebssystem, was damit zusammen­hängt, dass der gesamte Quelltext offen gelegt ist.

Linux ist modular aufgebaut. Es kann mit wenig Aufwand auf eine ganz bestimmte Anwendung zurecht geschnitten werden. Es eignet sich des­halb besonders gut als Betriebssystem für Server. Es wird geschätzt, dass weltweit über 60% aller Webserver mit Linux betrieben werden.

Linux tut tatsächlich nur das, was es soll, was das System besonders performant macht. Prozesse lassen sich im laufenden Betrieb ein- oder ausschalten, ohne dass das System neu gebootet werden muss. Das wirkt sich unter anderem auch im Strom­verbrauch aus.

Linux lässt sich komplett über die Kommandozeile bedienen, man kann aber auch eine beliebige grafische Oberfläche installieren (z.B. KDE oder Gnome). Das macht das System vielfältig einsetzbar.

Linux hat den Ruf, ein kompliziertes Betriebssystem zu sein. Aber in Wirk­lich­keit ist es wesentlich einfacher aufgebaut, als seine Konkurrenten.

Linux ist wesentlich sicherer, als seine Konkurrenten, was an der Offenlegung des Quelltextes, an der komfortablen Multiuser-Umgebung, an der verteilten Entwicklung und an der strengen Unix-Architektur liegt.

Linux verfügt darüber hinaus über ein intelligentes Update-System, welches dafür sorgt, dass sich das System automatisch auf den neuesten Stand hält. Wenn die Distribution über einen Long-Term-Support (LTS) verfügt, kann der Betrieb bis zu fünf Jahren gewährleistet werden.

Der monolithische Kernel hat sowohl Vorteile, wie auch Nachteile. Der Vorteil ist, dass die Treiber direkt im Betriebssystem integriert sind, was für eine hohe Performance sorgt.

Dann die Contra's

Ein Nachteil ist die geringe Verbreitung im Desktop-Bereich. Viele Funktionen, die auf anderen Betriebssystemen zum Standard gehören, stehen unter Linux (noch) nicht zur Verfügung.

Ein weiterer Nachteil liegt in der mangelnden Unterstützung der kommerziellen Software-Hersteller. Das liegt unter anderem daran, dass viele Hersteller Open Source Systeme grundsätzlich nicht unterstützen wollen, weil sie um den Umsatz fürchten. Entsprechende Treiber fehlen. Für Quasi-Standards, wie Photoshop oder Microsoft Office gibt es keine gleichwertige Alternativen.

Dazu kommen rechtliche Probleme, die mit der GPL-Lizenz zusammenhängen, welche eine virale Lizenz ist. So stehen auf Linux keine Codecs oder Treiber zur Verfügung, die kommerzielle Lizenzbedingungen beinhalten, wie z.B. Blue Ray oder DirectX. Deshalb eignet sich Unix auch nicht für die Spiele-Entwicklung.

Der Nachteil ist, dass der Kernel neu kompiliert werden muss, wenn ein Treiber nachgerüstet werden soll. Und das kann umständlich werden. Um das Problem zu umgehen, können Treiber auch nachträglich als Module nachgeladen werden. Diese sind allerdings nicht ganz so performant.

Der monolithische Kernel hat sowohl Vorteile, wie auch Nachteile. Der Nachteil ist, dass die Treiber mit dem Kernel kompiliert werden müssen, was nur erfahrene Nutzer machen sollten. Umgekehrt werden inzwischen so viele Geräte unterstützt, dass die Notwendigkeit dazu nur selten besteht.

welche Desktop-Umgebung darf es sein?

Viele Linux Distributionen sind für den Serverbetrieb optimiert und dazu genügt in der Regel eine Shell oder wer auf Remote Desktop steht, ein schlanker Desktop wie LXDE oder LXQt. Aber es gibt auch Oberflächen, die sich durchaus auch als ernstzunehmende Alternative zu Windows oder OS X eignen. Dadurch wird Linux auch für den Privatanwender interessant.

Wer an einer Windows-Alternative oder einfach nur an Usability interessiert ist, sollte sich zunächst die geeignete Desktop-Umgebung heraussuchen. Denn die werden nicht von allen Linux-Distributionen unterstützt. Umgekehrt stehen für einige Desktops Programme zur Verfügung, die auf anderen nicht ausführbar sind. Es macht also Sinn, sich als erstes die Eigenschaften der verschiedenen Desktops anzusehen:

KDE

KDE ist wie GNOME eine der ersten Desktop-Umgebungen, die für Linux realisiert wurden. Es ist die am meisten verwendete grafische Benutzer­oberfläche unter Linux.

KDE ist heute noch in der beliebten Distribution openSUSE integriert. Aller­dings fehlt die Unterstützung für wichtige Anwendungen wie Firefox oder Gimp.

Anders, als das spartanisch wirkende GNOME hat man versucht, möglichst flexibel zu sein und gleichzeitig möglichst viele Funktionen in den Desktop unterzubringen. Das kann ein wenig gewöhnungsbedürftig sein und die Bedienung mitunter ein wenig umständlich machen. KDE sieht sich deshalb als Desktop für Poweruser.

Das Projekt K Desktop Environment wurde 1996 gegründet und bis 2005 zur Version 3.5 weiter entwickelt. Als offizielle Nachfolger gilt KDE Plasma.

KDE Plasma

2008 wurde KDE Plasma Workspaces 4 veröffentlicht. Dieses liegt in verschiedenen Varianten vor, nämlich für Desktops, Netbooks und Tabletts, resp. Smartphones. Bedauerlicherweise war die Software noch nicht besonders ausgereift, weshalb bis zu Version 4.2 nachgebessert werden musste.

2014 wurde mit KDE Plasma 5 die fünfte Generation eingeläutet. Das System wurde verbessert und kann theoretisch mit verschiedenen Fenstersystemen arbeiten wie X11 (BSD, Linux, MacOS,), Wayland (Linux, BSD), Quartz (OS X) oder GDI (Windows).

Eine weitere Besonderheit ist das flexible Plasma-Design, das es möglich macht, KDE auf unterschiedlichsten Geräten einzusetzen (Workspaces), darunter auch auf Geräten mit Touchscreens. Zu erwähnen ist auch die Widget-Engine, welche die Ausführung von Miniprogrammen auf dem Desktop erlaubt. Es ist auch möglich, Miniprogramme in der Taskleiste auszuführen.

GNOME/Mate

GNOME 1 ist eine Desktop-Umgebung, die sich auf Einfachheit und Benutzer­freundlichkeit spezialisiert hat. Dazu wird Wert auf Barrierefreiheit und Internationalisierung gelegt. GNOME 1 erschien erstmals 1999 und war zunächst noch sehr rudimentär. Es gilt inzwischen als überholt, der offizielle Nachfolger ist GNOME 2.

GNOME 2 erschien 2002 und hatte viele Ähnlichkeiten mit Windows. Es wurde deshalb gern von Distributionen eingesetzt, die sich als Windows-Alternative verstehen. Die Umgebung wurde bis 2010 zur Version 2.32 weiterentwickelt. Als offizieller Nachfolger gilt Mate.

GNOME 3 brach mit alten Konventionen, so dass GNOME 2 nicht mehr weiterentwickelt wurde. Viele Anwender vermissten die grafische Benutzeroberfläche. Aus diesem Grund wurde 2011 Mate gegründet.

Heute ist Mate in etlichen Linux Distributionen enthalten. Es handelt sich um eine schicke spartanische Benutzeroberfläche, die sich besonders gut für Linux-Einsteiger eignet.

GNOME 3

GNOME 3 war eigentlich als Nachfolger von GNOME 2 vorgesehen. Aber es wurden einige tiefgreifende Änderungen vorgenommen, so dass die Rückwärts-Kompatibilität verloren gegangen ist. So befindet sich das Startmenü neu links oben. Man verzichtete auf das Fensterlisten- und Andock-Konzept, was anfangs für viel Verwirrung gesorgt hatte. Viele Anwender vermissten den alten GNOME 2 Desktop. So kam es zur Entwicklung von Mate oder Cinnamon.

Obwohl GNOME ursprünglich nur für Linux entwickelt wurde, wird es heute bei vielen Unix-Systemen wie AIX, IRIX, HP-UX, Solaris oder Oracle als Standard-Desktop eingesetzt, wo es das alte CDE ersetzt. Deshalb wird dieser Desktop in der IT-Branche von vielen eingesetzt, die mit der Unix-Umgebung vertraut sind.

Xfce

Xfce ist eine modular aufgebaute freie Desktop-Umgebung für Unix und unixartige Betriebssysteme. Die Abkürzung ist ein Akronym für XForms Common Environment, weil die Umgebung auf eine Bibliothek aufbaute, die XForms hieß. Das hat sich inzwischen geändert, der Name wurde jedoch beibehalten.

Xfce unterstützt viele Sprachen und kann mit Hilfe von Themes beliebig angepasst werden. Es kann sowohl mit GNOME-, als auch mit KDE-Programmen umgehen und umgekehrt. Eine Besonderheit ist, dass sich Xfce in fast jeder Linux Distribution nachgerüstet werden kann.

Xfce hat viele Ähnlichkeiten mit LXDE oder LXQt, legt aber mehr Wert auf Komfort, als auf Geschwindigkeit.

Unity

Unity ist eine Desktop-Umgebung für PC's und Netbooks, die besonders sparsam mit dem Bildschirmplatz umgeht. Auch dieser Desktop ist intuitiv bedienbar und eignet sich gut für Linux-Einsteiger.

Dieser Desktop wirkt spartanisch, ist aber recht beliebt. Er wird bei der beliebten Ubuntu-Distribution als Standard installiert, was zunächst für kontroverse Diskussionen gesorgt hat, weil sich Unity nicht auf anderen Distributionen installieren lässt. Wer also Unity verwenden möchte, ist auf Ubuntu angewiesen.

LXDE/LXQt

LXDE steht für "Lightweight X11 Desktop Environment" und ist ein Desktop für POSIX-konforme Plattformen wie Linux und BSD. Das Besondere an dieser Umgebung ist, dass sie besonders ressourcenschonend ist, wodurch Strom gespart werden soll. Ein netter Nebeneffekt ist, dass diese Umgebung besonders schnell ist. Das System eignet sich als Desktop für Server-Administratoren, die auf die Shell verzichten wollen.

LXDE verwendet die GTK+ 2 Bibliothek, die 2011 auf Version 3 upgedated wurde. Die neue Version benötigte zu viele Ressourcen, weshalb beschlossen wurde, auf eine andere Bibliothek auszuweichen, nämlich auf Razor-qt. 2014 erschien schließlich eine neue Version, die analog zur neuen Bibliothek nun LXQt genannt wird.

Cinnamon

Das englische Wort "Cinnamon" steht für Zimt. Es handelt sich um eine angepasste Version von GNOME 3, das in Linux Mint als Default Desktop installiert wird. Inzwischen ist dieser Desktop auch für andere Linux Distributionen verfügbar.

Cinnamon unterscheidet sich auf den ersten Blick kaum von Mate. In der Bedienung zeigt sich jedoch, dass Cinnamon das Bedienkonzept von GNOME 2 wieder eingeführt hat. Das bedeutet, dass es sich hier um eine aktuelle GNOME-Variante handelt, die sich auch für den Einsteiger eignet.

Looking Glass

Looking Glass ist ein spektakulärer Desktop von Sun, der durchgängig in 3D dargestellt wird. Allerdings läuft die grafische Benutzeroberfläche nicht besonders stabil. Aber es lohnt sich, diesen Desktop im Auge zu behalten.

Beryl/Compiz

Beryl resp. Compiz bietet spektakuläre optische Effekte. Es handelt sich nicht um eine eigenständige Desktop-Umgebung, sondern nur um eine Ergänzung zu anderen Desktops, wie KDE oder GNOME. Man kann Beryl jederzeit nachinstallieren.

welche Distribution darf es sein?

Weil Linux Open Source ist, kann jeder eine eigene Linux Distribution veröffentlichen, wenn er möchte. Dementsprechend gibt es für jeden denkbaren Zweck eine eigene Linux-Variante. Auf distrowatch.com sind derzeit 273 verschiedene Distributionen aufgelistet.

Um Wildwuchs zu vermeiden, hat man Ende 90er die Linux Standard Base (LSB) ins Leben gerufen. Diese Arbeitsgruppe hat den Auftrag, Standards für Bestandteile des Betriebssystem Linux zu definieren, um die Qualität und Kompatibilität der verschiedenen Linux-Distributionen zu verbessern. Bisher werden die Standards jedoch nur selten umgesetzt, was unter anderem auch daran liegt, dass die Anforderungen noch nicht vollständig definiert worden sind.

Folgende Distributionen sollte man kennen:

Ubuntu

Ubuntu ist eine stabile und deshalb beliebte Distribution, die einst aus einem Debian-Derivat entstanden ist. Im Fokus steht eine einfache und leichte Bedienung, sowohl bei der Installation, wie auch bei der Bedienung.

Ubuntu ist die einzige Distribution, welches den Desktop Unity verwendet. Andere Desktops sind in Form von sogenannten Flavor-Versionen verfügbar. Lubuntu verfügt beispielsweise über den LXDE-Desktop, Kubuntu über KDE.

Viele Tools wie Firefox Thunderbird oder LibreOffice sind schon dabei, weshalb sich das Betriebssystem auch für Einsteiger eignet. Man kann diese Distribution auch ohne Installation via Boot-Disk oder USB-Stick ausprobieren.

Ubuntu hat einen Release-Zyklus von 6 Monaten. Es werden alle zwei Jahre Long-Term-Versionen (LTS) angeboten, welche den Betrieb in der Server-Variante für fünf Jahre und in der Desktop-Variante für drei Jahre garantiert.

Debian

Debian ist eine der ältesten Linux-Distributionen, an der über 1'000 Entwickler beteiligt sein sollen. Es gibt eine demokratische Organisations­struktur, in der regelmäßige Wahlen durchgeführt werden. Im Vordergrund steht die GNU-Idee von offener, aber qualitativ hochwertiger Entwicklung.

Der Release-Zyklus beträgt ungefähr 24 Monate. Ab 2014 werden auch LTS-Versionen angeboten, die eine fünfjährige Unterstützung versprechen.

openSUSE

SUSE wurde in den 90er Jahren von der gleichnamigen Firma SUSE Linux GmbH entwickelt. 2003 übernahm die Firma Novell die Firma. 2006 wurde der Quelltext der Öffentlichkeit zur Verfügung gestellt. Gleichzeitig wurde der Name in openSUSE abgeändert.

Eine Besonderheit von openSUSE ist das Installations- und Konfigurationswerkzeug YaST, das ein zentrales Werkzeug für die Administration des Betriebssystems bildet. Über dieses Tool können auch Softwarepakete gesucht und installiert werden. Dazu steht eine umfangreiche Support-Datenbank zur Verfügung.

openSUSE bietet außerdem eine Plattform für den Vertrieb von vorkonfigurierten openSUSE Distributionen an, den Open Build Service. Dadurch können schon fertig installierte Builds z.B. für Enterprise-Lösungen installiert werden, so dass die Software Pakete nicht nachinstalliert werden müssen.

openSUSE orientiert sich traditionell am KDE Desktop und läuft damit sehr stabil. Weitere Desktops werden mitgeliefert. Die Distribution richtet sich weniger an Privat-Anwender, als an Firmen, die bereit sind, kostenpflichtigen Support in Anspruch zu nehmen.

RedHat/Fedora

RedHat war viele Jahre lang eine der bekanntesten und beliebtesten Linux-Distributionen, die nach der gleichnamigen Firma Red Hat benannt wurde. Im Jahr 2003 wurde das Projekt in das kommerzielle Red Hat Enterprise Linux und die Freeware Fedora aufgesplittet.

Fedora gilt als der offizielle Nachfolger der alten Red Had Distribution. Eine Besonderheit ist der grafische Installer Anaconda, der auch für Einsteiger leicht zu bedienen ist. Die Distribution beinhaltet eine Paketverwaltung RPM, die heute Teil des LSB-Standards ist und in viele andere Distributionen übernommen wurde.

Eine weitere Besonderheit ist, dass Red Hat nur Software verwendet, die vollständig frei von Lizenzbedingungen ist. Aus diesem Grund können keine MP3-Dateien abgespielt werden. Das System kann auch nicht auf NTSF-Partitionen zugreifen, also Windows-Verzeichnisse einbinden. Der Grund dafür ist, dass Wert darauf gelegt wird, dass keine Verfahren verwendet werden, die patentrechtlich geschützt sind. Red Hat war dafür die erste Distribution, welche die Zeichenkodierung auf Unicode umstellte.

Fedora richtet sich an die etwas erfahreneren Benutzer. Die Distribution hat eine Lebenszeit von 13 Monaten. Ein Long Term Support (LTS) ist in der Freeware-Variante nicht vorgesehen. Dafür soll die Software stets aktuell sein.

Knoppix

Knoppix ist eine Live-Distribution, die sich aus Elementen von Debian Distributionen zusammensetzt. Sie ist nach seinem Entwickler Klaus Knopper benannt und liegt gelegentlich Computerzeitschriften bei. Diese Distribution eignet sich, um beschädigte Systeme zu reparieren, weshalb sie von dem deutschen Bundesamt für Sicherheit in der Informationstechnik unterstützt und verteilt wird. Als Desktop wird LXDE verwendet.

Mint

Mint richtet sich an den reinen Linux-Einsteiger, der nach einer Alternative zu anderen Betriebssystemen sucht. Die wichtigsten Multimedia-Codecs sind vorinstalliert. NTFS-Partitionen können eingebunden werden, was die Zusammenarbeit mit Windows erleichtert. Dazu gibt es ein Portal, wo zusätzliche Anwendungen, wie Browser oder Office-Programme direkt installiert werden können.

Als Desktops stehen Mate (Nachfolger von Gnome 2) und Cinnamon (Weiterentwicklung von Gnome 2) zur Verfügung.

Mageia

Mageia ist keine neue Distribution, wie es der Name vermuten lässt, sondern der Nachfolger der ehemals sehr beliebten Distribution Mandrake. Es handelt sich um eine einfaches, aber dafür sehr stabiles Betriebssystem, das auch als 64bit-Variante vorliegt. Die Konfiguration von Hard- und Software erfolgt nicht über den Texteditor, sondern mit Hilfe von intelligenten Tools. Es können auch Windows-Partitionen eingebunden werden, was die Zusammenarbeit mit Windows erleichtert.

Die Shell

Hat man direkten Zugang zu dem Server, kann direkt auf die Shell zugegriffen werden, ähnlich wie früher MS-Dos. Das funktioniert auch, wenn mit einer grafischen Benutzeroberfläche gearbeitet wird. In diesem Fall benötigt man einen Kommandointerpreter (englisch shell). Dieser ist im Verlauf der Jahre fortwährend weiterentwickelt worden, so dass verschiedene Shells zur Verfügung stehen:

sh: Bourne-Shell (an die Programmiersprache ALGOL 68 angelehnt)

csh: C-Shell (an die Programmiersprache C angelehnt)

ksh: Korn-Shell (vereinigt Bourne- und C-Shell)

bash: Bourne-Again-Shell (Erweiterung der Bourne-Shell). Diese Shell ist am meisten verbreitet.

Als Internetprogrammierer, besteht oft die Notwendigkeit auf entfernte Webserver zugreifen zu müssen, beispielsweise, um den Webserver Apache zu konfigurieren. Früher verwendete man dazu das Telnet-Protokoll. Dieses sieht jedoch keine Verschlüsselung vor, was dazu führte, dass Passwörter mitgelesen werden konnten.

Heute verwendet man dazu ein sicheres Protokoll, nämlich SSH. Dabei wird eine mit SSL verschlüsselte Netzwerkverbindung mit dem entfernten Gerät hergestellt. Über diese Verbindung kann über eine Shell sicher auf das entfernte Gerät zugegriffen werden, wie wenn es das eigene Gerät wäre.

Um eine SSH-Verbindung herzustellen, benötigt man ein geeignetes Programm. Unter Linux verwendete man ursprünglich eine Suite, die ssh genannt wurde. Diese war in der zweiten Version kostenpflichtig, weshalb die erste Version zu einem neuen Tool weiterentwickelt wurde, das OpenSSH genannt wird. Dieses Tool ist heute fester Bestandteil von fast jeder Linux-Distribution.

SSH steht auch auf anderen Betriebssystemen zur Verfügung. Unter Mac OS X kann dazu das Terminal-Programm verwendet werden. Unter Windows kann die Freeware Putty installiert werden. Der Umgang mit diesen Tools ist einfach und komfortabel.

Das Dateisystem

Unter Linux liegen alle Dateien in Form von Dateien vor. Bei der Nutzung der Shell geht es im Wesentlichen darum, auf die Dateien im Filesystem zuzugreifen, um diese beispielsweise mit Hilfe eines geeigneten Text-Editors zu bearbeiten. Wenn man das tun möchte, ist es hilfreich, wenn man einige Grundsatzregeln befolgt. Wenn man das nicht tut, kann das System unter Umständen beschädigt werden:

Anders als Windows unterscheidet Linux streng zwischen Groß- und Kleinschreibung. Dateinamen sind maximal 255 Zeichen lang und müssen eindeutig sein. Sonderzeichen oder Umlaute sind nicht erlaubt, jedoch die Verwendung von folgenden Zeichen: / " ' * ; - & ? ( ) [ ] ~ ! $ { } > < # @.

Die Meldungen der Unix-Kommandos sind auf ein Minimum reduziert, frei nach dem Motto: keine Nachrichten sind gute Nachrichten. Wird ein Kommando erfolgreich ausgeführt, wird das in der Regel mit einem Eingabeprompt quittiert. Eine Meldung erhält man nur, wenn das Kommando nicht ausgeführt werden kann.

Unter Linux wird von einem mündigen Anwender ausgegangen, was bedeutet, dass jeder Anwender und jeder Prozess die Verantwortung seines Handelns übernehmen muss. Das bedeutet, kritische Kommandos, wie z.B. eine Lösch-Anweisung, werden ohne weitere Sicherheitsabfrage ausgeführt.

Unter Linux wird alles als Datei aufgefasst, das gilt auch für die Ein- und Ausgabe, sowie die zur Verfügung gestellten Schnittstellen und die angeschlossenen Geräte.

Die letzte Regel besagt, dass unter Linux alles in Form von Dateien vorliegt. Das gilt auch für Laufwerke, USB-Schnittstellen, Netzwerkkarten, Bildschirmausgabe, einfach alles. Deshalb ist es sinnvoll, wenn man die Verzeichnisstruktur kennt. Hierfür gibt es einen Standard, an den sich allerdings nicht alle Distributionen halten. Nachfolgend werde ich die wichtigsten Pfade kurz erklären:

/bin enthält die wichtigsten Nutzer- und Administrator-Programme, die zur Systemwartung benötigt werden. Alle anderen Programme sollten sich in /usr/bin befinden.

/boot enthält alles, was den Bootvorgang betrifft

/cdrom ist nicht Teil des Standards, aber häufig der Mount-Point des CDROM-Laufwerks.

/dev enthält die Dateien für die Geräte

/etc enthält die Dateien für die Parametrisierung des Geräts

/floppy ist kein offizieller Standard, beinhaltet aber häufig der Mount-Point des Disketten-Laufwerks

/home enthält die lokalen Nutzerverzeichnisse

/lib enthält System- und Kernel-Bibliotheken (siehe /bin)

/lost+found ist nicht Teil des Standards, wird aber oft benutzt für die interne Verwaltung des Dateisystems

/mnt enthält den temporären Mount-Point für die Filesysteme

/opt enthält zusätzliche Software, wie beispielsweise KDE doer Gnome

/proc ist nicht Teil des Standards und enthält ein virtuelles Dateisystem, das Pseudodateien enthält, aus denen Statusinformationen des Kernels gelesen werden können

/root enthält das Home-Verzeichnis des root-Users (Systemadministrator)

/sbin enthält die Dienstprogramme für den Systemadministrator

/tmp enthält temporäre Dateien, ist für jedermann beschreibbar

/usr enthält fast die gesamte installierte Software, ein normaler Benutzer hat nur Lese-Zugriff.

/var enthält veränderliche Daten, wie Mail, Drucker-Speicher, Buchhaltung, Log-Funktionen, etc.

/local enthält lokal installierte Software

/share enthält in einer Kopie gemeinsam nutzbare Software und Informationen

/include enthält Header-Dateien der Programmiersprache C

/misc enthält verschiedenes

Oft besteht die Notwendigkeit, die Konfigurationsdateien zu bearbeiten. Diese liegen im Textformat vor. Um die zu editieren, benötigt man einen simplen Text-Editor. Auch davon gibt es unter Linux verschiedene Varianten. Nachfolgend liste ich die zwei wichtigsten Editoren auf, die in den meisten Distributionen enthalten sind und sich dadurch auszeichnen, dass sie auch in der Shell eingesetzt werden können:

Nano

ist der Nachfolger eines älteren Editors, welches Pico genannt wird. Nano ist ein kleiner handlicher Editor, der die Bearbeitung von Dateien in der Konsole erlaubt. Dieser Editor eignet sich für die schnelle Bearbeitung von kleineren Dateien und ist auf den meisten Distributionen vorinstalliert. Einsteiger sollten diesen Editor verwenden.

Vim

hat einen etwas größeren Funktionsumfang, als Nano, und enthält verschiedene Bearbeitungsmodi. Dieser Editor benötigt eine kleine Einarbeitung, weshalb viele Einsteiger Nano bevorzugen. Umgekehrt bietet dieser Editor viel Komfort, weshalb es sich lohnt, mit Vim zu beschäftigen. Vim gibt es auch in der grafischen Variante und wird GVim genannt.

Das Rechtesystem

Linux ist ein Multiuser-System, was sich zunächst einmal kompliziert anhört, aber wenn man es mal begriffen hat, ist es überraschend einfach. Will man auf eine Datei zugreifen, muss man die passenden Rechte für die Datei und den Pfad besitzen. Dabei werden ganz allgemein drei Zugriffsrechte unterschieden: r=read (lesen), w=write (schreiben) und x=execute (ausführen).

Linux kennt ganz allgemein zwei Benutzerklassen, den normalen Benutzer und den Superuser (meistens root). Der Unterschied ist, dass die normalen Benutzer voneinander abgeschottet sind, der Superuser darf dagegen alles.

Unter Linux liegt grundsätzlich alles in Form von irgendwelchen Dateien vor. Die Zugriffsrechte dieser Dateien werden ganz allgemein für drei Nutzergruppen vergeben: owner (Eigentümer), group (Benutzergruppe) und other (alle, die nicht in owner oder group fallen). Mit diesem Konzept können alle denkbaren Szenarien abgebildet werden.

Die Zugriffsrechte werden im Filesystem numerisch in drei Bytes gespeichert. Der Wert 1 steht für ausführen, 2 für schreiben und 4 für lesen. Die Rechte kombiniert man, indem man diese Werte addiert. Die Zahl 740 bedeutet beispielsweise, dass der owner alle Rechte hat, die group darf nur lesen und alle anderen (other) sehen diese Datei nicht, weil sie noch nicht einmal Lese-Rechte besitzen.

Wer einen Webserver administriert, sollte das Rechtesystem kennen. Denn wenn ein Kunde beispielsweise via FTP auf das Web zugreift, ist der FTP-User owner der Dateien (z.B. für den FTP-Server vsftpd). Dabei muss gewährleistet werden, dass der Webserver ebenfalls auf die Dateien zugreifen kann und falls nötig, auch ausführen kann. Ist das nicht der Fall, kann es sein, dass der Internet-Auftritt nicht korrekt angezeigt wird.

bleiben wir kurz bei diesem Beispiel

Bei dem soeben beschriebenen Problem handelt es sich tatsächlich um ein sehr klassisches Problem, das immer wieder auftritt, was lästig werden kann, wenn man nicht selbst der Administrator ist. Denn wenn der Administrator nicht aufpasst, öffnet er das System und macht es empfänglich für Angriffe. So kann es passieren, das sich der Administrator weigert, bestimmte Rechte zu setzen.

Nun ist es so, dass man als Internet-Profi in der Regel viele Server verwaltet. Das bedeutet, wenn man sich via SSH auf einen Server anmeldet, muss man zunächst einmal herausfinden, mit was für einem Server man es zu tun hat.

Welche Distribution verwendet wird, erfährt man, wenn man sich angemeldet hat (z.B. mit Windows Putty). In dem folgenden Beispiel gehe ich davon aus, dass es sich um eine Ubuntu-Distribution handelt. Die genaue Version erfährt man beispielsweise mit lsb_release -a. Die laufenden Prozesse werden mit ps aufgelistet, oder besser mit htop. So finden Sie heraus, welche Server installiert sind.

Wenn Sie wissen wollen, mit welchen Rechten Sie angemeldet sind, hilft id. Mit groups erfahren Sie außerdem, zu welcher Benutzergruppe Sie gehören. Sind sie als Administrator angemeldet, dann ist alles in Ordnung. Denn dann verfügen Sie über alle Rechte, die Sie benötigen, um den Server zu administrieren.

Die Benutzer, die im System erfasst sind, können sie als Administrator mit lastlog oder cat /etc/passwd auflisten. Die verfügbaren Benutzergruppen erhalten sie mit cat /etc/group. Der Benutzer, mit dem der Apache-Server auf die Dateien zugreift, heißt normalerweise www-data.

Wenn Sie wissen möchten, welcher Besitzer eine bereits bestehende Datei hat, können Sie sich das Verzeichnis mit ls -l /srv/www/irgendeinedomain/ auflisten lassen. Stimmt der Eigentümer nicht, können sie ihn mit chown anpassen, die Zugriffsrechte mit chmod. Die genaue Syntax erfahren Sie, wenn Sie --help anfügen.

In unserem Fall soll der Eigentümer und die Gruppe eines bestimmten Web-Verzeichnisses auf www-data umgestellt werden. Der Befehl dazu lautet sudo chown -R www-data:www-data /srv/www/irgendeinedomain/.

Dazu sollen die Zugriffsrechte aller Dateien in einem bestimmten Web-Verzeichnis auf 775 gesetzt werden. Es sollen auch die Rechte der darin enthaltenen Subverzeichnisse und deren Dateien angepasst werden. Soll der Befehl sowohl auf Dateien, wie auch auf Verzeichnisse ausgeführt werden, lautet er sudo find /srv/www/irgendeinedomain/ -exec chmod 775 {} +.

Man kann das auch auf die Verzeichnisse beschränken: sudo find /srv/www/irgendeinedomain/ -type d -exec chmod 775 {} + oder auf die Dateien: sudo find /srv/www/irgendeinedomain/ -type f -exec chmod 775 {} +. Jetzt stimmt der Eigentümer, die Gruppe und die Zugriffsrechte, das Problem ist behoben.

Dies war jetzt ein kleiner Ausflug in die Welt eines Server-Administrators. Kehren wir wieder zurück zu unserem ursprünglichen Anliegen, nämlich die Verwendung eines Linux-Rechners, als vollwertiger alltagstauglicher Arbeitsrechner.

Die Installation eines Arbeitsrechners

Bei der Einrichtung eines Linux Arbeitsrechners kommt es ganz darauf an, mit welchen Tools Sie arbeiten möchten. Es gibt nämlich Fälle, bei denen Sie bei Linux nicht ganz so gut aufgehoben sind. Das ist beispielsweise dann der Fall, wenn sie auf Anwendung von kommerziellen Programmen angewiesen sind, die nicht auf Linux verfügbar sind. Typische Programme sind Adobe Produkte, wie Indesign, teure Buchhaltungsprogramme oder grafische Anwendungen wie CAD oder 3D-Model­lierung.

Wenn dagegen die Wahl des Produktes eine untergeordnete Rolle spielt, steht einem Umstieg auf Linux nichts im Wege. Ganz im Gegenteil, Sie werden überrascht sein, wie stabil ein Betriebssystem sein kann und wie wenig Wartung benötigt wird.

Das beste Beispiel ist eines, das aus dem Leben gegriffen ist, vorzugsweise aus dem eigenen Leben. In meinem Fall kommt hinzu, dass ich Internet-Programmierer bin. Und wenn schon ein Programmierer auf Linux umsteigen kann, dann sollte es der Privat-Anwender erst recht können. Ich werde daher ein wenig aus dem Nähkästchen plaudern und Ihnen einen kleinen Einblick gewähren, mit welchen Programmen ich arbeite. Es geht um die Frage, ob es für diese Programme auch gleichwertige Linux-Pendants gibt.

Auch wenn ich schon länger mit einem Linux Arbeitsrechner sympathisiere, um genau zu sein mit einer Ubuntu-Distribution, arbeite ich immer noch mit Windows. Der Grund dafür ist, dass ich als Internet-Programmierer viele Texte, strukturierte Daten und Bilder von Kunden erhalte. Und die arbeiten vorzugsweise mit Windows oder Mac OS X. Um diese Daten zu verarbeiten, verwende ich einige Hilfsprogramme. Wenn diese auch auf Linux verfügbar wären, würde einem Umstieg grundsätzlich nichts im Weg stehen.

MS-Office

Für Microsoft Office gibt es schon seit vielen Jahren eine Alternative, die auf verschiedenen Plattformen läuft, nämlich OpenOffice. Dabei handelt es sich um eine Abspaltung von StarOffice, das einst kommerziell vertrieben wurde. Später wurde OpenOffice von Oracle übernommen, was 2010 erneut zu Schwierigkeiten führte, so dass es zu einer weiteren Abspaltung kam. So entstand das Projekt LibreOffice, das heute von The Document Foundation gepflegt wird.

2011 zog sich Oracle von OpenOffice zurück und übergab das Projekt an die Apache Foundation, die es unter dem Namen Apache OpenOffice weiter pflegt. Seither stehen zwei mächtige Tools zur Verfügung, die sich aufgrund der gemeinsamen Geschichte sehr ähnlich sind.

Beide Office-Pakete stehen für Windows, Mac OS X und Linux zur Verfügung. Die am meisten verbreitete Alternative ist Apache OpenOffice, das sich als offizieller Nachfolger von OpenOffice versteht. LibreOffice ist jedoch kompatibler zu MS-Office, weshalb ich ganz allgemein LibreOffice bevorzuge. Denn mit LibreOffice können Office Dokumente bearbeitet werden, ohne sie konvertieren zu müssen.

MS-Word kann mit Writer ersetzt werden, Calc mit Excel und PowerPoint mit Impress. Excel verwende ich sehr häufig, Powerpoint eher selten. Mit VBA-Scripte arbeite ich schon seit Jahren nicht mehr, das werde ich also nicht vermissen.

XAMP

Für die Realisierung von Internet-Projekten setze ich auf meinem Arbeitsrechner XAMP ein. Dieses beinhaltet den Webserver Apache, das Datenbank-System MySQL (neu MariaDB), die Skriptsprachen PHP und Perl und einige andere Tools, die ich aber nur selten benötige. Dazu muss man wissen, dass XAMP eine Portierung aus Linux/Unix-Welt ist, dort wird das Gesamtpaket LAMP genannt. Auf dem heimischen System läuft LAMP naturgemäß sehr viel runder, und ist vor allem sehr viel sicherer, was sich in meinem Fall positiv aufs Gemüt auswirkt.

Datenbank

Als Datenbank verwende ich inzwischen nur noch MySQL. Dieses Datenbank-System wurde 2010 von Oracle übernommen. Da auch die Markenrechte an Oracle übergegangen sind, kam es auch hier zu einer Open Source Abspaltung, welche MariaDB genannt wird. Dieses Datenbanksystem hat sich in der Internetwelt als Quasi-Standard bewährt und steht heute auf so ziemlich jeder Plattform zur Verfügung.

MySQL beinhaltet von Haus aus keine grafische Oberfläche, wie MS-Access und andere Systeme. Dafür gibt es ein komfortables Web-Interface, das jeder Internet-Profi kennt, nämlich PHPMyAdmin. Damit lassen sich die meisten Probleme lösen.

Dennoch kann eine grafische Oberfläche sehr praktisch sein, vor allem, wenn es darum geht, mal eben auf die Datenbank zuzugreifen oder auf die Schnelle SQL-Query's zu generieren. Deshalb habe ich zusätzlich zu PHPMyAdmin einen ODBC-Treiber für MySQL installiert, womit ich MySQL-Datenbanken mit MS-Access verlinken kann. Die Frage ist, ob das mit Linux auch möglich ist?

Unter Linux gibt es derzeit kein System, das mit einer aktuellen MS-Access Version wirklich kompatibel wäre. Aber es gibt einige Systeme, die sich als Alternative verstehen und ebenfalls über einen grafischen Query-Generator verfügen.

Eines davon ist in LibreOffice enthalten, nämlich Base. Base lässt sich auch unter Linux mit MySQL verbinden. Der Funktionsumfang erscheint sogar recht brauchbar. Aber ob Base wirklich denselben Komfort bieten kann, wie Access, muss die Praxis zeigen. Sollte das nicht klappen, wäre das nicht so schlimm, denn eigentlich genügt PHPMyAdmin vollkommen.

Für Android-Applikationen wird das Datei-basierte Datenbank-Format SQLite verwendet, das ich ungemein praktisch finde. Um darauf zuzugreifen, gibt es grafische Benutzeroberflächen, wie den SQLiteManager. Das gibt es auch für Linux. Analog zu PHPMyAdmin, kann man auch auf die Web-basierte Benutzeroberfläche PHPLiteAdmin zurückgreifen. Auch hier werde ich gut versorgt.

Grafik-Bearbeitung

Ein Internet-Programmierer hat wenig Einfluss darauf, welche Werkzeuge seine Kunden verwenden. So kann es passieren, dass er die digitalen Bildvorlagen in allen möglichen Formaten erhält. Glücklicherweise unterstützen handelsübliche Grafikprogramme die wichtigsten Formate. Eine Sonderstellung bilden die Formate von Photoshop, Illustrator, Indesign und Corel Draw. Letzteres wird glücklicherweise eher selten eingesetzt. Die Adobe Produkte sind dagegen sehr verbreitet, aber auch sehr teuer, was schlicht daran liegt, dass sie mit Abstand den größten Funktionsumfang bieten.

Wenn man sein Geld nicht mit Grafikbearbeitung verdient, macht es wenig Sinn, sich eine aktuelle Adobe Suite anzuschaffen. Deshalb habe ich mir angewöhnt, mit älteren Versionen zu arbeiten, die erschwinglich sind. Sollte mir ein Kunde ein Dokument zusenden, dass nicht rückwärts kompatibel ist, kann ich ihn bitten, das Dokument in einem älteren Format abzuspeichern. Dafür haben die meisten Kunden Verständnis.

Für die Bearbeitung von Bitmap-Bilder verwenden die meisten Designer Photoshop. Es arbeitet mit verschiedenen Bild-Ebenen, die übereinander gelegt werden können, wobei jede Ebene individuell bearbeitet werden kann. Dazu ist ein eigenes Grafik-Format erforderlich, das von Adobe nicht offen gelegt ist. Daher muss Adobe auch keine Konkurrenz fürchten.

Als Alternative zu Photoshop versteht sich die Linux-Freeware Gimp. Auch dieses Programm arbeitet mit Ebenen, ist aber nicht annähernd so umfangreich und komfortabel wie Photoshop. Um ehrlich zu sein, es hat eine ausgesprochen schlechte Usability, so dass man viel Zeit braucht, um sich zurechtzufinden.

Tatsächlich gibt es auf Linux kein Programm, das mit Photoshop-Dateien verglichen werden könnte. Aber ich habe ja nicht nur einen Rechner in Betrieb, es sind immer mindestens zwei in Betrieb, die auf einen zentralen Server zugreifen. Wenn ich also eine Photoshop-Datei erhalte, kann ich kurzfristig auf einen anderen Rechner ausweichen und dort die Datei in ein anderes Format konvertieren. Deshalb kann ich es mir leisten, auf dem Arbeitsrechner ganz auf Photoshop zu verzichten.

Für die schnelle Bearbeitung von Bitmap-Bildern verwende ich gern eine ganz bestimmte Uraltversion von PaintShop Pro, die ich schon seit vielen Jahren verwende. Als Viewer verwende ich gern IrfanView, das mit Plugins frisiert wurde. Unter Linux stehen hierzu zahlreiche Alternativen zur Verfügung, so dass ich ganz sicher einen geeigneten Ersatz finden werde.

Auf meinen Recherchen bin ich unter anderem auf ein vielversprechendes Werkzeug mit dem Namen G'MIC gestoßen, womit Bilder über die Kommandozeile bearbeitet werden können. Für einen Programmierer hört sich das natürlich sehr interessant an. Unter Windows habe ich so etwas bisher noch nicht gefunden, jedenfalls nicht in für mich brauchbarer Form.

Für Vektorgraphiken verwenden viele Kunden gern den Adobe Illustrator. Dieses Programm kann die Dateien zur Not auch im Postscript-Format exportieren. Allerdings funktioniert das in der Praxis nicht so gut, weil Postscript von vielen Programmen unterschiedlich interpretiert wird.

Dazu muss man wissen, dass sich in den letzten Jahren vermehrt das XML-basierte SVG-Format als Standard für Vektorgraphiken durchsetzt, weil es vom W3C-Konsortium empfohlen wird und inzwischen von allen modernen Internet-Browsern unterstützt wird. Das haben inzwischen auch die Designer begriffen, so dass ich kaum noch Illustrator-Dateien erhalte.

Für die SVG-Dateien verwende ich in der Regel InkSkape und bin sehr glücklich damit. Von Inkscape gibt es auch eine Linux-Variante. Bleibt nur zu hoffen, dass diese Variante auch auf der von mir bevorzugten Distribution läuft.

Als Programmierer werden mir nur selten Indesign-Dateien zugeschickt, daher kann ich auch auf eine Linux-Alternative verzichten. Sollte ich tatsächlich mal eine Desktop Publishing Software benötigen, bietet sich Scribus an, das sehr beliebt ist. Videos, Fonts oder Audio-Dateien bearbeite ich nur selten. Auch hierzu stehen auf Linux viele Anwendungen zur Verfügung. Wenn es Probleme mit Codecs oder Formaten geben sollte, kann ich zur Not auch auf einen Windows-Rechner ausweichen.

Software-Entwicklung

Anders, als viele meiner Kollegen, verwende ich für die Entwicklung von Web-Applikationen selten eine IDE, sondern am liebsten einen Text-Editor. Mein Favorit ist eine ältere UltraEdit-Version, die mit einem Syntax Highlighter für HTML, CSS und PHP erweitert wurde. Auch eine Funktionsliste fehlt nicht. Da ich schon seit vielen Jahre programmiere, benötige ich keine Autocomplete-Funktion mehr oder sonstige Hilfen.

Unter Linux steht eine große Anzahl von Editoren zur Verfügung, ich habe also freie Wahl. Wie sich herausstellt, gibt es seit einiger Zeit auch eine kostenpflichtige Linux-Version von UltraEdit, worüber ich mich sehr freue.

Java-Projekte werden mit Eclipse realisiert. Das gibt es natürlich auch für Linux, wo es heimisch ist und dort sogar schneller läuft. Ebenso die Versionskontrolle GIT und SVN (Apache Subversion). Für die Android-Entwicklung arbeite ich vorzugsweise mit Android Studio, das ebenfalls in einer Linux-Variante vorliegt. Diese IDE's sind inzwischen so komfortabel, dass man kaum noch weitere Tools benötigt.

Netzwerk Clients

Für die Entwicklung verwende ich einen mit Addons aufgemotzten Firefox-Browser. Sowohl der Browser, als auch die benötigten Plugins gibt es auch für Linux. Für die Überprüfung von Umgebungs-Variablen und geposteten Variablen verwende ich entweder ein Plugin, ein HTTP-Sniffer oder ein Proxy, wie Squid. Auch diese Tools stehen unter Linux zur Verfügung.

In der Windows-Welt gehöre ich zu einer Minderheit, die nicht mit Outlook arbeiten, was gut ist, weil es auf Linux keine Alternative dafür gibt. Dafür arbeite ich mit Thunderbird, das mit Lightning und ein paar weitere Plugins erweitert ist. Darüber laufen ungefähr ein Dutzend Email-Accounts, sowie ein paar iCal-Kalender, darunter auch Google-Kalender. All das kann ich unverändert auf Linux übernehmen.

Als Messenger verwende ich fast nur noch Skype, wenn auch nur ungern, aber die meisten Kunden verlangen es. Dieser Messenger steht auch unter Linux zur Verfügung. Ebenso Teamviewer. VNC gibt es sowohl in der Client, als auch in der Server-Variante. IRC, Bittorrent oder andere Clients verwende ich kaum noch. Aber selbst wenn ich die bräuchte, gibt es auch dazu brauchbare Linux-Alternativen.

Um via SSH auf entfernte Webserver zuzugreifen z.B. für Fernadministration, um Telnet-Verbindungen aufzubauen oder um auf serielle Schnittstellen zuzugreifen, verwende ich die bewährte Open Source Software Putty. Um ehrlich zu sein, kann ich mir eine Welt ohne Putty inzwischen gar nicht mehr vorstellen. In der Linuxwelt benötigt man Putty nicht. Denn jede Linux-Distribution verfügt über eine Konsole und über einen SSH-Service, mit dem man auf entfernet Linuxserver zugreifen kann, wie wenn es der eigene Rechner wäre. Wer jedoch Putty gewohnt ist, die Software steht auch für Linux zur Verfügung.

File-System

Die älteren Kollegen werden sich sicher noch an den guten alten Norton Commander erinnern. Ein Klon davon ist mir besonders ans Herz gewachsen, nämlich der Total Commander. Dieser beinhaltet unter anderem auch einen FTP-Client, bei dem sich die Zugänge mit einem Masterpasswort schützen lassen, was bequem ist. Für SFTP-Verbindungen gibt es ein passendes Plugin. Unter Linux gäbe es hierfür die Alternative Krusader, die ähnlich mächtig sein soll. Ob dieses Werkzeug alltagstauglich ist, muss sich allerdings erst noch zeigen.

Als jemand, der an Datenschutz interessiert ist, möchte ich wissen, wo meine Daten gehortet werden. Deshalb verzichte ich zum Leidwesen meiner Kunden grundsätzlich auf Cloud-Llösungen, wie Dropbox, Google Drive oder MS-OneDrive. Statt dessen setze auf meinem Server eine eigene Cloud-Lösung ein, nämlich OwnCloud. Dafür gibt es Desktop Clients für Windows, Mac OS, Linux und sogar Android und iOS.

Sonstiges

Für die Bearbeitung von PDF-Dateien verwendet man gewöhnlich Acrobat. Ich mag dieses Tool nicht. Mir genügt ein simpler PDF-Printer, wie z.B. der von Bullzip. Auch auf Linux-Systeme gibt es PDF-Printer, wie z.B. Cups PDF. Damit habe ich noch nicht gearbeitet, aber ich denke, das Tool wird ähnlich unkompliziert sein.

Wie ich schon angedeutet habe, arbeite ich mit mehreren physikalischen Rechnern. Früher waren es bis zu vier, heute sind es nur noch zwei. Jeder hat einen eigenen Monitor und beide teilen sich gemeinsam eine Tastatur und eine Maus. Früher verwandte ich dazu einen KVM-Switch, was aber unkomfortabel ist. Inzwischen gibt es Software-Lösungen, die das Signal über das Netzwerk an den anderen Computer weiterleiten. So ist auch Copy/Paste möglich, was ungeheuer praktisch ist.

Auf Windows verwandte ich früher die Software Synergy als virtueller Tastatur-Maus-Umschalter. Als die Software kostenpflichtig wurde, bin ich auf Input Director umgestiegen. Bedauerlicherweise läuft Input Director nicht auf Linux, Synergy dagegen schon. Aber es kostet nicht allzu viel. Da ich es schon kenne, bin ich sicher, dass diesbezüglich keine Probleme zu erwarten sind.

Während der Arbeit höre ich gern Musik, nämlich mit Spotify, wo ich Premium Kunde bin. Tatsächlich gibt es auch für Spotify einen Linux Client. Sogar die Buchhaltungs-Software Elster gibt es in einer Linux-Variante oder Samsung Kies. Ebenso der beliebte Video-Player VLC und viele andere Tools.

Als Programmierer habe ich Zugriff auf viele Internetseiten und Plattformen. Das führt dazu, dass ich mich mit unzähligen Passwörtern herumschlagen muss, die ich unmöglich alle auswendig wissen kann. Hier hat sich die Software KeePass bewährt. Dieses speichert die Passwörter in einer verschlüsselten Datei, die auch auf einem USB-Stick gespeichert werden kann. Auch für diese Software gibt es eine Linux-Portierung.

Fazit

Unter dem Strich spricht eigentlich nur eine Sache gegen den Umstieg von Windows auf Linux, nämlich die Bequemlichkeit. Denn es bedarf ein wenig Zeit, um ein funktionsfähiges System zu installieren und sich in die Eigenheiten der verschiedenen Programme einzuarbeiten. Bei mir kommt noch hinzu, dass ich mit einigen Tools schon seit viele Jahre vertraut bin, und mich an sie gewöhnt habe, so dass es mir wirklich schwer fällt, mich von ihnen zu trennen.

Aber es gibt eine Redensart, die lautet: wer nicht wagt, der nicht gewinnt. So habe ich mir vorgenommen, bei der nächstbesten Gelegenheit den Umstieg zu wagen. Und wenn ein Programmierer das schafft, dann sollten Sie das auch schaffen, da bin ich mir sicher.

irgendwann im Januar 2016