{"id":2176,"date":"2025-01-15T08:00:00","date_gmt":"2025-01-15T07:00:00","guid":{"rendered":"https:\/\/www.fuhselab.de\/?p=2176"},"modified":"2024-12-11T07:17:31","modified_gmt":"2024-12-11T06:17:31","slug":"dynamische-bibliotheken-2","status":"publish","type":"post","link":"https:\/\/www.fuhselab.de\/index.php\/2025\/01\/15\/dynamische-bibliotheken-2\/","title":{"rendered":"Dynamische Bibliotheken 2"},"content":{"rendered":"\n<p>Es geht weiter mit den \u201cDynamischen Bibliotheken\u201c\u2026<\/p>\n\n\n\n<!--more-->\n\n\n\n<p><strong>Jetzt <\/strong><strong>wird\u2018s<\/strong><strong> dynamisch:<\/strong><\/p>\n\n\n\n<p>Die Grundidee von Dynamischen Bibliotheken besteht darin, das eigentliche Programm und die Bibliotheken nicht beim Linken dauerhaft miteinander zu verbinden, sondern erst wenn das Programm tats\u00e4chlich gestartet wird. Programm und Bibliotheken bleiben also voneinander unabh\u00e4ngig.<\/p>\n\n\n\n<p><strong>Die Ordner \u201c\/lib\u201c und \u201c\/usr\/lib\u201c:<\/strong><\/p>\n\n\n\n<p>Typische Pl\u00e4tze, an denen Linux-Distributoren Bibliotheken unterbringen, sind die Verzeichnisse \/lib und \/usr\/lib . Wie \u00fcblich ist ersteres eher f\u00fcr Bibliotheken gedacht, die sofort beim Systemstart ben\u00f6tigt werden, und letzteres f\u00fcr solche, die erst zum Tragen kommen, wenn alle Dateisysteme eingeh\u00e4ngt sind.<\/p>\n\n\n\n<p><strong>Die Datei \u201c\/etc\/ld.so.cache\u201c:<\/strong><\/p>\n\n\n\n<p>Diese Datei ist sozusagen das Inhaltsverzeichnis der bekannten Bibliotheken. Der Linker sucht hier nach den Bibliotheken. Ein Zugriff mit dem Texteditor scheiterten an unlesbaren Zeichencodierungen. Trotzdem wollte ich mal einen Blick in diese Datei werfen\u2026 Im Terminal geht das mit folgendem Befehl:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cat \/etc\/ld.so.cache<\/li>\n<\/ul>\n\n\n\n<p>Soll die Ausgabe etwas leserlicher sein? OK mit ldconfig-Befehl geht es auch\u2026:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ldconfig -p<\/li>\n<\/ul>\n\n\n\n<p>Der Inhalt von \u201cld.so.cache\u201c wird mit diesem Befehl nur in lesbarer Form ausgegeben. Es wird kein neuer Index erzeugt. Ohne Parameter (-p) wird der Index aktualisiert.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es geht weiter mit den \u201cDynamischen Bibliotheken\u201c\u2026<\/p>\n","protected":false},"author":1,"featured_media":791,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[21],"class_list":["post-2176","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-linux-gruppe-peine"],"_links":{"self":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/2176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/comments?post=2176"}],"version-history":[{"count":1,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/2176\/revisions"}],"predecessor-version":[{"id":2177,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/2176\/revisions\/2177"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/media\/791"}],"wp:attachment":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/media?parent=2176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/categories?post=2176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/tags?post=2176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}