বাগ # 693758 এর কারণে আমি apt-get upgrade
"libgtk2.0-0" প্যাকেজটি আপডেট করা থেকে ম্যানেজারকে প্রতিরোধ করতে এবং আপডেট করতে চাই ।
কিভাবে এটা অর্জন করা যেতে পারে?
disable packages from the auto-update
বাগ # 693758 এর কারণে আমি apt-get upgrade
"libgtk2.0-0" প্যাকেজটি আপডেট করা থেকে ম্যানেজারকে প্রতিরোধ করতে এবং আপডেট করতে চাই ।
কিভাবে এটা অর্জন করা যেতে পারে?
disable packages from the auto-update
উত্তর:
প্যাকেজগুলি পিছনে রাখার চারটি উপায় রয়েছে: সাথে dpkg, অ্যাপ্ট, প্রবণতা বা অপসারণ।
একটি প্যাকেজ ধরে রাখুন:
echo "<package-name> hold" | sudo dpkg --set-selections
হোল্ডটি সরান:
echo "<package-name> install" | sudo dpkg --set-selections
আপনার প্যাকেজগুলির স্থিতি প্রদর্শন করুন:
dpkg --get-selections
একটি একক প্যাকেজের স্থিতি প্রদর্শন করুন:
dpkg --get-selections | grep "<package-name>"
একটি প্যাকেজ ধরুন:
sudo apt-mark hold <package-name>
হোল্ডটি সরান:
sudo apt-mark unhold <package-name>
হোল্ডে থাকা সমস্ত প্যাকেজ দেখান:
sudo apt-mark showhold
অপসারণের সাথে, [এস] নির্বাচিত স্ক্রিনটি প্রবেশ করুন, প্যাকেজটি বর্তমান অবস্থায় ধরে রাখতে চান এবং এটি টিপুন =বা H। [এস] নির্বাচিত স্ক্রীনটি বের হওয়ার পরে অবিলম্বে পরিবর্তনগুলি কার্যকর হবে।
যথোপযুক্ততা বা সিনাপটিকের মধ্যে প্যাকেজটিকে লক করা / ধারণ করার ক্ষেত্রে নীচের পদ্ধতিগুলি সীমিত a
একটি প্যাকেজ ধরুন:
sudo aptitude hold <package-name>
হোল্ডটি সরান:
sudo aptitude unhold <package-name>
যান Synaptic প্যাকেজ পরিচালক (সিস্টেম> অ্যাডমিনিস্ট্রেশন> Synaptic প্যাকেজ পরিচালক)।
অনুসন্ধান বোতামটি ক্লিক করুন এবং প্যাকেজের নাম টাইপ করুন।
আপনি যখন প্যাকেজটি সন্ধান করেন, এটি নির্বাচন করুন এবং প্যাকেজ মেনুতে যান এবং লক সংস্করণ নির্বাচন করুন ।
সেই প্যাকেজটি এখন আপডেট ম্যানেজারে প্রদর্শিত হবে না এবং আপডেট হবে না।
devscripts
, প্রচুর প্যাকেজযুক্ত প্রস্তাবিত প্যাকেজ হিসাবে টানা হয়। যেহেতু আমার কোনও মেইল সার্ভারের (পোস্টফিক্স) প্রয়োজন নেই, আমি এটি চালানোর echo postfix hold | sudo dpkg --set-selections
আগে চালিয়ে চালনাটি অক্ষম করতে পারি sudo apt-get install devscripts
। এই হোল্ড অ্যাকশনটি কেবলমাত্র এই ইনস্টলেশনটির জন্যই স্থির থাকে, ইনস্টলেশনের পরে নির্বাচনগুলি পুনরায় সেট করা হয়।
apt-mark
সমর্থন করে না hold
(উবুন্টু লুসিড)
apt-mark hold fglrx fglrx-amdcccle fglrx-dev && aptitude hold fglrx fglrx-amdcccle fglrx-dev
,।
একটি প্যাকেজ "foo" রাখার জন্য:
echo "foo hold" | dpkg --set-selections
আপনার ক্ষেত্রে আমরা ওয়াইন ধরে রাখতে যাচ্ছি:
sudo -i
echo "wine hold" | dpkg --set-selections
হোল্ড অপসারণ করতে:
sudo -i
echo "wine install" | dpkg --set-selections
apt-get install wine=1.2.3
। হোল্ডে থাকায় apt-get (dist-)upgrade
এটি পরিবর্তন হতে বাধা দেয় ।
/var/cache/apt/archives
) হোল্ডস এবং আপগ্রেড এবং স্টাফ থেকে স্বতন্ত্র, সুতরাং আপনার ডাউনলোড করা সমস্ত সংস্করণ আপনি apt-get [auto]clean
আমি একই জিনিসটির সন্ধান করছিলাম এবং অনেকগুলি গবেষণার পরে আমি দেখতে পেয়েছি যে নিম্নলিখিত বাক্য গঠনটি ব্যবহার করে আপনি একটি নির্দিষ্ট সংস্করণ নিষিদ্ধ করতে পারেন তবে পরবর্তী আপডেটের অনুমতি দিন:
প্যাকেজ: কমিজ-প্লাগইন-প্রধান পিন: সংস্করণ 1: 0.9.7.0 ~ bzr19-0ubuntu10.1 পিন-অগ্রাধিকার: -1
এটি / ইত্যাদি / অ্যাপটি / পছন্দ ফাইলের মধ্যে যায়।
synaptic
ব্যবহার করে ইনস্টল করুন sudo apt-get install synaptic
।
gksudo synaptic
আপনি যে প্যাকেজটি লক করতে চান তা সনাক্ত করে এবং অনুসন্ধান বাক্সে চালনা করুন, যেমন:gedit
প্যাকেজ মেনু থেকে লক সংস্করণটি নির্বাচন করুন :
এবং এটি হ'ল, বর্তমানে লকটির সময়ে ইনস্টল হওয়া সংস্করণটি আপগ্রেড করার সময়ও ইনস্টল থাকবে।
কোনও প্যাকেজ ইনস্টল হওয়া থেকে রোধকে "প্যাকেজ হোল্ডিং" বলা হয় এবং এটি করা খুব সহজ:
প্রতিধ্বনি প্যাকেজ_নাম | dpkg --set-Seferences
... যেখানে * প্যাকেজ_নাম * হল সেই প্যাকেজটির নাম যা আপনি ইনস্টলেশন থেকে আটকাতে চান।
দ্রষ্টব্য: উপরের কমান্ডটি মূল অধিকারগুলি অনুমান করে। অন্য কথায়, সম্ভবত sudo su
এটি চালানোর আগে আপনার টাইপ করতে হবে।
s/sudo su/sudo -s/g
(বা sudo -i
) ( -i
একটি লগইন শেল দেবে, -s
দিবে না)।
যেহেতু কিছু সময় apt-get
প্রতিস্থাপন করা হয়েছে apt
, সুতরাং উদাহরণস্বরূপ আমি ফায়ারফক্সকে ৫ 56 এর উপরে সংস্করণে আপডেট করা থেকে বিরত রাখতে চাই, কারণ "ট্যাব গ্রুপ" এর মতো অনেকগুলি অ্যাড-অন নতুন ফায়ারফক্স 57 এর সাথে আর কাজ করে না (দেখুন "ওয়েবএক্সটেনশনগুলি" হালনাগাদ").
এক কমান্ডের সাথে একাধিক প্যাকেজ রাখা এবং ওয়াইল্ডকার্ড ব্যবহার করা সম্ভব।
sudo apt-mark hold firefox firefox-locale-*
আপনার যদি পরে এগুলি অনিশ্চিত রাখতে আগ্রহী হয় তবে সেই আদেশটি হ'ল:
sudo apt-mark unhold firefox firefox-locale-*
আমি সিনাপটিক আপনি নির্দিষ্ট প্যাকেজের সংস্করণ হিম করতে পারেন আমি এটির 100% নিশ্চিত নই যে এটি অ্যাপটি-গেট সংশোধন করবে কিনা তবে এটি আপডেট ম্যানেজারকে অবশ্যই থামিয়ে দেবে।
কোনও প্যাকেজ হিম করার জন্য এটিকে সিনাপটিকতে নির্বাচন করুন তারপরে প্যাকেজ মেনুটি খুলুন এবং নিথর সংস্করণটি নির্বাচন করুন।
আশাকরি এটা সাহায্য করবে
সম্পাদনা: এই প্রশ্নটি 16668 একই পরিস্থিতি নিয়ে কাজ করে
নির্দিষ্ট সংস্করণগুলিতে "হোল্ডিং" এবং "পিনিং" প্যাকেজগুলির বিষয়ে আপনি যা জানতে চেয়েছিলেন তার সমস্ত কিছু: https://help.ubuntu.com/commune/PinningHowto
বাগ # 75332 , # 158981 এবং # 72806 দেখুন ।
সংক্ষিপ্তসারটি হ'ল অ্যাপটি-গেট / অ্যাপিটিউড লেভেলে হোল্ড ডিপিকেজি-তে হোল্ড স্ট্যাটাসটি ট্রিগার করছে না (বিশেষত বাগ 72২৮০6 দেখুন) এবং আপডেট-ম্যানেজার ডিপি কেজি থেকে স্ট্যাটাস পড়ে।
workaround মূল হিসাবে চালিত হয়:
echo "package hold" | dpkg --set-selections
আপনি যথাযথভাবে "নির্দিষ্ট ওভাররাইড" ব্যবহার করতে পারেন, এটির মতো:
aptitude reinstall ~i oracle-java8-jre:
এটি আপনার সিস্টেমে সমস্ত প্যাকেজ পুনরায় ইনস্টল করতে তবে ওরাকল-জাভা 8-জেআর নয়, কেবলমাত্র (ভবিষ্যতের পুনরায় ইনস্টলগুলির জন্য সঞ্চিত নয়) এক নির্দিষ্ট সময় ব্যবহার করুন specific
আপনি যদি কোনও নির্দিষ্ট সুনির্দিষ্ট ওভাররাইড ব্যবহার করেন তবে প্যাকেজটি ক্ষণিকের জন্য একটি প্রবণতা রাখার মতো অবস্থায় থাকবে এবং এটি ইনস্টল করার চেষ্টা করবে না।
খুব ভাল জিনিস আপনি যদি মনে করেন আপনার সিস্টেমটি কীভাবে কিছুটা আপোস করা হয়েছিল।
আপনার যদি সিন্যাপটিক ইনস্টল করা থাকে তবে আপনি প্যাকেজটি নির্বাচন করতে পারেন এবং এটি আপডেট হওয়া রোধ করতে প্যাকেজ -> লক সংস্করণ মেনুটি ব্যবহার করতে পারেন।
আপনি সিনড্যাক্টিক ইনস্টল করতে পারেন sudo এপটি-গেট ইনস্টল সিনপ্যাটিক দিয়ে। আমি ব্যক্তিগতভাবে এটি সফ্টওয়্যার সেন্টারের চেয়ে বেশি দরকারী মনে করি ... তারপরে আবার আমি মোটামুটি পুরানো স্কুল। :)
মাঝেমধ্যে কেউ বর্তমানে ইনস্টল করা সমস্ত প্যাকেজটি ধরে রাখতে চাইবে । এখানে কিভাবে।
প্রথমে বর্তমান অবস্থা সংরক্ষণ করুন, যাতে আপনি পূর্বাবস্থায় ফিরে আসতে পারেন:
dpkg --get-selections > current_selections.txt
তারপরে, সমস্ত প্যাকেজ আটকে রাখার জন্য:
dpkg --get-selections | sed -r "s/\tinstall/hold/" |dpkg --set-selections
অবশেষে, আপনি যখন আগের অবস্থায় ফিরে যেতে চান:
dpkg --set-selections < current_selections.txt
QA থেকে উত্পাদনের পরিবেশে স্থানান্তরিত করার জন্য কোনও ভিএম বা অ্যামাজন এএমআই স্ন্যাপশট তৈরি করার সময় এর জন্য ব্যবহারের একটি কেস হতে পারে।
উবুন্টু 16.04 এর তুলনায় @ সোজারের মন্তব্যে বিশদ যুক্ত করা ।
উবুন্টু ১.0.০৪-তে ডিফল্টরূপে বিদ্যমান / etc / apt / পছন্দ ফাইল নেই। আপনার যদি বর্তমানে একটি না থাকে তবে কেবলমাত্র একটি নতুন ফাইল তৈরি করুন এবং প্রদত্ত প্যাকেজ এবং আপডেটগুলি থেকে এর নির্ভরতা বাদ দিতে উপরের বর্ণনা অনুসারে @ এসোজারের বর্ণনা হিসাবে এটি একটি স্টাঞ্জা সহ তৈরি করুন।
এরপরে, চালান apt update
এবং আপনি জিটিজি। : 0)
উদাহরণস্বরূপ, এম্বেডড ইন্টেল ভিডিও কার্ড এবং একটি এনভিডিয়া কার্ড সহ আমার একটি উবুন্টু 16.04.5 এলটিএস সার্ভার রয়েছে। এনভিডিয়া কার্ডটি কেবলমাত্র ব্যবহৃত হয়। সার্ভারটি CUDA ড্রাইভারও ব্যবহার করে। আমার সমস্যা ছিল যেখানে apt
জিদ দেওয়া ছিল
ভিএ-চালক সব
(ইন্টেল ড্রাইভার) একটি আপডেটের প্রয়োজন, তবে কোন সংস্করণ ইনস্টল করতে হবে তা নির্ধারণ করতে পারেনি। এটি আমাকে বাদাম চালাচ্ছিল এবং আমার কোনওভাবেই ইন্টেল চালকের দরকার নেই। আমি এই পাঠ্যটি পছন্দসই ফাইলে প্রবেশ করিয়েছি এবং সমস্যাটি সমাধান করেছি pt
Package: va-driver-all
Pin: release *
Pin-Priority: -1