Linux 15.009 Themen, 106.826 Beiträge

Puppy rules

Achim20 / 15 Antworten / Flachansicht Nickles

Hallo zusammen.
Nach vielen Monaten exzessiven Ausprobierens dutzender Distributionen möchte ich euch meinen persönlichen Favoriten aus dem Dschungel der unzähligen Linuxvarianten nicht vorenthalten: Puppy Linux.
http://www.puppylinux.com
Es ist SEHR klein und hat doch alles, was Ottonormaluser braucht. Durch die Kleine läuft Puppy auch auf älteren Rechnern komplett im RAM. Windows-User finden sich schnell zurecht dank ähnlichem Aufbau des Desktops.
Puppy basiert nicht auf anderen Distros, sondern wurde mühsam von Grund auf neu zusammengestellt. Daher die geringe Größe und Schnelligkeit beim Booten und Arbeiten.
Man kann sogar vor dem Herunterfahren Änderungen auf eine Multisession-CD brennen, so dass nichts verloren geht. Außerdem wurde es so optimiert, dass, wenn es von einem USB-Stick gestartet wird, die Schreibzugriffe auf ein Minimum reduziert wurden.
Bin immer noch total begeistert.
Diese aufgeblähten Distros (Suse etc.) kommen mit nicht mehr auf die Platte.
Auch Damn Small Linux gefällt mir, aber nicht ganz so gut wie Puppy.

FUMANCHU4EVER
bei Antwort benachrichtigen
Linux Standard Base Olaf19
KarstenW Olaf19 „Aha, verstehe. Danke für die Erläuterung. Was mir noch nicht klar wird, ist...“
Optionen

Ich kann den Unterschied auch nur so wiedergeben wie ich ihn als Laie verstanden habe.
Erstmal sind die meisten Programm dynamisch gelinkt. Das bedeutet das der Programmcode aus den Bibliotheken nach dem Programmstart in den Speicher geladen wird und mit dem übrigen Programm verlinkt wird.
Dynamisch gelinkte Programme nutzen Bibliotheken gemeinsam um Festplattenspeicher zu sparen.
Bei statisch gelinkten Programmen werden die Bibliotheken direkt in die ausführbare Datei eingebunden und somit wird auch die Programmdatei wesentlich größer.
Eine dynamische Bibliothek wird komplett in den Speicher geladen und alle Windowsprogramme die Funktionen aus dieser DLL benötigen, greifen auf den gleichen Speicherbereich dieser DLL zu und starten Funktionen aus diesem Speicherbereich.
Bei einer Shared Library ist das ein wenig anders.
Nach dem das Linxprogramm gestartet wurde lädt der Linker (heißt ld unter Linux) die Funktionen aus der Bibliothek in den Speicher und verlinkt diese Bibliotheksfunktionen mit dem jeweiligen Linuxprogramm.
Dabei bekommt jedes Linuxprogramm seine eigene Kopie von den Funktionen aus der Bibliothek.
Linuxprogramm greifen somit nicht auf den gleichen Speicherbereich zu, in den die Bibliotheksfunktionen geladen wurden.
Dadurch ist auch jedes Linuxprogramm unabhängig von den anderen Programmen und benutzt trotzdem die gleichen Versionen der Funktionen aus den Bibliotheken.

Bei Windows muß jeder Programmierer die verwendeten DLLs mit dazu geben , weil Windows nur ein paar DLLs anbietet. Das hängt wahrscheinlich mit irgendwelchen Lizenzen zusammen.
Linuxprogrammierer müssen nur die Information mitgeben, welche Bibliotheken ein Linuxprogramm braucht.
Linuxdistributionen bieten in der Regel alle Bibliotheken an, die unter der GPL Lizenz stehen.
Paketverwaltungssysteme wie APT bei Debian und Ubuntu sorgen dafür das bei der Installation eines Linuxprogrammes die notwendigen Bibliotheken von der verwendeten Distribution automatisch mit installiert werden.
In den deb Paketen (von Debian und Ubuntu) gibt es dafür eine control Datei, in welche der Maintainer die Abhängigkeiten (Bibliotheken die benötigt werden) einträgt.
Bei den rpm Paketen ist das ähnlich. Nur SUSE hatte früher (Version 9 hatte ich zuletzt) kein funktionierendes Paketverwaltungsystem wie APT bei Debian.
Ich habe mich dann von SUSe getrennt und bin zu Debian gewechselt.

Mehr weiß ich auch nicht ;-).

PS: Ich weiß auch nicht was sich Microsoft mit diesen dynamischen Bibliotheken gedacht hat. Bei Unix und bei Linux werden nur Shared Libraries genutzt. Ich habe diese Halbwissen auch nur aus dem Programmierlehrbuch "Inside Visual C++ 6" von Microsoft Press.
Also ich halte nichts von DLLs und Windows.

PPS: Hier gibt es eine bessere Erklärung:

http://de.wikipedia.org/wiki/Programmbibliothek

Wahrscheinlich ist der größte Nachteil bei diesen dynamischen Bibliotheken die großen Abhängigkeiten. Verändert man in einer DLL den Programmcode, muß man in vielen anderen DLLS ebenfalls den Programmcode ändern. Ich weiß das nicht so gut, da ich kein Windowsprogrammierer bin. Vielleicht gibt es bei Windows Vista diese Probleme, weil Versionskonflikte bei den DLLs ein riesiges Problem sind. Viele Anwender wollen ihre alten Windowsprogramme unter Windows Vista nutzen, und dabei werden auch ältere DLLs unter Windows Vista mit installiert, keine Ahnung.













Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Autovergleich Olaf19
Autovergleich REPI