উত্স থেকে বিল্ডিং এবং একটি ইনস্টল প্যাকেজ ব্যবহারের মধ্যে পার্থক্য কী?


46

আমি ভাবছিলাম: কিছু ইনস্টল করার সময়, ইনস্টল এক্সিকিউটেবল ফাইলটিতে ডাবল ক্লিক করার একটি সহজ উপায় আছে এবং অন্যদিকে, উত্স থেকে এটি তৈরির একটি উপায় রয়েছে।

পরেরটি, উত্স বান্ডিলটি ডাউনলোড করা সত্যই জটিল।

তবে এই দুটি পদ্ধতির মধ্যে মৌলিক পার্থক্য কী?

উত্তর:


44

সমস্ত সফ্টওয়্যার প্রোগ্রাম যা একে উত্স প্যাকেজও বলা হয় । সুতরাং আপনার সিস্টেমে চালানোর জন্য সমস্ত উত্স প্যাকেজগুলি প্রথমে তৈরি করা দরকার ।

বাইনারি প্যাকেজ এক যে ইতিমধ্যে থেকে তৈরি করা হয় উৎস যাতে ব্যবহারকারীরা সংখ্যক ইনস্টল এবং এটি ব্যবহার করতে পারেন সফ্টওয়্যার দেওয়া সাধারণ বৈশিষ্ট্য এবং পরামিতি সঙ্গে কেউ।

বাইনারি প্যাকেজ ইনস্টল করা সহজ
তবে প্রবাহ প্যাকেজ থেকে সমস্ত বিকল্প নাও থাকতে পারে

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

উত্স থেকে ইনস্টল করার সুবিধা:

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

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

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

এবং সর্বোপরি, সফ্টওয়্যার সুরক্ষা সম্পর্কে, আমি নীচের মন্তব্যে জো দ্বারা প্রদত্ত বেল-ল্যাবগুলিতে এই আনন্দিত পৃষ্ঠাটি হাইলাইট করতে চাই ।


4
উত্সটি আপনার সিস্টেমের জন্য একটি অনুকূলিতকরণ পদ্ধতিতেও সংকলিত করা যেতে পারে (যা .. এটি একটি ভাল ধারণা নাও হতে পারে, যেহেতু সংকলিত জিনিসগুলি সিস্টেমের জন্য "নির্দিষ্ট" এবং ব্যাকআপের সাথে কাজ নাও করতে পারে ... তবে আপনার কাছে উত্স, আপনি পুনরায় সংকলন করতে পারেন (যদি আপনার
এটির

আপনার যদি সেই "ব্যাকআপ সিস্টেম" আদৌ থাকে তবে এটি নির্ভর করে। আপনি যদি কিছু গবেষণা করে থাকেন তবে সাধারণত আপনি তা করেন না।
এইচ 22

1
হাইপার্পারোনয়েডের জন্য, উত্স থেকে ইনস্টল করার একটি সুবিধা হ'ল সুরক্ষা এবং আপনি যদি করতে সক্ষম হন বা করতে চান তবে কোডটি পর্যালোচনা করার ক্ষমতা: আপনি যখন উত্স থেকে ইনস্টল করেন, তখন আপনি একটি সত্যের জন্য জানতে পারবেন যে উত্স কোড থেকে আপনার বাইনারি রয়েছে এবং না অজানা পরিবর্তন সহ একটি বাইনারি (ধরে নিলে আপনি প্রথম স্থানে উত্সটির উপর নির্ভর করেন)।
লরেন্স

6
@ultrasawblade - আপনি স্পষ্টতই ভৌগলিক নন! <G> - সম্পূর্ণ মন্টির জন্য সেমি.বেল - ল্যাবস্ / WHO/ken/trust.html দেখুন ।
জো

32

উত্স ফাইলে মূল কোডটি বিকাশকারী যে কোনও ভাষায় (সি, সি ++, পাইথন ইত্যাদি) চয়ন করুন এবং জেনেরিক হিসাবে লিখিত হিসাবে এতে থাকে code এটি কোনও ডিস্ট্রো এবং কোনও ক্ষেত্রে অপারেটিং সিস্টেমের ক্ষেত্রে নির্দিষ্ট নয়।

একটি প্যাকেজ (উদাহরণস্বরূপ আরপিএম বা ডিইবি) হ'ল বাইনারি এক্সিকিউটেবল (বা ব্যাখ্যামূলক স্ক্রিপ্ট ইত্যাদি) আপনার নির্দিষ্ট ডিস্ট্রোর জন্য প্রাক-প্রস্তুত। সংকলনের জন্য উত্স প্রস্তুত করার কাজ (প্রয়োজনীয় প্রয়োজনীয় প্যাচ ইত্যাদি যোগ করা), প্রকৃত সংকলন, ডিস্ট্রো নির্দিষ্ট কনফিগার ফাইল তৈরি করা, প্রাক ও পোস্ট ইনস্টল স্ক্রিপ্টগুলি তৈরি করা ইত্যাদি প্যাকেজ রক্ষণাবেক্ষণকারী আপনার দ্বারা সম্পন্ন হয়।

অন্য কথায়, সমস্ত গাধার কাজ আপনার জন্য একটি প্যাকেজে হয়ে গেছে, আপনি যদি উত্স থেকে ইনস্টল করার সিদ্ধান্ত নেন তবে আপনাকে নিজেই এটি করতে হবে।

প্রায় সব ক্ষেত্রেই প্যাকেজ ব্যবহার করা আরও সহজ:

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

তবে, কখনও কখনও প্যাকেজযুক্ত সংস্করণটি একটি পুরানো সংস্করণ বা আরও খারাপ, কোনও প্যাকেজযুক্ত সংস্করণ নেই; এক্ষেত্রে আপনার একমাত্র বিকল্প হ'ল নিজেকে সংকলন করা। যদি আপনি তা করেন তবে আপনাকে নিম্নলিখিতগুলি বিবেচনা করতে হবে:

  • আপনার সিস্টেমে আপনাকে সমস্ত বিকাশকারী সরঞ্জাম ইনস্টল করতে হবে
  • আপনি আপডেট এবং পুনরায় সংশোধনের জন্য চেক করার জন্য দায়বদ্ধ থাকবেন
  • আপনাকে devপ্যাকেজ সহ সমস্ত নির্ভরতা ইনস্টল করা আছে তা নিশ্চিত করতে হবে - সেগুলির মধ্যে অনেকগুলি থাকতে পারে।
  • আপনার ডিস্ট্রোতে প্রত্যাশা অনুযায়ী কাজ না করা হলে আপনার সমস্যার ডিবাগ করতে হবে

আপনি যদি অতিরিক্ত প্রচেষ্টা চালাতে ইচ্ছুক হন তবে উত্স থেকে সংকলন করা আপনাকে এর সুবিধা দিতে পারে:

  • সর্বশেষ উপলব্ধ সংস্করণ অ্যাক্সেস
  • কর্মক্ষমতা / স্থিতিশীলতার জন্য সংকলন প্রক্রিয়াটি অপ্টিমাইজ করার বিকল্প
  • ভোগবিলাস!

নোট করুন যে কয়েকটি ডিস্ট্রোজের প্রাক-বিল্ট প্যাকেজগুলি বাইনারি এক্সিকিউটেবলগুলি সরবরাহ করে যা ইনস্টল ও চালানোর জন্য প্রস্তুত (RPM এবং DEB উদাহরণস্বরূপ), অন্য ডিস্ট্রো প্যাকেজগুলি সরবরাহ করে যা কেবল সংকলনের প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে স্বয়ংক্রিয় করে দেয়।

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

আর্ক লিনাক্সের একটি প্যাকেজিং সিস্টেম রয়েছে যেখানে মূলধারার প্যাকেজগুলি বাইনারি থাকে এবং PKGBUILDফাইলগুলি ব্যবহার করে সিস্টেমে অনেকগুলি অতিরিক্ত প্যাকেজ সংকলিত হয় ।


19

অন্যান্য উত্তরগুলি বাদে আমি কিছু যুক্ত করতে চাই:

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

প্রতিবার অ্যাপ্লিকেশন আপডেট হওয়ার সাথে সাথে আপনাকে নতুন সংস্করণটি আবার সংকলন করতে হবে, কেবল মনে রাখবেন যে আপনাকে প্রতি সপ্তাহে আপনার কিছু সময় ব্যয় করতে হবে।

যদি আপনি এটি বহন করতে না পারেন, প্যাকেজ রক্ষণাবেক্ষণকারীকে আপনার পক্ষে সেই কাজটি দেওয়া দেওয়া ভাল।


6

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

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

হ্যাঁ, আমি জানি, কম্পিউটারগুলি এখন খুব দ্রুত এবং আপনি যে কোনও প্রচেষ্টা বা ক্রিয়াকলাপগুলি খুব ব্যয়বহুল, তবে আপনার প্রোগ্রামটি বসে থাকার এবং অপেক্ষা করার তৃতীয় দিনে (এই পরিস্থিতিটির বিষয়ে আমি কথা বলছি) এই জাতীয় সত্য s সন্দেহজনক খুঁজছেন শুরু।

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


যেখানে আপনার সিপিইউকে পুরোপুরি কাজে লাগানোর জন্য এই ধরনের টুইটগুলি তারতম্য ঘটায় (এটি কেবলমাত্র কিছু বিশেষায়িত কোডেই প্রাসঙ্গিক; প্রবাদটি হ'ল 95% সময় কোডের 5% ব্যয় করা হয়, যাতে অন্যান্য 95% কে অনুকূল করা যায়) কোনও লক্ষণীয় তাত্পর্য তোলে না; এবং আজকের বেশিরভাগ প্রোগ্রামগুলি যে কোনও উপায়ে ব্যবহারকারীদের মন তৈরি করার জন্য অপেক্ষা করে থাকে 99%), প্রোগ্রামগুলি স্টার্টআপে সিপিইউর উপর নির্ভর করে বিভিন্ন কোড পরিবর্তন করার প্রস্তাব দেয়।
ভনব্র্যান্ড

0

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


1
এটি একটি আকর্ষণীয় উত্তরের মতো ("উভয় বিশ্বের সেরা") মনে হচ্ছে তবে আপনি এখানে কী বোঝাতে চেয়েছেন তা আমি পুরোপুরি বুঝতে পারি না: "আপনার বিতরণ থেকে উত্স প্যাকেজগুলি শুরু করে আপনার নিজস্ব প্যাকেজগুলি তৈরি করা"। আপনি কি পুনরায় রেকর্ডিং / ব্যাখ্যা করতে কিছু মনে করবেন?
জানু owsঙ্কোভস্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.