በ Linux ውስጥ የ "ldd" ትዕዛዝን መጠቀም

በየትኛውም ፕሮግራም ውስጥ የሚፈለጉትን የተጋሩ ቤተ-ፍርዶችን ለእርስዎ ለማሳየት የ ldd መመሪያ ሊያገለግል ይችላል.

ይህ የጎደለ ጥገኝነት በሚኖርበት ጊዜ ለመስራት ጠቃሚ ሲሆን ስራ የሌላቸው ተግባራትንና ቁሳቁሶችን ለመዘርዘር ሊያገለግል ይችላል.

ldd የታይታ አገባብ

የ ldd ትእዛዝ ሲጠቀሙ ይህ ተገቢ አገባብ ነው :

ldd [ተመርጦ] ... FILE ...

ከላይ ባለው ትዕዛዝ ውስጥ ባለው [OPTION] ነጥብ ውስጥ ሊካተቱ የሚችሉት የተገኙ የ ldd ትዕዛዞች እዚህ እነሆ:

- እገዛን ያትሙ እና የውጫዊን የታተሙ ስሪት መረጃዎችን ይከተሉ እና exit-d, - data-relocations process data relocations -r, - - የተግባር-እንደገና ውሂብ ሂደት እና የተግባር መልቀቂያዎች -u, - unused use unused used direct dependencies -v, --verbose ሁሉንም መረጃ በሙሉ ያትሙ

የ ldd ትዕዛዝን እንዴት እንደሚጠቀሙ

ከማንኛቸውም የ ldd ትዕዛዝ ተጨማሪ መረጃ ለማግኘት የሚከተለውን ትዕዛዝ መጠቀም ይችላሉ:

ldd-v / path / ወደ / 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)

ፋይሉ ምንም የማይገኝ ከሆነ, የሚከተለው ትእዛዝ ተጠቅሞ የጎደሉትን ቤተመፃሕፍት ማግኘት ይችላሉ:

ldd-d ዱካ / ወደ / መርሃ ግብር

ውጤቱም ከሚከተሉት ጋር ተመሳሳይ ነው:

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

ጠቃሚ ማሳሰቢያ: ትዕዛዙ ሊሰራው ስለማይችል አስተማማኝ ባልሆነ ፕሮግራም ላይ የ ldd ትእዛዝ አይሂዱ. ይህ አስተማማኝ የሆነ አማራጭ ነው, ቀጥተኛ ጥገኝነት ብቻ ነው እንጂ ሙሉ ጥገኝነት ዛፍ አይደለም: objdump -p / path / to / program | greet NEEDED .

ለትግበራ መመላለሻ እንዴት እንደሚገኝ

አንዳንድ ጥቂቶችን ሊያከናውኑ የሚችሉበት የሌሎች ላይ ጥገኛዎች ለማግኘት ወደ አንድ መተግበሪያ ሙሉውን ዱካ ማቅረብ አለብዎት.

ለምሳሌ, ወደ ፋየርፎል መንገድ እንዴት እንደሚያገኙ እነሆ :

find / -name firefox

በፍለጋ ትዕዛዝ ውስጥ ያለው ችግር ኤግዘኪዩተርን ብቻ ሳይሆን የትኛውም ፋየርፎክስ የሚገኝበት ቦታ ነው.

ይህ አቀራረብ ከልክ በላይ የተጋነነ እና የይገባኛል ጥያቄዎን ከፍ ለማድረግ የሱዶ ትዕዛዞችን መጠቀም ሊያስፈልግዎ ይችላል, አለበለዚያ ብዙ የፈቃድ ጥቆማዎችን የማግኘት እድል አለዎት.

የትግበራውን መንገድ ለማግኘት የት whereis ትዕዛዞትን ለመጠቀም ቀላል ነው.

wheref ፋየርዎስ

በዚህ ጊዜ ውጤቱ እንዲህ ሊመስል ይችላል-

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

Linux-vdso.so.1 የቤተ-መጽሐፍቱ ስም እና የሄክስ ቁጥር ቁጥር ቤተ-መጽሐፍቱ በማስታወስ የሚጫነው አድራሻ ነው.

=> ምልክቱ በመንገድ ይከተላል በሚሉ ሌሎች መስመሮች ላይ አስተውለናል. ይህ ወደ አካላዊ ሁለትዮሽ መንገድ ነው; የሄክስ ቁጥር ቁጥር ቤተ-መጽሐፍቱ የሚጫንበት አድራሻ ነው.