নির্দিষ্ট প্যাটার্নের সাথে মেলে এমন সমস্ত প্যাকেজ আমি কীভাবে মুছব?


26

আমি ফ্রি ফ্রি অফ আনইনস্টল করতে চাই। এই প্রোগ্রামটি প্রায় তিন ডজন মডিউল নিয়ে গঠিত। আদর্শভাবে, এগুলি এগুলির সাথে সরানো যেতে পারে:

aptitude remove libreoffice3.6* libreoffice-debian-menus libobasis3.6-*

তবে তা ব্যর্থ হয়

Couldn't find any package whose name or description matched "libreoffice3.6*"

প্রভৃতি

প্যাটার্ন অনুসারে আমি কীভাবে প্যাকেজগুলির সেট মুছব?

পিএস: আমি ব্যবহার সহ উত্তরগুলি সম্পর্কে খুব খুশি dpkgবা aptখুব


আপনি কি নির্দিষ্ট প্যাটার্ন সম্পর্কে উত্তরটি জানার চেষ্টা করছেন বা LibreOffice উপাদানগুলি অপসারণে খুশি?
আনোয়ার

1
LibreOffice আনইনস্টল করার সম্ভাব্য সদৃশ ? উত্তরটি প্রোব্যাবালি: এটি কেবল 3.6 এর জন্য কাজ করে এবং আপনি 3.6 :-) ব্যবহার করছেন না
রিনজউইন্ড

আমি উদাহরণ হিসাবে লাইব্রোফিস ব্যবহার করছি কারণ এতে অনেকগুলি অংশ রয়েছে। তবে কার্নেলের সাথে আমার একই সমস্যা ছিল (পুরানো সংস্করণগুলি পরিষ্কার করা)
অ্যারোন ডিগুল্লা

উত্তর:


26
  1. নিয়মিত এক্সপ্রেশন ব্যবহার করুন apt-get, না করুন aptitudeএবং ব্যবহার করুন।

  2. একটি নিয়মিত অভিব্যক্তিতে, .কোনও চরিত্রের *অর্থ এবং শূন্য বা তার বেশি বারের অর্থ। সুতরাং এক্সপ্রেশনটি libreoffice.*কোনও প্যাকেজের সাথে মেলে এমন স্ট্রিংয়ের নামের সাথে মিলিত হবে libreoffice, তার পরেও কোনও সংখ্যা থাকবে।

  3. নক্ষত্রটি ব্যাখ্যা করে শেল এড়ানোর জন্য একক উদ্ধৃতি সহ নিয়মিত প্রকাশকে ঘিরে। ( libreoffice.exampleআপনার বর্তমান ডিরেক্টরিতে উদাহরণস্বরূপ যদি আপনার কাছে কোনও ফাইল থাকে তবে শেলটি প্রতিস্থাপন libreoffice.*করে libreoffice.example, সুতরাং আপনাকে এই আচরণ বন্ধ করতে একক উদ্ধৃতি ব্যবহার করতে হবে))

ফলাফল:

sudo apt-get remove 'libreoffice.*'

ধন্যবাদ, এটি কাজ করে। আকর্ষণীয়ভাবে যথেষ্ট, এটি সেই প্যাটার্নটি libreoffice*(যেমন গ্লোব স্টাইলের ধরণগুলি) নিয়েও কাজ করে যা আমাকে কিছুটা বিভ্রান্ত করে কারণ তাদের
কোনওটিই

3
যারা এটি পরীক্ষা করতে চান তাদের --dry-runসিস্টেমে কোনও পরিবর্তন ছাড়াই কী মুছে ফেলা হবে তা দেখার জন্য বিকল্পটি ব্যবহার করুন ।
অ্যারন দিগুল্লা

@AaronDigulla এখনও ড্রাইড-রান সম্পর্কে জানতে পারিনি। যে কাজে আসবে! ধন্যবাদ!
গ্লুটানীমেট

নিয়মিত এক্সপ্রেশনগুলি পরিচালনা করেও এপট-গেট বেশ খারাপ, এই উত্তরের উভয় সমাধানের তুলনা করুন ।
ব্রায়াম

এটি পরিষ্কার করার জন্য, aptPOSIX নিয়মিত এক্সপ্রেশন ব্যবহার করে। থেকে man apt-get(ডেবিয়ান জেসি): "এমন কোনো প্যাকেজ দেওয়া এক্সপ্রেশনের সাথে মেলে এবং মত প্রকাশের এক থাকে, '।' '?' বা '*' তারপরে এটি একটি পসিক্স নিয়মিত অভিব্যক্তি হিসাবে ধরে নেওয়া হয় ... "
এক্স-ইউরি

6

একটি বিকল্প হ'ল:

dpkg -l | grep libreoffice | awk '{print $2}' | xargs -n1 echo

এটি মিলবে সমস্ত প্যাকেজ তালিকা libreoffice। আপনি যখন নিশ্চিত করেছেন যে এগুলিই আপনি পরিত্রাণ পেতে চান, নিম্নলিখিত কমান্ডটি সাবধানতার সাথে চালান :

dpkg -l | grep libreoffice | awk '{print $2}' | xargs -n1 sudo apt-get purge -y

বুদ্ধিটা:

  1. সমস্ত ইনস্টল করা প্যাকেজ তালিকাভুক্ত করার জন্য সিস্টেমটি পান
  2. শুধুমাত্র মেলে এমনগুলি দেখাতে ফিল্টার libreoffice
  3. প্যাকেজের নাম সহ কেবল কলামটি দেখানোর জন্য ফিল্টার
  4. এই প্যাকেজগুলির প্রত্যেকটিতে purge কমান্ড চালান

1
সম্ভবত আপনি -pবিকল্পটি যুক্ত করার পরামর্শ দিতে পারেন যাতে xargsপ্রতিটি কমান্ড তৈরির পূর্বে নিশ্চিতকরণের অনুরোধ জানানো হয় বা echoতার পরিবর্তে প্রথমে পরীক্ষা করা উচিতsudo apt-get purge
Zanna

1
@ জান্না -pসাহায্য করবে, তবে এটি ওয়ান-শট কমান্ড হবে না। কমান্ডটি চালানোর আগে আমি কী পেতাম তা পরীক্ষা করার জন্য আমি ইকোস ব্যবহার করেছি, তাই এটি সুপারিশ করার মতো।
aalaap

2
আমি আপনাকে +1 দিতে পারি এখন আপনি এটি আরও নিরাপদ করেছেন :)
Zanna

আমি মনে করি এটি এর -n1পক্ষে ভাল echoতবে আপনাকে এটিকে খাঁটি থেকে সরিয়ে ফেলতে হবে; অন্যথায়, নির্ভরতা আদেশ (খ উপর নির্ভর করে, প্রথমে বি মোছার চেষ্টা করে) খাঁজ কাটতে পারে।
অ্যারোন দিগুল্লা

আপনার সমাধানটি আমি এখনও অবধি খুঁজে পেয়েছি, আপনাকে ধন্যবাদ।
জোও পেদ্রো

5

প্রবণতা বৈশ্বিক নিদর্শনগুলির জন্য সমর্থন করে এবং এর মতো আরও একটি দুর্দান্ত শীতল মিল রয়েছে:

aptitude remove '?and(?name(libreoffice), name(3.6), ~i)' libreoffice-debian-menus

এটা নামে যে কোনো প্যাকেজ ম্যাচ হবে libreofficeএবং 3.6এবং এটি ইনস্টল (যে কী ~iজন্য দাঁড়িয়েছে।

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