অব্যবহৃত পিপিএগুলি পরীক্ষা করুন এবং অপসারণ করুন


18

ইনস্টলেশনের পর থেকে, আমি আমার 15.04 সিস্টেমে খুব কম পিপিএ যোগ করেছি না কারণ আমি একটি নির্দিষ্ট অ্যাপ্লিকেশন চেয়েছিলাম। তবে কখনও কখনও আমি সেই প্যাকেজটি পরে আবারও সরিয়ে দিয়েছি, কারণ এটি কার্যকর হয়নি, আমি যা চেয়েছিলাম তা তা নয় বা কেবল আমার আর প্রয়োজন হয় না বলে। আমি জানি না যে এটি কোনও পার্থক্য করে কিনা, তবে কিছু সংগ্রহস্থল ইনস্টল করা হয়েছিল add-apt-repositoryযখন অন্যরা কেবল একটি আদেশ দ্বারা এসেছিল যা কেবল ফাইলটি /etc/apt/sources.list.d/ম্যানুয়ালি তৈরি করেছিল ।

এখন আমি কীভাবে পিপিএ ইনস্টল করে আমার প্যাকেজ আছে কিনা তা পরীক্ষা করতে পারি এবং তা না থাকলে এটি আমার সফ্টওয়্যার উত্স থেকে অপসারণ করতে? এই পদ্ধতিটি সমস্ত পিপিএর মাধ্যমে স্বয়ংক্রিয়ভাবে কাজ করা উচিত।


স্বতন্ত্র স্ক্রিপ্ট হিসাবে বা ওয়াই-পিপিএ-ম্যানেজারের এক্সটেনশন হিসাবে? ; )
এবি

দয়া করে @ এবি স্ট্যান্ডেলোন, দয়া করে আমি ব্যবহার করি না y-ppa-manager
বাইট কমান্ডার

উত্তর:


25

এখানে একটি স্ক্রিপ্ট। কোনও প্যারামিটার ছাড়াই, স্ক্রিপ্টটি কিছু ইনফসকে তালিকা করে। এর সাথে --delete, listফাইলগুলি সরানো হবে, যদি কোন প্যাকেজ ইনস্টল করা নেই।

#!/usr/bin/env bash
for f in /etc/apt/sources.list.d/*.list; do
    grep -Po "(?<=^deb\s).*?(?=#|$)" "$f" | while read -r ENTRY ; do
    echo "ENTRY: $ENTRY"
        HOST=$(cut -d/ -f3 <<< "$ENTRY")

        if [ "ppa.launchpad.net" = "$HOST" ]; then
          USER=$(cut -d/ -f4 <<< "$ENTRY")
          PPA=$(cut -d/ -f5 <<< "$ENTRY")
          packageCount=$(awk '$1=="Package:" {if (a[$2]++ == 0) {system("dpkg -l "$2)}}' /var/lib/apt/lists/*"$USER"*"$PPA"*Packages 2>/dev/null | awk '/^ii/' | wc -l)
          echo "PPA: ppa:$USER/$PPA"
          echo "FILENAME: $f"
          echo "$packageCount package(s) installed"
          if [ "$packageCount" -eq 0 ] && [ "$1" == "--delete" ]; then
            sudo rm "$f" && echo "$f deleted"
          fi
          echo
        else 
          USER=$(cut -d/ -f3 <<< "$ENTRY")
          PPA=$(cut -d/ -f4 <<< "$ENTRY")
          packageCount=$(awk '$1=="Package:" {if (a[$2]++ == 0) {system("dpkg -l "$2)}}' /var/lib/apt/lists/*"$USER"*Packages 2>/dev/null | awk '/^ii/' | wc -l)
          echo "REPOSITORY: $USER/$PPA"
          echo "FILENAME: $f"
          echo "$packageCount package(s) installed"
          if [ "$packageCount" -eq 0 ] && [ "$1" == "--delete" ]; then
            sudo rm "$f" && echo "$f deleted" 
          fi
          echo
        fi
    done
done

উপরের কোডটি একটি নতুন ফাইলে অনুলিপি করুন, যেমন:

mkdir -p ~/bin
nano ~/bin/checkPPAs

স্ক্রিপ্টটি কার্যকর করা যায় Make

chmod +x ~/bin/checkPPAs

এবং এটি দিয়ে চালান

~/bin/checkPPAs

সমস্ত সংগ্রহস্থল এবং ইনস্টল করা প্যাকেজগুলির সংখ্যা তালিকাভুক্ত করতে।

স্ক্রিপ্ট দিয়ে শুরু করুন

~/bin/checkPPAs --delete

অপসারণ listফাইলগুলি ।


আমার সিস্টেমে নমুনা আউটপুট

ENTRY: http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu vivid main
PPA: ppa:webupd8team/y-ppa-manager
FILENAME: /etc/apt/sources.list.d/webupd8team-ubuntu-y-ppa-manager-vivid.list
3 package(s) installed

ENTRY: http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu vivid main
PPA: ppa:nilarimogard/webupd8
FILENAME: /etc/apt/sources.list.d/nilarimogard-ubuntu-webupd8-vivid.list
5 package(s) installed

ENTRY: http://ppa.launchpad.net/obsproject/obs-studio/ubuntu vivid main
PPA: ppa:obsproject/obs-studio
FILENAME: /etc/apt/sources.list.d/obsproject-ubuntu-obs-studio-vivid.list
1 package(s) installed

ENTRY: http://archive.getdeb.net/ubuntu vivid-getdeb apps
REPOSITORY: archive.getdeb.net/ubuntu vivid-getdeb apps
FILENAME: /etc/apt/sources.list.d/getdeb.list
7 package(s) installed

ENTRY: http://ppa.launchpad.net/psi-plus/ppa/ubuntu vivid main
PPA: ppa:psi-plus/ppa
FILENAME: /etc/apt/sources.list.d/psi-plus-ubuntu-ppa-vivid.list
15 package(s) installed

ENTRY: http://ppa.launchpad.net/libreoffice/ppa/ubuntu vivid main
PPA: ppa:libreoffice/ppa
FILENAME: /etc/apt/sources.list.d/libreoffice-ubuntu-ppa-vivid.list
24 package(s) installed

ENTRY: https://deb.nodesource.com/node_0.12 vivid main
REPOSITORY: deb.nodesource.com/node_0.12 vivid main
FILENAME: /etc/apt/sources.list.d/nodesource.list
1 package(s) installed

ENTRY: http://dl.google.com/linux/chrome/deb/ stable main
REPOSITORY: dl.google.com/linux
FILENAME: /etc/apt/sources.list.d/google-chrome.list
2 package(s) installed

ENTRY: http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu vivid main
PPA: ppa:gnome3-team/gnome3
FILENAME: /etc/apt/sources.list.d/gnome3-team-ubuntu-gnome3-vivid.list
273 package(s) installed

ENTRY: http://ppa.launchpad.net/noobslab/apps/ubuntu vivid main
PPA: ppa:noobslab/apps
FILENAME: /etc/apt/sources.list.d/noobslab-ubuntu-apps-vivid.list
0 package(s) installed

ENTRY: http://ppa.launchpad.net/ubuntuhandbook1/corebird/ubuntu vivid main
PPA: ppa:ubuntuhandbook1/corebird
FILENAME: /etc/apt/sources.list.d/ubuntuhandbook1-ubuntu-corebird-vivid.list
1 package(s) installed

ENTRY: http://ppa.launchpad.net/webupd8team/unstable/ubuntu vivid main
PPA: ppa:webupd8team/unstable
FILENAME: /etc/apt/sources.list.d/webupd8team-ubuntu-unstable-vivid.list
1 package(s) installed

ENTRY: http://download.mono-project.com/repo/debian wheezy main
REPOSITORY: download.mono-project.com/repo
FILENAME: /etc/apt/sources.list.d/mono-xamarin.list
166 package(s) installed

ENTRY: http://ppa.launchpad.net/otto-kesselgulasch/gimp-edge/ubuntu vivid main
PPA: ppa:otto-kesselgulasch/gimp-edge
FILENAME: /etc/apt/sources.list.d/otto-kesselgulasch-ubuntu-gimp-edge-vivid.list
5 package(s) installed

ENTRY: http://ppa.launchpad.net/numix/ppa/ubuntu vivid main
PPA: ppa:numix/ppa
FILENAME: /etc/apt/sources.list.d/numix-ubuntu-ppa-vivid.list
3 package(s) installed

ENTRY: http://ppa.launchpad.net/webupd8team/atom/ubuntu vivid main
PPA: ppa:webupd8team/atom
FILENAME: /etc/apt/sources.list.d/webupd8team-ubuntu-atom-vivid.list
1 package(s) installed

ENTRY: https://packages.graylog2.org/repo/debian/ trusty 1.0
REPOSITORY: packages.graylog2.org/repo
FILENAME: /etc/apt/sources.list.d/graylog.list
3 package(s) installed

ENTRY: http://ppa.launchpad.net/ubuntu-mate-dev/ppa/ubuntu vivid main
PPA: ppa:ubuntu-mate-dev/ppa
FILENAME: /etc/apt/sources.list.d/ubuntu-mate-dev-ubuntu-ppa-vivid.list
0 package(s) installed

ENTRY: http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu vivid main
PPA: ppa:gnome3-team/gnome3-staging
FILENAME: /etc/apt/sources.list.d/gnome3-team-ubuntu-gnome3-staging-vivid.list
268 package(s) installed

ENTRY: http://debian.koha-community.org/koha stable main
REPOSITORY: debian.koha-community.org/koha stable main
FILENAME: /etc/apt/sources.list.d/koha.list
0 package(s) installed

ENTRY: http://ppa.launchpad.net/pgavin/ghdl/ubuntu trusty main
PPA: ppa:pgavin/ghdl
FILENAME: /etc/apt/sources.list.d/pgavin-ubuntu-ghdl-vivid.list
0 package(s) installed

ENTRY: http://ppa.launchpad.net/ubuntu-mate-dev/vivid-mate/ubuntu vivid main
PPA: ppa:ubuntu-mate-dev/vivid-mate
FILENAME: /etc/apt/sources.list.d/ubuntu-mate-dev-ubuntu-vivid-mate-vivid.list
3 package(s) installed

ENTRY: http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu vivid main
PPA: ppa:webupd8team/sublime-text-3
FILENAME: /etc/apt/sources.list.d/webupd8team-ubuntu-sublime-text-3-vivid.list
1 package(s) installed

ENTRY: http://ppa.launchpad.net/webupd8team/java/ubuntu vivid main
PPA: ppa:webupd8team/java
FILENAME: /etc/apt/sources.list.d/webupd8team-ubuntu-java-vivid.list
1 package(s) installed

ENTRY: http://dl.google.com/linux/chrome/deb/ stable main
REPOSITORY: dl.google.com/linux
FILENAME: /etc/apt/sources.list.d/google.list
2 package(s) installed

ENTRY: http://dl.google.com/linux/chrome/deb/ stable main
REPOSITORY: dl.google.com/linux
FILENAME: /etc/apt/sources.list.d/google-chrome-beta.list
2 package(s) installed

আপনি কেন তাদের অপসারণ একটি খারাপ ধারণা বলে মনে করেন? আপনি কীভাবে এটিকে সরিয়ে ফেলবেন? add-apt-repository --remove? অথবা নিজে ফাইল? এই পিপিএ দ্বারা ব্যবহৃত জিপিজি কীগুলি সম্পর্কে কী, আমি ব্যবহার করলে সেগুলিও কি সরানো হবে ? rm???.listadd-apt-repository --remove
বাইট কমান্ডার

যদি কোনও প্যাকেজ ইনস্টল না করা থাকে তবে ফাইলটি নিরাপদে মোছা যাবে। আমি যোগ করা হবে। কীটি সরান কিছুটা জটিল।
এবি

আমি আমার স্ক্রিপ্ট আপডেট করেছি।
এবি

এটি আবার শুরু করুন, একটি rmকমান্ডের একটি ছিলecho
এবি

5

আমি কোনও স্বয়ংক্রিয় উপায় জানি না, তবে এই পদ্ধতিটি মোটামুটি দ্রুত:

  1. সিনাপটিক প্যাকেজ ম্যানেজার শুরু করুন এবং অনুরোধ জানানো হলে আপনার পাসওয়ার্ড ইনপুট করুন

  2. নীচের দিকে বাম কলামে, মূলটি ক্লিক করুন

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

দ্রষ্টব্য: আপনার যদি কোনও অব্যবহৃত পেপা থাকে:

  1. সেটিংস ক্লিক করুনউপরের মেনুতে
  2. তারপরে রিপোজিটরিগুলি
  3. সফ্টওয়্যার এবং আপডেট উইন্ডো প্রদর্শিত হবে।
  4. এই উইন্ডোটি থেকে আপনি অন্যান্য সফ্টওয়্যার ট্যাব থেকে অব্যবহৃত পপাগুলি অপসারণ করতে পারেন ।

তিনি অব্যবহৃত পিপিএ কীভাবে সনাক্ত করবেন তা জানতে চেয়েছিলেন। সফ্টওয়্যার আপডেটের মাধ্যমে পিপিএ কীভাবে মুছবেন সে সম্পর্কে ইতিমধ্যে একটি জিলিয়ন দিকনির্দেশ রয়েছে।
জো সি

@ জোসি আমি নিশ্চিত নই যে আপনি কী অভিযোগ করছেন বা কেন আপনি আমার উত্তরকে অগ্রাহ্য করেছেন। এটি সর্বোত্তম উপায় নাও হতে পারে তবে অব্যবহৃত পিপিএ কীভাবে সনাক্ত করতে হয় তা আমি প্রদর্শন করি।
জৈব মার্বেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.