উত্স থেকে প্রোগ্রামগুলি কীভাবে সংকলন এবং ইনস্টল করবেন


39

এটি এমন একটি বিষয় যা সত্যই আমার লিনাক্স উপভোগকে সীমাবদ্ধ করে। যদি অ্যাপ্লিকেশনটি কোনও সংগ্রহস্থলে না থাকে বা এটির কোনও ইনস্টলার স্ক্রিপ্ট না থাকে তবে উত্স থেকে অ্যাপ্লিকেশনটি কোথায় এবং কীভাবে ইনস্টল করতে হবে তা সত্যিই আমি লড়াই করছি।

তুলনামূলকভাবে উইন্ডোজ, এটি সহজ। আপনাকে (বেশ অনেকটা) একটি ইনস্টলার অ্যাপ্লিকেশন ব্যবহার করতে হবে যা উইজার্ডের সমস্ত কাজ করে। লিনাক্সের সাথে ... এত কিছু না।

সুতরাং, আপনার কি এই সম্পর্কে কোনও টিপস বা নির্দেশনা রয়েছে বা এমন কোনও ওয়েবসাইট রয়েছে যা উত্স থেকে লিনাক্স প্রোগ্রামগুলি কীভাবে, কেন এবং কোথায় ইনস্টল করবেন তা স্পষ্টভাবে ব্যাখ্যা করে?


7
"তুলনামূলকভাবে উইন্ডোজের সাথে এটি সহজ। আপনার একটি ইনস্টলার অ্যাপ্লিকেশন ব্যবহার করা দরকার যা উইজার্ডের সমস্ত কাজ করে Linux লিনাক্সের সাথে ... এত কিছু না" " প্রশ্নের দুর্বল বিন্দু আছে। উইন্ডোজ সহ, আপনি খুব কমই উত্স কোডটি পান, তাই আপনি যাকে প্যাকেজ তৈরি করেছেন তার দয়াতে। আপনি যদি এই সম্পর্কে চিন্তা করেন তবে এটি "লিনাক্সের কোনও প্যাকেজ ছিল না, তাই আমাকে উত্স থেকে তৈরি করতে হবে", অর্থাত্ এ কথাটি বলার চেয়ে আলাদা নয়। এটি দিয়ে শুরু করার কোনও উপায় ছিল না। উত্স থেকে বিল্ডিং সাধারণত * নিক্স-জমিতে একটি শেষ অবলম্বন, তবে উইন্ডোজ-উইলে খুব কমই একটি বিকল্প।
অ্যাভারি পায়েেন

2
এটি বলা হচ্ছে ... একটি সাধারণ প্রশ্ন জিজ্ঞাসা করার জন্য +1 বাম্প যা সমস্ত নতুনদের * নিক্স সিস্টেমে উত্তর দেওয়া উচিত। :) উত্স থেকে বিল্ডিং এর অর্থ মাঝে মাঝে একটি বাজে বাগ সংশোধন করা এবং পরবর্তী সফ্টওয়্যার প্রকাশ না হওয়া পর্যন্ত ভোগার মধ্যে পার্থক্য। এটি আসলে খুব খারাপ নয়, এবং এখানকার অনেকে উল্লেখ করেছেন, একবার আপনি কী সন্ধান করবেন এবং কীভাবে করবেন তা জানেন, মোটামুটি বেদনাদায়ক।
অ্যাভারি পায়েেন

উত্তর:


22

সাধারণত, প্রকল্পটি কীভাবে এটি তৈরি এবং ইনস্টল করতে হবে তার নির্দেশাবলী সহ একটি ওয়েবসাইট থাকবে। প্রথমে গুগল।

বেশিরভাগ অংশের জন্য আপনি হয়:

  1. একটি টারবাল ডাউনলোড করুন (tar.gz বা tar.bz2 ফাইল), যা উত্স কোডের একটি নির্দিষ্ট সংস্করণের প্রকাশ is
  2. tar zxvf myapp.tar.gzজিজেপড টার্বল বা বিজিপিড টারবালের মতো কমান্ডের সাহায্যে টারবালটি বের tar jxvf myapp.tar.bz2করুন
  3. উপরে তৈরি ডিরেক্টরিতে সিডি করুন
  4. চালান ./configure && make && sudo make install

বা:

  1. তাদের সরকারী উত্স সংগ্রহস্থল থেকে সর্বশেষতম সোর্স কোডটি টানতে গিট বা এসএনএন বা যা কিছু ব্যবহার করুন
  2. উপরে তৈরি ডিরেক্টরিতে সিডি করুন
  3. চালান ./autogen.sh && make && sudo make install

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


সর্বশেষ পাওয়ার সময় অটোজেন.শ ব্যবহার করা হয়, তবে কনফিগার / মেকটি কোনও অফিসিয়াল রিলিজের জন্য ব্যবহৃত হয়?
লুই সালিন

1
সাধারণত "লোডিং এজ" সফ্টওয়্যার চান এমন ব্যক্তিরা সংস্করণ নিয়ন্ত্রণ সফ্টওয়্যার (যেমন গিট, সাবভার্সন বা সিভিএস) থেকে রিলিজটি টানবেন। এটি "রক্তপাতের প্রান্ত" কারণ এটি সম্ভবত প্রকাশিত টার্বল থেকে ভিন্ন, যা সম্ভবত (সম্ভবত) কাজ করার জন্য বলা হয়েছে (কমপক্ষে বেশিরভাগ ক্ষেত্রে) un ধারণা তৈরী কর?
ম্যাট সিমন্স

2
@ ম্যাট, নিশ্চিত এটি বোধগম্য হয়েছে তবে আমি মনে করি মন্তব্যটি আরও বেশি নির্দেশিত হয়েছিল যে স্যান্ডি এখন এটিকে এমনভাবে হাজির করেছেন যেন প্রতিটি গিট'ড / এসএনএন'র ট্রাঙ্কে একটি অটোজেন.শ রয়েছে।

1
এবং প্রতিটি পাত্রের একটি মুরগি ... বা এরকম কিছু। হেক, একবারে একবারে, আমি একটি কনফিগার স্ক্রিপ্ট ছাড়াই সফ্টওয়্যার জুড়ে আসি। যদি এটি করার সহজ ও একীভূত উপায় থাকত তবে আমাদের প্যাকেজগুলির প্রয়োজন হবে না ;-)
ম্যাট সিমন্স

ম্যাট একেবারে ঠিক, এই কারণেই আমি "বেশিরভাগ অংশের জন্য" বলেছিলাম এবং প্রথমে প্রকল্পটির ওয়েবসাইট অনুসন্ধান করার পক্ষে কথা বলছি। অটোজেন.শ / কনফিগার পরামর্শটি প্রতিটি জিনোম মডিউল এবং এক টন অন্যান্য প্রকল্পের জন্যও রাখবে। কিছু প্রকল্প অটোমেক ব্যবহার করে না, এবং কেবল মেকফাইল থাকবে এবং আপনি কেবল চালিয়ে যাবেন make && sudo make install। কিছু পাইথন প্রকল্পগুলির কেবলমাত্র একটি সেটআপ.পি থাকবে, যা আপনি ইনস্টল করার জন্য কল করবেন (যেহেতু সত্যিকারের কম্পাইল সেটআপ নেই)। সেখানে প্রচুর পরিমাণে অন্যান্য বিল্ড / ইনস্টল সিস্টেম রয়েছে। আশা করি README বা ইনস্টল করা ফাইলগুলি ঠিক কী করবে তা ব্যাখ্যা করবে।
স্যান্ডি

3

আমি কেবল যুক্ত করতে চাই যে এমন প্যাকেজ পরিচালক রয়েছে যা উত্স থেকে প্যাকেজগুলি সংকলন করে এবং সমস্ত প্যাকেজ নির্ভরতা, পতাকা ইত্যাদি পরিচালনা করে ..

বিএসডি সিস্টেমে এটি ports: পোর্ট সংগ্রহ ব্যবহার করে

ডেবিয়ানে, apt-getপ্যাকেজ ম্যানেজার উত্স থেকেও ইনস্টল করতে পারে: এপিটি হাটো: উত্স প্যাকেজগুলির সাথে কাজ করা (উবুন্টু, লিনাক্স-পুদিনা এবং দেবিয়ার উপর ভিত্তি করে যা কিছু রয়েছে)

জেন্টু বিতরণ portageপ্যাকেজ ম্যানেজার ব্যবহার করে , যা কেবল উত্স থেকে পুরো সিস্টেমটি সংকলন করে: পোর্টেজ পরিচিতি

স্ল্যাকওয়ার প্যাকেজগুলি সংকলন করতে পারে তবে এটির জন্য এখানে কোনও প্যাকেজ ম্যানেজার রয়েছে কিনা আমি জানি না .. =)

যাইহোক আপনি সর্বদা উপরে উল্লিখিত স্যান্ডির মতো প্যাকেজগুলি ম্যানুয়ালি সংকলন করতে পারেন =) এছাড়াও অন্য কোনও ডিস্ট্রোতে প্যাকেজ পরিচালকদের ব্যবহার apt-getবা portageপ্যাকেজগুলি অবশ্যই সম্ভব ...


1
"অ্যাপটি-প্যাকেজ ম্যানেজার উত্স থেকে ইনস্টল করতে পারে" বলা ভুল। উদ্ধৃত বিভাগটি বর্ণনা করে যে কেউ কীভাবে দেবিয়ান উত্স থেকে ডেবিয়ান প্যাকেজ তৈরি করতে পারে । না আপস্ট্রিম সূত্র নির্বিচারে।
ফাহিম মিঠা

2

আমি মনে করি যে আপনি যে নির্দিষ্ট প্রোগ্রাম বা অ্যাপ্লিকেশনটি ইনস্টল করতে চান সেটির সাথে ডকুমেন্টেশনগুলি পড়া ভাল। সাধারণত টার্বলগুলির অভ্যন্তরে রিডমস / রিডএমই থাকে (অ্যাপ্লিকেশন উত্স সংরক্ষণাগার যা আপনি সাধারণত ডাউনলোড করতে পারেন) বা সম্ভবত অ্যাপ্লিকেশনটি ইনস্টল করার পছন্দের উপায়টি কী তা জানতে ফাইলগুলি ইনস্টল করুন। সংক্ষেপে: আরটিএফএম;)


আমি এখানে এসেছি কারণ README লিনাক্সের আওতায় তৈরি করার জন্য সমস্ত প্রয়োজনীয়তা দিয়েছে তবে কেবল উইন্ডোজ ইনস্টল সংক্রান্ত নির্দেশনা রয়েছে। গৃহীত উত্তরটি আমার পক্ষে কাজ করেছে এবং সম্ভবত বেশিরভাগ সময় কাজ করে। আমার কাছে মনে হয়।
স্টিফেন সি

1

ফ্রিবিএসডি-তে পোর্ট সংগ্রহ ব্যবহারের জন্য একটি সংক্ষিপ্তসার:

পোর্ট সন্ধান করুন

বন্দরগুলি বিভাগ অনুসারে সংগঠিত করা হয় তাই আপনি যদি জানেন না যে বন্দরটি কোন শ্রেণিতে রয়েছে আপনাকে প্রথমে এটি সন্ধান করতে হবে:

cd /usr/ports
make search name=myport

কখনও কখনও সেখানে অনেকগুলি এন্ট্রি থাকে। আমি ব্যক্তিগতভাবে পছন্দ করি:

find /usr/ports -name myport* -print -depth 2

*প্রায়শই কোনও বন্দরের একাধিক সংস্করণ উপলব্ধ থাকায় অনুসন্ধান করার সময় ব্যবহার করুন । গভীরতার যুক্তি নিশ্চিত করে যে আপনার রিটার্নের ফলাফলগুলি অকারণে মেলে না এমন ঝাঁকুনি না করে যেগুলি আপনি চান না।

কনফিগারেশন

প্রায়শই, আপনি কিছু কনফিগারেশন করতে চান; অ্যাপাচি এবং পোস্টগ্রিসের মতো সফ্টওয়্যার ব্যবহারিকভাবে এটির প্রয়োজন হয়। তিনটি প্রধান পছন্দ রয়েছে: কমান্ড লাইন, পরিবেশ এবং কনফিগারেশন ফাইলগুলি তৈরি করুন। কমান্ড লাইন দিয়ে শুরু করতে:

make showconfig

এটি ডিফল্ট কনফিগারেশন বিকল্পগুলি তালিকাভুক্ত করবে। আপনি যদি ডিফল্ট পছন্দ করেন তবে আপনি সংকলন এবং ইনস্টল করতে প্রস্তুত। যদি না,

make config

আপনি একটি ডায়ালগ বক্স আনবেন যেখানে আপনি কোন বিকল্পগুলি চান তা নির্বাচন করতে পারেন। (make configure এটির সাথে বিভ্রান্ত হয়ে পড়বেন না এবং এটি যা আপনার পছন্দসই বিকল্পগুলির সাথে আপনার পোর্টটি কনফিগার করে!) এটি প্রায়শই যথেষ্ট তবে কিছু সফ্টওয়্যার যেমন অ্যাপাচি এর জন্য প্রায়শই জটিল কনফিগারেশন থাকে যা কোনও সাধারণ ডায়ালগ হ্যান্ডেল করে না। এর জন্য, আপনার মেকফিল (গুলি) এর দিকেও নজর দেওয়া উচিত যা আপনাকে মাঝে মাঝে কিছু অতিরিক্ত লক্ষ্যমাত্রা দেয় যা আপনাকে আরও তথ্য দেয়। অ্যাপাচি উদাহরণ চালিয়ে যেতে

make show-modules
make show-options
make show-categories

আপনি নির্বাচিত মডিউল, থ্রেড বিকল্প এবং এই জাতীয় পছন্দ স্থাপনের তথ্য দেবেন। যদি আপনার বন্দরের ডিফল্টগুলি বেশিরভাগই সূক্ষ্ম থাকে এবং আপনি কেবল কয়েকটি জিনিস পরিবর্তন করতে চান তবে আপনি পরিবেশের ভেরিয়েবলের মতো কী = মান জোড়াও পাস করতে পারেন:

make MYVBL1=MYVAL1 ... install clean

এছাড়াও, আপনি -Dবিকল্পটির মাধ্যমে স্যুইচ বিকল্পগুলি সেট করতে পারেন :

make -D MYVAR -D MYOTHERVAR ... install clean

জটিল কনফিগারেশনের জন্য কমান্ড লাইনটি ভাল কাজ করবে না এবং আপনি প্রথম দুটি পদ্ধতি কার্যকর হবে না better এই ক্ষেত্রে আপনি একটি কনফিগারেশন ফাইল তৈরি করতে পারেন এবং makeএটি __MAKE_CONF ভেরিয়েবলের সাথে পাস করতে পারেন । ফ্রিবিএসডি-র একটি ডিফল্ট কনফিগারেশন ফাইল /etc/make.confরয়েছে : এতে সাধারণত পূর্বে ইনস্টল করা পোর্ট এবং অন্যান্য সিস্টেম সেটিংস সম্পর্কিত তথ্য থাকে। শুরু করতে, আপনার পোর্ট বিকল্পগুলির সাথে একটি ফাইল তৈরি করুন, কল করুন ~/myport.mkএবং তারপরে সেই ফাইলটিকে /etc/make.conf এর সাথে একত্রিত করুন:

cat /etc/make.conf ~/myport.mk >> ~/make.myport.conf

তারপরে আপনি আপনার কনফিগারেশনটি দ্বিগুণ পরীক্ষা করতে পারবেন:

make showconfig __MAKE_CONF=~/make.port.conf

এবং যদি সবকিছু ভাল দেখাচ্ছে:

make install clean __MAKE_CONF=~/make.myport.conf

হুঁশিয়ার! আপনার যদি আপনার কনফিগারেশন সেটিংসের পরে make configureবা সম্পূর্ণরূপে কোনও ইনস্টলেশন ইনস্টল করতে হয় তবে আপনাকে অবশ্যই প্রথমে আপনার কনফিগারেশনটি সাফ করতে হবে :

make rmconfig

এটি করতে ব্যর্থ হওয়ার ফলে পোর্ট সাবসিস্টেম, আপনার বন্দরের makeডিফল্ট এবং আপনার কাঙ্ক্ষিত কনফিগারেশনের মধ্যে অপ্রত্যাশিত মিথস্ক্রিয়া ঘটবে ।

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

স্থাপন

এটা সহজ অংশ:

make install clean

বা আপনি পারেন

make build
make install
make clean

যা কেবল আরও টাইপ করা।

যে প্রায় কাছাকাছি এটা. স্পষ্টতই আপনি আরও অনেক কিছু করতে পারেন যেমন পুনরাবৃত্তভাবে তালিকাভুক্তি এবং কনফিগারেশন বিকল্পগুলির তালিকা, প্যাচগুলির সাথে আপডেট এবং আরও অনেক কিছু। এখানে আমি আপনাকে হ্যান্ডবুকের পোর্ট বিভাগ , পোর্ট সাবসিস্টেমের ম্যান পৃষ্ঠা (অতিরিক্ত মেক টার্গেটগুলিতে ভাল তথ্য) এবং ম্যান পৃষ্ঠাটি উল্লেখ করব।make


0

আমার প্যাকেজ পরিচালকের বাইরের উত্স থেকে ইনস্টল করার সময় সম্প্রতি আমি "চেকইনস্টল" ব্যবহার শুরু করেছি। এটি তৃতীয় পক্ষের টার্বল থেকে একটি "প্যাকেজ" তৈরি করে যা আপনার প্যাকেজ পরিচালকের সরঞ্জামগুলির মাধ্যমে ইনস্টল এবং পরিচালনা করা যায় (এবং আনইনস্টল করা যায়)।

এই নিবন্ধটি দেখুন - http://www.linuxj Journal.com/content/using-checkinstall-build-packages-source

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