আমি ডেবিয়ান আইআরসি চ্যানেলে কিছু রক্ষণাবেক্ষণকারীদের সাথে কথা বলেছি : //irc.debian.org , ঠিক একই জিনিস জিজ্ঞাসা করেছে, এবং সাধারণ ছিল:
সমাধান # 1:
একক কোডবেস হিসাবে তাদের উত্স ফাইলগুলি অনুলিপি করে আপনার প্যাকেজে নির্ভরতা একীকরণ করা খুব ভ্রান্ত। এটি এমন প্যাকেজিং সিস্টেমের উদ্দেশ্যকে পরাস্ত করবে যা নির্ভরতা, আপডেট, সংস্করণ ইত্যাদি পরিচালনা করে that
সমাধান # 3:
বাইনারি ( .deb
) ইনস্টল করার সময় নন-ডেবিয়ান প্যাকেজগুলি অন-ফ্লাইয়ে ডাউনলোড করা একটি গুরুতর সুরক্ষা ঝুঁকি, অবশ্যই কোনও সংখ্যা নয়। এমনকি আপনি এটিগুলি বের করে নির্ভরতাগুলিও পরীক্ষা করতে পারবেন না deb
, কারণ সেগুলি ইনস্টল সময়ে ডাউনলোড এবং ইনস্টল করা আছে। এটি এমন একটি পদ্ধতির যা সম্পূর্ণরূপে সংগ্রহস্থল সিস্টেমকে বাইপাস করে। কোনও সংশ্লিষ্ট ব্যবহারকারী এমন একটি প্যাকেজ নিয়ে খুশি হতে পারবেন না যা পর্দার আড়ালে (এবং হিসাবে root
মনে রাখবেন!) অবিশ্বস্ত উত্স থেকে অতিরিক্ত অবিশ্বস্ত সফ্টওয়্যার ডাউনলোড করে। হ্যাঁ, এর জন্য DEBIAN/postinst
(বা preinst
) ফিডিং এবং একটি wget
(বা, আপনার ক্ষেত্রে,pip install
), এবং এটি হ'ল ফ্ল্যাশ, ওরাকল জাভা, বাষ্প এবং অন্যান্যরা গ্রহণ করেছে। তবে এটি মালিকানাধীন, ক্লোজড সোর্স সফ্টওয়্যার, সুতরাং তাদের সুরক্ষা যাইহোক, কোনওটিই নয়।
সমাধান # 1.5:
আপনি এটা উল্লেখ না, কিন্তু আপনি শুধুমাত্র এ নির্ভরতা সংহত পারে বিল্ড সময় , অর্থাৎ উৎস প্যাকেজ ( .orig.tar.gz
, .debian.tar.gz
, .dsc
, ত্রয়ী) PyPi থেকে ডাউনলোড "বাইনারি" প্যাকেজ (তৈরি করা দ্বারা .deb
)। এর জন্য নির্দেশাবলী pip install
wouldুকে পড়বে debian/rules
( debian
বাইনারি প্যাকেজের বিপরীতে লোয়ারकेসটি লক্ষ্য করুন ), এবং আপনি ইস্যু করলে debuild
বা কার্যকর করা হবে dpkg-buildpackage
।
এটি # 1 এবং # 3 এর মাঝামাঝি। এটি # 3 এর কয়েকটি সমস্যা হ্রাস করে (তবে সমাধান করে না!): অন্তত আপনি চূড়ান্ত পণ্যটি পরিদর্শন করতে পারেন এবং .deb
ইনস্টলের সময়ে ইন্টারনেট অ্যাক্সেসের প্রয়োজন হবে না। সমস্ত ঝুঁকি এবং বোঝা চূড়ান্ত ব্যবহারকারী থেকে প্যাকেজ রক্ষণাবেক্ষণকারীকে স্থানান্তরিত হয়। তবে, # 1 এর মতো একই সমস্যা রয়েছে কারণ এটি বেশিরভাগ প্যাকেজিং সিস্টেমের অবকাঠামোকে ছাড়িয়ে যায়। সামগ্রিকভাবে, হ্যান্ডলিং নির্ভরতা (সংস্করণ, আপডেট, প্রয়োজনীয়তা, দ্বন্দ্ব) কেন dpkg
/ apt
প্রথম স্থানে তৈরি হয়েছিল! :)
সমাধান # 2:
ওয়ান মুক্ত রাইট ওয়ে ™ । আপনি আপনার নির্ভরতার জন্য ডেবিয়ান প্যাকেজ তৈরি করেন, আপনার প্যাকেজে প্রয়োজনীয় হিসাবে তাদের তালিকাভুক্ত করুন এবং সমস্ত .debs
উত্স বা উত্স প্যাকেজ পাঠিয়ে দিন ।
সেখান থেকে আপনার কাছে অনেকগুলি বিকল্প রয়েছে:
ডেবিয়ানের অন্তর্ভুক্তির জন্য উত্স প্যাকেজগুলি, আপনার সফ্টওয়্যার এবং এর নির্ভরতা উভয়ই জমা দিন । যদি স্বীকৃত হয় তবে সেগুলি উবুন্টুর মতো সমস্ত ডেরাইভেটিভ সহ সমস্ত দেবিয়ান ব্যবহারকারীদের কাছে স্বয়ংক্রিয়ভাবে উপলব্ধ।
উত্স প্যাকেজগুলি লঞ্চপ্যাডে আপলোড করুন , সুতরাং এমন কোনও পিপিএ তৈরি করুন যা কোনও উবুন্টু ব্যবহারকারী (এবং লিনাক্স মিন্টের মতো এর ডেরাইভেটিভস) সহজেই যুক্ত এবং ইনস্টল করতে পারে
আপনার ওয়েবসাইটে আপনার নিজস্ব ডেবিয়ান সংগ্রহস্থলটি হোস্ট করুন, যে কোনও ডেবিয়ান-ভিত্তিক সিস্টেমের ব্যবহারকারীরা তাদের যোগ করতে পারে /etc/apt/sources.list.d
এবং apt
ডাউনলোড, ইনস্টল এবং আপডেট রাখতে অবকাঠামো ব্যবহার করতে পারে (উপরের মত!)
.deb
সরাসরি ডাউনলোড এবং ইনস্টল করার জন্য ফাইলগুলি হোস্ট করুন । কোনও apt
বা স্বয়ংক্রিয় আপডেটগুলি চিন্তার সাথে জড়িত।
হিসাবে কিভাবে (! খুব এবং আপনার পাইথন সফটওয়্যার) আপনার PyPi নির্ভরতা প্যাকেজ, সেখানে সরঞ্জাম ও রেফারেন্স যে প্রক্রিয়া সহজ করতে একটি নম্বর আছে:
এবং অনেক দরকারী তথ্যসূত্র:
সাহায্য দরকার? এগুলি পরীক্ষা করে দেখুন: