লিনাক্সে "ldd" কমান্ড ব্যবহার করে

Ldd কমান্ড ব্যবহার করে আপনি যে কোনও প্রোগ্রামের জন্য প্রয়োজনীয় ভাগ লাইব্রেরিগুলি দেখাতে পারেন।

নিখোঁজ নির্ভরতা থাকলে সেখানে কাজ করার জন্য এবং অনুপস্থিত ফাংশন এবং বস্তুগুলির তালিকাতে ব্যবহার করা যেতে পারে।

ldd কমান্ড সিনট্যাক্স

Ldd কমান্ডটি ব্যবহার করার সময় এটি সঠিক সিনট্যাক্স :

ldd [OPTION] ... FILE ...

এখানে উপলব্ধ ldd কমান্ড সুইচগুলি যা উপরের কমান্ডের [OPTION] স্পটে ঢোকানো যেতে পারে:

- এই সহায়তাটি প্রিন্ট করে প্রস্থান করুন - প্রিন্ট সংস্করণ তথ্য এবং প্রস্থান -d, - ডেটা-রিল্লস প্রসেস ডেটা পুনর্বিবেচনার -r, - ফাংশন-রিল্লস প্রসেস ডেটা এবং ফাংশন পুনর্বিবেচনার -u, - ব্যবহার করা প্রিন্ট অব্যবহৃত সরাসরি নির্ভরতা -ভি, --ভারবোস সমস্ত তথ্য মুদ্রণ করুন

Ldd কমান্ড ব্যবহার করুন

আপনি কোন ldd কমান্ড থেকে আরও তথ্য পেতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

ldd -v / path / to / প্রোগ্রাম / এক্সিকিউটেবল

আউটপুট ভাগ করা লাইব্রেরার সাথে সাথে সংস্করণ তথ্য পাশাপাশি পথ এবং ঠিকানা দেখায়, যেমন:

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 path / to / প্রোগ্রাম

আউটপুট নিম্নলিখিত অনুরূপ:

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

গুরুত্বপূর্ণ: একটি অবিশ্বস্ত প্রোগ্রামের বিরুদ্ধে ldd কমান্ডটি চালাও না যেহেতু কমান্ড আসলে এটি চালায়। এটি একটি নিরাপদ বিকল্প যা সরাসরি নির্ভরশীলতা দেখায় এবং সম্পূর্ণ নির্ভরতা গাছ নয়: objdump -p / path / to / program | গ্যারান্টি প্রয়োজন

কিভাবে একটি অ্যাপ্লিকেশন পথ খুঁজুন

আপনি যদি ldd এর সাথে তার নির্ভরশীলতা খুঁজে পেতে চান তবে একটি অ্যাপ্লিকেশনটির সম্পূর্ণ পথ সরবরাহ করতে হবে, যা আপনি বেশ কয়েকটি উপায় করতে পারেন।

উদাহরণস্বরূপ, আপনি ফায়ারফক্সের পাথটি খুঁজে পাবেন:

/ -name ফায়ারফক্স খুঁজুন

অনুসন্ধান কমান্ডের সাথে সমস্যা, তবে, এটি শুধুমাত্র এক্সিকিউটেবলের তালিকা নয় কিন্তু সর্বত্র যে ফায়ারফক্স অবস্থিত, সেটি এখানেই থাকবে:

এই পদ্ধতিটি একটি overkill একটি বিট এবং আপনি আপনার বিশেষাধিকার উন্নত করার জন্য sudo কমান্ড ব্যবহার করতে হবে, অন্যথায় আপনি সম্ভবত অনুমতি অস্বীকার অনেক ত্রুটি পেতে পারে

এর পরিবর্তে অ্যাপ্লিকেশনের পথ খুঁজে পাওয়ার জন্য thatis কমান্ডটি ব্যবহার করা অনেক সহজ!

ফায়ারফক্স

এই সময় আউটপুট এই মত চেহারা হতে পারে:

/ usr / bin / ফায়ারফক্স

জন্য / etc / ফায়ারফক্স

/ usr / lib / ফায়ারফক্স

ফায়ারফক্সের জন্য শেয়ার্ড লাইব্রেরি খুঁজতে এখন আপনাকে অবশ্যই নিম্নলিখিত কমান্ডটি লিখতে হবে:

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 লাইব্রেরির নাম এবং হেক্স নম্বরটি সেই ঠিকানা যেখানে লাইব্রেরী মেমরিতে লোড হবে।

আপনি অন্যান্য রেখাগুলির মধ্যে লক্ষ করবেন যে => চিহ্নটি একটি পাথ দ্বারা অনুসরণ করা হয়। এই শারীরিক বাইনারি পাথ হয়; হেক্স নম্বর ঠিকানা যেখানে লাইব্রেরি লোড হবে।