কীভাবে নিরাপদে ইনস্টলটি বাতিল করতে হবে?


44

আমার এমন একটি apt-get installপ্রক্রিয়া রয়েছে যা মনে হয় এই processing triggers for python-supportপদক্ষেপে নিরাশ হয়ে গেছে ged

আমার প্রবণতা killএটির দিকে, তবে অতীতে, কেবলমাত্র killকোনও apt-get installপ্রক্রিয়াটি আমাকে অনেক শোক করেছিল। (আইআইআরসি মিশ্রিত লক ফাইলগুলি পিছনে ফেলে রাখা হয় ইত্যাদি)

এই প্রক্রিয়াটি বন্ধ করার কোনও নিরাপদ উপায় আছে কি?

উত্তর:


44

হত্যা প্রক্রিয়া

সাধারণত কোনও প্রক্রিয়া হত্যার পক্ষে কথা বললে, নিয়মিত কিল (সিগমেন্টএম) না দিয়ে কোনও প্রক্রিয়া মারার নিরাপদ উপায় নেই। ক্ষেত্রে এটি একটি ইন্টারেক্টিভ প্রক্রিয়া এটি সাধারণত আপনি একটি SIGINT সংকেত পাঠিয়ে এটা এমনকি নিরাপদ বন্ধ করতে পারবেন যে, সাধারণত টিপে পাঠানো Ctrl+ + C। প্রক্রিয়া দ্বারা এই সংকেত আটকা পড়েছে নিজেই এটি শুনতে পারে - এবং সাধারণত কৌতূহলবশত বন্ধ করে দেয় stop ( ধন্যবাদ এলিয়াহ )

ডিপিকেজি ডাটাবেস

প্যাকেজ পরিচালনা সম্পর্কিত একটি বিশেষ ক্ষেত্রে। APT কমান্ডের DPKG ডাটাবেসটি জলের নীচে ব্যবহার করে যে কোনও অপারেশন শেষ হয়নি কিনা তা সর্বদা সনাক্ত করতে পারে। প্রতিটি প্যাকেজ একটি হয়েছে প্রকৃত রাষ্ট্র যা চিহ্নিত করা হয় এবং সেইসাথে একটি বর্তমান রাষ্ট্র, যেমন প্যাক না, কনফিগার ইত্যাদি এপিটি ফ্রন্টএন্ড হত্যা করে, ডাটাবেজ একটি ভাঙা হতে কিন্তু ইন হবে পরিচিত রাষ্ট্র। লক ফাইলগুলি কেবলমাত্র একবার পরিষ্কার অবস্থায় ফিরে আসার পরে প্রকাশ করা হবে - এটি নতুন ক্রিয়াকলাপের অনুমতি না দেওয়া পর্যন্ত আপনার এটি ঠিক করা উচিত।

ঠিক করার উপায়টি হ'ল কনফিগার অবস্থায় থাকা সমস্ত প্যাকেজ পাওয়ার জন্য একটি প্রক্রিয়া চালানো। ব্যবহারিকভাবে বলতে গেলে, আপনি যদি কোনও apt-getক্রিয়াকলাপ বাধা দেন , আপনি কেবল এটি ব্যবহার করে শেষ করতে পারেন

sudo dpkg --configure -a

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

সিগিল সম্পর্কে (9)

একটি সিক্কিল পাঠানো (দশমিক প্রতিনিধিত্ব 9) খুব অনিরাপদ। এই সংকেতটি প্রক্রিয়াটি দ্বারা ধরা পড়ে না, তবে প্রক্রিয়াটি পছন্দ করে কিনা তা পুরো অপারেটিং সিস্টেম (কার্নেল) দ্বারা পরিষ্কার করা হবে ed ফাইল সিস্টেমের ফাইলগুলির স্থিতি একটি দুর্নীতিগ্রস্থ অবস্থায় ফেলে রাখা যেতে পারে। এই আরও সিগন্যালগুলি আর আরও কৃপণ সিগন্যাল না শুনলে কখনও প্রেরণ করবেন না।


2
যখন কোনও অ্যাপ্লিকেশন এটিকে বন্ধ করার জন্য কোনও উপায় সরবরাহ করে, তা সাধারণত সিগমেন্টের চেয়েও নিরাপদ। উদাহরণস্বরূপ, বেশিরভাগ (সমস্ত না থাকলে) পাঠ্য সম্পাদক, ওয়ার্ড প্রসেসর, গ্রাফিক্স প্রোগ্রাম, ওয়েব ব্রাউজার এবং অন্যান্য পাঠ্য-ভিত্তিক বা গ্রাফিকাল অ্যাপ্লিকেশন যেখানে কোনও ব্যবহারকারী এমন সামগ্রী তৈরি করতে পারে যা হারিয়ে যাওয়া উচিত নয়, এটি স্বয়ংক্রিয়ভাবে সংরক্ষণ করবেন না প্রস্থান করার আগে যখন তারা সাইনটারম পান। এছাড়াও, দয়া করে মনে রাখবেন যে SIGINT কখনও কখনও SIGTERM এর চেয়েও নিরাপদ হতে পারে (তবে সাধারণত সিআরটিএল + সি হিসাবে একই ফলাফল স্পষ্টভাবে পছন্দ না করা হয় তবে প্রেরণ করা উচিত নয়)।
এলিয়াহ কাগন

16

যখন আমি অ্যাপটি-গেটে কোনও ব্যর্থতার মুখোমুখি হই, তখন আমি নিম্নলিখিতগুলি (রুট হিসাবে, অর্থাৎ sudoসমস্ত কমান্ডের আগে) করি:

  1. অ্যাপটি-গেট নামক প্রক্রিয়াটি হত্যা করুন:

    কিল্লা -9 এপট-গেট
  2. পুনরায় কনফিগার করুন dpkg:

    dpkg --configure -a
  3. আপ্ট-গেট আপডেট করুন:

    apt-get আপডেট
  4. প্যাকেজগুলি আপডেট করুন, যা সঠিকভাবে ইনস্টল করা নেই:

    আপগ্রেড আপগ্রেড

এটি আমি কোথাও থেকে শিখেছি, তবে দুর্ভাগ্যক্রমে আমি ঠিক কোথায় তা মনে করতে পারি না।


6
আপনার যদি খুব ভাল কারণ না করে থাকে তবে দয়া করে কখনই সিগন্যাল 9 (সিগাইল) প্রেরণ করবেন না। আমার আপডেট হওয়া উত্তরটি দেখুন।
gertvdijk

3
sudo dpkg -r <package name>

আমার ক্ষেত্রে আমার উবুন্টু 12.04-তে জাভা 8 নিয়ে সমস্যা হয়েছিল, তাই ...

sudo dpkg -r oracle-java8-installer

1

লিনাক্স এবং অন্যান্য ইউনিক্স টাইপ সিস্টেমগুলি কমান্ড লাইন থেকে খুব শক্তিশালী তবে প্রক্রিয়া শুরু হওয়ার পরে খুব ক্ষমাযোগ্য। কোনও প্রক্রিয়া কিল সংকেত পাঠানো অবশ্যই চলমান প্রক্রিয়াটিকে অবশ্যই মেরে ফেলবে তবে মনে রাখবেন যে আপনি কোনও অস্থির অবস্থায় কোনও ডাটাবেস রেখে চলেছেন। শেষ রেকর্ডটি সঠিকভাবে বন্ধ করা যাবে না তাই আপনার ঝুঁকিপূর্ণ একটি ডেটাবেস মেরামত করতে হবে। শুধু অ্যাপ্লিকেশন দিয়ে নয় কোনও অ্যাপ্লিকেশন সহ।

সর্বদা স্বাভাবিক পদ্ধতিতে অ্যাপ্লিকেশনটি শেষ করার চেষ্টা করুন এবং কেবলমাত্র অ্যাপ্লিকেশনগুলি চালিয়ে যাওয়া প্রক্রিয়াগুলিকে হত্যা করুন।


0

এখানে আমি এটি কীভাবে করছি তা Ctrl+ Cতবে আপনার মনে রাখবেন যে এপটি-গেটটি ডাউনলোডের পর্যায়ে বা ক্যাশে আপডেট করার ক্ষেত্রে এটি ততক্ষণ নিরাপদ। তা ছাড়া আমি নিরাপদ এমন উপায় ভাবতে পারি না cannot কেবল এটিকে আনইনস্টল করে বা কোনওভাবে ডাউনগ্রেড করে পরিবর্তনগুলি শেষ এবং পূর্বাবস্থায় ফেলা যাক। ডাউনলোড করা ফাইলগুলি দিয়ে পরিষ্কার করা যায়sudo apt-get autoclean

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.