- Portable Software
-
Als portable Software (vom lateinischen „portare“ für „tragen“ oder „mit sich tragen“) wird Software bezeichnet, welche ohne weitere Anpassungen oder Installationen auf verschiedenen Computern ausgeführt werden kann. Portable Software kann so z.B. auf einen Wechseldatenträger kopiert werden, und dann auf jedem (kompatiblen) Computer ausgeführt werden, ohne dass das Programm auf diesem Computer installiert werden muss.
Programme, die auf unterschiedlichen Plattformen übersetzt werden können, nennt man hingegen plattformunabhängige Software.
Inhaltsverzeichnis
Motivation und Nutzen
Bestimmte Anwendungen, aber auch deren Einstellungen und persönliche Daten, möchten viele Nutzer an verschiedenen Computern zur Verfügung haben. Mit Hilfe von portabler Software können diese Programme auf einen USB-Stick (oder einen anderen Wechseldatenträger) kopiert werden, so dass der Benutzer nur diesen Stick einstecken muss, um Zugriff auf seine Programme und Einstellungen zu haben.
Da portable Software keine Spuren auf dem Computer hinterlässt und keine Installation braucht, kann man sie auch auf Computern nutzen, auf denen man keine Administrator-Rechte hat.
Eigenschaften
Ohne Installation
Portable Software braucht keine Installation und kann direkt vom Trägermedium aus oder durch Kopieren in ein Verzeichnis gebrauchsfertig gemacht werden. Meist kann die gebrauchsfertige Software auch nach Benutzung durch einfaches Kopieren dupliziert werden, was für eine einfache Datensicherung auf einem weiteren Datenträger sowie ein einfaches Weitergeben der Software vorteilhaft ist. Portable Software wird häufig als gepacktes Archiv verbreitet, welches nur in ein Verzeichnis ausgepackt werden muss, ohne dass systemspezifische Installationsprogramme benötigt werden. Dieses einfache Auspacken wird zum Teil irreführend auch als Installieren bezeichnet.
Keine Spuren auf dem Wirtssystem
Im Idealfall hinterlässt portable Software keine Spuren auf dem Wirtssystem. Spuren können einerseits Installationseinträge jeglicher Art (zum Beispiel in der Registrierung, im Benutzerprofil oder Ähnliches) oder aber Benutzerdaten sein, die nicht auf einem fremden Rechner zurückbleiben sollten.
Funktion mit eingeschränkten Rechten
Auf dem Wirtssystem hat man häufig keine Administratorrechte. Die Software soll daher auch mit eingeschränkten Rechten lauffähig sein. Somit kann sie bei ordentlicher Konfiguration des Wirtssystems auch keinen übermäßigen Schaden anrichten.
Dies ist allerdings nicht möglich, wenn das Programm direkten Zugriff auf die Hardware oder gewisse Systemkomponenten braucht. So benötigen z. B. die Verschlüsselungsprogramme FreeOTFE oder TrueCrypt selbst im „Portable Mode" bzw. „Traveller Mode“, zum Ver- bzw. Entschlüsseln des Wechseldatenträgers Administratorrechte.
Entwicklung von portablen Programmen
Oft sind portable Programme angepasste Versionen von konventionellen, installationsbedürftigen Programmen. Um sie von diesen zu unterscheiden, wird oft das Prädikat „portable“ vorangestellt. Es gibt auch Programme, die beispielsweise bezüglich der Schreibzugriffe auf die Verhältnisse der speziellen Datenträger (meist Flash-Speicher) zugeschnitten sind. Eine Sonderform ist U3-Software, welche nur von einem mit der proprietären U3-Software verträglichen USB-Stick ausgeführt werden kann.
Es kann jedoch nicht von jedem Programm eine portable Version erstellt werden.
Grenzen portabler Programme
Hardwareplattform-Abhängigkeit
Anwendungen, welche in einem Binärformat (z.B. ELF oder PE) vorliegen, wurden von einem Compiler für eine spezifische Hardwareplattform generiert (z.B. IA-32). Verschiedene CPU-Architekturen variieren in Befehlssatz, Datenwortgröße (z.B. 32-Bit oder 64-Bit) oder Byte-order. Dies beschränkt den portablen Einsatz von Applikationen auf Plattformen der gleichen Hardware. Ein portabler Ansatz zur Umgehung dieser Problematik sind sogenannte Fat Binaries, welche Applikationsvarianten für mehrere Hardwareplattformen enthalten. Beispielsweise Apple setzt seit 2006 Fat Binaries ein, hier Universal Binary genannt, für den problemlosen Übergang von den PowerPC-CPUs zu den Intel-CPUs[1].
Systemnahe Software
Nicht alle Programme eignen sich zur Verwendung als portable Software. Beispielsweise benötigen Virenwächter, Systemwerkzeuge und andere systemnahe Software die Möglichkeit, tief ins System einzugreifen. Deren portable Versionen haben eine geringere Bedeutung, weil sie in der Regel nicht den gleichen Funktionsumfang wie installierte Software aufweisen können.
Allgemeine Anwendungsprogramme, zum Beispiel Editoren und E-Mail-Clients, kommen hingegen meist ohne Systemeingriffe aus und eignen sich für den portablen Einsatz. So ist zum Beispiel das Office-Paket OpenOffice.org in einer portablen Version verfügbar.
Rechtliche Probleme
Neben den technischen Aspekten spielen beim Einsatz als portable Software auch die Software-Lizenz und etwaige Kopierschutz-Mechanismen eine Rolle. Häufig ist das Kopieren von Software vom Hersteller oder Lizenzgeber unerwünscht und wird in der Lizenzvereinbarung verboten. Ein Kopierschutz bindet ein Programm oft an ein bestimmtes System – das Binden an einen mobilen Datenträger ist technisch aufwendig und in der Regel nicht vorgesehen. Daher spielt hier freie Software eine entscheidende Rolle, weil sie dem Benutzer das Recht auf eine unbeschränkte Benutzung, auch als portable Software, zusichert.
Sicherheit im Unternehmen
IT-Verantwortliche sind für die Konfiguration und Sicherheit der Systeme im Unternehmensnetzwerk verantwortlich. Wechseldatenträger und die darauf enthaltenen Daten und Programme entziehen sich jedoch deren Kontrolle und stellen ein Risiko dar. Vorbeugend ist es teilweise üblich, USB-Anschlüsse im BIOS oder im Betriebssystem des Rechners zu sperren.
Betriebssysteme und Portabilität
Windows Software
Windows mit seinen MS-DOS-Wurzeln besitzt keinen fixen Standard oder feste Übereinkunft über den Installationspfad von Anwendungen, der Anwender wird bei Installationen praktisch immer nach einem Zielpfad befragt. Dadurch sind variierende Ausführungspfade von Anwendungen häufig kein Problem, sowohl auf Betriebssystemseite als auch Anwendungseite, im Gegensatz zu unixoiden Betriebssystemen, bei denen sich Standardorte durchgesetzt haben. Die der Portabilität dienliche Fähigkeit der Ausführung von Anwendungsprogrammen aus beliebigen (Installations-)Verzeichnissen (siehe [2] Zeile 9) mit eigenen, lokalen Bibliotheken ist etwas, das Windows seinem MS-DOS-Ursprung verdankt, die meisten DOS-Programme sind portabel, nur wenige benötigen spezielle TSR-Programme, welche beim Systemstart geladen werden müssen.
Jedoch ist die empfohlene Verwendung der Konfigurationsdatenbank (Registry) seit Windows 95 anstelle lokaler INI-Dateien ein Hindernis für Portabilität unter Windows.[3] Speichern Programme Konfigurationsdaten in der zentralen Registrierungsdatenbank können diese nicht ohne weiteres zwischen verschiedenen Rechnern kopiert werden und oft ist auch nicht dokumentiert, in welchem Teil dieser Datenbank ein Programm seine Einstellungen ablegt. Eine verstreute Speicherung von Programmdaten in mehreren Systemverzeichnissen (Profil, Persönliche Einstellungen, Persönliche Lesezeichen etc.) in Rahmen der Multiuserverwaltung verkompliziert die Portabilität ebenfalls.
Linux Software
Unter Linux kann die im allgemeinen strikte, systemweite[4] Verwaltung von Anwendungen und Programmbibliotheken per Paketverwaltung die Portabilität erschweren. Nach einer Analyse des klik-Projekts über die verschiedenen Paketverwaltungsysteme unter Linux, fehlen den am häufigst genutzten Systemen RPM und APT wichtige Fähigkeiten, portable Installationen zu ermöglichen. Zu den fehlenden Eigenschaften gehören die Installbarkeit ohne Root-Rechte ('Non-root package installation'), die Unmöglichkeit das System oder andere Applikationen zu beschädigen ('Impossible to mess base system', 'Impossible to mess other apps') und die Möglichkeit mehrere Versionen einer Anwendung zu installieren ('Multiple versions coexist').[5][6] Deswegen existieren alternative Installationssysteme wie Autopackage, Klik, RUNZ und Zero Install. Jedoch folgt jedes dieser Systeme einem anderen Ansatz und deckt damit einen anderen Teilaspekt der Portabilität ab[7]. Programmiertechnisch lassen sich jedoch portable Applikationen mit privaten Bibliotheken über einen relativen Bibliothekspfad mit der Linker-Option $ORIGIN erzeugen[8], mit dem Vorteil in dieser Form keine Benutzeranpassungen der Bibliothekspfade oder andere Skripte zu benötigen.
Portable Betriebssysteminstallationen
Auch wenn die portable Applikationsverwendung ein Problem unter Linux ist[6], existieren für portable, Linux basierende Betriebssysteminstallationen viele Lösungen. Zahlreiche Linux-Derivate bieten sogenannte LiveCDs, wie z.B. Knoppix, die die Verwendung von einem Wechseldatenträger erlauben, ohne Spuren auf dem Rechner zu hinterlassen. Windows muss dagegen entsprechend dem EULA immer auf einer Festplatte installiert sein, und kann deshalb offiziell laut Microsoft nicht portabel verwendet werden, es existieren jedoch Lösungen von Dritt-Anbietern[9].
Siehe auch
Referenzen
- ↑ Apple Computer (8. März 2006): "Universal Binaries and 32-bit/64-bit PowerPC Binaries" in der Mac OS X ABI Mach-O File Format Referenz. Abgerufen am 13. Juli 2006.
- ↑ http://support.microsoft.com/kb/256986 Beschreibung der Microsoft Windows-Registrierung (3. Dezember 2007)
- ↑ Tony Mobily (23. Juni 2009): 2009: software installation in GNU/Linux (englisch). www.freesoftwaremagazine.com. Abgerufen am 23. März 2010.
- ↑ Comparison table (englisch). klik.atekon.de/ (29. Januar 2009). Abgerufen am 26. März 2010.
- ↑ a b Simon Peter (2010): AppImageKit Documentation 1.0 (englisch) (pdf) S. 2-3. PortableLinuxApps.org. Abgerufen am 29. Juli 2011. „Not easy to move an app from one machine to another: If you've used an app on one machine and decide that you would like to use the same app either under a different base operating system (say, you want to use OpenOffice on Fedora after having used it on Ubuntu) or if you would simply take the app from one machine to another (say from the desktop computer to the netbook), you have to download and install the app again (if you did not keep around the installation files and if the two operating systems don't share the exact same package format - both of which is rather unlikely).“
- ↑ Zero Install: Comparison with other systems (englisch). 0install.net/ (1. Januar 2010). Abgerufen am 26. März 2010.
- ↑ Eskild Hustvedt (8. Februar 2009): Our new way to meet the LGPL (englisch). Abgerufen am 9. März 2011. „You can use a special keyword $ORIGIN to say ‘relative to the actual location of the executable’. Suddenly we found we could use -rpath $ORIGIN/lib and it worked. The game was loading the correct libraries, and so was stable and portable, but was also now completely in the spirit of the LGPL as well as the letter!“
- ↑ Bart PE - Artikel auf pcwelt.de
Weblinks
Wikimedia Foundation.