ಲಿನಕ್ಸಿನಲ್ಲಿ "ldd" ಆದೇಶವನ್ನು ಬಳಸುವುದು

ಯಾವುದೇ ಪ್ರೋಗ್ರಾಂಗೆ ಅಗತ್ಯವಿರುವ ಹಂಚಿದ ಗ್ರಂಥಾಲಯಗಳನ್ನು ನಿಮಗೆ ತೋರಿಸಲು ldd ಆಜ್ಞೆಯನ್ನು ಬಳಸಬಹುದು.

ಕಳೆದುಹೋದ ಅಧೀನತೆಯಿದ್ದಾಗ ಕೆಲಸ ಮಾಡಲು ಮತ್ತು ಕಾಣೆಯಾದ ಕಾರ್ಯಗಳನ್ನು ಮತ್ತು ವಸ್ತುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲು ಇದನ್ನು ಬಳಸುವುದು ಉಪಯುಕ್ತವಾಗಿದೆ.

ldd ಕಮ್ಯಾಂಡ್ ಸಿಂಟ್ಯಾಕ್ಸ್

Ldd ಆಜ್ಞೆಯನ್ನು ಬಳಸುವಾಗ ಇದು ಸರಿಯಾದ ಸಿಂಟ್ಯಾಕ್ಸ್ ಆಗಿರುತ್ತದೆ:

ldd [OPTION] ... FILE ...

ಮೇಲಿನ ಆಜ್ಞೆಯಲ್ಲಿರುವ [OPTION] ಸ್ಥಳಕ್ಕೆ ಸೇರಿಸಬಹುದಾದ ಲಭ್ಯವಿರುವ ldd ಆಜ್ಞೆಯನ್ನು ಸ್ವಿಚ್ಗಳು ಇಲ್ಲಿವೆ:

--help ಈ ಸಹಾಯವನ್ನು ಮುದ್ರಿಸು ಮತ್ತು ನಿರ್ಗಮನ - ಆವೃತ್ತಿ ಮುದ್ರಣ ಆವೃತ್ತಿ ಮಾಹಿತಿ ಮತ್ತು exit -d, --data-relocs ಪ್ರಕ್ರಿಯೆಯ ದತ್ತಾಂಶ ಸ್ಥಳಾಂತರಗಳು -r, --function-relocs ಪ್ರಕ್ರಿಯೆಯ ದತ್ತಾಂಶ ಮತ್ತು ಕಾರ್ಯ ಸ್ಥಳಾಂತರಗಳು -u, - ಬಳಸದೆ ಇರುವಂತಹ ನೇರ ಅವಲಂಬನೆಗಳನ್ನು ಮುದ್ರಿಸು -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 ಮಾರ್ಗ / ಗೆ / ಪ್ರೋಗ್ರಾಂ

ಔಟ್ಪುಟ್ ಕೆಳಗಿನಂತಿರುತ್ತದೆ:

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

ನೆನಪಿಡಿ: ಆಜ್ಞೆಯು ನಿಜವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಕಾರಣದಿಂದ ನಂಬಲರ್ಹವಾದ ಪ್ರೋಗ್ರಾಂಗೆ ವಿರುದ್ಧವಾಗಿ ldd ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಬೇಡಿ. ಇದು ಕೇವಲ ನೇರ ಅವಲಂಬನೆಗಳನ್ನು ತೋರಿಸುತ್ತದೆ ಮತ್ತು ಇಡೀ ಅವಲಂಬಿತ ವೃಕ್ಷವನ್ನು ತೋರಿಸುವ ಸುರಕ್ಷಿತ ಪರ್ಯಾಯವಾಗಿದೆ: objdump -p / path / to / program | grep ಅಗತ್ಯವಿದೆ .

ಅಪ್ಲಿಕೇಶನ್ಗೆ ಪಾಥ್ ಹೇಗೆ ಪಡೆಯುವುದು

Ldd ಯೊಂದಿಗೆ ಅದರ ಅವಲಂಬನೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ನೀವು ಬಯಸಿದರೆ, ನೀವು ಹಲವಾರು ಮಾರ್ಗಗಳನ್ನು ಮಾಡಬಹುದಾದಂತಹ ಅಪ್ಲಿಕೇಶನ್ಗೆ ನೀವು ಸಂಪೂರ್ಣ ಹಾದಿಯನ್ನು ಒದಗಿಸಬೇಕು.

ಉದಾಹರಣೆಗೆ, ನೀವು ಫೈರ್ಫಾಕ್ಸ್ ಮಾರ್ಗವನ್ನು ಹೇಗೆ ಹುಡುಕುತ್ತೀರಿ ಎಂಬುದು ಹೀಗಿರುತ್ತದೆ :

/ ಹೆಸರಿನ ಫೈರ್ಫಾಕ್ಸ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ

ಆದಾಗ್ಯೂ, ಆಜ್ಞೆಯೊಂದಿಗೆ ಸಮಸ್ಯೆ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಅನ್ನು ಮಾತ್ರ ಪಟ್ಟಿ ಮಾಡುವುದಿಲ್ಲ ಆದರೆ ಫೈರ್ಫಾಕ್ಸ್ ಇದೆ ಎಂದು ಎಲ್ಲೆಡೆ ಈ ರೀತಿ ಇದೆ:

ಈ ವಿಧಾನವು ಅತಿಕೊಲ್ಲುವಿಕೆ ಒಂದು ಬಿಟ್ ಆಗಿದೆ ಮತ್ತು ನೀವು ನಿಮ್ಮ ಸವಲತ್ತುಗಳನ್ನು ಮೇಲಕ್ಕೆತ್ತಲು ಸುಡೊ ಆಜ್ಞೆಯನ್ನು ಬಳಸಬೇಕಾಗಬಹುದು, ಇಲ್ಲದಿದ್ದರೆ ನೀವು ಸಾಕಷ್ಟು ಅನುಮತಿಗಳನ್ನು ನಿರಾಕರಿಸಿದಿರಿ.

ಅಪ್ಲಿಕೇಶನ್ನ ಮಾರ್ಗವನ್ನು ಹುಡುಕಲು ಎಲ್ಲೀ ಆಜ್ಞೆಯನ್ನು ಬಳಸುವುದು ಹೆಚ್ಚು ಸುಲಭವಾಗಿದೆ:

ಅಲ್ಲಿ ಫೈರ್ಫಾಕ್ಸ್

ಈ ಸಮಯವು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

/ usr / bin / firefox

/ etc / ಫೈರ್ಫಾಕ್ಸ್

/ 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)

Linux-vdso.so.1 ಎನ್ನುವುದು ಗ್ರಂಥಾಲಯದ ಹೆಸರು ಮತ್ತು ಹೆಕ್ಸ್ ಸಂಖ್ಯೆಯು ಮೆಮೊರಿಯಲ್ಲಿ ಮೆಮೊರಿಯನ್ನು ಲೋಡ್ ಮಾಡುವ ವಿಳಾಸವಾಗಿರುತ್ತದೆ.

ನೀವು => ಸಂಕೇತವನ್ನು ಅನುಸರಿಸುತ್ತಿರುವ ಇತರ ಸಾಲುಗಳ ಮೇಲೆ ನೀವು ಗಮನಿಸಬಹುದು. ಇದು ದೈಹಿಕ ದ್ವಿಮಾನದ ಮಾರ್ಗವಾಗಿದೆ; ಹೆಕ್ಸ್ ಸಂಖ್ಯೆ ಗ್ರಂಥಾಲಯವನ್ನು ಲೋಡ್ ಮಾಡುವ ವಿಳಾಸವಾಗಿದೆ.