স্বেল্ড ওভার পবিল্ডার কেন ব্যবহার করবেন?


21

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

সোবার্ড ওভার পবিল্ডার ব্যবহারে কী কী সুবিধা রয়েছে?

উত্তর:


27

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

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

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

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

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

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

সংক্ষিপ্তসার: আপনি pbuilder দিয়ে খুশি হন, এটি ব্যবহার চালিয়ে যান। আপনি যদি স্বেল্ডের সাথে খেলতে চান তবে নির্দ্বিধায়। আপনি যে ধরণের কাজের জন্য ব্যবহার করতে স্বাচ্ছন্দ্য বোধ করছেন তা হ'ল সেরা সরঞ্জাম।


আপনি যে আকর্ষণীয় কথা বলছেন sbuildতা লঞ্চপ্যাড চালানোর পরেও উবুন্টুর প্যাকেজগুলি তৈরি করতে ব্যবহৃত হয় (যা আমি বুঝতে পেরেছি) তা pbuilder
অ্যালেক্সিস উইল্ক

19

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

আপনি যদি উবুন্টু ১২.১০ বা তার পরে থাকেন তবে দুর্দান্ত পুবিল্ডার-স্ক্রিপ্টগুলি ইনস্টল করার বিষয়ে নিশ্চিত হন, যা কাঁচা পুবিল্ডারের চারপাশে অত্যন্ত বন্ধুত্বপূর্ণ মোড়কের সেট।

আপনি যদি উবুন্টু 12.04 এ থাকেন তবে আপনি ব্যাকপোর্টের সংগ্রহস্থল থেকে পুবিল্ডার-স্ক্রিপ্টগুলি ইনস্টল করতে পারেন।

এখন আসুন, সমতুল্য ক্রিয়াকলাপগুলির ব্যবহারকারী-বন্ধুত্বের তুলনা এবং বিপরীত করি। এই উদাহরণগুলিতে, আমি x86 এ হোস্ট করা একটি এআরএম ক্রুট ব্যবহার করে হাঁটব, তবে ধারণাগুলি এখনও x86 এ হোস্ট করা একটি এক্স 86 ক্রুটের ক্ষেত্রে প্রযোজ্য। মনে রাখবেন, আমি পুবিল্ডার-স্ক্রিপ্টের মোড়ক ব্যবহার করছি।

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

একটি ক্রুট তৈরি করুন

mk-sbuild --arch=armhf quantal

বনাম

# in addition to the chroot, creates a new, empty directory named ~/Projects/quantal-armhf
pcreate -a armhf -d quantal quantal-armhf

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

উত্স প্যাকেজ ডাউনলোড করুন

# standard debian/ubuntu method, works in any directory
apt-get source casper

বনাম

# 'quantal-armhf' is the name of the chroot created earlier
# results in downloading package to: ~/Projects/quantal-armhf/casper/
pget quantal-armhf casper

রায়: সিল্ডের সামান্য প্রান্ত , কারণ আপনি স্ট্যান্ডার্ড ডেবিয়ান / উবুন্টু সেরা অনুশীলনটি ব্যবহার করছেন। পেজে ব্যবহৃত কনভেনশনটি প্রথমে অদ্ভুত বলে মনে হতে পারে তবে আমি যেহেতু উবুন্টুর একাধিক রিলিজ জুড়ে একাধিক প্যাকেজগুলিতে কাজ করি, তাই আমি এটিটি আরোপিত সংস্থাটি পছন্দ করি। এটিও নোট করুন যে অ্যাপটি-গেট উত্সটি যেখানেই আপনি কমান্ডটি চালান সেখানেও উত্সটি বের করে এবং আপনাকে * .orig.tar.gz, * .deban.tar.gz, * .dsc এবং বর্ধিত ডিরেক্টরিটি রেখে যা আমি ব্যক্তিগতভাবে সন্ধান করি অগোছালো হতে। সংগঠনের সৌন্দর্য শীঘ্রই আসছে, আমি প্রতিশ্রুতি দিচ্ছি।

ক্রুট, ইফেমেরাল সংস্করণ প্রবেশ করান

schroot -c quantal-armhf

বনাম

ptest quantal-armhf

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

ক্রুট প্রবেশ করান, পরিবর্তনগুলি সংরক্ষণ করুন

sudo schroot -c quantal-armhf-source -u root

বনাম

ptest quantal-armhf --save

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

ক্রুটের মধ্যে একটি প্যাকেজ তৈরি করুন

debuild -S -sa -I -i
sbuild -A --arch armhf -d quantal-armhf /path/to/casper-1.315.dsc

বনাম

# must be invoked when pwd is ~/Projects/quantal-armhf/casper/casper-1.315
pbuild

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

দ্বিতীয় বার, ক্রুটে একই প্যাকেজ তৈরি করুন

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

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

সারাংশ

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

আশাকরি এটা সাহায্য করবে.


উজুন্টু-ডিভ-টুলস প্যাকেজ থেকে পজেটটি 'পুল-এলপি-উত্স' এর সাথে দুর্দান্তভাবে অনুরূপ। apt-get উত্স এমন একটি বিষয় যা আমি মূলত কখনই ডিস্ট্রো দেবের জন্য ব্যবহার করি না। এটি ব্যবহারকারীদের লক্ষ্য, তাই তারা ডেভেলপারদের নয়, "আমাকে এই প্যাকেজের উত্স দিন" বলতে পারেন।
স্প্যাম্যাপস

1
এরর .. আহ্ ... একটি প্যাকেজিং ডিরেক্টরিতে পাতাল যেমন ঠিক তেমন কাজ করে in দুঃখিত, তবে -1 এর জন্য দয়া করে এটি ঠিক করুন এবং ঠিকানা দিন এবং আমি আমার -1
স্প্যাম্যাপস

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

@ স্প্যাম্যাপস, আমি আসলে pbuilder-dist --login --save-after-loginবিল্ড এনভায়রনমেন্টটিকে সামান্য সাম্প্রতিক করার জন্য এই আদেশটি ব্যবহার করি কারণ উদাহরণস্বরূপ, আমার একটি বিশেষ প্যাকেজ প্রয়োজন এবং এর উত্স list তালিকাতে প্রবেশের ডিফল্টরূপে অস্তিত্ব নেই। সুতরাং ক্রুট পরিবেশটি টুইট করতে সক্ষম হবেন বলে মনে হয়।
অ্যালেক্সিস উইল্ক

আপনার সমালোচনার সমালোচনা করার জন্য দুঃখিত, তবে - "রায়: পবিল্ডের জন্য সামান্য প্রান্ত, টাইপ করতে কম অক্ষর কম অক্ষর" - এটি একটি অত্যন্ত নির্বোধ যুক্তি, সত্যই গুরুতর নয়। 5 টি কম অক্ষর টাইপ করা কোনও ফ্যাক্টর নয় যখন আমরা এসডাব্লু সিস্টেমগুলির সাথে তুলনা করি, সম্ভবত আরও অনেক গুরুত্বপূর্ণ পার্থক্য বিদ্যমান।
টেলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.