ভাগ করা লাইব্রেরিগুলি লোড করার সময় ত্রুটি: libcrypto.so.1.1


13

আমি যখন "ওপেনসেল" চালাচ্ছি আমি নীচের মতো একটি ত্রুটি পাচ্ছি:

ওপেনএসএল: ভাগ করা লাইব্রেরিগুলি লোড করার সময় ত্রুটি: libcrypto.so.1.1: ভাগ করা বস্তু ফাইলটি খুলতে পারে না: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই "

আমি এই নিবন্ধ অনুযায়ী ওপেনএসএসএল আপডেট করার চেষ্টা করার পরে এটি ঘটেছে

এই সমাধানের জন্য কোনো উপায় আছে কি?

ওএস: CentOS 6.8 ওয়েব সার্ভার: nginx / 1.10.2

আপডেট # 1:

[root@host ~]# yum info openssl
Installed Packages
Name        : openssl
Arch        : x86_64
Version     : 1.0.1e
Release     : 48.el6_8.3
Size        : 4.0 M
Repo        : installed
From repo   : system-updates
Summary     : A general purpose cryptography library with TLS implementation
URL         : ***
License     : OpenSSL
Description : The OpenSSL toolkit provides support for secure communications
            : between machines. OpenSSL includes a certificate management tool and
            : shared libraries which provide various cryptographic algorithms and
            : protocols.

Available Packages
Name        : openssl
Arch        : i686
Version     : 1.0.1e
Release     : 48.el6_8.3
Size        : 1.5 M
Repo        : system-updates
Summary     : A general purpose cryptography library with TLS implementation
URL         : ***
License     : OpenSSL
Description : The OpenSSL toolkit provides support for secure communications
            : between machines. OpenSSL includes a certificate management tool and
            : shared libraries which provide various cryptographic algorithms and
            : protocols.

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

আমি মনিটিস দ্বারা সরবরাহিত সার্ভার মনিটর অ্যাপ্লিকেশনটি ইনস্টল করতে চেয়েছিলাম। এর জন্য কিছু ভাগ করা লাইব্রেরি নির্ভরতা প্রয়োজন যা আমার সার্ভারে ইনস্টল করা হয়নি। সুতরাং, যখন এইগুলি ইনস্টল করতে যাচ্ছিল তখন এই সমস্ত ঘটেছিল। :(
mayasl

@ মিশেলহ্যাম্পটন সিস্টেম পুনরায় ইনস্টল করা ব্যতীত আমাকে কিছু বলুন। কারণ সেই সার্ভারে একটি লাইভ সাইট চলছে!
mayasl

উত্তর:


20

আমি OpenSSL 1.1.0c শেষ সংস্করণ ইনস্টল পর একই সমস্যা হচ্ছে, আমি বিষয়টি গ্রন্থাগার ফাইল কপি সমাধান libcrypto.so.1.1, libcrypto.aএবং libssl.soথেকে /usr/local/lib64ভাগ লাইব্রেরিতে /usr/lib64
গ্রন্থাগারগুলি অনুলিপি করার পরে আপনাকে প্রতীকী লিঙ্ক তৈরি করতে হবে।

ln -s libcrypto.so.1.1 libcrypto.so
ln -s libssl.so.1.1 libssl.so

প্রতীকী লিঙ্ক তৈরি করার পরে ldconfig ক্যাশে পুনর্নির্মাণের পাশাপাশি প্রয়োজন ছিল:

sudo ldconfig

8

আপনার ওপেনএসএসএল এর আসল সংস্করণটি সহ এটি জানত যে কীভাবে ভাগ করা লিবস সন্ধান করা যায় কারণ /usr/lib64লিঙ্কারের অনুসন্ধানের পথে অন্তর্ভুক্ত রয়েছে। আপনি যখন ওপেনএসএসএল এর একটি "স্থানীয়" অনুলিপি ডাউনলোড এবং সংকলন করেছেন, তখন ভাগ করা লিবস /usr/local/lib64ডিফল্টরূপে স্থাপন করা হয়েছিল। সুতরাং আপনাকে সম্ভবত লিঙ্কারের অনুসন্ধানের পথে এই ডিরেক্টরিটি যুক্ত করতে হবে (মূল হিসাবে):

echo "/usr/local/lib64" > /etc/ld.so.conf.d/openssl.conf

তারপরে কার্যকর করুন:

ldconfig

আমি বিশ্বাস করি এটি আপনার সমস্যার সমাধান করবে।


কমপক্ষে আধুনিক উবুন্টু বিতরণগুলিতে (আমি এটি 16.04 এলটিএসে লিখছি) এবং সম্ভবত অন্যরা, sudo echo "/usr/local/lib64" > /etc/ld.so.conf.d/openssl.conf"অনুমতি অস্বীকৃত" ত্রুটির কারণ হয়ে উঠবে কারণ দ্বিতীয় অর্ধেক কমান্ড (ফাইলটি লেখার) মূল হিসাবে চালানো হয়নি। যদি এটি ঘটে থাকে তবে sudo sh -c "echo '/usr/local/lib64' >> /etc/ld.so.conf.d/openssl.conf"পরিবর্তে চেষ্টা করুন।
ম্যাথু কোল

3

আমি ChromeOS এ টার্মাক্স ব্যবহার করে এই ত্রুটি পেয়েছি, যার ফলে npmএবং nodeকমান্ড লাইন প্রোগ্রামগুলি ক্র্যাশ হয়ে গেছে।

দৌড়তে pkg upgradeসমস্যা স্থির!


1

আপনি এটি ব্যবহার করে এটি পুনরায় ইনস্টল করতে পারেন

yum install -y openssl-devel


আমি এটি চেষ্টাও করেছি, কিন্তু সাহায্য করিনি!
mayasl

@ মায়াসল সম্ভবত আপনার অন্যান্য প্যাকেজগুলিও পুনরায় ইনস্টল করতে হবে। আমি একটি প্যাকেজ কল করা প্যাকেজের openssl-develউপর নির্ভর করবে বলে আশা করব openssl। মনে রাখবেন যে আমি স্পর্শ করার পরে এটি অনেক দিন হয়ে গেছে yum, সুতরাং আমি আপনার জন্য আদেশের বাক্য গঠনটি যাচাই করতে পারি না।
ক্যাস্পারড

আমি "yum তথ্য ওপেনসেল" আউটপুট দিয়ে আমার প্রশ্ন আপডেট করেছি। দয়া করে একবার দেখুন, এটি দরকারী যদি। আমি এই থ্রেডটি শুরু করার আগে ওপেনসেল এবং ওপেনসেল-ডেভেল সরিয়ে এবং পুনরায় ইনস্টল করেছি। কাজ হয়নি! আমি যে কমান্ডগুলি ব্যবহার করেছি: codeইউম
রিমুভেনসেল

পুনরায় ইনস্টল করা openssl(এবং না openssl-devel) একটি ভাল শুরু হওয়া উচিত।
মাইকেল হ্যাম্পটন

আমি ইতিমধ্যে চেষ্টা করেছি যে @ মিশেলহ্যাম্পটন এটি কি কোনও প্রকারের লিঙ্কিং ইস্যু ???
mayasl

1

@ বেনডিক্ট যা বলেছেন তা আমার পক্ষে কাজ করেছে। তবে আপনি দেখতে পাবেন যে কয়েকটি সিমলিংক পুরানো সংস্করণগুলির দিকে ইঙ্গিত করছে। ls -l libcrypto*/ Usr / libs থেকে চালানো আপনাকে লিঙ্কগুলি প্রদর্শন করবে। নীচের উদাহরণ হিসাবে:

lrwxrwxrwx 1 root root      16 May 21 15:28 libcrypto.so -> libcrypto.so.1.0

তারপরে আপনি বিদ্যমান লিঙ্কটি প্রথমে টাইপ করে sudo rm libcrypto.soএবং তারপরে libcrypto.so.1.1 অনুলিপি হিসাবে @ বেনডিক্ট হিসাবে মুছে ফেলতে চান । শেষ পর্যন্ত আপনি নতুন লিঙ্কটি তৈরি করতে পারেন। sudo ln -s libcrypto.so.1.1 libcrypto.so

আশাকরি এটা সাহায্য করবে.


1

libcrypto.soজন্যে openssl-libsপ্যাকেজ। আপনি যদি --nodepsএই প্যাকেজটিকে ম্যানুয়ালি মুছে ফেলা (সহ ) জোর করে বা এটি আপগ্রেড করে দুর্নীতিগ্রস্থ করেন তবে আপনি yum, wget, curl, ssh ইত্যাদির অ্যাক্সেস হারাবেন যদি সিস্টেমে ইন্টারনেট অ্যাক্সেস থাকে openssl-libsতবে কমান্ডটি ব্যবহার করে ডাউনলোড করুন /usr/bin/GET। আপনি সংস্করণটি পুনরুদ্ধার করতে চাইলে সিনট্যাক্সটি নীচের মত দেখতে পাবেন openssl-libs-1.0.2k-8.el7.x86_64:

/usr/bin/GET http://downloadURL/openssl-libs-1.0.2k-8.el7.x86_64.rpm > openssl-libs-1.0.2k-8.el7.x86_64.rpm

এটি openssl-libs-1.0.2k-8.el7.x86_64.rpmআপনার জন্য প্যাকেজ তৈরি করবে , আপনি এটি ব্যবহৃত হয় পুনরায় ইনস্টল করতে বা হারিয়ে যাওয়া .soফাইলটি বের করতে ।


0

আমি ঠিক একই ইস্যুটি দিয়ে চলেছি ... আমি নিম্নলিখিত কমান্ডগুলি চালিয়ে সমাধান করেছি।

ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1

এটি একটি সফটলিঙ্ক তৈরি করবে এবং আপনি যেতে ভাল।


0

এটি আমার কাছাকাছি পাওয়া সবচেয়ে ভাল সমাধান ... সমস্ত ইন্টারনেট জুড়ে সরবরাহ করা অন্যান্য সমাধান, সিস্টেম পুনরায় বুট থেকে বাঁচবে না;)

ওএস: উবুন্টু 16.04

sudo vim /etc/ld.so.conf.d/libc.conf

Lib ডিরেক্টরি সেটিংস মন্তব্য করুন এবং ভাল পাথ যোগ করুন

# libc default configuration

#/usr/local/lib

/usr/lib

আপনি সম্পাদনা শেষ করার পরে, এই আদেশটি চালান:

sudo ldconfig

তারপরে আপনি যখন রান করবেন তখন আপনার ভাল সেটিং হবে:

ldd / usr / bin / openssl

এই ঠিক করার আগে:

 /usr/bin/openssl: /usr/local/lib/libssl.so.1.0.0: no version information available (required by /usr/bin/openssl)
/usr/bin/openssl: /usr/local/lib/libssl.so.1.0.0: no version information available (required by /usr/bin/openssl)
 /usr/bin/openssl: /usr/local/lib/libssl.so.1.0.0: no version information available (required by /usr/bin/openssl)
/usr/bin/openssl: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/openssl)
/usr/bin/openssl: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/openssl)
/usr/bin/openssl: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/openssl)
/usr/bin/openssl: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/openssl)
linux-vdso.so.1 =>  (0x00007ffe6d1e3000)
libssl.so.1.0.0 => /usr/local/lib/libssl.so.1.0.0 (0x00007f8999827000)
libcrypto.so.1.0.0 => /usr/local/lib/libcrypto.so.1.0.0 (0x00007f89993ed000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8999023000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8998e1f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8999a97000)

ঠিক করার পরে আমি সরবরাহ করেছি:

linux-vdso.so.1 =>  (0x00007ffec39bc000)
libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f7faad22000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f7faa8dd000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7faa513000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7faa30f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7faaf8b000)

সেন্টোস পথের লোকদের জন্য, আমি মনে করি ভাল ফাইলটি /etc/ld.so.conf;), কেবল পরিষ্কার হতে পারে।
জেরোফ

0

CentOS 7 এ libssl.so.1.1থাকে /usr/local/ssl/lib

সুতরাং আমাকে কেবল এই পথটি ডিফল্ট লোকেশনে যুক্ত করতে হয়েছিল, যেখানে ডায়নামিক লোডার লাইব্রেরির সন্ধান করে। আমি আমার ওপেনসেল বাইনারি জন্য আলাদা ফাইল তৈরি করেছি, নামযুক্ত openssl-1.1.1c.conf, /etc/ld.so.conf.dফোল্ডারে:

echo "/usr/local/ssl/lib" > /etc/ld.so.conf.d/openssl-1.1.1c.conf

এখন এটা কাজ করছে.


-1

ওপেন এসএসএল ওপেনসেল -১.০.০f তৈরি এবং ইনস্টল করার পরে, আমি একটি নরম লিঙ্ক তৈরি করতে libssl.so.1.1 lib এর জন্য একই ত্রুটিটি স্থির করেছি:

ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.