সফ্টওয়্যার কেন একটি ফাইলে প্যাকেজ হয় না?


15

আমরা দেখতে পাই বেশিরভাগ উইন্ডোজ সফ্টওয়্যার একটি একক এক্সিকিউটেবল ফাইলে প্যাকেজড। আমি যখন সেটআপ ফাইলটি ডাবল ক্লিক করি তখন এটি সমস্ত ফাইল, বাইনারি এবং লাইব্রেরি সেট করে।

আমি উবুন্টু বা আরও সাধারণভাবে লিনাক্স প্যাকেজগুলির নির্ভরতা বুঝতে পারি। তবে আমি অবাক হই, কেন এগুলি বিদ্যমান? সমস্ত নির্ভরতা সহ একক ফাইল তৈরি করা কি সম্ভব নয়? এই পদ্ধতিতে সমস্যাগুলি কী?

বিশদে কারণ জানাতে চেষ্টা করুন।

উত্তর:


17

নির্ভরতাগুলি প্রোগ্রামের সাথে অন্তর্ভুক্ত না হওয়ার মূল কারণটি হ'ল যাতে সিস্টেমের উপাদানগুলি সহজেই আপডেট করা যায়।

একটি নির্ভরতা পাঁচটি বিভিন্ন প্রোগ্রাম দ্বারা ব্যবহৃত হয় তা কল্পনা করুন। যদি সেই নির্ভরতার মধ্যে কোনও সুরক্ষা দুর্বলতা পাওয়া যায় তবে পাঁচটি অনুলির চেয়ে কেবল একটি অনুলিপি আপডেট করতে হবে।

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


.Deb এবং .exe প্যাকেজিংয়ের মধ্যে মূল পার্থক্যটি হ'ল উবুন্টু সফ্টওয়্যারটি একটি ফাইলে প্রকাশিত হয় না। মূল পার্থক্য হ'ল একটি সফ্টওয়্যার সংগ্রহস্থলের সম্পূর্ণ ধারণা যা প্যাকেজ ধারণ করে এবং আপডেটগুলি সহজেই সরবরাহ করা যেতে পারে।

এটি সরাসরি ইন্টারনেট সংযোগ ব্যতীত কম্পিউটারগুলির জন্য সমস্যাযুক্ত হতে পারে। এপিটোনসিডি এর মতো সরঞ্জাম রয়েছে যা এই অসুবিধাগুলি হ্রাস করতে সহায়তা করে।


2
কখনও কখনও ইন্টারনেটে সঠিক অ্যাক্সেস ছাড়াই আমাদের মতো ব্যবহারকারীদের সাথে বিষয়গুলি
আনোয়ার

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

1
তবে তারপরে, আপনার আসলে বৈশিষ্ট্যটি পছন্দ করা উচিত! কারণ, পাঁচবার কোনও লাইব্রেরি ডাউনলোড করার পরিবর্তে আপনি কেবল একবার এটি ডাউনলোড করুন। আপনার উবুন্টু ইনস্টলেশনটির প্রতিটি প্রোগ্রাম তার নিজস্ব জিটিকে + বা কিউটি ইনস্টলেশন সহ এসেছে! সেই জিনিসগুলি বিশাল
মাইকেল ওয়াইল্ড

4

এটি সম্পূর্ণ সত্য নয়। উবুন্টু সফ্টওয়্যারটি সাধারণত একটি একক .deb ফাইলে আসে। একেবারে সরল (এবং ত্রুটিযুক্ত) হওয়ার কারণে .deb ফাইলগুলি উইন্ডোজের জন্য সংবাদদাতা .exe ফাইল। উইন্ডোতে অন্তর্ভুক্ত সমস্ত প্রোগ্রাম অপারেটিভ সিস্টেমের (লাইব্রেরি) অন্যান্য ফাইলে নির্ভরতা ব্যবহার করে। বিভিন্ন ওএসে ইনস্টলেশন প্রক্রিয়াটি কমবেশি স্পষ্ট। আপনি যখন কোনও প্রোগ্রাম ডাউনলোড করতে উবুন্টু সফ্টওয়্যার কেন্দ্র ব্যবহার করেন আপনি কেবলমাত্র আপনার নির্ভরযোগ্যতাগুলি ডাউনলোড করেন যা আপনার সিস্টেমে ইনস্টল করা নেই এবং প্রকৃত প্রোগ্রাম ফাইলগুলি। এটি সিস্টেমে ডুপ্লিকেট ফাইলগুলি এবং ডুপ্লিকেট কার্যকারিতা যা সংঘাতের অবসান ঘটাবে তা দিয়ে ওভারলোড হওয়া থেকে বাধা দেয়।

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

আশা করি তা বোধগম্য হয়।


2
একদম ঠিক. এমনকি অন্যান্য ডিস্ট্রো (উবুন্টুর মতো তত ভাল নয়) .rpms ব্যবহার করে। একটি .exe, .deb, বা যাই হোক না কেন, এটি মূলত একটি বড় .Tar যে নিজেকে বিভিন্ন জায়গায় সরিয়ে নিয়ে যায়! উইন্ডোজে এটি প্রোগ্রাম ফাইলগুলিতে যায় এবং আপনাকে একটি অগ্রগতি বার দেখায়, তবে লিনাক্সে এটি আপনাকে আরও অনেক কিছু দেখায়।
উইন্ডোজস্কেপস্ট

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

1
এটির সংক্ষিপ্ত হওয়ার সর্বোত্তম উপায়টি হ'ল উইন্ডোজ ইনস্টলসিল্ড এবং এনএসআইএস এর মতো ইনস্টলার প্রোগ্রাম প্রস্তুতকারী has লিনাক্সের জন্যও এর মতো সরঞ্জাম রয়েছে। মোজোসেটআপ একটি জনপ্রিয়। আপনি যেখানে কখনও কখনও কোনও প্রোগ্রাম ডাউনলোড করেন এবং এতে একটি এক্সিকিউটেবল ফাইল থাকে (সাধারণত .sh বা .run এ শেষ হয়) এবং এটি আপনাকে একটি সামান্য উইজার্ড দেয়। এগুলি সাধারণত প্যাকেজ পরিচালকের সাথে কথা বলে না এবং তারা উইন্ডোতে ইনস্টলার প্রোগ্রামগুলির মতো অনেক কাজ করে। এই নোটটিতে, উইন্ডোজ ইনস্টলার (তার .smsi ফাইল সহ) তাদের শেষের দিকে সেই জগাখিচুড়ি পরিষ্কার করার চেষ্টার কিছু;)
ডিলান ম্যাককেল

আমি মনে করি লিনাক্সের উপায়গুলি উইন্ডোজ পদ্ধতির চেয়ে অনেক ভাল। তবে হ্যাঁ উইন্ডোজ উপায়গুলি সহজ এবং সহজ
আনোয়ার

2
উইন্ডোজ ফাইল বিন্যাসে অনুরূপ .debহয় .msi
এলিয়াহ কাগন

3

উবুন্টুতে, বেশিরভাগ সফ্টওয়্যার একক ফাইলে আসে। এটি একটি *.debডেবিয়ান প্যাকেজ ফাইল যা আপনার প্যাকেজ-পরিচালক থেকে ডাউনলোড, আনপ্যাক এবং ইনস্টল করা আছে।

উবুন্টু বেশিরভাগ উইন্ডোজ সফ্টওয়্যারের মতো স্ব-আহরণের এক্সিকিউটেবল থেকে সফ্টওয়্যার ইনস্টল করে না কেন?

কারণ স্ব আহরণের *.exeফাইলগুলি মেনে নেওয়া খুব বিপজ্জনক প্রস্তাব।

ডেবিয়ান / উবুন্টুর মতো একটি স্ব-উত্তোলনকারী এক্সিকিউটেবল এবং প্যাকেজিং সিস্টেমের মধ্যে সর্বাধিক সমালোচনা পার্থক্য:

  • নিরাপত্তা
  • স্বচ্ছতা
  • আরও দানাদার নিয়ন্ত্রণ

আরো বিস্তারিত:

নিরাপত্তা

উইন্ডোজ জগতে আপনাকে সেই একক *.exeফাইলে বিশ্বাস রাখতে হবে। কীভাবে একজন সত্যই নিশ্চিত হতে পারেন যে এটি নির্ভর করা যেতে পারে? আপনি কীভাবে জানবেন যে এটি কিছু ইনস্টল করে? আপনি কীভাবে নিশ্চিত হতে পারেন যে এটি আপনার পিছনের পিছনে অন্য কাজ করে না?

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

দানাদার নিয়ন্ত্রণ

একটি *.exeফাইলের সাহায্যে আপনি মূলত একটি কাজ করতে পারেন: এটি সম্পাদন করুন। উবুন্টুতে আপনি আপনার প্যাকেজ পরিচালকের সুবিধার্থে প্যাকেজটির বিবরণ, বিবরণ, কনফিগারেশন, স্বতন্ত্র ফাইলগুলি, সর্বশেষ পরিবর্তনগুলি, বাগ সংশোধন করা ইত্যাদি ইত্যাদি ইনস্টল করবেন কিনা তা সিদ্ধান্ত নেওয়ার আগে পরীক্ষা করতে পারেন।

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

স্বচ্ছতা

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

এটি বলেছে যে নিয়মগুলির ক্ষেত্রে সর্বদা ব্যতিক্রম রয়েছে তবে আমার পক্ষে সুরক্ষা এবং বিশ্বাসের অর্থ আমি আমার সিস্টেমের উপাদানগুলি ইনস্টল করার মানক উপায় হিসাবে যাচাই করা শক্ত hundreds


2

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


0

আসুন নির্ভরতা সম্পর্কে আমার বোঝার চেষ্টা করার চেষ্টা করি (হ্যাঁ, আমি উবুন্টু বা আরও সাধারণভাবে লিনাক্সের সফ্টওয়্যার পরিচালনা করার পদ্ধতি সম্পর্কে জানতাম I আমার বন্ধুদের)

উইন্ডোজ সফটওয়্যারগুলি বেশিরভাগই একটি ফাইলে প্যাকেজ হয়। এটি কি বোঝায় যে তাদের কোনও নির্ভরতা নেই?

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

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

প্রতিটি গেমের সাথে ডাইরেক্টএক্স কেন অন্তর্ভুক্ত করা হয়েছে সে সম্পর্কে আমি গুগলে এমন কিছু খুঁজে পেয়েছি।

এমনকি বাইনারিটির পরবর্তী সংস্করণটি ইতিমধ্যে ইনস্টল করা থাকলেও, সেই সংস্করণটি ব্যবহার করা যাবে না, এমনকি আপনার ডাইরেক্টএক্স ইনস্টলটি আপ টু ডেট রয়েছে কারণ আপনি ইনস্টলারটির আরও একটি সাম্প্রতিক সংস্করণ চালিয়েছেন যা সমস্ত ইনস্টল করার নিশ্চয়তা নেই run পূর্বের সংস্করণসমূহ. আরও খারাপ, x86 এর জন্য যদি কোনও সংস্করণ ইনস্টল করা থাকে তবে এটি x64 এর জন্য একই সংস্করণটি ইনস্টল হওয়ার গ্যারান্টি দেয় না, সুতরাং bit৪ বিট এবং ৩২ বিট গেমের একই সঠিক ইনস্টলার সংস্করণটি চালানোর প্রয়োজন হতে পারে তবে রান করার সময় বিভিন্ন প্ল্যাটফর্মকে লক্ষ্য করে।

পূর্ণ নিবন্ধের জন্য এখানে ক্লিক করুন । এটা পরিষ্কার যে তারা নির্ভরতা পরিচালনার সাথে খুব ভাল করছে না।

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

নির্ভরতা এই সমস্যা কীভাবে লিনাক্স পরিচালনা করে?

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

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