Истифодаи "ldd" фармон дар Linux

Фармони ldd метавонад барои шумо ба китобхонаҳои муштараке, ки аз ҷониби ягон барномаи махсус талаб карда мешавад, истифода баред.

Ин барои кор кардан ҳангоми вобастагии нокофӣ ва барои нишон додани функсияҳо ва объектҳои гумшуда истифода мешавад.

ldd фармонро интихоб кунед

Ҳангоми истифодаи фармони ldd ин матни оддӣ аст:

ldd [АСОСӢ] ... FILE ...

Дар ин ҷо гузаргоҳҳои Ld-и дастрас, ки метавонанд ба [OPTION] ҷойгир карда шаванд, дар фармони боло:

- ёрӣ расондан аз ин кӯмак ва баромадан - версияи чоп ва варақаи чопӣ, -data-relocs равандҳои интиқолдиҳии равандҳо -r, -фаъолияти-роҷеъ ба раванди раванд ва функсияҳои функсионалӣ -барои чопи мустақилона -в, - ҳама маълумотро чоп кунед

Чӣ тавр истифода бурдан Command Ldd

Шумо метавонед фармони зеринро аз ҳар як фармони ldd гиред:

ldd -v / path / ба / барнома / иҷрошаванда

Натиҷа иттилооти версияи, инчунин роҳҳо ва суроғаҳо ба китобхонаҳои муштарак нишон медиҳад, монанди:

ldd libshared.so linux-vdso.so.1 => (0x00007fff26ac8000) libc.so.6 => /lib/libc.so.6 0x00007ff1df55a000) /lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000)

Агар файли SO вуҷуд надорад, шумо метавонед китобҳои нодирро бо фармонҳои зерин пайдо кунед:

ldd -d роҳ / ба / барнома

Натиҷа ба инҳо монанд аст:

linux-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => ​​notlibc.so.6 => usr / lib / libc.so.6 (0x00007fd0c6259000) / lib64 / ld-linux-x86 -64.so.2 (0x00007fd0c65fd000)

Муҳим: Ҳеҷ гоҳ фармони lddро аз барномаи ноустувор иҷро накунед, зеро фармоне, ки онро дар асл иҷро мекунад. Ин алтернативаи бехатарест , ки танҳо мустақиман мустақиман намебошад ва на ҳама дарахти вобастагӣ дорад: objdump -p / path / to / program | grep якҷоя .

Чӣ тавр пайдо кардани роҳ ба ариза

Шумо бояд ба таври пурра ба ариза муроҷиат кунед, агар шумо хоҳед, ки бо асбобҳои худ бо ldd пайдо кунед, ки шумо метавонед як қатор роҳҳоро истифода кунед.

Масалан, ин аст, ки шумо роҳи худро ба Firefox ёфтед:

/ username firefox -ро дарёфт кунед

Аммо мушкилот бо фармон ёфтани он, он аст, ки он на танҳо иҷроиро иҷро мекунад, балки дар ҳама ҷойҳое, ки Firefox ҷойгир аст, чунин аст:

Ин усули каме баландтар аст ва шумо бояд ба истифодаи фармонҳои sudo барои баланд бардоштани имтиёзҳои шумо, агар шумо эҳтимолияти зиёд кардани розигии хатогии ройгонро дошта бошед.

Ин роҳи осонтар барои истифода бурдани фармони ниҳоӣ барои дарёфти роҳи мураккаб мебошад:

Дар

Дар ин ҳолат тавозуни метавонад чунин бошад:

/ usr / bin / firefox

/ etc / firefox

/ usr / lib / firefox

Ҳамаи шумо бояд коре кунед барои ёфтани китобхонаҳои муштарак барои Firefox ин фармонро иҷро кунед:

ldd / usr / bin / firefox

Истеҳсоли фармоишӣ чунин мешавад:

linux-vdso.so.1 (0x00007ffff8364000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007feb9917a000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007feb98f76000)
libstdc ++. so.6 => /usr/lib/libstdc++..6.6 (0x00007feb98bf4000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007feb988f6000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007feb986e0000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007feb9833c000)
/lib64/ld-linux-x86-64.so.2 (0x00007feb99397000)

Linux-vdso.so.1 номгӯи китобхона ва рақами яктарафа нишоние мебошад, ки дар он китобхона ба хотира бор карда мешавад.

Шумо дар бисёре аз хатҳои дигар мебинед, ки => рамзи он бо роҳи пайравӣ аст. Ин роҳи иктишофи ҷисмонӣ аст; рақами яктарафа нишонии он китобхона аст.