Wie ist das mit den Programmdateien bei Linux?

...komplette Frage anzeigen

3 Antworten

Hallo

Sind bei Linux (Debian) die Programme nur als Binärdateien verfügbar

Solange es sich um openSource handelt ist selbstverständlich auch der Quelltext (Programmiercode) verfügbar. Normalerweise befinden sich die Quellcodes aller vorinstallierten Programme hier: /usr/src/linux

oder haben sie auch noch zugehörige Programmdateien wie z.B. bei Windows sind ja auch compilierte exe dateien und zugehörige dll dateien

Das kommt darauf an wie die Binärdateien erstellt wurden (guenterhalt hat es ja geschrieben). Normalerweise verwendet man dynamisch verlinkte Bibliotheken um auch an den Updates derselben zu partizipieren. Das hat auch noch weitere Vorteile, so ist die Binärdatei bedeuten kleiner als bei der statischen Verlinkung und andere Programme können diese Bibliotheken auch nutzen, was auch sehr intensiv gemacht wird.

wo werden die gespeichert

Schau mal im Pfad /usr/lib und in /usr/lib64 nach, da sind sämtliche Bibliotheken drinnen.

Linuxhase

Normalerweise befinden sich die Quellcodes aller vorinstallierten Programme hier: /usr/src/linux

bist du dir da wirklich sicher? Dort sollten sich die Kernelquellen befinden, um einen neuen Kernel zu bauen oder anderen Programme Informationen über den aktuellen Kernel zu liefen, die manuelle compiliert werden sollen.

2

es würde auch funktionieren, wenn die Programme nur als Binaries vorliegen. Solche Programme sind dann statisch gelinkt, d.h. der binär-Code aller Funktionen wird in das Programm eingefügt. Bei einem dynamisch gelinkten Programm gibt es nur Verweise auf Programmcode in die betreffenden Bibliotheken.

Nachteil statisch gelinkter Programme ist die Größe, denn wenn das alle machen, gibt es den gleichen Code so oft, wie es Programme gibt, die diese Funktion benutzen und statisch gelinkt sind.

Vorteil ist, sie laufen ohne jegliche Bibliothek.

Tatsächlich sind einige Programme statisch gelinkt. Das ist bei Tools sinnvoll, die zur Reparatur vorgesehene sind. Sollte z.B. ein Tool zum Reparieren einer Partition Bibliotheksfunktionen benötigen, die auf der zu reparierenden Partition liegen, dann geht das nicht.

mit

find / -name lib -type d

angezeigt.

Danke für die hilfreichen Antworten und es tut mir leid keine Sterne verteilt zu haben :D (unwissenheit) ich werde das sofort nachholen.

0

/usr/lib(64) - wenn denn eigene Libraries und nicht die Systemlibraries benutzt werden.

Vielen Dank :D

0

Was möchtest Du wissen?