উত্তর:
এটি কোনও নির্দিষ্ট dpkg
সমস্যা নয় (যেমনটি আমার সম্পাদনার শিরোনাম প্রস্তাবিত)। বরং এটি প্রতিটি প্যাকেজ পরিচালক (যা সম্পর্কে আমি সচেতন) কিছু করেন; এবং সঙ্গত কারণে যদিও, আমি বুঝতে পারি কেন এটি বিভ্রান্তিকর হতে পারে।
প্যাকেজ পরিচালকরা ইনস্টল করা প্যাকেজগুলির তথ্য ট্র্যাক করতে ডাটাবেসে নির্ভর করে। যদি একাধিক ব্যবহারকারী একই সাথে একটি ডাটাবেসে লেখার চেষ্টা করেন, তবে এতে ডেটা দূষিত হওয়ার উচ্চ সম্ভাবনা রয়েছে (যা সত্যই সিস্টেমটির সাথে স্ক্রু হবে)।
ফলস্বরূপ, অনেক (সমস্ত?) প্যাকেজ পরিচালকরা লকফাইলে নির্ভর করে যে ডেটাবেসটি লেখা হচ্ছে তা সিগন্যাল করার জন্য, অন্য ক্লায়েন্টকে এটি করার অনুমতি দেওয়া উচিত নয়।
নোট করুন যে বুদ্ধিমান প্যাকেজ ম্যানেজাররা কখন কোনও অনুরোধটি কেবল পঠনযোগ্য তা নির্ধারণ করতে সক্ষম হতে পারে এবং ডাটাবেসটিকে লক করার প্রয়োজন নাও থাকতে পারে। ফলস্বরূপ; কিছু ক্রিয়াকলাপ একই সাথে চালানো সম্ভব হবে যেখানে অন্যেরা হবে না।
লক ফাইলটি একাধিক উদাহরণের সমান্তরাল সম্পাদন রোধ করতে ব্যবহৃত হয় ।
প্যাকেজ পরিচালকদের পক্ষে কেন এটি গুরুত্বপূর্ণ?
একটি প্যাকেজ ম্যানেজার - উচ্চ স্তরের ভিউ থেকে - এমন একটি প্রোগ্রাম যা হার্ড ডিস্কে জটিল পরিবর্তনগুলি প্রয়োগ করে ।
পরিবর্তনগুলি এক ধাপে করা যায় না ("পারমাণবিক"), তাই একাধিক পদক্ষেপ রয়েছে; অনেকগুলি পদক্ষেপ পূর্ববর্তী পদক্ষেপের ফলাফলের উপর নির্ভর করে।
সুতরাং, প্যাকেজ পরিচালককে প্রতিটি পদক্ষেপ কার্যকর করার আগে হার্ড ডিস্কটি বিশ্লেষণ করতে হবে, বা কেবল একবার এটি বিশ্লেষণ করতে হবে এবং এটি নিজেই যে পরিবর্তনগুলি প্রয়োগ হয় তার উপর নজর রাখে। প্রথম বিকল্পটি অত্যন্ত ধীর। দ্বিতীয়টির প্রয়োজন অন্য কোনও উদাহরণে পরিবর্তন করা উচিত।
প্রদর্শিত হতে পারে এমন আরও অনেক সমস্যা রয়েছে।
এটা অসম্ভব নয় একটি প্যাকেজ ম্যানেজার যা সমান্তরাল কাজ করতে পারেন বাস্তবায়ন, কিন্তু এটা হচ্ছে খুব মূল্য এটা হতে জটিল । হিসাবে হিসাবে, আপনি কতটা জটিল তা ভাবতে পারবেন না। সত্যিই।
dkpg
(এবং rpm
অন্যান্য অন্যান্য traditionalতিহ্যবাহী প্যাকেজ ম্যানেজার) বিশ্বব্যাপী প্যাকেজ ইনস্টল করে কাজ করে, যার অর্থ প্যাকেজগুলি একে অপরের সাথে বিরোধ করতে পারে (যেমন A
এবং B
একই সময়ে ইনস্টল করা যায় না, কারণ তারা উভয়ই ইনস্টল করে /usr/lib/libfoo.so
)। প্যাকেজ পরিচালকদের অবশ্যই এই জাতীয় দ্বন্দ্বগুলি সনাক্ত করতে হবে এবং সিস্টেমটিকে একটি সুসংগত অবস্থায় রাখার জন্য এ জাতীয় ইনস্টলেশন অনুরোধগুলি প্রত্যাখ্যান করতে হবে। একই সময়ে প্যাকেজ পরিচালকের একাধিক উদাহরণ চলমান থাকা খুব জটিল এবং ত্রুটির প্রবণ হবে।
সংঘাত-মুক্ত প্যাকেজ পরিচালনাকারীরা (যেমন http://0install.net ) একাধিক প্যাকেজ সমান্তরালে ইনস্টল করার অনুমতি দিতে পারে এবং এর জন্য লক ফাইলের প্রয়োজন নেই ( A/libfoo.so
এবং B/libfoo.so
বিভিন্ন ডিরেক্টরিতে যাবে)।
1 একই সাথে সিস্টেমে উপস্থিত থাকা এবং উপলব্ধ থাকা উভয় অর্থেই সমান্তরাল এবং একই সাথে সিস্টেমে ডাউনলোড এবং যুক্ত হওয়া অর্থে।