PATH এবং LD_LIBRARY_PATH এর মধ্যে পার্থক্য কী?


27

PATHএবং এর মধ্যে পার্থক্য বুঝতে আমার কিছুটা সমস্যা হচ্ছে LD_LIBRARY_PATH। আমার একটি ইনস্টলেশন সেটআপ আছে যার জন্য একটি ফাইল pkg.tcl প্রয়োজন এবং আমি যেখানে সেখানে পাথ যুক্ত করব না: এটি কি হবে PATHবা হবে LD_LIBRARY_PATH?


আপনার ইনস্টলেশন সমস্যা সম্পর্কে, ব্যক্তিগতভাবে আমি বাজি ধরব TCLLIBPATH। দুঃখিত, আমার কোন যুক্তি নেই শুধু একটি ইঙ্গিত।
manatwork

উত্তর:


30

ইউনিক্স সিস্টেমগুলি বিভিন্ন ডিরেক্টরিতে ছড়িয়ে থাকা বিভিন্ন ধরণের ফাইল সহ সংগঠিত হয়। উদাহরণস্বরূপ, এক্সেকিউটেবল ডিরেক্টরি নামক সাধারণত bin( /bin, /usr/bin, /usr/local/bin, ...); histor binতিহাসিকভাবে, বাইনারি হিসাবে দাঁড়িয়েছে, কারণ এক্সিকিউটেবলগুলি বাইনারি (মেশিন কোড) হয়, তবে স্ক্রিপ্টগুলিও থাকতে পারে। যেহেতু একাধিক ডিরেক্টরি রয়েছে যা এক্সিকিউটেবলগুলি ধারণ করে এবং উড়তে ডিরেক্টরিগুলি যুক্ত করতে এবং মুছে ফেলা দরকারী (উদাহরণস্বরূপ, একাধিক এক্সিকিউটেবল অ্যাপ্লিকেশন পরীক্ষা করার জন্য, আপনি অস্থায়ীভাবে এটিকে এক্সিকিউটেবলের জন্য অনুসন্ধানের পথে যুক্ত করেন), এর জন্য একটি পরিবেশ পরিবর্তনশীল রয়েছে: PATH। আপনি যখন কোনও প্রোগ্রামের নাম দিয়ে এটি সম্পাদন করেন, শেলটি এটি PATHভেরিয়েবলের উল্লিখিত ডিরেক্টরিতে দেখায় (এটি ডিরেক্টরিগুলির একটি কোলন-বিচ্ছিন্ন তালিকা)।

অন্য ধরণের ফাইলগুলির জন্য একই প্রক্রিয়া বিদ্যমান রয়েছে যা কিছু প্রোগ্রাম নাম দ্বারা অনুসন্ধান করতে চলেছে। এখানে কয়েকটি সাধারণ- PATHমত পরিবর্তনশীল রয়েছে (নোট করুন যে আমি যে উদাহরণ দিয়েছি সেগুলি আপনার সিস্টেমে ঠিক তেমনটি পাবেন না, সেখানে 'ধারণা দেওয়ার জন্য সেখানে আছে)।

  • PATH: এক্সিকিউটেবল (যেমন /home/username/bin:/usr/local/bin:/usr/bin:/bin)।
  • MANPATH: ম্যানুয়াল পৃষ্ঠাগুলি (যেমন /usr/local/man:/usr/man)।
  • LD_LIBRARY_PATH: নেটিভ কোড লাইব্রেরি (লিনাক্সের, এই ভেরিয়েবলের মান ছাড়াও, লুকআপ পথ সাধারণত রয়েছে /usr/local/lib, /usr/lib, /libএবং অন্য কয়েকজন)। নামটি ডায়নামিক l oa d erLD থেকে আসে , সিস্টেম উপাদান যা গতিযুক্ত লিঙ্কযুক্ত এক্সিকিউটেবলের মধ্যে লাইব্রেরিগুলি লোড করে ।
  • PERL5LIB: পার্ল লাইব্রেরি (যেমন /usr/local/lib/site-perl:/usr/lib/site-perl:/usr/lib/perl:/usr/share/perl)।
  • PYTHONPATH: পাইথন লাইব্রেরি (যেমন /usr/local/lib/python:/usr/lib/python:/usr/lib/python2.6)।
  • TCLLIBPATH: টিসিএল লাইব্রেরি (যেমন /usr/local/lib/tcltk:/usr/lib/tcltk)।

সুতরাং আপনার pkg.tclযদি একক কার্যকর কার্যকর হয় তবে এটি কার্যকর করার অনুমতি দিন এবং এটিকে কোথাও ফেলে দিন $PATH। এটি যদি টিসিএল প্রোগ্রাম দ্বারা লোড করা টিসিএল লাইব্রেরি হয় তবে এটিকে কোথাও ফেলে দিন $TCLLIBPATH


23

PATHএক্সিকিউটেবল প্রোগ্রামের ডিরেক্টরি নির্দিষ্ট করার জন্য। LD_LIBRARY_PATHলাইব্রেরির ডিরেক্টরি নির্দিষ্ট করতে ব্যবহৃত হয়।


5
অন্য দৃষ্টিকোণ থেকে, PATHপ্রাথমিকভাবে শেল LD_LIBRARY_PATHদ্বারা ব্যবহৃত হয় , যখন গতিশীল লোডার (সাধারণত ld-linux.so) ব্যবহার করে ।
manatwork
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.