লিনাক্স লাইব্রেরি / এক্সিকিউটেবল সংস্করণ তথ্য দেখুন


37

উইন্ডোজে, এক্সই এবং ডিএলএল এর অন্তত নিম্নলিখিত ক্ষেত্রগুলি সহ সংস্করণ তথ্য রয়েছে:

  1. ফাইল সংস্করণ
  2. পণ্য সংস্করণ
  3. অভ্যন্তরীণ নাম
  4. পণ্যের নাম
  5. কপিরাইট

লিনাক্স লাইব্রেরিতে / এক্সিকিউটেবল:

  • কোন ক্ষেত্র উপস্থিত?
  • এই জাতীয় তথ্য কীভাবে দেখবেন?
  • কি সরঞ্জাম / লাইব্রেরি পড়তে হবে?

আমি আরও কিছু জিনিস আপডেট করেছি দয়া করে এখনই চেক করুন ..
রাহুল পাতিল

ldconfig রুট প্রয়োজন? কোনও নির্দিষ্ট libxxx.so ফাইল যাচাই করবেন এবং --version দিয়ে কোনও এক্সিকিউট চালাতে চান না (এটি ব্যর্থ হতে পারে)
লাইনুইজ করুন

কোনও মূলের প্রয়োজন নেই, যেহেতু / sbin / পাথ সাধারণ ব্যবহারকারী পরিবেশে সেট করা থাকে না, আপনি নিখুঁত পাথ ব্যবহার করে এটি কার্যকর করতে পারেন। /sbin/ldconfig -p
রাহুল পাতিল

উত্তর:


36

সংস্করণ তথ্য কোনও ELF ফাইলে স্পষ্টভাবে সংরক্ষণ করা হয়নি । আপনার যা আছে তা গ্রন্থাগারের নাম soname, যা প্রধান সংস্করণ অন্তর্ভুক্ত করে। পুরো সংস্করণটি সাধারণত গ্রন্থাগারের ফাইলের নামের অংশ হিসাবে সংরক্ষণ করা হয়।

আপনার যদি গ্রন্থাগার libtest.soথাকে তবে বলুন , তবে আপনার কাছে সাধারণত:

  • libtest.so.1.0.1 - সম্পূর্ণ সংস্করণযুক্ত লাইব্রেরি ফাইল নিজেই
  • libtest.so.1- libtest.so.1.0.1একই নাম থাকাতে সিমিলিংক করুনsoname
  • libtest.so- সংযোগের জন্য libtest.so.1ব্যবহৃত সিমিলিঙ্ক ।

লাইব্রেরি ফাইলে libtest.so.1.0.1, SONAMEগতিশীল বিভাগে ডাকা একটি এন্ট্রি আসবে, যা বলবে যে এই লাইব্রেরিটি বলা হয় libtest.so.1। আপনি যখন এই লাইব্রেরির বিপরীতে কোনও প্রোগ্রাম লিঙ্ক করেন, লিঙ্কযুক্ত প্রোগ্রামটি গতিশীল বিভাগে প্রবেশের sonameআওতায় লাইব্রেরির স্টোর সংরক্ষণ করবে NEEDED

আপনি যদি যাচাই করতে চান তবে কোনটি ELF ফাইলের মধ্যে রয়েছে তা চালানোর চেষ্টা করতে পারেন:

readelf -a -W elffile

যেখানে elffileহয় এক্সিকিউটেবলের একটি লাইব্রেরি হতে পারে।

আপনি যদি কেবল লাইব্রেরির সংস্করণ পেতে চান তবে আপনি এটি সহ খেলতে পারেন:

readelf -d  /path/to/library.so |grep SONAME

আফাইক, এক্সিকিউটেবল ফাইলগুলিতে এরকম কোনও তথ্য নেই (কমপক্ষে ডিফল্ট হিসাবে নয়)।

অথবা আপনি নিজেই বা আপনার প্যাকেজিং সিস্টেমে নির্ভর করতে পারেন, যেমন রাহুল পাতিল লিখেছিলেন।


সুন্দর তথ্য, এটি আমার কাছে নতুন কখনও কখনও পাঠ্যপুস্তক ব্যবহার করা হয়নি, যদি আপনি কিছু মনে করেন না, আমি আপনাকে জিজ্ঞাসা করতে পারি কোথায় এবং কেন পাঠ্য ব্যবহার করবেন
রাহুল পাতিল

আপনি যখন কোনও এলফ ফাইলের ভিতরে দেখতে চান তখন রিডফেল (এবং অনুরূপ সরঞ্জামগুলি) দরকারী। আমি সাধারণত এটি যখন প্রোগ্রামিংগুলিতে লাইব্রেরিতে প্রতীকগুলি সন্ধান করার জন্য ব্যবহার করি (যখন কিছু কাজ করে না), বা যখন কোনও লাইব্রেরিতে কোনও সমস্যা হয়। ( লোক
পাঠ্য

13

আপনি ব্যবহার করতে পারেন ldconfig -v | grep libraryname, এছাড়াও কমান্ড বিকল্প আছে command -Vবাbinaryfile --version

উদাহরণ:

test@ubuntukrb12:~# ls --version
ls (GNU coreutils) 8.13
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

এছাড়াও আপনি যেমন ডিস্ট্রো ব্যবহার করছেন তার উপর ভিত্তি করে আপনি ইয়াম বা প্রবণতা ব্যবহার করতে পারেন।

RHEL5 / CENTOS5 / ফেডোরায় আপনি ব্যবহার করতে পারেন yum info packagenameবা এটি ইনস্টল করা থাকলে ব্যবহার করুনrpm --version packagename

 [root@ldap1 ~]# yum info bind97
    Loaded plugins: downloadonly, fastestmirror, security
    Loading mirror speeds from cached hostfile
     * base: mirrors.sin3.sg.voxel.net
     * epel: mirror.imt-systems.com
     * extras: mirrors.sin3.sg.voxel.net
     * updates: mirrors.sin3.sg.voxel.net
    Installed Packages
    Name       : bind97
    Arch       : i386
    Epoch      : 32
    Version    : 9.7.0
    Release    : 10.P2.el5_8.4
    Size       : 6.3 M
    Repo       : installed
    Summary    : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
    URL        : http://www.isc.org/products/BIND/
    License    : ISC
    Description: BIND (Berkeley Internet Name Domain) is an implementation of the DNS
               : (Domain Name System) protocols. BIND includes a DNS server (named),
               : which resolves host names to IP addresses; a resolver library
               : (routines for applications to use when interfacing with DNS); and
               : tools for verifying that the DNS server is operating properly.

উবুন্টুতে আপনি aptitude show pkgnameবা ব্যবহার করতে পারেনdpkg --version pkgname

root@ubuntukrb12:~# aptitude show bind9utils
Package: bind9utils
State: installed
Automatically installed: yes
Version: 1:9.8.1.dfsg.P1-4ubuntu0.4
Priority: optional
Section: net
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Uncompressed Size: 306 k
Depends: libbind9-80, libc6 (>= 2.14), libdns81, libisc83, libisccc80, libisccfg82
Conflicts: bind9utils
Replaces: bind9 (<= 1:9.5.0~b2-1), bind9 (<= 1:9.5.0~b2-1)
Description: Utilities for BIND
 This package provides various utilities that are useful for maintaining a working BIND installation.

এর জন্য rpm, আমি মনে করি আপনি rpm --query pkgnameসংস্করণটির স্ট্রিং rpm --versionrpmdpkg
তালিকাবদ্ধ

5

রেডহ্যাট ভিত্তিক সিস্টেমগুলির জন্য এটি করুন:

ldd [file you want to run] | > needed-packages

প্রয়োজনীয়-প্যাকেজ ফাইলটি পরীক্ষা করে দেখুন, নিশ্চিত করুন লাইব্রেরির ফাইলের নামগুলিতে কোনও পথের নাম নেই। যদি তাই তাদের মুছে ফেলুন, সুতরাং "/bin/lib/libx.so.1" "libx.so.1" এ পরিবর্তন করুন

লাইব্রেরিটি কী প্যাকেজে রয়েছে তা সন্ধান করুন

yum -y provides [lib name]

বা এটিকে কোনও স্ক্রিপ্টে রাখুন বা সেন্টিমিডি লাইন থেকে চালান:

for lib in `cat libs.txt`;
do
   yum -y provides $lib | head -2 | grep " : " >> packages.list
done

এরপরে, নিম্নলিখিত স্ক্রিপ্টটি তৈরি করুন বা সেন্টিমিডি লাইন থেকে চালান:

for package in `cat packages.list | awk '{ print $1 }'`;
do
    yum -y install $package
done

আপনার কাজ শেষ, আপনার প্রোগ্রাম চালান। যদি চলমান অবস্থায় আপনি জিইউআই ত্রুটি পান। এগুলি অনুলিপি করুন এবং যদি তারা গ্রন্থাগারের তথ্যসূত্র হয় তবে তাদের জন্য প্যাকেজগুলি সন্ধান করুন এবং একইভাবে ইনস্টল করুন।


2

সংস্করণ তথ্য পেতে এটি চালান - strings libssl.so.1.0.0 | grep "1\.0"

SSLv3 part of OpenSSL 1.0.2p-fips  14 Aug 2018
OpenSSL 1.0.2p-fips  14 Aug 2018
TLSv1 part of OpenSSL 1.0.2p-fips  14 Aug 2018
DTLSv1 part of OpenSSL 1.0.2p-fips  14 Aug 2018
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.