কম্পিউটার টিউটোরিয়াল

লিনাক্সে ldd কমান্ড ব্যবহার: শেয়ার্ড লাইব্রেরি নির্ভরতা খুঁজে বের করুন

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

ldd [OPTION]... FILE...

প্রধান অপশনগুলো:

  • --help: সাহায্য দেখান এবং বের হোন
  • --version: ভার্সন তথ্য দেখান
  • -d, --data-relocs: ডেটা রিলোকেশন প্রসেস করুন
  • -r, --function-relocs: ডেটা ও ফাংশন রিলোকেশন প্রসেস করুন
  • -u, --unused: অনযযোজিত ডায়রেক্ট ডিপেন্ডেন্সি প্রিন্ট করুন
  • -v, --verbose: সমস্ত তথ্য প্রিন্ট করুন (ভার্সন, পাথ, মেমরি অ্যাড্রেস)

ldd কমান্ড ব্যবহারের উদাহরণ

ভার্বোজ আউটপুট (-v)

ldd -v /path/to/program/executable

আউটপুট উদাহরণ:

libshared.so
linux-vdso.so.1 => (0x00007fff26ac8000)
libc.so.6 => /lib/libc.so.6 (0x00007ff1df55a000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000)

linux-vdso.so.1 কার্নেল-প্রোভাইডেড ভার্চুয়াল ডাইনামিক শেয়ার্ড অবজেক্ট। হেক্স নম্বর মেমরি লোড অ্যাড্রেস। => চিহ্নের পরে থাকা পাথ হলো লাইব্রেরির ফিজিক্যাল বাইনারি লোকেশন।

অনুপস্থ লাইব্রেরি খুঁজে বের করা (-d)

ldd -d /path/to/program

আউটপুটে not found লিখে থাকলে সেই লাইব্রেরি অনুপস্থিত।

সুরক্ষা সতর্কতা: বিশ্বস্ত না হওয়া প্রোগ্রামের विरুদ্ধ ldd রান করবেন না; এটি প্রোগ্রামটি এক্সিকিউট করতে পারে। বরং নিরাপদ বিকল্প:
objdump -p /path/to/program | grep NEEDED

এটি শুধু ডায়রেক্ট ডিপেন্ডেন্সি দেখাবে, পুরো ডিপেন্ডেন্সি ট্রি নয়।

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

ldd-এর জন্য ফুল পাথ দরকার। find / -name firefox দিয়ে খুঁজলে অনেক ফলাফল আসে এবং sudo লাগতে পারে। সহজ পদ্ধতি:

whereis firefox

আউটপুট: /usr/bin/firefox /etc/firefox /usr/lib/firefox। তারপর:

ldd /usr/bin/firefox

ফায়ারফক্সের শেয়ার্ড লাইব্রেরি তালিকা (pthread, dl, stdc++, m, gcc_s, libc, ld-linux ইত্যাদি) পাওয়া যাবে।

  1. লিনাক্সে xargs কমান্ড ব্যবহার করার পদ্ধতি

  2. লিনাক্সে Find কমান্ড ব্যবহার করে ফাইল খুঁজে বের করার পদ্ধতি

  3. লিনাক্সে 'echo' কমান্ডের ব্যবহার পদ্ধতি

  4. লিনাক্সে tee কমান্ড ব্যবহার করুন