আপনি কীভাবে কোনও প্যাকেজ পুরোপুরি সরিয়ে ফেলতে পারেন?


188

আমি octave3.2প্যাকেজটির একটি পরিষ্কার ইনস্টল করার চেষ্টা করছি ।

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

আমি পুনরায় ইনস্টল করার সময়, একটি ত্রুটি ঘটেছে। এটি প্যাকেজে কোনও ত্রুটি হতে পারে তবে আমি নিশ্চিত করতে চাই যে আমার কাছে সমস্ত কিছু মুছে ফেলা হয়েছে যাতে আমি একটি পরিষ্কার ইনস্টল করতে পারি।

এটি কি যথেষ্ট?

sudo apt-get --purge remove octave3.2

কেউ কি প্যাকেজটি পুনরায় ইনস্টল করতে পারে এবং প্যাকেজ বা নির্ভরতার তালিকায় মনোযোগ দিতে পারে ..?
ব্যবহারকারী 309924

প্রস্তাবিত এ যান এই
পান্ড্য

উত্তর:


185

এটি প্যারেজিং প্যাকেজগুলির প্রভাব সম্পর্কে প্রশ্নের খুব সাধারণ উত্তর। আপনার পরিস্থিতির সাথে সম্পর্কিত পরামর্শের জন্য আপনাকে অতিরিক্ত তথ্য অন্তর্ভুক্ত করতে আপনার প্রশ্নটি সম্পাদনা করতে হবে - বিশেষত, আপনি যে ত্রুটি বার্তাটি পাচ্ছেন তার সম্পূর্ণ এবং সঠিক পাঠ্য।

সঙ্গে প্যাকেজ মুছে ফেলার পদ্ধতি বা তাদের এবং তাদের সমস্ত বিশ্বব্যাপী (অর্থাত, Systemwide) কনফিগারেশন ফাইল মুছে ফেলা হবে। লোকেরা যখন কোনও প্যাকেজ সম্পূর্ণরূপে সরানোর কথা বলে তখন সাধারণত এটি বোঝায়।sudo apt purge ...sudo apt --purge remove ...

তবে এর অর্থ এই নয় যে আপনার সিস্টেমটি প্যাকেজ ইনস্টল করার আগে যেমন ছিল ঠিক তেমন। নির্দিষ্টভাবে:

  • আপনি প্যাকেজটি এখন অপসারণ করছেন এমন প্যাকেজগুলি নির্ভরতা হিসাবে ইনস্টল হওয়া প্যাকেজগুলি সরিয়ে দেয় না। এই প্যাকেজগুলি অন্য কোনও প্যাকেজের নির্ভরতা নয় এবং আপনি সেগুলি ম্যানুয়ালি ইনস্টল করা হিসাবে চিহ্নিত করেন নি, আপনি নির্ভরতাগুলি sudo apt autoremoveমুছে ফেলতে পারেন বা (যদি আপনি তাদের সিস্টেমডওয়াই কনফিগারেশন ফাইলগুলিও মুছতে চান) sudo apt --purge autoremove

  • এটি সিস্টেম-বিহীন কনফিগারেশন ফাইলগুলি সরিয়ে দেয় না। বিশেষত, এটি ব্যবহারকারী-নির্দিষ্ট কনফিগারেশন সরিয়ে দেয় না:

    • এটি ব্যবহারকারীদের হোম ডিরেক্টরিতে অবস্থিত কনফিগারেশন ফাইল এবং ডিরেক্টরিগুলি সরিয়ে দেয় না (বা .configতাদের হোম ডিরেক্টরিগুলির সাব-ডিরেক্টরিতে), প্যাকেজটি সরবরাহ করে সফ্টওয়্যার দ্বারা।

      • যদি এই ফাইলগুলি / ফোল্ডারগুলি সংরক্ষণ না করা হয় তবে .configএগুলি সাধারণত .নিজেরাই শুরু হয় । উভয় ক্ষেত্রেই, আপনার সাথে তাদের দেখতে পারে lsব্যবহার করে -aবা -Aপতাকা, এবং আপনি তাদের নটিলাস এবং অন্যান্য অধিকাংশ ফাইল ব্রাউজার / পরিচালকদের দেখতে পাবেন টিপে Ctrl+ + Hবা যাচ্ছে দেখুন > শো হিডেন ফাইলস
    • এটি বিদ্যমান ব্যবহারকারী-নির্দিষ্ট কনফিগারেশন ফাইলগুলিতে করা পরিবর্তনগুলি বিপরীত করে না।

    • এটি নতুন gconfবা dconfকীগুলি সরিয়ে দেয় না , অথবা কোনও gconfবা dconfকনফিগারেশন পরিবর্তনগুলি বিপরীত করে ।

  • ব্যবহারের পরিবর্তে purgeবা --purge removeপরিবর্তে removeঅন্য প্যাকেজগুলির দ্বারা সরবরাহিত সিস্টেম ব্যবহারকারীর কনফিগারেশন ফাইলগুলিতে পরিবর্তনগুলি উল্টায় না বা ব্যবহারকারীর দ্বারা ম্যানুয়ালি তৈরি করা হয়। তবে, কখনও কখনও এই পরিবর্তনগুলি প্যাকেজটি আনইনস্টল করে পূর্বেই পূর্বাবস্থায় ফেলা হয় (এটি একটি এর purgeপরিবর্তে একটি হোক বা না হোক remove)।


61

কমান্ডটি ব্যবহার করুন:

sudo apt-get purge --auto-remove packagename

এটি সেই প্যাকেজগুলির সাথে ইনস্টল করা নির্ভরতাগুলির সাথে প্রয়োজনীয় প্যাকেজগুলি মুছে ফেলবে। --auto-removeবিকল্প অনুরূপ কাজ করে sudo apt-get autoremove


1
এটি আমার সমস্যা সমাধান করেছে, বিশেষত সার্টিবোট দিয়ে
টুডো

7

আপনি যে প্যাকেজটি মুছতে চান তার নামটি আপনি প্রথমে পরীক্ষা করে দেখুন:

dpkg --list

তারপরে প্রদত্ত প্যাকেজটি সরান

sudo apt-get remove package_name

কোনও সম্পর্কিত কোড মুছুন

sudo apt-get purge package_name

তারপরে অটোরমোভ

sudo apt-get autoremove

অবশেষে, একটি পরিষ্কার করুন যাতে আপনি পরীক্ষা করে নিন যে সবকিছু সঠিকভাবে সরানো হয়েছে

sudo apt-get clean

আপনি যে প্যাকেজগুলি মুছে ফেলতে চেয়েছিলেন সেটি আর তালিকাভুক্ত নয় কিনা তা আপনি প্যাকেজ তালিকায় পরীক্ষা করতে চান তবে এটি optionচ্ছিক।

আপনার দিনটি শুভ হোক,


4

আপনি কোনও ইনস্টল করার সময় অতিরিক্ত নির্ভরতা প্যাকেজ ইনস্টল করা ভাল track

The following extra packages will be installed: 
    libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbind

আপনি যদি কেবলমাত্র মূল প্যাকেজটি সরিয়ে থাকেন তবে নির্ভরতা প্যাকেজটি থেকে যায়।

সুতরাং আপনাকে প্রত্যেককে ব্যবহার করে ম্যানুয়ালি মুছে ফেলতে হবে

apt-get purge package_name

1
যদি আমার কনসোলটি যথেষ্ট পরিমাণে স্ক্রোল না করে তবে আমি কীভাবে এই প্যাকেজগুলির একটি তালিকা পেতে পারি
লুক টেলর

@ লুকে টেলর apt-get install package_name > output তারপরে less output স্ক্রোলিং সহ সমস্ত আউটপুট দেখতে।
হরিকৃষ্ণান

2

স্বয়ংক্রিয়ভাবে ইনস্টল করা নির্ভর প্যাকেজগুলি ম্যানুয়ালি মুছে ফেলার পরিবর্তে নিম্নলিখিতটি ব্যবহার করুন:

 zanfilip @ zanfilip-VPCEB3L0E: ~ / জেপি / এক্সিলিপস $ সুডো এপটি-গেট --পুরজ অটোরমোভ
    প্যাকেজ তালিকা পড়া হচ্ছে ... সম্পন্ন হয়েছে one
    নির্ভারতা গাছ নির্মান       
    রাষ্ট্রের তথ্য পড়া ... সম্পন্ন হয়েছে
    নিম্নলিখিত প্যাকেজগুলি সরানো হবে
      libupstart1 * লিনাক্স-শিরোলেখ -৩.১16.০-৩০ * লিনাক্স-শিরোলেখ -৩.১16.০-৩০-জেনেরিক *
      লিনাক্স-ইমেজ-3.16.0-30-জেনেরিক * লিনাক্স-চিত্র-অতিরিক্ত-3.16.0-30-জেনেরিক *
    0 আপগ্রেড করতে, 0 নতুন ইনস্টল করতে, 5 অপসারণ করতে এবং 23 আপগ্রেড করতে হবে না।
    এই ক্রিয়াকলাপের পরে, 279 এমবি ডিস্কের স্থানটি মুক্ত করা হবে।
    আপনি কি অবিরত করতে চান? [Y / N]


2

আপনি যদি কিছু নির্দিষ্ট প্যাকেজ মুছে ফেলতে চান তবে আপনি এই আদেশগুলি ব্যবহার করতে পারেন:

dpkg --get-selections | grep PACKAGE_NAME | awk '{ print $1}'| xargs apt-get -y --purge autoremove

"-y" স্যুইচটি ভুলে যাবেন না কারণ অন্যথায় a


2
এটি কার্যকর হতে পারে তবে এটি ধ্বংসাত্মকও হতে পারে: এটি সহজেই এমন কোনও প্যাকেজটির সাথে মেলে যা আপনি সত্যিই অপসারণ করতে চান না এবং নিশ্চিতকরণ ছাড়াই এর কনফিগারেশনটি মুছতে পারেন! সৌভাগ্যবশত প্যাকেজের নাম একটি স্থান ধারণ না যেহেতু, আমরা এটা চারপাশে ঘুরিয়ে এবং ড্রপ করতে পারেন -y: apt-get --purge autoremove $(dpkg --get-selections | grep PACKAGE_NAME | awk '{ print $1}')। এটি কিছুটা নিরাপদ হবে।
জোয়েটউইল

কমান্ডটি চালানো আরও নিরাপদ হবে: dpkg --get-seferences | গ্রেপ PACKAGE_NAME | awk '{মুদ্রণ $ 1}' প্রথমে xargs দিয়ে এটি চালানো আরও ভাল অনুশীলন যাতে ব্যবহারকারী দেখতে পাবে যে কমান্ডের ফলে কী মুছে ফেলা হবে।
কেরেম এরসয়

0

আপনার অন্য একটি বিকল্প হ'ল debfosterপ্যাকেজটি ব্যবহার করা । এটি নির্ভরশীল প্যাকেজগুলির সাথে অপসারণের (এবং শুদ্ধি) প্যাকেজগুলি ইন্টারেক্টিভভাবে সন্ধান এবং পরামর্শ দেবে।

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