কেন প্যাকেজ সংগ্রহস্থলগুলিতে দেবিয়ান প্যাকেজগুলির পূর্ববর্তী সংস্করণগুলি বিলুপ্ত হয়? (সংস্করণ-নিয়ন্ত্রিত সিস্টেম কনফিগারেশনের জন্য অত্যন্ত প্রাসঙ্গিক)


38

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

সম্প্রতি আমরা একটি সমস্যায় পড়েছি যেখানে নির্দিষ্ট প্যাকেজ সংস্করণগুলি দেবিয়ান সংগ্রহস্থলে অনুপস্থিত ছিল। একটি উদাহরণ: "প্যাচ" প্যাকেজটি 2.7.5-1 + deb9u1 সংস্করণে প্রয়োজনীয় ছিল, তবে কেবল 2.7.5-1 + deb9u2 উপলব্ধ ছিল। আরেকটি, আরও গুরুতর উদাহরণ: "লিনাক্স-শিরোলেখ -৪.৯.০-৯-সাধারণ" প্রয়োজনীয় (সম্পর্কিত কার্নেল ইনস্টল করার কারণে) এবং কেবল "লিনাক্স-হেডার-৪.৯.০-১১-সাধারণ" উপলব্ধ।

এটি সিস্টেমের নির্দিষ্ট অবস্থার পুনরুত্পাদনকে অসম্ভব করে তোলে।

উপরের প্যাকেজগুলি কেবল উদাহরণ (যা আসলে আমি মুখোমুখি হয়েছি)। আমি সাধারণ সমস্যা বুঝতে এবং সমাধান করতে আগ্রহী।

এই আপডেটগুলির পিছনে ধারণাটি কী, 'পলস' প্যাকেজ এবং প্যাকেজ সংস্করণগুলি নেই?

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


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

2
stableকমপক্ষে পরের পয়েন্ট প্রকাশের আগ পর্যন্ত সামঞ্জস্য থাকে। স্থিতিশীল-আপডেট, পরীক্ষা এবং অস্থির মধ্যে কেবল কোনও প্রদত্ত প্যাকেজের সর্বশেষতম সংস্করণ থাকে। অন্য কিছু, আপনি চেহারা করতে হবে জন্য archive.debian.org (অথবা snapshot.debian.org যেমন এস কে এর উত্তর উল্লেখিত)
সি এ এস

5
এমন কোনও কারণ আছে যা আপনি নিজের রেপো চালাচ্ছেন না যার উপর আপনি প্রতিস্থাপন নীতি এবং পিন সংস্করণগুলি নিয়ন্ত্রণ করতে পারেন (যা ভবিষ্যতে স্বয়ংক্রিয়ভাবে ইনস্টলগুলি স্থানীয় করার সুবিধা পাবেন)?
এরিক টাওয়ার

2
নতুন linuxপিকেজি নামটি একটি ব্যতিক্রম: সাধারণভাবে, ডিবিয়ান স্ট্যাবিলিটির প্যাকেজগুলি একই প্যাকেজের নামে চলে এবং কেবল সংস্করণ নম্বর পরিবর্তন করে। linux-image-amd64নাম পরিবর্তন করে না এবং সর্বদা সর্বশেষতমের উপর নির্ভর করে linux-image-4.9.0-*। নতুন linux-image-4.9.0-*পিকেজি নামটি কিছু বাগফিক্স ব্যাকপোর্টের জন্য প্রয়োজনীয় বেমানান কার্নেল এবিআই পরিবর্তনগুলি চিহ্নিত করে এবং কাস্টম বিল্ট মডিউলগুলির প্রয়োজনীয় পুনর্নির্মাণের (ডিকেএম, ইত্যাদি) মোকাবেলার জন্য অনুমতি দেয়। একইভাবে linux-headers-*
অজস্র

1
এই আপডেটগুলি পিছনে ধারণা কি apt-get changelog packagename
অগ্নি

উত্তর:


64

নির্দিষ্ট সংস্করণটি সরিয়ে একটি নির্দিষ্ট সেটআপ পুনরুত্পাদন করতে সক্ষম হওয়াই আপনার প্রয়োজনীয়তা, দেবিয়ান নয়'s

দেবিয়ান যে কোনও প্রকাশে প্রতিটি বাইনারি প্যাকেজের কেবলমাত্র একটি সংস্করণ সমর্থন করে; এর সমমনা অংশটি হ'ল যে কোনও নির্দিষ্ট রিলিজের প্যাকেজ আপডেটগুলি যাতে রিগ্রেশনগুলির পরিচয় দেয় না, এবং যখন এই যত্নটি সম্ভব হয় না, তখন এই সত্যটি দলিল করার জন্য দুর্দান্ত যত্ন নেওয়া হয়। প্রদত্ত প্যাকেজের একাধিক সংস্করণ রাখা কেবলমাত্র সমর্থন বোঝা এবং পরীক্ষার প্রয়োজনীয়তাগুলিকে বাড়িয়ে তুলবে: উদাহরণস্বরূপ, প্যাকেজ রক্ষণাবেক্ষণকারীরা কেবলমাত্র বর্তমানে সমর্থিত সংস্করণগুলির পরিবর্তে তাদের ব্যবহার করা সমস্ত লাইব্রেরির তুলনায় আপডেট প্যাকেজগুলি পরীক্ষা করতে হবে ... প্যাকেজগুলি কেবলমাত্র যখন প্রয়োজন হয় তখনই একটি স্থিতিশীল রিলিজে আপডেট হয় ieএকটি গুরুতর ত্রুটি (সুরক্ষা সমস্যা সহ) ঠিক করতে। কার্নেলের ক্ষেত্রে, এর অর্থ কখনও কখনও কার্নেল এবিআই পরিবর্তিত হয় এবং প্যাকেজের নাম পরিবর্তিত হয় (নির্ভরযোগ্য প্যাকেজগুলির পুনর্নির্মাণে বাধ্য করা); সেখানে মেটা-প্যাকেজ যা আপনি হার্ড-কোডিং ABI- র (এর পরিবর্তে টান করতে পারেন linux-image-amd64, linux-headers-amd64ইত্যাদি)।

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

deb https://snapshot.debian.org/archive/debian/20190930T084755Z/ buster main

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

( উত্স প্যাকেজ সম্পর্কিত পরিস্থিতি কিছুটা জটিল, আর আর্কাইভগুলি লাইসেন্সের উপর নির্ভরশীলতার কারণে নির্দিষ্ট উত্সে কিছু উত্স প্যাকেজগুলির একাধিক সংস্করণ বহন করে that's তবে এটি এখানে প্রাসঙ্গিক নয়, কথায় কথায় বলতে গেলে দেবিয়ান কিছুটির একাধিক সংস্করণ সরবরাহ করে সমর্থিত রিলিজে বাইনারিগুলি: সিকিউরিটি রিপোজিটরিগুলি এবং আপডেট সংগ্রহস্থলগুলির আপডেটের সাথে বর্তমান পয়েন্ট রিলিজের বর্তমান সংস্করণ; পরবর্তী পর্বের রিলিজটি পরে ভাঁজ করা হয় So সুতরাং একটি পুনরুত্পাদনযোগ্য, সংস্করণ-নিয়ন্ত্রিত সিস্টেম কনফিগারেশনটি বজায় রাখা সম্ভব নয় স্ন্যাপশটগুলির অবলম্বন, যতক্ষণ আপনি এটি প্রতিবার পয়েন্ট রিলিজ করার সময় আপডেট করেন))


মনে রাখবেন যে কখনও কখনও কিছু পূর্ববর্তী সংস্করণ উপলব্ধ থাকে - apt-cache madison packagenameএমন সমস্ত সংস্করণ দেখাবে যা aptকনফিগার করা সংগ্রহস্থলগুলির মাধ্যমে দেখতে পারে।
ivanivan

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

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

2
হ্যাঁ, এটা সঠিক।
স্টিফেন কিট

3
@ ফ্লোট নোট, এই পয়েন্ট রিলিজ (যেমন ডেবিয়ান এক্স ৯.৯, বা এক্স ৮.৮) কেবল ডাউনলোডযোগ্য আইসোর জন্যই বোঝানো হয়, সুতরাং নতুন ইনস্টলেশনগুলি প্রচুর প্যাকেজ ডাউনলোড করে না। সংগ্রহস্থলগুলিতে, বিন্দু প্রকাশের কোনওটির মধ্যে পার্থক্য নেই, আপনি সর্বদা সর্বশেষতম প্যাকেজটি পান।
ব্রায়াম

15

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

সক্ষম সিস্টেমের অবস্থা পুনরুত্পাদন করতে আপনার নিজের আয়না বজায় রাখা উচিত। এই পদ্ধতিতে আপনার এমনকি সাধারণ সিস্টেমের জন্য একটি উত্পাদন অবস্থা এবং নতুন কনফিগারেশনের জন্য বেশ কয়েকটি পরীক্ষার রাজ্য থাকতে পারে।

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


8

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

যখন একটি সিস্টেম সেটআপ রেকর্ডিং, কপি সংরক্ষণ করতে ভুলবেন না .debথেকে -files /var/cache/apt/archives/। আপনি ব্যবহার করতে পারেন apt-get download

কোনও সিস্টেম সেটআপ পুনরুদ্ধার করার সময়, aptসম্ভাব্য বিপজ্জনক স্বয়ংক্রিয় ক্রিয়াকলাপগুলি এড়ানোর জন্য আপনাকে খুব কঠোর হতে হবে ।

dpkgআপনি যা চান ঠিক তা ইনস্টল করতে সরাসরি ব্যবহার করা সহজ হবে ।


6
আইপিওর আরও ভাল পদ্ধতির একটি স্থানীয় এপিটি ক্যাশে ব্যবহার করা হবে। এটি আপনার তৃতীয় অনুচ্ছেদে সমস্যাগুলি এড়ায় এবং ফসল কাটাও এড়ানো যায় /var/cache/apt
স্টিফেন কিট

3
এর দুটি রূপ রয়েছে - একটি হ'ল পুরো রেপো ক্লোন করতে অ্যাপ্ট-মিরর জাতীয় কিছু ব্যবহার করা, অন্যটি কেবল নির্দিষ্ট প্যাকেজ এবং নির্ভরতা ডাউনলোড করা । তারপরে দির স্ন্যাপশট করুন - যেমন বিটিআরএফএস হিসাবে pkgs-20190501, তারপরে স্ন্যাপশট দিরকে রেপো হিসাবে প্রকাশ করুন। নির্মাণের সময়, http://debmirror/pkgs-20190501/...উত্সযুক্ত তালিকাতে তালিকাভুক্ত রেপো ইউআরএল (উদাহরণস্বরূপ ) রাখুন, তারপরে অ্যাপটি-গেট আপডেট চালান, অ্যাপ্লিকেশন ইনস্টল করুন $ pkgs, ইত্যাদি
বাইন করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.