[gelöst] /usr/bin/xfce4-session: executable? shared library?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
bullgard
Beiträge: 1654
Registriert: 14.09.2012 23:03:01

[gelöst] /usr/bin/xfce4-session: executable? shared library?

Beitrag von bullgard » 14.06.2013 09:28:34

Hallo Liste,

'

Code: Alles auswählen

~$ file /usr/bin/xfce4-session; /usr/bin/xfce4-session: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)
'. --
http://en.wikipedia.org/wiki/Shared_obj ... _libraries: "
A shared library or shared object is a file that is intended to be shared by executable files and further shared objects files.
" --
'man which': "
which returns the pathnames of the files (or links) which would be executed in the current environment.
"
'

Code: Alles auswählen

~$ which xfce4-session; /usr/bin/xfce4-session.
'
Ist diese Datei nun ein executable und/oder eine shared library?
Wie geht das widerspruchsfrei zusammen?

Mit freundlichen Grüßen
bullgard
Zuletzt geändert von bullgard am 21.07.2014 08:12:53, insgesamt 1-mal geändert.

uname
Beiträge: 12489
Registriert: 03.06.2008 09:33:02

Re: /usr/bin/xfce4-session: executable und/oder shared libra

Beitrag von uname » 14.06.2013 09:47:21

Ich nutze kein Xfce4 und mit Shared Librarys kenne ich mich auch nicht aus.

Auszug /usr/bin/which

Code: Alles auswählen

 
case $PROGRAM in
  */*)
   if [ -f "$PROGRAM" ] && [ -x "$PROGRAM" ]; then
    puts "$PROGRAM"
Da das "Programm" im Pfad gefunden wird und die Datei wohl ausführbar ist wird sie von "which" ausgegeben. Vielleicht sind nur die Dateirechte falsch ;-)

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: /usr/bin/xfce4-session: executable und/oder shared libra

Beitrag von Cae » 14.06.2013 10:53:29

bullgard hat geschrieben:Ist diese Datei nun ein executable und/oder eine shared library?
Ein shared object kann selbst ausfuehrbar sein, wie z.B. auf meinem x86_64-System:

Code: Alles auswählen

$ file $(readlink -f /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
/lib/x86_64-linux-gnu/ld-2.13.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xc32ad7e2611235ea9d5b2ae085c4196207105476, stripped
$ /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /bin/echo test
test
$ 
Da steht auch "LSB shared object", obwohl man es offensichtlich als Programm ausfuehren kann. ld-linux-$(uname -m | tr _ -).so.2 nimmt zum Beispiel die Kommandozeilen-Argumente und schmeisst sie vermutlich gegen execv(). Abgesehen davon kann die Datei noch andere Speicherbereiche haben, die sich von anderen Programmen aus dynamisch einbinden und ausfuehren lassen.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Antworten