ពាក្យបញ្ជា ldd អាចត្រូវបានប្រើដើម្បីបង្ហាញបណ្ណាល័យដែលបានចែករំលែកដែលទាមទារដោយកម្មវិធីដែលបានផ្តល់ឱ្យ។
វាមានប្រយោជន៍សម្រាប់ធ្វើការចេញនៅពេលមានភាពអាស្រ័យដែលបាត់ហើយអាចត្រូវបានប្រើដើម្បីរាយមុខងារនិងវត្ថុដែលបាត់។
ldd ពាក្យបញ្ជាវាក្យសម្ពន្ធ
នេះជា វាក្យសម្ព័ន្ធ ត្រឹមត្រូវពេលប្រើពាក្យបញ្ជា ldd
ldd [ជម្រើស] ... FILE ...នេះគឺជាចំណុចបញ្ជាពាក្យបញ្ជា ldd ដែលអាចប្រើបានដែលអាចត្រូវបានបញ្ចូលទៅក្នុង [OPTION] កន្លែងនៅក្នុងពាក្យបញ្ជាខាងលើ:
- ជំនួយបោះពុម្ពជំនួយនេះនិងចេញ - កំណែកំណែបោះពុម្ពកំណែនិងចេញ -d, - data-reloc relogation ទិន្នន័យដំណើរការ -r, - មុខងារដំណើរការ relocations ទិន្នន័យនិងមុខងារ relocations -u, - unused print មិនប្រើភាពអាស្រ័យដោយផ្ទាល់ - v, - verbose បោះពុម្ពព័ត៌មានទាំងអស់របៀបប្រើពាក្យបញ្ជា ldd
អ្នកអាចប្រើពាក្យបញ្ជាដូចខាងក្រោមដើម្បីទទួលបានព័ត៌មានបន្ថែមពីពាក្យបញ្ជា ldd ណាមួយ:
ldd -v / path / to / program / executableលទ្ធផលបង្ហាញព័ត៌មានកំណែព្រមទាំងផ្លូវនិងអាសយដ្ឋានទៅបណ្ណាល័យដែលចែករំលែកដូចនេះ:
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 ផ្លូវ / ទៅ / programលទ្ធផលគឺស្រដៀងទៅនឹងដូចខាងក្រោម:
linux-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => not findlibc.so.6 => usr / lib / libc.so.6 (0x00007fd0c6259000) / lib64 / ld-linux-x86 -64.so.2 (0x00007fd0c65fd000)សំខាន់: កុំរត់ពាក្យបញ្ជា ldd ប្រឆាំងនឹងកម្មវិធីមិនទុកចិត្តព្រោះពាក្យបញ្ជាអាចប្រតិបត្តិវា។ នេះជាជម្រើសដែលមានសុវត្ថិភាពដែលបង្ហាញតែភាពអាស្រ័យផ្ទាល់និងមិនមែនមែកធាងអាណាព្យាបាលទាំងមូល: objdump -p / path / to / program | grep NEEDED ។
វិធីរកផ្លូវសម្រាប់កម្មវិធី
អ្នកត្រូវផ្តល់ផ្លូវពេញលេញទៅកម្មវិធីប្រសិនបើអ្នកចង់ស្វែងរកភាពអាស្រ័យរបស់វាជាមួយ ldd ដែលអ្នកអាចធ្វើវិធីមួយចំនួន។
ឧទាហរណ៍នេះគឺជារបៀបដែលអ្នកនឹងរកឃើញផ្លូវទៅកាន់ Firefox :
find / -name firefoxបញ្ហាជាមួយនឹង ពាក្យបញ្ជាស្វែងរក ទោះជាយ៉ាងណាក៏ដោយវានឹងមិនត្រឹមតែរាយឈ្មោះដែលអាចប្រតិបត្តិបានប៉ុណ្ណោះទេប៉ុន្តែនៅគ្រប់ទីកន្លែងដែល Firefox មានទីតាំងដូចនេះ:
- /etc/skel/ .mozilla / firefox
- / home // cache / mozilla / firefox
- / home // .mozilla / firefox
- / usr / bin / Firefox
- / usr / lib / Firefox
- / usr / lib / Firefox / Firefox
វិធីសាស្រ្តនេះគឺជាការប៉ះទង្គិចបន្តិចបន្តួចហើយអ្នកប្រហែលជាត្រូវប្រើ ពាក្យបញ្ជា sudo ដើម្បីលើកកម្ពស់សិទ្ធិរបស់អ្នកផ្សេងទៀតអ្នកទំនងជាទទួលបានការអនុញ្ញាតជាច្រើនដែលបានបដិសេធកំហុស។
វាជំនួសឱ្យងាយស្រួលប្រើ ពាក្យបញ្ជា whereis ដើម្បីស្វែងរកផ្លូវរបស់កម្មវិធី:
whereis firefoxលើកនេះទិន្នផលមើលទៅដូចនេះ:
/ 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++.so.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 គឺជាឈ្មោះបណ្ណាល័យហើយលេខ hex គឺជាអាស័យដ្ឋានដែលបណ្ណាល័យនឹងត្រូវបានផ្ទុកនៅក្នុងសតិ។
អ្នកនឹងកត់សម្គាល់ឃើញលើបន្ទាត់ផ្សេងទៀតជាច្រើនដែលនិមិត្តសញ្ញា => និមិត្តសញ្ញាតាមផ្លូវ។ នេះជាផ្លូវទៅកាន់ប្រព័ន្ធគោលពីរ; លេខគោលដប់ប្រាំមួយគឺជាអាស័យដ្ឋានដែលបណ្ណាល័យនឹងត្រូវបានផ្ទុក។