Home / LinuxUser / 2001 / 09 / Dr. Linux

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Aufmacher Artikel

Fernsehdoktor und Kernprobleme

Dr. Linux

01.09.2001 Mit dem Erscheinen neuer Linux-Distributionen häuft sich in den Newsgroups die Frage: "Was bedeutet eigentlich char-major-[1…255]?" Die Antwort auf diese und andere Fragen gibt der folgende Artikel.

Dr. Linux:

Komplizierte Organismen, wie Linux-Systeme es nun einmal sind, haben so ihre ganz eigenen Wehwehchen. Dr. Linux: beobachtet die Patienten in den Linux-Newsgruppen, stellt an dieser Stelle Rezepte für aktuelle Probleme aus und alternative Heilmethoden vor.

Welche Library?

Ich wollte auf meinem System ein neues Netscape installieren, bekomme aber Fehlermeldungen über fehlende Shared Libraries:

$ ./netscape-installer
 error while loading shared libraries: cannot open shared library: cannot
 load shared object file: No such file or directory

Wie bekomme ich heraus, welche Bibliotheken gebraucht werden?

Dr. Linux: Wenn Anwender Schwierigkeiten mit fehlenden Shared Libraries bekommen, sind folgende Problem-Konstellationen denkbar:

  • Sie installieren eine Programm-Version, die so neu ist, dass die benötigte Bibliotheksversion (noch) nicht im System verhanden ist.
  • Im Gegenteil kann das Programm so veraltet sein, dass Sie die zugehörigen Library-Versionen auf dem aktuellen System nicht finden.
  • Auch der Fall, dass die fehlende Bibliothek tatsächlich nicht installiert ist, tritt auf. Um festzustellen, welche Bibliotheken fehlen, benutzt man den Befehl ldd Programm. Das nicht startende Programm geben Sie dabei am besten mit Pfadnamen an.

Wenn Sie die ldd-Anfrage auf die Datei ./netscape-installer richten, führt das Ergebnis allerdings nicht sofort ans Ziel:

not a dynamic executable (nicht dynamisch ausführbar)

Gehen wir also etwas systematischer vor. Ein Blick ins Installer-Verzeichnis gibt folgende Auskunft:

perle@maxi:~/netscape-installer > ls -l
 total 172
 -rw-r--r--    1 perle    users        4725 Nov 22  2000 README
 -rw-r--r--    1 perle    users        7671 Dec  2  2000 config.ini
 -rw-r--r--    1 perle    users        2206 Dec  2  2000 installer.ini
 -rwxr-xr-x    1 perle    users       19308 Nov 22  2000 license.txt
 -rwxr-xr-x    1 perle    users        1521 Nov 22  2000 netscape-installer
 -rwxr-xr-x    1 perle    users      126032 Nov 22  2000 netscape-installer-bin

Zunächst einmal wollen wir wissen, um was für Dateien es sich handelt. Dazu benutzen wir das Kommando file, das Dateitypen identifiziert und das Ergebnis gleich auf der Kommandozeile ausgibt. Der Aufruf ist denkbar einfach:

perle@maxi:~/netscape-installer > file netscape-installer
 netscape-installer: Bourne shell script text

Es handelt sich bei dieser Datei also nicht um ein Binärprogramm, sondern um ein Shell-Skript, das den eigentlichen, übersetzten Netscape-Code erst startet. Dieser versteckt sich in netscape-installer-bin, was uns das Kommando file bestätigt:

perle@maxi:~/netscape-installer > file netscape-installer-bin
 netscape-installer-bin: ELF 32-bit LSB executable, Intel 80386, version 1,
 dynamically linked (uses shared libs), stripped

Dass sich hinter ausführbaren Dateien ein Skript verbirgt, dessen Inhalt Sie sich mit einem beliebigen ASCII-Editor ansehen können, kommt recht häufig vor. Bei der Auflistung eines Verzeichnisses geht jedoch durchaus nicht sofort eindeutig hervor, ob es sich um ein Skript bzw. ein Binärprogramm handelt, da Dateinamenerweiterung wie z. B. .bat für Linux-Skripte unüblich sind. Nur manchmal werden in der Skriptsprache Perl geschriebene Programme mit .pl und Shell-Skripte mit .sh gekennzeichnet.

Bleibt noch zu demonstrieren, was der Befehl ldd ausgibt, wenn er auf ein kompiliertes Programm angewendet wird:

perle@maxi:~ > ldd ~/netscape-installer/netscape-installer-bin
         libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x40025000)
         libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x40155000)
         libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x4018c000)
         libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x4018f000)
         libdl.so.2 => /lib/libdl.so.2 (0x401b4000)
         libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x401b8000)
         libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401c6000)
         libnsl.so.1 => /lib/libnsl.so.1 (0x402a9000)
         libutil.so.1 => /lib/libutil.so.1 (0x402bf000)
         libresolv.so.2 => /lib/libresolv.so.2 (0x402c2000)
         libm.so.6 => /lib/libm.so.6 (0x402d5000)
         libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0x402f4000)
         libpthread.so.0 => /lib/libpthread.so.0 (0x4033c000)
         libc.so.6 => /lib/libc.so.6 (0x40352000)
         libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x4046f000)
         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Fehlt auf Ihrem System z. B. die libm.so.6, so liefert ldd die Meldung => not found anstelle des Pfades zur Library:

[…]
         libresolv.so.2 => /lib/libresolv.so.2 (0x402c2000)
         libm.so.6 => not found
         libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0x402f4000)[…]

Ich glotz' TV

Ich benutze Xawtv zum Fernsehen auf meinem Linux-System. Nun hätte ich die TV-Programme gerne in einer bestimmten Reihenfolge im Channel Window angezeigt. (Das ist das Fenster, das die verfügbaren Programme zur Auswahl per Mausklick präsentiert.) Mit dem Channel Editor ist das eine mühselige Arbeit, da alle Details wie Kanäle und Sendernamen nochmal eingegeben werden müssten. Eine Konfigurationsdatei namens Xawtv.config o. ä. kann ich im System nicht finden.

Abbildung 1

Abbildung 1: Xawtv im Einsatz

Dr. Linux: Wenn ein Linux-Anwender eine Software individuell konfiguriert hat, liegt die zugehörige Konfigurationsdatei (fast) immer in seinem Home-Verzeichnis. Normalerweise werden solche Dateien und Verzeichnisse als Dot-Dateien angelegt. Das sind Dateien/Verzeichnissse, deren Namen ein Punkt (.) vorangestellt ist. Sie werden auch als versteckte Dateien bezeichnet, da sie in Datei-Managern, aber auch von ls nicht ohne Weiteres angezeigt werden.

Wenn Sie auf einer Kommandozeile den Befehl ls ("(auf)listen") mit der Option a wie alle absetzen, bekommen Sie auch die Punkt-Dateien präsentiert. Das Flag l liefert zusätzlich eine lange Ausgabe, die mehr Informationen bietet.

perle@maxi:~ > ls -al 
 total 1876
 drwx——   44 perle    users        4096 Jul  2 16:25 .
 drwxr-xr-x    7 root     root         4096 Jun 26 14:11 ..[…] 
 -rw-r--r--    1 perle    users        1090 Jul  2 15:06 .xawtv[…] 
Abbildung 2

Abbildung 2: Rechts zeigt der Konqueror versteckte Dateien an, links nicht

Natürlich gibt es auch bei allen Datei-Managern eine Möglichkeit, sich die versteckten Dateien anzeigen zu lassen. Im Konqueror von KDE 2.1.x geht das beispielsweise über Ansicht / Versteckte Dateien anzeigen (Abbildung 2).

Die Konfigurationsdatei für Xawtv heißt schlicht .xawtv und lässt sich in einen beliebigen Editor laden.

Ihr Aufbau ist einfach und übersichtlich. Hinter einigen Konfigurationanweisungen stehen Sender und Sendeplätze, die Sie bereits eingerichtet haben, untereinander. Mittels Editor-Funktionen wie Ausschneiden und Einfügen erledigen Sie das Ändern der Programm-Reihenfolge sehr schnell.

Bei dieser Gelegenheit lassen sich auch alle "überflüssigen" Sender auskommentieren. (Listing 1 zeigt ein Beispiel.)

Wenn Sie diese irgendwann doch wieder aktivieren möchten, entfernen Sie einfach das Kommentarzeichen (#), und der Sender steht zur Verfügung, ohne dass Sie einen lästigen Suchlauf starten bzw. Xawtv neu konfigurieren müssen.

Listing 1

Auszug aus der

~/.xawtv
[…]
 [defaults]
 norm = PAL
 input = Television
 capture = over[…]
 [BBC]
 channel = SE14
 [CNN]
 channel = SE12
 # Kommentare, denen ein # vorangestellt
 # ist, werden nicht weiter beachtet.
 #
 #[DSF]
 #channel = S23
 [PHOENIX]
 channel = SE19
 [n-tv]
 channel = SE5
 [N24]
 channel = S25[…]
Tip a friend    Druckansicht Bookmark and Share
Kommentare

1077 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...