ఉపయోగించడానికి ldd ఇచ్చిన ప్రోగ్రామ్ ద్వారా అవసరమైన షేర్డ్ గ్రంథాలయాలను చూపించడానికి కమాండ్ - ఒక తప్పిపోయిన డిపెండెన్సీ ఉన్నప్పుడు పని చేయడానికి ఉపయోగపడుతుంది. కమాండ్ కూడా తప్పిపోయిన విధులు మరియు వస్తువులను జాబితా చేస్తుంది.
కమాండ్ సింటాక్స్ ldd
లోపాలను నివారించడానికి ldd కమాండ్ కోసం సరైన వాక్యనిర్మాణాన్ని గమనించండి:
ldd OPTION … FILE …
అందుబాటులోవున్న ldd కమాండ్ స్విచ్లను ఒకటి లేదా అంతకన్నా ఎక్కువ వుపయోగించుము ఎంపిక పై ఆదేశంలో గుర్తించండి: --help | ఈ సహాయం మరియు నిష్క్రమణను ప్రింట్ చేయండి - సంస్కరణ | ప్రింట్ వెర్షన్ సమాచారం మరియు నిష్క్రమణ -d, --data-relocs | ప్రాసెస్ డేటా పునరావాసలు -ఆర్, - ఫంక్షన్-రీలోస్ | ప్రాసెస్ డేటా మరియు ఫంక్షన్ పునఃసృష్టిలు -u, --unused | ప్రింట్ ఉపయోగించని ప్రత్యక్ష ఆధారపడటం -v, --verbose | అన్ని సమాచారం ప్రింట్ కార్యక్రమం గురించి మరింత సమాచారం పొందడానికి క్రింది కమాండ్ను అమలు చేయండి: $ 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 మార్గం / to / కార్యక్రమం
అవుట్పుట్ ఈ క్రింది విధంగా ఉంటుంది: linux-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => findlibc.so.6 => usr / lib / libc.so.6 (0x00007fd0c6259000) /lib64/ld-linux-x86-64.so.2 (0x00007fd0c65fd000)
నమ్మదగని ప్రోగ్రామ్కు వ్యతిరేకంగా ldd ఆదేశం ఎప్పుడూ అమలు చేయకండి, ఎందుకంటే ఇది నిజానికి LDI అమలు చేయబడుతుంది. దానికి బదులుగా, సురక్షితమైన ప్రత్యామ్నాయాన్ని ఉపయోగించుకోండి, ఇది కేవలం ప్రత్యక్ష ఆధారపదార్థాలను మాత్రమే చూపిస్తుంది మరియు మొత్తం డిపెండెన్సీ వృక్షం కాదు: $ objdump -p / path / to / program | grep అవసరం మీరు దాని అనుబంధాలను ldd తో గుర్తించదలిస్తే, మీరు అనేక మార్గాల్లో చేయగల అనువర్తనము పూర్తి మార్గం అందించాలి. ఉదాహరణకు, మీరు ఈ ఫైరుఫాక్సుకు మార్గం కనుగొనేలా ఉంది: $ ఫైన్ఫాక్స్ను కనుగొని $
కనుగొనే ఆదేశంతో సమస్య ఏమిటంటే, ఇది ఫైర్ఫాక్స్ ఉన్నటువంటి ఎగ్జిక్యూటబుల్ కానీ ప్రతిచోటా మాత్రమే జాబితా చేయబడదు. ఈ విధానం ఓవర్ కిల్ యొక్క బిట్ మరియు మీరు మీ అధికారాలను పెంచుకోవడానికి సుడో కమాండ్ను ఉపయోగించాల్సి ఉంటుంది, లేకుంటే మీరు అనుమతి-తిరస్కరించిన లోపాలను మా వద్ద పొందుతారు. ఇది బదులుగా ఒక అప్లికేషన్ యొక్క మార్గం కనుగొనేందుకు whereis కమాండ్ ఉపయోగించడానికి సులభం: $ ఇక్కడ firefox
ఈ సమయం అవుట్పుట్ ఇలా కనిపిస్తుంది: / Usr / bin / firefox / Etc / firefox / Usr / lib / 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) లైనక్స్- vdso.so.1 లైబ్రరీ యొక్క పేరు మరియు హెక్స్ సంఖ్య అనేది చిరునామాలో లైబ్రరీ లోడ్ చేయబడే చిరునామా. మీరు => ఇతర మార్గాల్లోని చాలామంది గమనించవచ్చు, ఇది = ఒక మార్గం తరువాత. ఇది భౌతిక బైనరీకి మార్గం; హెక్స్ సంఖ్య లైబ్రరీ లోడ్ చేయబడే చిరునామా. Ldd కమాండ్ ఉపయోగించడం ఎలా
ఒక అప్లికేషన్ మార్గం కనుగొనేందుకు ఎలా













