যে কোনও ওএসে আরও সাম্প্রতিক প্যাকেজগুলি চাওয়া একটি সাধারণ সমস্যা। দেবিয়ানের মুক্তির চক্র সাম্প্রতিক বছরগুলিতে গড়ে গড়ে 2 বছর হয়েছে, সুতরাং এই চক্রের শেষের দিকে, এটি সম্ভবত আরও চাপের বিষয়। এটি প্রশমিত করার একটি উপায় হ'ল স্থিতি প্রকাশের চক্রের শেষের দিকে পরীক্ষার দিকে যাওয়া, যখন পরবর্তী সংস্করণটি প্রায় স্থিতিশীল থাকে। এটি পরীক্ষা-নিরীক্ষা এবং / বা অস্থির পাশাপাশি আরও স্থিতিশীল হওয়ার বিষয়ে কথা বলছে কিনা তা প্রশ্ন থেকে পরিষ্কার নয়। নির্বিশেষে, সর্বাধিক সাম্প্রতিক সংস্করণ থাকা একটি সমস্যা হতে পারে এমনকি যদি অস্থিতিশীল চলমান হয় তবে সাম্প্রতিকতম সংস্করণটি এখনও প্যাকেজ করা হয়নি। ডেবিয়ান বিকাশকারী / প্যাকেজররা স্বেচ্ছাসেবক, তাই প্যাকেজটি ক্ষীণ হওয়ার ফলে তারা বিরক্ত হতে পারে বা অন্য জিনিসগুলিতে ব্যস্ত হতে পারে।
সরলতা এবং নিখুঁততার জন্য আমি অনুমান করি যে এর পরে নিম্নলিখিতটি হল যে কোনও প্যাকেজকে স্থিতিশীলভাবে ব্যাকপোর্ট করার পরিকল্পনা রয়েছে তবে এটি আরও সাধারণভাবে প্রযোজ্য। সুতরাং, আমি যদি এমন একটি সফটওয়্যারটির একটি সাম্প্রতিক সংস্করণ চাই যা স্থিত অবস্থায় উপস্থিত না হয়, একটি আনুমানিক ক্রমে চাই want
ডেবিয়ান ব্যাকপোর্টগুলিতে প্যাকেজটি দেখুন । কখনও কখনও আপনি এমন একটি প্যাকেজ খুঁজে পেতে পারেন যা আপনার উদ্দেশ্যগুলি পূরণ করার জন্য যথেষ্ট সাম্প্রতিক। যাইহোক, প্রায়শই এমন অবস্থা হয় যে এই প্যাকেজগুলি অস্থির বা পরীক্ষামূলক বা উজানের সংস্করণটির সাথে তুলনায় পুরানো হয়।
পরীক্ষা, অস্থির বা পরীক্ষামূলক থেকে সরাসরি প্যাকেজটি ইনস্টল করার চেষ্টা করুন। আপনি যে কোনও সংস্করণ থেকে ইনস্টল করার চেষ্টা করছেন তা থেকে যদি স্থিতিশীলটি খুব বেশি না সরে যায় তবে এটি কার্যকর হতে পারে। আপনি যদি জানবেন যে সিস্টেমটি সাম্প্রতিক সংস্করণ থেকে বেসিক প্যাকেজগুলি ইনস্টল করতে বা আপগ্রেড করার চেষ্টা শুরু করে তবে এই পদ্ধতিরটি একটি খারাপ। মনে করুন আপনি তখন অস্থির থেকে ইনস্টল করার চেষ্টা করছেন
apt-get install packagename/unstable
চেষ্টা করার প্রথম জিনিস। স্থির স্থানে সংস্করণের সংস্করণগুলি সহ, এটি প্রায়শই ব্যর্থ হয়, কারণ এটি অস্থির থেকে অন্য প্যাকেজগুলির প্রয়োজন, এবং এই জ্বলনীয়তা অস্থির স্থলে packagename
ইনস্টল করার জন্য পর্যাপ্ত উচ্চতার পছন্দটিকে কেবলমাত্র আপ আপ করে দেয় । এর অর্থ কী বুঝতে না পারলে চলে যান এবং পড়ুন man
apt_preferences
। এটি অস্থির থেকে নির্ভরতা যুক্ত করে বহন করুন, এটি নিশ্চিত করুন যে এটি বেসিক প্যাকেজগুলি আপগ্রেড করার চেষ্টা করছে না। উদাহরণস্বরূপ, যদি এটি libc6 বা এক্স বা কেডিএ বা জিনোম আপগ্রেড করার চেষ্টা শুরু করে, অবিলম্বে বাতিল করুন। একই উত্স প্যাকেজ থেকে অন্যান্য প্যাকেজগুলি আপগ্রেড করার চেষ্টা করা হয় তবে এটি সাধারণত ভাল হয়, কারণ এগুলি সাধারণত একত্রে একত্রে একত্রিত হয়। বাইনারি প্যাকেজ কি উত্স প্যাকেজ নির্ভর করে তা দেখতে, করুন
apt-cache showsrc packagename
যেহেতু প্রচুর জিনিস GNU সি লাইব্রেরির উপর নির্ভর করে (libc6) এটি একটি সমস্যা হিসাবে ব্যবহৃত হত। সাম্প্রতিককালে, এপিআই স্থিতিশীল হয়েছে বলে মনে হচ্ছে, তাই এটি আপগ্রেড না করেই পালিয়ে যাওয়া এখন প্রায়শই সম্ভব। যদি কোনও প্যাকেজ স্থিতিশীলের উপর তার রানটাইম নির্ভরতাগুলি সন্তুষ্ট করে, তবে এখনও সঠিকভাবে কাজ করে না, একটি বাগ ফাইল করুন। যদি প্যাকেজার আপনাকে বলে যে এটি কোনও ত্রুটি নয় তবে সেগুলি ভুল। :-)
প্যাকেজটি নিজেকে পরীক্ষা, অস্থির বা পরীক্ষামূলক থেকে ব্যাকপোর্ট করুন।
উপরে উল্লিখিত হিসাবে, ব্যাকপোর্টগুলি একটি বিকল্প, তবে প্রায়শই এই প্যাকেজগুলি অস্থির বা পরীক্ষামূলক বা উজানের সংস্করণের তুলনায় পুরানো হয়।
এর জন্য প্রায়শই পুনরাবৃত্ত নির্ভরতা বিল্ড লুপ টাইপ জিনিস প্রয়োজন হতে পারে। আপনার সাথে প্রথমে বিল্ড নির্ভরতা পাওয়া দরকার
apt-get build-dep packagename
যদি এটি ব্যর্থ হয় কারণ একটি নির্ভরতা যথেষ্ট সাম্প্রতিক নয়, আপনাকে প্রথমে সেই নির্ভরতা ব্যাকপোর্ট করতে হবে। এটি নিয়ন্ত্রণের বাইরে ছিটকে যেতে পারে। যদি আমি 2 টিরও বেশি পুনরাবৃত্তির সাথে ডিল করতে হয় তবে আমি সাধারণত ছেড়ে দিই। তবে খেয়াল করুন, প্রকৃত নির্ভরতা যেমন বলা হয়েছে তেমন শক্ত হয় না। একটি পুরানো সংস্করণ কাজ করতে পারে। প্যাকেজারটি প্রায়শই কোনও বিল্ড (বা, প্রকৃতপক্ষে, রানটাইম) নির্ভরতা যা কাজ করবে তার প্রাচীনতম সংস্করণ সন্ধান করার চেষ্টা করবেন না।
সংশ্লিষ্ট উজান থেকে প্যাকেজগুলির প্রাপ্যতা পরীক্ষা করুন। আদর্শভাবে এগুলি আপনার বিতরণ সংস্করণটির সাথে মিলবে তবে প্রয়োজনে আপনি এগুলি পুনর্নির্মাণ করতেও সক্ষম হতে পারেন।
পরীক্ষার / অস্থির / পরীক্ষামূলক ক্ষেত্রে সাম্প্রতিকতম প্যাকেজগুলির চেয়ে সাম্প্রতিক সফ্টওয়্যারটির সংস্করণের জন্য প্যাকেজ তৈরি করুন। এটি তুলনামূলকভাবে চ্যালেঞ্জিং হতে পারে তবে এখনও কখনও কখনও আশ্চর্যরকমভাবে কার্যকর হয়। প্রথমটি লক্ষ্য করার বিষয়টি হ'ল আপনি যদি ডিবিয়ানে ইতিমধ্যে থাকা প্যাকেজের আরও সাম্প্রতিক সংস্করণটি প্যাকেজ করার চেষ্টা করছেন, আপনি ইতিমধ্যে একটি বড় সুবিধা নিয়ে শুরু করছেন, যার সাথে কাজ করার জন্য আপনার বিদ্যমান প্যাকেজিং রয়েছে। শুধু কর
apt-get source packagename
এবং apt-get
প্যাকেজিং যেখানে থাকে সেখানে ডেবিয়ান সাব-ডিরেক্টরী সহ সংশ্লিষ্ট উত্স প্যাকেজটি ডাউনলোড করবে। আরও লক্ষ করুন যে এই দিনগুলিতে, এই প্যাকেজিং প্রায়শই কিছু ভার্সন কন্ট্রোল রিপোজিটরির ভিতরে থাকে ( গিটটি দেবিয়ানের সাথে জনপ্রিয় বলে মনে হয়) এবং স্থিতিশীল এপেট (বর্তমানে 0.8.10.3 ) আপনাকে সাহায্য করার সময় সাহায্য করার জন্য আপনাকে বলে দেয়
apt-get source
। আপনার এটি দেখতে হবে, কারণ প্যাকেজগুলির কাছে প্যাকেজিংয়ের আরও সাম্প্রতিক সংস্করণ থাকতে পারে যে কোনও মুক্তি প্যাকেজের সাথে সম্পর্কিত। যেমন।
$ apt-get source mercurial
Reading package lists... Done
Building dependency tree
Reading state information... Done
NOTICE: 'mercurial' packaging is maintained in the 'Svn' version control system at:
svn://svn.debian.org/python-apps/packages/mercurial/trunk
বিকল্পভাবে, আপনি সহজভাবে ব্যবহার করতে পারেন
apt-cache showsrc mercurial | grep Vcs
ভান্ডার তালিকা করতে।
যদি প্যাকেজটি খারাপভাবে পুরানো হয়ে যায়, আপনাকে
প্যাকেজটিতে পরিবর্তন করতে হবে , প্রয়োগিত প্যাচগুলি রিফ্রেশ করতে হবে তবে এটি এখনও একটি ভাল প্রারম্ভিক
পয়েন্ট। ডিবিয়ান মনে হয় ডিপিকেজি-উত্স 3.0 (কুইল্ট) ফর্ম্যাট
অনুসারে কুইল্টে প্যাকেজ পরিচালনা মানককরণের প্রক্রিয়ায় রয়েছে , যাতে প্যাচ সতেজকরণে সহায়তা করে।
আমি কীভাবে পিজিএফ- এর
দেবিয়ান প্যাকেজটি ব্যাকপোর্ট করেছি তার একটি বাস্তব জীবনের উদাহরণ দিয়ে শেষ করব । পিজিএফের সর্বশেষ প্যাকেজযুক্ত সংস্করণটি ২০০৮ সালে ২.০০ ছিল এবং তার পর থেকে ২.১০ প্রকাশিত হয়েছিল। মধ্যে আলোচনা দেখুন PGF (2.10) এর সবচেয়ে নতুন স্থিতিশীল সংস্করণে দয়া করে আপডেট একটি প্যাচ সঙ্গে, এবং আমার ফলোআপ বাগ PGF: 2.0 ডেবিয়ান প্যাকেজিং বিরুদ্ধে প্যাচ । দেখা যাচ্ছে যে, পিজিএফ-এর দেবিয়ান প্যাকেজিং খুব সহজ ছিল এবং এটি কাজ করতে আমাকে কেবল ২.১০ প্যাকেজিংয়ে একটি লাইন পরিবর্তন করতে হয়েছিল। আমি সমস্ত লিন্টিয়ান অভিযোগগুলিও শেষ করেছিলাম
, তবে এটি কঠোরভাবে alচ্ছিক ।