আমি কীভাবে উবুন্টুতে ওপেনএসএসএল লাইব্রেরি ইনস্টল করব?


235

আমি উবুন্টু 10.04 এলটিএসে এমন কিছু কোড তৈরি করার চেষ্টা করছি যা ওপেনএসএসএল 1.0.0 ব্যবহার করে। আমি যখন মেক চালাই, তখন এটি "+lssl" বিকল্পের সাথে জি ++ কে আমন্ত্রণ জানায়। উত্স অন্তর্ভুক্ত:

#include <openssl/bio.h>
#include <openssl/buffer.h>
#include <openssl/des.h>
#include <openssl/evp.h>
#include <openssl/pem.h>
#include <openssl/rsa.h>

আমি দৌড়েছি:

$ sudo apt-get install openssl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
openssl is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

তবে আমি অনুমান করি ওপেনসেল প্যাকেজটিতে লাইব্রেরি অন্তর্ভুক্ত নেই। আমি এই ত্রুটিগুলি তৈরি করতে পারি:

foo.cpp:21:25: error: openssl/bio.h: No such file or directory
foo.cpp:22:28: error: openssl/buffer.h: No such file or directory
foo.cpp:23:25: error: openssl/des.h: No such file or directory
foo.cpp:24:25: error: openssl/evp.h: No such file or directory
foo.cpp:25:25: error: openssl/pem.h: No such file or directory
foo.cpp:26:25: error: openssl/rsa.h: No such file or directory

আমি উবুন্টু 10.04 এলটিএসে ওপেনএসএসএল সি ++ গ্রন্থাগারটি কীভাবে ইনস্টল করব?

man g++-L বিকল্পের জন্য আমি একটি এবং ("লিঙ্কিংয়ের বিকল্পগুলির নীচে") এর মধ্যে দিয়েছি : "লিঙ্কারটি লাইব্রেরির জন্য ডিরেক্টরিগুলির একটি আদর্শ তালিকা অনুসন্ধান করে ..." এবং "অনুসন্ধান করা ডিরেক্টরিগুলি বেশ কয়েকটি মানক সিস্টেম ডিরেক্টরি অন্তর্ভুক্ত করে ..." এই স্ট্যান্ডার্ড সিস্টেম ডিরেক্টরি কি?



-devনামকরণের কনভেনশন সম্পর্কে আপনি ঠিক বলেছেন । আপনি synapticসমস্ত প্যাকেজগুলির তালিকাতে প্যাকেজ ম্যানেজার ব্যবহার করতে পারেন যার নামগুলিতে libssl রয়েছে - সেই তালিকাটি ব্রাউজ করছে এবং তাদের বিবরণগুলি সম্ভবত আপনাকে ক্লু দেবে।
ক্রেজিস্কট

1
আমি জানি এই প্রশ্নটি এখনই বেশ মরে গেছে তবে আমি যেহেতু সম্প্রতি এটি পেয়েছি আমি অনুভব করেছি যে অন্য কারও পক্ষেও হতে পারে। আপনি যদি কোনও নির্দিষ্ট নামের অনুরূপ সমস্ত প্যাকেজ তালিকাবদ্ধ করতে চান তবে আমি ব্যবহার করতে চাই> প্রবণতা অনুসন্ধান <STRING> এটি অনুসন্ধান চালানোর জন্য রুট বিশেষাধিকার স্তরের প্রয়োজন হয় না।
ইভান লারকিন

2
কেবল ইভানের বিবৃতিতে যুক্ত করার জন্য, উবুন্টুর সাম্প্রতিক সংস্করণগুলি প্রবণতা কমান্ডটি উপলব্ধ না করেই আসছে। apt- ক্যাশে অনুসন্ধান <প্যাকনাম> এখন একইভাবে (প্রায়) কাজ করে।
অ্যান্ডি

3
আপনার আপডেটের জবাব হিসাবে, আপনি করতে পারেনapt-cache search package-name
থিওডাক্টর

উত্তর:


492

আপনি বিকাশ প্যাকেজটি ইনস্টল করতে চান যা libssl-dev:

sudo apt-get install libssl-dev

1
তবে এটি যে সংস্করণটি তিনি চেয়েছিলেন তা নয় (1.0.0), যা 10.04 এর জন্য প্যাকেজড নয়। : 1.0.0 জন্য এই উত্তরটি দেখুন stackoverflow.com/questions/3153114/...
nealmcb

আহ, ভাল কল। আমি কেবল তখনই লক্ষ্য করেছি যে তিনি বিকাশ গ্রন্থাগারগুলি ব্যবহার করার চেষ্টা করছেন কিন্তু -দেব প্যাকেজটি ইনস্টল করছেন না। আমি সংস্করণ নম্বরটিও লক্ষ্য করিনি।
নিকি যোশিউচি


2
apt installনতুন
ডি

1
@GeorgeSp আমি তাই মনে করি, কিন্তু এটি এখনও আরও "স্বাভাবিক" এর এই নির্দেশ ব্যবহার করে একটি কাস্টম ডিরেক্টরির মধ্যে গড়ে তুলতে stackoverflow.com/a/49578644/7315276
ɛIc_ↄIз


15

আমি কীভাবে নিজের জন্য এটি জানতে পেরেছি (এই প্রশ্নটি এখানে জিজ্ঞাসা করা ব্যতীত)? আমি কীভাবে সমস্ত প্যাকেজ তালিকাভুক্ত করতে এবং এসএসএল এর জন্য গ্রেপ বলতে পারি? বা "লাইব * -দেব" নামকরণের কনভেনশনটি আমার জানা দরকার?

আপনি যদি এর সাথে লিঙ্ক করেন -lfooতবে লাইব্রেরিটি সম্ভবত রয়েছে libfoo.so। লাইব্রেরি নিজেই সম্ভবত libfooপ্যাকেজের অংশ , এবং শিরোনামগুলি libfoo-devপ্যাকেজে রয়েছে যেমন আপনি আবিষ্কার করেছেন।

কিছু লোক sudo synapticপ্যাকেজ ইনস্টল করতে (সনাক্ত করতে এবং) GUI "synaptic" অ্যাপ্লিকেশন ব্যবহার করে তবে আমি কমান্ড লাইনটি ব্যবহার করতে পছন্দ করি। একটি জিনিস যা কমান্ড লাইন থেকে সঠিক প্যাকেজটি সন্ধান করা সহজ করে তা হ'ল apt-getবাশ সমাপ্তি সমর্থন করে।

টাইপ করার চেষ্টা করুন sudo apt-get install libsslএবং তারপরে tabম্যাচের প্যাকেজ নামেরগুলির তালিকা দেখতে হিট করুন (যা আপনাকে যখন একাধিক সংস্করণ বা অন্যান্য বৈকল্পিক উপলভ্য প্যাকেজের সঠিক সংস্করণ নির্বাচন করার প্রয়োজন হয় তখন সাহায্য করতে পারে)।

বাশ সমাপ্তি আসলে খুব দরকারী ... উদাহরণস্বরূপ, আপনি কমান্ডগুলির একটি তালিকা পেতে পারেন যা apt-getটাইপ করে sudo apt-getএবং পরে হিট করে সমর্থন করে tab


উবুন্টু বহু বছর ধরে সমস্যা হওয়ায় লোকদের জন্য ব্যথা কমাতে পারত। তারা পারা ওরফে openssl-devকরতে libssl-devকিন্তু তারা না করে।
jww

7

আমি এখানে একটি বিশদ সমাধান পেয়েছি: লিনাক্সে ওপেনএসএসএল ম্যানুয়ালি ইনস্টল করুন

ব্লগ পোস্ট থেকে ...:

ডাউনলোড, সংকলন এবং ইনস্টল করার ধাপগুলি নীচে রয়েছে (আমি নীচে সংস্করণ 1.0.1g ইনস্টল করছি; দয়া করে আপনার সংস্করণ নম্বর সহ "1.0.1g" প্রতিস্থাপন করুন):

পদক্ষেপ - 1: ওপেনএসএসএল ডাউনলোড করা:

কমান্ডটি নীচের মতো চালান:

$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz

এছাড়াও, কেবলমাত্র বৈচিত্র্যের উদ্দেশ্যে ডাউনলোড করা ফাইলটির অখণ্ডতা যাচাই করতে MD5 হ্যাশ ডাউনলোড করুন। আপনি ওয়েবসাইট থেকে ওপেনএসএসএল ফাইলটি যেখানে ডাউনলোড করেছেন একই ফোল্ডারে:

$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz.md5
$ md5sum openssl-1.0.1g.tar.gz
$ cat openssl-1.0.1g.tar.gz.md5

পদক্ষেপ - 2: ডাউনলোড করা প্যাকেজ থেকে ফাইলগুলি বের করুন:

$ tar -xvzf openssl-1.0.1g.tar.gz

এখন, ডিরেক্টরিটি এখানে প্রবেশ করুন যেখানে প্যাকেজটি এখানে সরিয়ে নেওয়া হয়েছে ওপেনএসএল-1.0.1 জি

$ cd openssl-1.0.1g

পদক্ষেপ - 3: কনফিগারেশন ওপেনএসএসএল

আপনি ফাইল এবং ফোল্ডারটি অনুলিপি করতে চান এমন উপসর্গ এবং ডিরেক্টরি সেট করতে belowচ্ছিক শর্ত সহ কমান্ডের নীচে চলুন।

$ ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl

আপনি যে ডিরেক্টরিতে ফাইল এবং ফোল্ডারগুলি অনুলিপি করতে চান সেখানে "/ usr / local / openssl" প্রতিস্থাপন করতে পারেন। তবে এই পদক্ষেপগুলি করার সময় টার্মিনালে কোনও ত্রুটি বার্তার জন্য পরীক্ষা করে দেখুন make

পদক্ষেপ - 4: ওপেনএসএসএল সংকলন

ওপেনসেল সংকলন করতে আপনাকে 2 কমান্ড চালাতে হবে: তৈরি করুন, নীচের মত ইনস্টল করুন:

$ make

দ্রষ্টব্য: যাচাইকরণের উদ্দেশ্যে কোনও ত্রুটি বার্তার জন্য পরীক্ষা করুন।

পদক্ষেপ -৫: ওপেনএসএসএল ইনস্টল করা:

$ sudo make install

বা সুডো ছাড়া,

$ make install

এটাই. ওপেনএসএসএল সফলভাবে ইনস্টল করা হয়েছে। এটি ভার্সন কমান্ডটি চালাতে পারেন এটি নীচের মতো কাজ করেছে কিনা তা দেখার জন্য:

$ /usr/local/openssl/bin/openssl version

OpenSSL 1.0.1g 7 Apr 2014


1
সম্পূর্ণতার জন্য আপনার পিজিপি স্বাক্ষর যাচাই ফাইল অন্তর্ভুক্ত করা উচিত ফাইলের স্বাক্ষর বৈধ কিনা তা নিশ্চিত করার জন্য। মতই gnupg.org/download/integrity_check.html এবং openoffice.org/download/checksums.html#pgp_linux
djondal

5

উবুন্টুতে সোর্স কোড থেকে ওপেনএসএল লাইব্রেরি ইনস্টল করার আরেকটি উপায়, নীচের পদক্ষেপগুলি অনুসরণ করে, এখানে WORKDIRআপনার কার্যকরী ডিরেক্টরি:

sudo apt-get install pkg-config
cd WORKDIR
git clone https://github.com/openssl/openssl.git
cd openssl
./config
make
sudo make install
# Open file /etc/ld.so.conf, add a new line: "/usr/local/lib" at EOF
sudo ldconfig

4

আপনি openssl-develপ্যাকেজ চান । কমপক্ষে আমি মনে করি এটি -develউবুন্টুতে। হতে পারে -dev। এটি দুজনের মধ্যে একটি।


1
উভয়ই ফেরান sudo apt-get install openssl-devএবং sudo apt-get install openssl-devel"ই: প্যাকেজটি খুঁজে
পেল

6
স্পষ্টতই এটি লিবিএসএল-ডেভ যেমন অন্যরা বলেছে। আমি উবুন্টু ব্যবহার করি না, তাই আমি প্যাকেজের নামগুলির সাথে পরিচিত নই।
jonescb

7
OpenSSL-devel কি আমি সেন্টওএস 6. জন্য প্রয়োজন ছিল sudo yum install openssl-devel*
Banjer

5
আসুন সত্য হয়ে
উঠুন

ওয়েল, এই নামকরণ sucks :) - কিন্তু এখনও এটি শ্রেষ্ঠ নামকরণ মান আমরা থাকতে পারে ... কিন্তু কেউ সত্যিই উচিত পরিশেষে শুরু অধ্যাপনা বিশ্বের সব স্কুলে স্কুলে SUBJECT "আইটি বুনিয়াদি" এ এই।
ফিলিপ ওভারটোনসিংগার রিডলো

0

একটি সাধারণ নিয়ম হিসাবে, যখন ডেবিয়ান বা উবুন্টু থাকাকালীন এবং আপনি কোনও ডেভলপমেন্ট ফাইল (বা সেই বিষয়ে অন্য কোনও ফাইল) মিস করছেন, কোন ফাইলটি কী apt-fileপ্যাকেজটি সরবরাহ করে তা নির্ধারণ করার জন্য ব্যবহার করুন:

~ apt-file search openssl/bio.h
android-libboringssl-dev: /usr/include/android/openssl/bio.h
libssl-dev: /usr/include/openssl/bio.h
libwolfssl-dev: /usr/include/cyassl/openssl/bio.h
libwolfssl-dev: /usr/include/wolfssl/openssl/bio.h

কমান্ড দ্বারা প্রত্যাবর্তিত প্রতিটি প্যাকেজটির এক ঝলক নজরে ব্যবহার করে apt showআপনাকে জানানো হবে যে আপনি যে প্যাকেজগুলির মধ্যে সন্ধান করছেন সেগুলি:

~ apt show libssl-dev
Package: libssl-dev
Version: 1.1.1d-2
Priority: optional
Section: libdevel
Source: openssl
Maintainer: Debian OpenSSL Team <pkg-openssl-devel@lists.alioth.debian.org>
Installed-Size: 8,095 kB
Depends: libssl1.1 (= 1.1.1d-2)
Suggests: libssl-doc
Conflicts: libssl1.0-dev
Homepage: https://www.openssl.org/
Tag: devel::lang:c, devel::library, implemented-in::TODO, implemented-in::c,
 protocol::ssl, role::devel-lib, security::cryptography
Download-Size: 1,797 kB
APT-Sources: http://ftp.fr.debian.org/debian unstable/main amd64 Packages
Description: Secure Sockets Layer toolkit - development files
 This package is part of the OpenSSL project's implementation of the SSL
 and TLS cryptographic protocols for secure communication over the
 Internet.
 .
 It contains development libraries, header files, and manpages for libssl
 and libcrypto.

N: There is 1 additional record. Please use the '-a' switch to see it

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