Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux-Verständnisfrage: Warum braucht ein Programm teilweise 150 MB an Libs?
Hallo,
einige Programme benötigen ja einen wahren Rattenschwanz an Libs!
So benötigt KGET scheinbar über 100MB an neuen Libs in einer XFCE Umgebung!!
Warum ist das bei Linux so? Habe bisher unter Windows gearbeitet und hier hatte kein Downloadmanage 100MB an Libs nötig!
Das liegt einfach daran, dass Windows praktisch alle Bibliotheken bereits integriert hat. Deshalb verschlingt selbst das einfachste installierte Windows bereits mehrere Gigabyte an Festplattenplatz, obwohl die meisten Benutzer viele der Bibliotheken nie brauchen.
Linux verfolgt hier eine andere Strategie. Es werden nur die Bibliotheken installiert, die man auch benötigt. Ein hinzugekommenes Programm kann so durchaus eine große Anzahl an Dateien benötigen.
Das ist aber kein Fehler sondern "by design". Denn abgesehen vom schlankeren System, können natürlich auch unnötige Bibliotheken Fehler und somit Sicherheitslücken enthalten.
nggalai
2007-07-03, 19:37:16
KGet ist ein Programm für die KDE-Umgebung. Also will es auch die ganzen KDE-Libs haben. Wenn Du XFCE verwendest, such Dir lieber eine Alternative, die auch zu Deiner Umgebung paßt.
@Gastantwort
Nur wie kann ich dann z.B. Kget mal eben schnell per USB auf einem anderen System starten (ohne jetzt gleich die 100mb libs zu installen, vllt hab ich garkeine rechte dazu...)?
KGet ist ein Programm für die KDE-Umgebung. Also will es auch die ganzen KDE-Libs haben. Wenn Du XFCE verwendest, such Dir lieber eine Alternative, die auch zu Deiner Umgebung paßt.
Nur leider wollen die Progs alle irgendwelche libs, und vor allem in verzeichnissen
Wie kann ich Firefox auf einem USB Stick transportieren auf einen anderen Linux rechner und ihn dort starten, ohne dort irgendwelche libs zu installieren?
Die mit ldd ermittelten Libs mit ins Verzeichnis kopieren bringt nichts
Lokadamus
2007-07-03, 19:43:26
@Gastantwort
Nur wie kann ich dann z.B. Kget mal eben schnell per USB auf einem anderen System starten (ohne jetzt gleich die 100mb libs zu installen, vllt hab ich garkeine rechte dazu...)?mmm...
Das ist so ähnlich wie die Frage, warum Spiel XYZ auch nach einer Neuinstallation von Windows von einer anderen Partition ohne Probleme startet, während andere Anwendungen auf die Registryeinträge bestehen und nicht starten können.
nggalai hat doch schon gesagt, dass kget zu KDE gehört und jeder gute Paketmanager knüppelt erstmal KDE als Abhängigkeit rein.
mmm...
Das ist so ähnlich wie die Frage, warum Spiel XYZ auch nach einer Neuinstallation von Windows von einer anderen Partition ohne Probleme startet, während andere Anwendungen auf die Registryeinträge bestehen und nicht starten können.
nggalai hat doch schon gesagt, dass kget zu KDE gehört und jeder gute Paketmanager knüppelt erstmal KDE als Abhängigkeit rein.
Naja, das Problem ist halt das sowas:
http://portableapps.com/
unter Linux scheinbar garnicht möglich ist....nur per Wine!
und Wine hat doch gradmal 50MB...trotzdem laufen hier (fast - ja ok etwas übertrieben) alle WIndows Anwendungen drauf
warum gibts bei Linux hunderte MBs und unter Windows scheinbar nicht?
warum gibts bei Linux hunderte MBs und unter Windows scheinbar nicht?Wie schon gesagt, bei Windows sind die 2 Gigabyte Bibliotheken bereits mitinstalliert, ob du sie brauchst oder nicht. Wenn du ein anderes Linuxsystem hast, bei dem die Bibliotheken bereits vorhanden sind, dann passt die Anwendung natürlich auch auf einen USB-Stick. Aber wie auch schon gesagt, das ist Absicht.
Wie schon gesagt, bei Windows sind die 2 Gigabyte Bibliotheken bereits mitinstalliert, ob du sie brauchst oder nicht. Wenn du ein anderes Linuxsystem hast, bei dem die Bibliotheken bereits vorhanden sind, dann passt die Anwendung natürlich auch auf einen USB-Stick. Aber wie auch schon gesagt, das ist Absicht.
Das kann aber garnicht sein. Denn mit dem 50MB Wine-Packet kann ich ja bereits einen Löwenanteil von Windows Anwendungen ausführen.
Also gibt es unter Windows nicht 2GB, sondern vllt 50-100MB an Libs!
Das kann aber garnicht sein. Denn mit dem 50MB Wine-Packet kann ich ja bereits einen Löwenanteil von Windows Anwendungen ausführen.
Also gibt es unter Windows nicht 2GB, sondern vllt 50-100MB an Libs!Ähm, nein. Das ist ein Irrtum. Wine enthält lediglich Bibliotheken, die die Windowsaufrufe in Linuxbibliotheken umsetzen (sonst wäre ja Wine auch ein eigenständiges Windows und bräuchte Linux ja gar nicht ;) ). Alleine die .NET Framework 2.0-Bibliothek braucht unter Windows bereits 280MB Speicherplatz. Und das ist nur eine von vielen vielen Bibliotheken.
Ähm, nein. Das ist ein Irrtum. Wine enthält lediglich Bibliotheken, die die Windowsaufrufe in Linuxbibliotheken umsetzen (sonst wäre ja Wine auch ein eigenständiges Windows und bräuchte Linux ja gar nicht ;) ). Alleine die .NET Framework 2.0-Bibliothek braucht unter Windows bereits 280MB Speicherplatz. Und das ist nur eine von vielen vielen Bibliotheken.
Das halte ich für Unsinn. Welche Linuxbibliotken sollten denn gemeint sein?
GTK? GIMP? KDELIBS? Die hab ich auf meiner Test-Installation NICHT drauf...
Höchstens ein paar MB an ganz rudimentären Funktionen.
Da ist nur ein Debian netinstall drauf ohne alles....dazu kam ein "apt-get install xorg" und "apt-get install fluxbux"... Mehr ist nicht drauf....
und trotzdem rennt wine!
und trotzdem rennt wine!Natürlich rennt Wine. Installier mal Microsoft Office 2007. Oder läuft unter Wine nicht einmal das aktuelle Windows-Officepaket? Verstehst du, was ich meine? Um das aktuelle Office zum Laufen zu bringen, müsstest du erst einmal 1 Gigabyte an Bibliotheken installieren. Ganz abgesehen davon, dass seit Office 2000(!) keins mehr halbwegs vernünftig lief.
Aber benutz doch einfach Windows. Dann hast du das Original. Keine Probleme mit Emulatoren und Bibliotheken. Die Welt kann so einfach sein.
Natürlich rennt Wine. Installier mal Microsoft Office 2007. Oder läuft unter Wine nicht einmal das aktuelle Windows-Officepaket? Verstehst du, was ich meine? Um das aktuelle Office zum Laufen zu bringen, müsstest du erst einmal 1 Gigabyte an Bibliotheken installieren. Ganz abgesehen davon, dass seit Office 2000(!) keins mehr halbwegs vernünftig lief.
Aber benutz doch einfach Windows. Dann hast du das Original. Keine Probleme mit Emulatoren und Bibliotheken. Die Welt kann so einfach sein.
Was redest du für einen Unsinn?
CrossoverOffice hat 20MB und hiermit kannst du Office installieren
Office selbst braucht nur Office-interne Blibliotheken..Mein FrontPage hat z.B. 20MB an Bibliotheken..die wohl auch nötig sind, irgendwo müssen die Funktionen ja untergebracht werden...hier braucht ja NVU z.B: auch nicht weniger
Was redest du für einen Unsinn?
CrossoverOffice hat 20MB und hiermit kannst du Office installierenKannst du mir dann bitte erklären, wie das geht. Also ich kriege nicht mal Access 2003 zum Laufen.
Kannst du mir dann bitte erklären, wie das geht. Also ich kriege nicht mal Access 2003 zum Laufen.
Mit CrossOverOffice läuft Office XP. Ob es 2003 auch tut, weiss ich nicht.
Aber darum geht es auch nicht, und es geht hier auch nicht darum, Win-Anwendungen unter Linux zu starten
Es geht hier um Libs und die Möglichkeit von portablen Anwendungen unter Linux. Unter Windows ist sogar ein fettes Ding wie OpenOffice portabel!
Es geht hier um Libs und die Möglichkeit von portablen Anwendungen unter Linux. Unter Windows ist sogar ein fettes Ding wie OpenOffice portabel!Vielleicht reden wir aneinander vorbei. Wenn du unter Linux ein portables System haben willst wie unter Windows, dann müssen selbstverständlich auf allen Systemen, genau wie unter Windows, auch alle Bibliotheken installiert sein. Jede Windowsinstallation hat alle Bibliotheken von Haus aus dabei. Deshalb kann man auch manche Anwendungen auf allen Windowsrechnern starten. Willst du dies auch unter Linux erreichen, muss du natürlich auch auf allen Systemen alle benötigten Bibliotheken bereitstellen. Sind sie nicht bereits installiert, musst du dies halt tun, indem du die Bibliotheken mitbringst. Eine andere Lösung unter Linux gibt es nicht. Aber wie bereits mehrfach gesagt, das ist Absicht.
Spearhead
2007-07-03, 21:14:11
Der Unterschied was die Bibliotheken angeht ist auch, das die Anwendungen unter Windows diese oft gleich mitliefern, in einer Version die sie halt brauchen.
Gibt grundsätzlich zwei Möglichkeiten, entweder durch die Installation wird die Version die Windows hat überschrieben/erneuert oder die Anwendung hat die in nem eigenen Verzeichnis.
Unter Linux ist das eben anders aufgebaut, dadurch das versucht wird möglichst viel Wiederverwendbarkeit reinzubringen werden die Bibliotheken separat installiert und von den weiteren Anwendungen global genutzt.
Hat halt Vor- und Nachteile, wie jede der Varianten.
Der Unterschied was die Bibliotheken angeht ist auch, das die Anwendungen unter Windows diese oft gleich mitliefern, in einer Version die sie halt brauchen.
Gibt grundsätzlich zwei Möglichkeiten, entweder durch die Installation wird die Version die Windows hat überschrieben/erneuert oder die Anwendung hat die in nem eigenen Verzeichnis.
Unter Linux ist das eben anders aufgebaut, dadurch das versucht wird möglichst viel Wiederverwendbarkeit reinzubringen werden die Bibliotheken separat installiert und von den weiteren Anwendungen global genutzt.
Hat halt Vor- und Nachteile, wie jede der Varianten.
Ich habe ja versucht, die Libs zu Firefox dazuzupacken.
Doch Firefox erwartet die Libs krankhaft neurotisch in /lib...wie kann ich das ändern, das er sie aus dem aktuellen Verzeichnis nimmt?
Spearhead
2007-07-03, 22:06:53
Hab mich damit bisher nicht beschäftigt... aber eine Vermutung von mir wäre:
kleines Skript schreiben das man statt der Binary startet in der die Variable vom lib-dir speziell für den Befehl umgestellt wird
in der die Variable vom lib-dir speziell für den Befehl umgestellt wird
du kennst nicht zufällig den aufruf dafür oder?
Spearhead
2007-07-03, 23:06:28
du kennst nicht zufällig den aufruf dafür oder?
nach kurzem googlen würde ich sagen mit folgendermaßen aufgebauter Zeile in der Skript-Datei:
LIB_DIR=/usr/lib/smail # common convention
nach kurzem googlen würde ich sagen mit folgendermaßen aufgebauter Zeile in der Skript-Datei:
LIB_DIR=/usr/lib/smail # common convention
Das ignoriert er mal ganz gelassen
Es kommt immernoch /lib/ld-linux.so.2: No such file or directory
Spearhead
2007-07-03, 23:21:17
hm... vielleicht noch ein "export" vor die Zeile hängen?
hm... vielleicht noch ein "export" vor die Zeile hängen?
Hilft leider auch nicht.
Spearhead
2007-07-03, 23:25:42
dann bin ich derzeit mit Hilfe am Ende, sorry, muß mich auch wieder um mein Prüfungsmaterial für morgen kümmern ^^
aber noch viel Erfolg und falls es klappt hier reinschreiben ;)
so genau kenn ich mich jetzt damit auch nicht aus, aber wenn man das zeug im paketmanager installiert ist halt alles "dynamically linked", d.h. die bibliotheken werden zur laufzeit von irgendwo geladen. man kann aber auch fest linken, sodass die libs in die binary mit eingebunden werden oder so. ist ne frage der konfiguration des compilers... und bei windows hat halt die software ihre ganzen bibliotheken immer dabei, z.b. openAL bei spielen o.ä.. bei linux werden halt die libs nur einmal für alle anwendungen isntalliert.
Simon
2007-07-05, 10:10:36
Das ignoriert er mal ganz gelassen
Es kommt immernoch /lib/ld-linux.so.2: No such file or directory
LD_LIBRARY_PATH heißt die Variable. Standardwerte siehe /etc/ld.so.conf.d/*
Was du damit erreichen willst, ist mir allerdings völlig schleierhaft...ld-linux.so.2 hört sich so an, als wenn es wichtig wäre...
Monger
2007-07-05, 11:09:53
Windows hat halt sehr viele Abstraktionsschichten, die allen Anwendungen gemein sind.
Wenn wir z.B. mal Office nehmen, dann ist das Fenster und alle Buttons/Menüs etc. aus den Windows Standardkomponenten zusammengesetzt. Das sieht man auch ganz deutlich, dass sich das Design je nach Windows Version sehr stark unterscheidet, obwohl ja das selbe Programm installiert wird.
Darunter liegt die ganze Ebene mit Dateizugriffen, Peripherieverarbeitung etc.
In der Unix Welt unterscheiden sich die einzelnen Varianten selbst an der Basis teilweise sehr stark. Eine gemeinsam gepflegte Bibliothek gibt es kaum, oder sehr vereinzelt. Dementsprechend muss jedes Programm alles mitschleppen was von der aktuellen Distribution abweicht, und das ist mitunter eine Menge.
Ist alles eine Philosophiefrage. Windows geht in erster Linie mal davon aus, dass alle Windows Software sehr viel gemeinsam haben. Unix-Derivate gehen grundsätzlich mal davon aus, dass alles anders ist, und der Benutzer jede Komponente beliebig austauschen kann, was natürlich auf Kosten der Standardisierung geht.
Hat alles seine Vor- und Nachteile.
Simon
2007-07-05, 11:34:16
Windows hat halt sehr viele Abstraktionsschichten, die allen Anwendungen gemein sind.
Hat jede DE unter einem Linux/Unix auch...
In der Unix Welt unterscheiden sich die einzelnen Varianten selbst an der Basis teilweise sehr stark. Eine gemeinsam gepflegte Bibliothek gibt es kaum, oder sehr vereinzelt.
KDELibs, Boost, Glibc, Loki, SDL, GTK, X11, etc. Reichen die oder brauchst du mehr Beispiele?
Dementsprechend muss jedes Programm alles mitschleppen was von der aktuellen Distribution abweicht, und das ist mitunter eine Menge.
Häh?
Wenn ich ein Paket über den Paketmanager installiere, dann kommt da auch alles mit. Da muss das Programm überhaupt nix mitschleppen...
Unix-Derivate gehen grundsätzlich mal davon aus, dass alles anders ist,
Das wäre mir neu.
und der Benutzer jede Komponente beliebig austauschen kann, was natürlich auf Kosten der Standardisierung geht.
Äh, nein.
Es gibt sehr, sehr wenige Komponenten die sich "beliebig austauschen" lassen.
Wenn KGet KDELibs, QT, KDENetwork und X11-Libs braucht und die nicht installiert sind, werden die halt installiert. Was man da jetzt austauschen kann, weiß ich nicht. Wenn unter Windows das .Net-Framework fehlt, muss das auch erst installiert werden. Ist genau das gleiche :rolleyes:
Wenn dir die ganzen KDElibs zu groß sind, nimm halt wget oder ein anderes Frontend. Ist ja nicht so, dass es keine anderen gibt...
Holundermann
2007-07-05, 14:26:52
hmm, was willst du uns eigentlich sagen? das linux endlich alles so machen soll wie die grossen desktop systeme...? verstehst du nicht das linux von seiner modularität lebt?
die eingangsfrage wurde aber min. schon 3 mal beantwortet und sollte jetzt jedem klar sein...
hmm, was willst du uns eigentlich sagen? das linux endlich alles so machen soll wie die grossen desktop systeme...? verstehst du nicht das linux von seiner modularität lebt?
die eingangsfrage wurde aber min. schon 3 mal beantwortet und sollte jetzt jedem klar sein...
Es geht bloß darum, warum es unter Linux 30 GrafikLibs geht, die sich alle überschneiden, und die für normales Arbeiten eh alle auf dem Rechner sind
Warum nicht alle zusammentun, eine gemeinsame API entwickeln?
Simon
2007-07-05, 16:39:21
Warum nicht alle zusammentun, eine gemeinsame API entwickeln?
Gibt doch mehrere solcher Sachen? :|
Diese Diskussion gibts hier übrigens auch schon mehrfach...
Gibt doch mehrere solcher Sachen? :|
Diese Diskussion gibts hier übrigens auch schon mehrfach...
Ja, das ist das Problem: mehrere
Besser ist: EINE, wie unter Windows oder MacOS (Cocoa)
nggalai
2007-07-05, 17:17:36
MacOS hat auch mehrere … z. B. Cocoa, Carbon, QT, GTK … halt je nach Applikation. ;) Nur installieren z. B. QT-Applikationen meistens gleich alle QT-Libraries mit …
QT und GTK gibt’s übrigens auch für Windows …
MacOS hat auch mehrere … z. B. Cocoa, Carbon, QT, GTK … halt je nach Applikation. ;) Nur installieren z. B. QT-Applikationen meistens gleich alle QT-Libraries mit …
QT und GTK gibt’s übrigens auch für Windows …
Da liegt der Hund also begraben. Ja, das ist das was mich wundert:
Warum kümmern sich Windows und Mac Anwendungen darum, das das ganze ohne zutun des Benutzers läuft (auch bei shared-libs), und unter Linux kümmern sie sich Furz, und der Benutzer muss zu sehn, wo er seine Libs wegbekommt...
Warum ist das so? Ändert sich das jemals? Wäre Toll!
nggalai
2007-07-05, 17:24:38
Da liegt der Hund also begraben. Ja, das ist das was mich wundert:
Warum kümmern sich Windows und Mac Anwendungen darum, das das ganze ohne zutun des Benutzers läuft (auch bei shared-libs), und unter Linux kümmern sie sich Furz, und der Benutzer muss zu sehn, wo er seine Libs wegbekommt...
Warum ist das so? Ändert sich das jemals? Wäre Toll!
Viele Applikationen wie z. B. Opera kannst Du auch unter Linux „static linked“ runterladen bzw. installieren. Dann liegen die nötigen QT-Libraries auch bei.
Linux finde ich in der Hinsicht deutlich angenehmer und ordentlicher als Windows und MacOS. Wenn ich unter Windows drei QT-Applikationen installiere, habe ich meistens gleich 3x die ganze QT-Bibliotheken auf dem Rechner. Statt einfach nur einmal die aktuellste Version. Finde ich nicht sehr ordentlich, da geht Linux deutlich sauberer mit um. Dafür laufen halt Standalone-Applikationen z. B. aufm USB-Stick nicht, wenn man nicht eine static-linked Applikation drauf hat … außer, der Ziel-Linux-Rechner hat die Libraries auch drauf (was meistens der Fall ist).
Spearhead
2007-07-05, 17:33:30
Mir gefällt das auch besser so wenn die Lib einmal zentral drauf ist. Wenn dann z.b. eine neue Version raus ist von der Lib und die irgendwelche Verbesserungen oder Bugfixes hat, wirkt sich das praktischerweise global aus...
Wobei es bei GTK+ auch so ist das man unter Windows eine globale Installation hat, so wie ich das weiß, zumindest ist mir das mit Pidgin und X-Chat so aufgefallen.
Mir gefällt das auch besser so wenn die Lib einmal zentral drauf ist. Wenn dann z.b. eine neue Version raus ist von der Lib und die irgendwelche Verbesserungen oder Bugfixes hat, wirkt sich das praktischerweise global aus...
Wobei es bei GTK+ auch so ist das man unter Windows eine globale Installation hat, so wie ich das weiß, zumindest ist mir das mit Pidgin und X-Chat so aufgefallen.
Naja klar ist das schön, wenns zentral ist...
Aber könnten die Linux-Entwickler nicht auch ein Packet mit beilegen, welches die Libs enthält und dann eben nach /lib oder so kopiert...wie das X-Chat und so auch tut unter Windows?
Hallo codinguser. Ich verweise mal auf die Forenregeln:
http://www.forum-3dcenter.org/vbulletin/faq.php?faq=forum_faq#faq_forum_faq_rules
Die "Hilfe-Foren" sind ausschließlich zur Hilfe für Problemfällen und jedweder in diesem Zusammenhang passenden Fragen da!
Weiterhin ist es Dir nicht gestattet als Gast während Deiner Sperre zu posten. Die Moderation ist berechtigt in dem Fall Deine Sperre wegen Missachtung der Moderation bzw. Umgehung der Regpflicht zu verlängern.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.