"ইয়াম লক" ঝামেলা এড়াতে কীভাবে?


31

একটি অ্যাপ্লিকেশন ইনস্টল করার চেষ্টা করার সময় আমি প্রায়শই "অন্য একটি অ্যাপ্লিকেশনটি ইয়াম লকটি ধরে আছে; এটিটি প্রস্থান করার জন্য অপেক্ষা করছে ..." বার্তার মুখোমুখি হয় এবং আমি নিজেই ইয়ামকে হত্যা করতে পারি। আমি কীভাবে এড়াতে পারি? ইউম আনলক করার কোনও সহজ পদ্ধতি আছে?

দেখে মনে হচ্ছে কেবলমাত্র ইয়ামের একটি দৃষ্টান্ত চলছে। অন্যান্য প্যাকেজ ম্যানেজারগুলির সাথে এটি কি একই রকম (অ্যাপটি-গেট, প্যাকম্যান)?


আমার ক্ষেত্রে, আমি ভিপিএন এর মাধ্যমে একটি সার্ভারের সাথে সংযুক্ত ছিলাম। একবার আমি দৌড়ানোর পরে sudo yum -y update, ওপেন-ভিপিএন সহ সমস্ত প্যাকেজ আপডেট হচ্ছিল। ওপেন-ভিপিএন প্যাকেজটি আপডেট হয়ে গেলে আমি ভিপিএন থেকে সংযোগ বিচ্ছিন্ন হয়ে পড়েছিলাম। আমি আবার লগ ইন করলাম, আবার ইয়াম আপডেট চেষ্টা করে দেখি এবং এটি একই জিনিস বলে।
অ্যারুন

উত্তর:


24

আমি মনে করি এটি প্যাকেজকিট দ্বারা সৃষ্ট। আপনাকে প্যাকেজকিটটি পরীক্ষা করতে হবে এবং এটি অক্ষম করতে হবে (আমি ধরে নিলাম এটি CentOS 7 এর সাথে রয়েছে systemctl, অন্যথায় আপনি ব্যবহার করতে পারেন serviceএবং chkconfig) (মন্তব্যে উল্লিখিত হিসাবে, পরিষেবার নামটি packagekitনেই packagekitd):

systemctl stop packagekit
systemctl disable packagekit

অন্য পদ্ধতির (সেন্টোস / আরএইচএল 6 এ, ফেডোরা 19 বা তার আগে) /etc/yum/pluginconf.d/refresh-packagekit.confএকটি পাঠ্য সম্পাদক দিয়ে খোলা এবং এতে পরিবর্তন enabled=1করা enabled=0

অথবা আপনি এটি সম্পূর্ণরূপে অপসারণ করতে পারেন:

yum remove PackageKit

3
এটি packagekit.serviceআমার সেন্টোস 7
ভাদিম কোতোভ

আমার ক্ষেত্রে, আমি কেবল সিস্টেমটেক্ট স্টপ প্যাকেজকিট চালিয়েছিলাম এবং তারপরে ইয়াম লকটি মুক্তি পেয়েছিল।
টি-হেরন

9

সমস্যা সমাধানের জন্য নিম্নলিখিতগুলি করুন:

cd /var/run
rm -f yum.pid

আপনি পরে আপনার ইয়াম আপডেট করতে পারে

yum -y update

1
এটি লক্ষণগুলির সাথে লড়াই করছে এবং আসল কারণটি স্থির করছে না।
এক্সেল বেকার্ট

4

আপনি দুটি সহজ পদক্ষেপ অনুসরণ করে ইয়াম আনলক করতে পারেন,

1) চালান ps aux | grep yum কোন প্রক্রিয়াটি আপনাকে লক করছে তা দেখতে দৌড়ান। 2) kill <process_id>প্রক্রিয়া হত্যা।

আবার দৌড়ে ps aux | grep yumদেখুন প্রক্রিয়াটি মারা গেছে কি না। প্রক্রিয়াটি হত্যার পরে ইউমকে আনলক করা হবে।


3
এই "কাজ করে" তবে সম্ভবত খারাপ অনুশীলন
ডেভ কাজিনো

1
এটি নির্বাচিত পরিস্থিতিতে কাজ করে। আমি এমন একটি পরিস্থিতির মুখোমুখি হয়েছি যেখানে আমার নিজস্ব yum কমান্ড শুরু করার আগে সিস্টেমড প্যাকেজকিট প্রক্রিয়াটি পুনরায় চালু করে। এবং হ্যাঁ, পিসিপিটকে চালিতভাবে না বলার পরিবর্তে পিআইডি মেরে ফেলা সম্ভবত খারাপ অভ্যাস।
0x শিপডগ

1

আমার ক্ষেত্রে, আমি ভিপিএন (ওপেন ভিপিএন) এর মাধ্যমে একটি সার্ভারের সাথে সংযুক্ত ছিলাম। একবার দৌড়ে গেলামsudo yum -y update , ওপেন-ভিপিএন সহ সমস্ত প্যাকেজ আপডেট হচ্ছিল। ওপেন-ভিপিএন প্যাকেজটি আপডেট হয়ে গেলে আমি ভিপিএন থেকে সংযোগ বিচ্ছিন্ন হয়ে পড়েছিলাম। আমি আবার লগ ইন করেছি, আবার ইয়াম আপডেট চেষ্টা করেছি এবং এটি বলেছে যে আরও একটি প্রক্রিয়া ইয়ম লকটি ধারণ করছে।

আমি চেক করেছি ps ax | grep yumএবং পুরানো প্রক্রিয়াটি এখনও চলছে। এটি "সমাপ্ত" হওয়ার জন্য আমি 5 মিনিটের জন্য অপেক্ষা করেছি, তবে প্রক্রিয়াটি কেবল চলমান থাকবে। তখন আমি ভেবেছিলাম কিল দিয়ে আমি "ট্রিগারটি টানতে" পারব, তাই আমি দৌড়ে গেলাম

kill <PID of the yum update process>

এটি প্রক্রিয়াটিকে হত্যা করেনি। চেষ্টা করেছেন আরও কয়েকবার, এবং এখনও কোনও সাফল্য নেই।

অবশেষে চালাতে গিয়ে আমাকে সত্যিই প্লাগটি টানতে হয়েছিল:

kill -9 <PID of the yum update process>

আবার চেষ্টা করুন ইয়াম আপডেট, কিন্তু একই সমস্যা। আমি তখন দৌড়েছি:

rm -f /var/run/yum.pid

এবং তারপরে আপডেটটি চেষ্টা করে এই আউটপুটটি পেয়েছে:

Loaded plugins: fastestmirror
Setting up Update Process
Loading mirror speeds from cached hostfile
 * base: mirror.sigmanet.com
 * epel: mirror.sjc02.svwh.net
 * extras: mirrors.vpsie.com
 * updates: mirror.pac-12.org
No Packages marked for Update

বিশ্বাস করুন সবকিছু ভাল, তবে আমি এত কিছুতে প্লাগ টানতে পছন্দ করি না!


0

systemctl disable packagekit যথেষ্ট নয় । পুনরায় বুট করার পরে প্যাকেজকিট চলবে। maskকমান্ডের পরিবর্তে কমান্ডটি ব্যবহার করুন disable

[root@localhost yum.repos.d]# systemctl mask packagekit
Created symlink from /etc/systemd/system/packagekit.service to /dev/null.

তারপরে পুনরায় বুট করার পরে আপনি দেখতে পাবেন ...

[sri@localhost ~]$ systemctl status packagekit
● packagekit.service
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.