Kapitel 1. Einleitung

deus, dona mihi serenitatem accipere res quae non possum mutare, fortitudinem mutare res quae possum, atque sapientiam differentiam cognoscere. Der Linux Solution GuideTM richtet sich an Entscheider, Systemadministratoren, und Software - Entwickler allgemein. Er bietet einen zusammenhängenden und tiefgehenden Überblick über die neuesten Technologien und Software, die unter Linux, aber auch auf anderen Plattformen lauffähig sind, darunter auch andere UNIXe, Windows und Apple. Hierbei werden unter dem Aspekt des "Pack an" auch einige Details vermittelt, die für das Verständnis wichtig sind und oft Basis weiterführender Lösungen sind.

Im Vordergrund stehen Software - Pakete und Techniken, die sich für Aufgaben in Unternehmen als Alternative zu teuren, kommerziellen Produkten bewährt haben, zuverlässig arbeiten, weit verbreitet sind, und entsprechend guten Support durch die Nutzergemeinde bieten. Das Angebot an freier, kostenloser Software ist sehr groß und fast unüberschaubar. Insbesondere einige kleine, pfiffige Softwarepakete lassen sich modular zu "Lösungen" kombinieren, wie CRM - Tools, Portal - Software, Groupware, Content-Management, Cluster für File - und Datenbankserver, NAS / SAN, Firewalls und HA- Firewall-Cluster, kostenlose Virenscanner - und Filter, aber auch Internet/Lan-Telefonie, WLAN - Router - Software ...

Viele Entwickler haben noch nicht wahrgenommen, daß Software, die für Microsoft Windows programmiert wurde, fast ohne Änderungen auf Linux lauffähig ist. Hierbei ermöglicht der Emulator WINE, daß sogar MS Office 98/2000/XP auf Linux lauffähig ist, also das originale Binary ohne irgendwelche Änderungen. Sofern der Quellcode verfügbar ist, lassen sich sogar komplexe Applikationen mit Komponenten auf Linux portieren, mehr hierzu siehe Abschnitt 24.2.

Bevor man das Rad neu programmieren läßt, ist man klug beraten, sich zuerst einmal auf dem Markt der freien Software umzuschauen, ob es vielleicht fertige Lösungen gibt, oder ob man eine bestehende Lösung anpassen kann. Und selbst dann, wenn man sich entscheidet, selber eine Lösung zu programmieren, so kann man dennoch viel aus der Datenbankstruktur, aufbau des Quellcodes bestehender Lösungen übernehmen, bzw. lernen, siehe auch Abschnitt 24.10. Im Internet hat sich inzwischen eine Struktur gebildet, also Portale, auf denen man Kurzbeschreibungen für hunderttausende von Softwarepaketen findet, wie z.B. SourceForge.net, FreshMeat.net oder HotScripts.com. Mehr hierzu siehe Kapitel 24.

Über Linux und seine Softwarepakete kann man hunderte von Büchern kaufen, die recht schnell veraltet sind, was allgemein für Softwaredokumentationen gilt. Die Quellen der Buchautoren sind schließlich auch nur das Internet, bzw. die Dokumentation von Linux selber, und wenn man weiß, wo diese Abschreiben, kann man sich recht viele Bücher ersparen. Quellen für Handbücher, Tutorials, Howtos, Support bzw. eine Beschreibung der grundsätzlichen Strukturen von OpenSource / FreeWare finde sich hier: Kapitel 3

Der Linux Solution GuideTM gibt einen Überblick über einfache RAD Entwicklungswerkzeuge, aber auch komplexe Entwicklungs-Frameworks, mit Schwerpunkt auf Crossentwicklung. Wer heuzutage Software entwickelt, sollte sich wohlweislich an Werkzeuge halten, mit denen man Software entwickeln kann, die auf vielen Plattformen lauffähig ist. Apache, Netscape / Mozilla / Firefox, Konqueror / Safari, OpenOffice, GIMP, ... sind gute Beispiele dafür. Wie es geht, ist in Kapitel 24 beschrieben.

Linux ist, dank OpenSource, eine Plattform für viele Spezialdistributionen von Linux, mit denen man nach wenigen Minuten schon Spezialapplikationen in Betrieb genommen hat, wie z.B. Firewall oder Groupware auf CD, die out-of-the-box lauffähig sind. Einen Überblick findet sich unter Kapitel 5.

Dreh - und Angelpunkt für viele der Lösungen für Endanwender ist die Kapitel 19, die eigentliche Trägerplattform für Internet - Applikationen, aber auch für Intranet - Lösungen ist. Tausende Softwarepakete, programmiert meist in PHP, JAVA, PERL, Python, C/C++, zu finden auf FreshMeat.net oder SourceForge.net, bilden in Verbindung mit Datenbankservern (meist MySQL oder PostgreSQL) auf der Trägerplattform Apache Webserver leistungsfähige "Lösungen", die auch beworben werden, wie z.B. GroupWare - Pakete, siehe Kapitel 12. Da fast alle dort angebotenen Lösungen inzwischen mehrsprachig sind, so kann man viel Entwicklungszeit für Software sparen, wenn man nach der englishsprachigen Software sucht, diese jedoch mit deutscher Sprachanpassung language file installiert. So ist hier z.B. ein Raumbelegungsprogramm dort unter room booking mit Namen MRBS als fertige Lösung zu finden, deutsche Sprachanpassungen findet man immer erst, nachdem man die Software installiert hat. Diese Softwarepakete funktionieren sehr gut, sind kostenlos. Sie sind häufig die Grundlage für ein Business - Modell, welches auf Dienstleistungen aufsetzt und Spezialanpassungen anbietet. Fast alle Lösungen bestehen aus mehr oder weniger umfangreichen Modulen, sind also eine Zusammenstellung von kostenloser Software, verbunden mit einigen Hilfsskripten, in welche man sich zuerst einarbeiten muß, wie z.B. in eine kostenlose Software für NAS - Server, siehe Abschnitt 18.3

Einfache Installation, wie unter Windows zu finden, gibt es unter Linux seltener. Linux ist ein riesiger, äußerst leistungsfähiger Baukasten, der für Spezialanwendungen gedacht ist, die umfangreich anpasst werden müssen. OpenSource ist hierfür unentbehrlich. Nur wenige Anwendungen unter Linux haben eine Reife erlangt, die es einem Anwender ohne tiefgreifende UNIX Kenntnisse ermöglicht, die Software in Betrieb zu nehmen. Oft sind langjähige Erfahrung und viel Einarbeitungszeit erforderlich, sich durch den Wust von Software, Skripten, Konfigurationsmöglichkeiten hindurch zu finden. Ohne Google und seine Recherchemöglichkeiten, Tutorials, Howto's, Foren, Mailing - Listen - Archive wäre es sehr viel schwieriger, Linux oder irgendeine Software für Linux in Betrieb zu nehmen.

Ein komfortables Installationsprogramm, wie unter Windows üblich, siehe NullSoft Installer Software, gibt es jedoch bei Linux schon länger, jedoch sind die Anforderungen aufgrund der Vielfalt von Linux viel höher. Mehr hierzu siehe Abschnitt 24.19.

Freie Software lebt von der Benutzergemeinde, die Ihre Erfahrungen mit einem Softwarepaket in kleine Howto's schreiben, oder dokumentieren, Code verbessern, Fehler beseitigen, u.s.w., siehe Abschnitt 24.14

Üblicherweise kümmert sich der Linux Distributor darum, die riesige Menge an freier Software jeweils auf dem neuesten Stand zu halten, und so in Pakete zu verpacken, daß sie einfach auf Linux zu installieren sind. Was die Benutzung der Softwarepakete angeht, dafür gibt es meist keinen Support vom Distributor, sondern nur im Internet, zumeist auf der zugehörigen Homepage der Entwickler.

Eine Ausnahme ist die DEBIAN - Distribution, siehe Abschnitt 4.2.3, die auf dem Maintainer - Prinzip beruht. Hier hat jedes Paket einen Betreuer, der dafür sorgt, daß sich die Software sauber installieren läßt, und Abhängigkeiten von Libraries, Softwarepaketen untereinander alle erfüllt sind.