অ্যাপটি সরঞ্জাম ব্যবহার করে কীভাবে প্যাকেজ আপডেটগুলি অক্ষম/লক বা ব্ল্যাকলিস্ট করতে হবে


এপিটি মানে লিনাক্স ভিত্তিক সিস্টেমে পাওয়া অন্য প্যাকেজ ম্যানেজার অ্যাডভান্সড প্যাকেজিং টুল Tool প্রাথমিকভাবে .deb প্যাকেজগুলির সাথে কাজ করার জন্য dpkg এর ফ্রন্ট-এন্ড হিসাবে ডিজাইন করা হয়েছে, অ্যাপটি ম্যাক ওএস, ওপেন সোলারিস ইত্যাদিতে তার দৃশ্যমানতা প্রদর্শন করতে সফল হয়েছে

ডেবিয়ান প্যাকেজ পরিচালনা পরিচালনার জন্য এপিটি এবং ডিপিকেজি কমান্ডগুলি শিখতে এবং আয়ত্ত করতে চান, তারপরে আমাদের গভীরতার নিবন্ধগুলি ব্যবহার করুন যা উভয় সরঞ্জামে 30+ এরও বেশি উদাহরণ কভার করবে।

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

1. হোল্ড/আনহোল্ড বিকল্পের সাথে ‘অ্যাপটি-চিহ্ন’ ব্যবহার করে প্যাকেজটিকে অক্ষম করুন/লক করুন

কমান্ড অপ্ট-চিহ্নটি কোনও সফ্টওয়্যার প্যাকেজটিকে স্বয়ংক্রিয়ভাবে ইনস্টল করা হিসাবে চিহ্নিত বা চিহ্নমুক্ত করবে এবং এটি বিকল্প হোল্ড বা আনহোল্ড সহ ব্যবহৃত হয়।

  1. হোল্ড করুন - এই বিকল্পটি প্যাকেজটিকে পিছনে রাখা হিসাবে চিহ্নিত করতে ব্যবহৃত হয় যা প্যাকেজটি ইনস্টল, আপগ্রেড বা অপসারণ থেকে আটকাবে।
  2. আনহোল্ড - এই বিকল্পটি প্যাকেজটিতে থাকা পূর্ববর্তী সেটটিকে মুছে ফেলার জন্য ব্যবহৃত হয় এবং প্যাকেজ ইনস্টল, আপগ্রেড এবং সরানোর অনুমতি দেয়

উদাহরণস্বরূপ, apache2 ইনস্টল, আপ-গ্রেডেশন বা আনইনস্টল করার জন্য অনুপলব্ধ একটি প্যাকেজ তৈরি করার জন্য, আপনি রুট সুবিধাগুলি সহ টার্মিনালে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

# apt-mark hold apache2

আপডেটের জন্য এই প্যাকেজটি উপলভ্য করতে, কেবল ‘আনোল্ড’ দিয়ে ‘হোল্ড’ প্রতিস্থাপন করুন।

# apt-mark unhold apache2

এপিটি পছন্দসমূহ ফাইল ব্যবহার করে প্যাকেজ আপডেটগুলি ব্লক করা হচ্ছে

নির্দিষ্ট প্যাকেজের আপডেটগুলি অবরুদ্ধ করার আরেকটি উপায় হ'ল /ইত্যাদি/অ্যাপটি/পছন্দসমূহ বা /etc/apt/preferences.d/official-package-repositories.pref ফাইল। এই ফাইলটিতে ব্যবহারকারী দ্বারা নির্দিষ্ট করা অগ্রাধিকার অনুযায়ী নির্দিষ্ট প্যাকেজ আপডেটগুলি আপডেট বা ব্লক করার দায়িত্ব রয়েছে responsibility

প্যাকেজটি অবরুদ্ধ করতে আপনাকে কেবল তার নাম, অতিরিক্ত বৈশিষ্ট্য এবং আপনি এটিতে কী অগ্রাধিকার নিতে চান তা লিখতে হবে। এখানে, অগ্রাধিকার <1 প্যাকেজটি ব্লক করবে।

যে কোনও প্যাকেজ ব্লক করার জন্য, কেবল /ইত্যাদি/অ্যাপটি/পছন্দগুলি ফাইলটিতে তার বিশদটি প্রবেশ করুন:

Package: <package-name> (Here, '*' means all packages)
Pin: release *
Pin-Priority: <less than 0>

উদাহরণস্বরূপ প্যাকেজ অ্যাপাচি 2-র আপডেটগুলি ব্লক করার জন্য এন্ট্রিটি দেখানো হয়েছে:

Package: apache2
Pin: release o=Ubuntu
Pin-Priority: 1

আমরা যে প্যাকেজটিতে পিন অগ্রাধিকার প্রয়োগ করছি তা আরও চিহ্নিত করার জন্য আমরা রিলিজ কীওয়ার্ড সহ অন্যান্য বিকল্পগুলি ব্যবহার করতে পারি। এই কীওয়ার্ডগুলি হ'ল:

  1. একটি -> সংরক্ষণাগার
  2. সি -> উপাদান
  3. ও -> উত্স
  4. l -> লেবেল
  5. n -> আর্কিটেকচার

পছন্দ:

Pin: release o=Debian,a=Experimental

দেবিয়ান প্যাকেজ পরীক্ষামূলক সংরক্ষণাগার থেকে উল্লিখিত প্যাকেজটি টানতে চাইবে।

এপিটি অটোমোমো ফাইল ব্যবহার করে একটি প্যাকেজ আপডেট ব্ল্যাকলিস্ট করুন

ইনস্টলেশন থেকে প্যাকেজটিকে কালো তালিকাভুক্ত করার আরেকটি উপায় হ'ল /etc/apt/apt.conf.d/ ডিরেক্টরিতে থাকা ফাইলগুলির মধ্যে একটিতে এটির আপডেট করা যা 01autoremove।

নমুনা ফাইলটি নীচে দেখানো হয়েছে:

APT
{
  NeverAutoRemove
  {
        "^firmware-linux.*";
        "^linux-firmware$";
  };

  VersionedKernelPackages
  {
        # linux kernels
        "linux-image";
        "linux-headers";
        "linux-image-extra";
        "linux-signed-image";
        # kfreebsd kernels
        "kfreebsd-image";
        "kfreebsd-headers";
        # hurd kernels
        "gnumach-image";
        # (out-of-tree) modules
        ".*-modules";
        ".*-kernel";
        "linux-backports-modules-.*";
        # tools
        "linux-tools";
  };

  Never-MarkAuto-Sections
  {
        "metapackages";
        "restricted/metapackages";
        "universe/metapackages";
        "multiverse/metapackages";
        "oldlibs";
        "restricted/oldlibs";
        "universe/oldlibs";
        "multiverse/oldlibs";
  };
};

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

উদাহরণস্বরূপ, আপডেট হওয়া থেকে কোনও প্যাকেজকে কালো তালিকাভুক্ত করতে প্রদর্শিত হিসাবে এন্ট্রি যুক্ত করুন:

Never-MarkAuto-Sections
  {
        "metapackages";
        "restricted/metapackages";
        "universe/metapackages";
        "multiverse/metapackages";
        "oldlibs";
        "restricted/oldlibs";
        "universe/oldlibs";
        "multiverse/oldlibs";
        "apache2*";
  };
};

আপডেটের জন্য কাস্টম প্যাকেজ নির্বাচন

এর জন্য আরেকটি বিকল্প হ'ল আপনি যা আপডেট করতে চান তা চয়ন করা। অ্যাপটি সরঞ্জামটি আপনাকে কী আপডেট করতে চান তা চয়ন করার স্বাধীনতা দেয় তবে এর জন্য সমস্ত প্যাকেজ আপ-গ্রেডেশনের জন্য কী উপলব্ধ তা সম্পর্কে আপনার জ্ঞান থাকা উচিত।

এই জাতীয় জিনিসগুলির জন্য, নিম্নলিখিত আদেশগুলি সেট আপ সহায়ক হতে পারে:

ক। কী প্যাকেজগুলির আপডেটগুলি মুলতুবি রয়েছে তা তালিকাভুক্ত করতে।

# apt-get -u -V upgrade

খ। শুধুমাত্র নির্বাচক প্যাকেজ ইনস্টল করতে।

# apt-get --only-upgrade install <package-name>

উপসংহার

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