আমার সিস্টেমে যুক্ত সমস্ত পিপিএ সংগ্রহস্থলের তালিকা তৈরি করুন


21

আমি কীভাবে আমার সিস্টেমে যুক্ত সমস্ত পিপিএ সংগ্রহস্থলের তালিকা তৈরি করতে পারি এবং এটি একটি .txtফাইলে সংরক্ষণ করতে পারি, যাতে আমি পিপিএর সন্ধানে আমার নতুন সময়গুলির জন্য অনুসন্ধান করতে ব্যয় করতে চাই না এবং আমি কেবল আমার .txtফাইলে একটি পিপিএ লাইনটি নির্বাচন করতে এবং সংযোজন করতে পারি কমান্ডে sudo add-apt-repository? এছাড়াও এটি করার জন্য অন্য কোনও উপায় আছে যা আমি নিজে gpg কীগুলি দিতে চাই না?

উত্তর:


19

থেকে আমি একজন ইনস্টল স্ক্রিপ্টের সব ভান্ডার কমান্ড লাইন থেকে PPAs একটি তালিকা পেতে পারেন?

উত্তরের অংশটি আপনি যা খুঁজছেন তা তা দেখে মনে হচ্ছে:

#! /bin/sh 
# listppa Script to get all the PPA installed on a system ready to share for reininstall
for APT in `find /etc/apt/ -name \*.list`; do
    grep -o "^deb http://ppa.launchpad.net/[a-z0-9\-]\+/[a-z0-9\-]\+" $APT | while read ENTRY ; do
        USER=`echo $ENTRY | cut -d/ -f4`
        PPA=`echo $ENTRY | cut -d/ -f5`
        echo sudo apt-add-repository ppa:$USER/$PPA
    done
done

এটি হিসাবে সংরক্ষণ করুন listppa.sh

listppa.sh > installppa.sh

এটি এমন একটি স্ক্রিপ্ট তৈরি করে যা আপনি কোথাও ব্যাকআপ নিতে পারবেন, তারপরে কেবল চালিয়ে আপনার একটি নতুন ইনস্টলটিতে আপনার পিপিএ যুক্ত করতে চালান:

installppa.sh

20

যাঁরা কেবল পিপিএগুলি যাচাই করতে চান তারা আসলে তাদের সাথে কিছু না করেই ইনস্টল করেছেন আপনি স্বয়ংক্রিয়ভাবে করতে পারেন:

$ apt-cache policy

আমার সিস্টেমে এটি এখানে যা দেখায় তার কিছুটা এখানে:

% apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 http: ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main Translation-en
 500 http: ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main i386 Packages
     release v=12.04,o=LP-PPA-ubuntu-toolchain-r-test,a=precise,n=precise,l=Toolchain test builds,c=main
     origin ppa.launchpad.net
 500 http: ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ precise/main amd64 Packages
     release v=12.04,o=LP-PPA-ubuntu-toolchain-r-test,a=precise,n=precise,l=Toolchain test builds,c=main
     origin ppa.launchpad.net
 500 http: ppa.launchpad.net/rael-gc/scudcloud/ubuntu/ precise/main Translation-en
 500 http: ppa.launchpad.net/rael-gc/scudcloud/ubuntu/ precise/main i386 Packages
     release v=12.04,o=LP-PPA-rael-gc-scudcloud,a=precise,n=precise,l=ScudCloud - Linux client for Slack,c=main
     origin ppa.launchpad.net
...

এখান থেকে উদ্ধৃত :

[ apt-cache policy] প্রতিটি সংগ্রহস্থল সংস্থার সাথে সম্পর্কিত অগ্রাধিকারগুলি পুনরুদ্ধার করে। এর আউটপুট থেকে, আপনি সমস্ত উপলভ্য সংগ্রহস্থল এবং পিপিএগুলির একটি তালিকা নির্ধারণ করতে পারেন।

সূত্র: http://ask.xmodulo.com/list-installed-repositories-ppas-ubuntu.html


5
এটি দুর্দান্ত এবং সহজ, তবে আউটপুটে উবুন্টু বেস সংগ্রহস্থলও অন্তর্ভুক্ত রয়েছে। আপনি যে ভাল হিসাবে আপনি যে লিঙ্কটি আপনার সোর্স হিসেবে দিলেন ব্যবহৃত পূর্ণ, চূড়ান্ত কমান্ড ব্যবহার করতে পারেন কাজ করতে যাচ্ছেন এমন: apt-cache policy | grep http | awk '{print $2 $3}' | sort -u। আউটপুট চোখের উপর আরও সুসংগঠিত এবং সহজ।
pjd

দ্রষ্টব্য: apt-cache policyআপনি চালানোর পরে কেবল রেপোগুলি দেখাবে apt-get update। আপনি যদি এর সাথে কেবল একটি রেপো যুক্ত করেন তবে আপনি চালনা না add-apt-repositoryকরা apt-cache policyপর্যন্ত এটি প্রদর্শিত হবে না apt-get update
উইসবাকি

0

থেকে আমার উত্তর উপর আমি একটি ইনস্টল স্ক্রিপ্টের সব ভান্ডার কমান্ড লাইন থেকে PPAs একটি তালিকা পেতে পারেন?

ppa:USER/REPOবিন্যাসে পিপিএ তালিকাভুক্ত করুন :

grep -E '^deb\s' /etc/apt/sources.list /etc/apt/sources.list.d/*.list |\
  cut -f2- -d: |\
  cut -f2 -d' ' |\
  sed -re 's#http://ppa\.launchpad\.net/([^/]+)/([^/]+)(.*?)$#ppa:\1/\2#g' |\
  grep '^ppa:'

ppa:USER/REPOফর্ম্যাটে পিপিএ সহ সমস্ত ভান্ডার তালিকাবদ্ধ করুন :

কেবল শেষটি সরিয়ে ফেলুন grep(এর |\পরে পূর্ববর্তী লাইনটি থেকে সরাতে ভুলবেন নাsed কমান্ডের )।

ইনস্টল স্ক্রিপ্ট তৈরি সহ আপনি সংরক্ষণ করতে এবং ব্যবহার করতে পারেন এমন পূর্ণ স্ক্রিপ্টগুলির জন্য অন্য প্রশ্নের আমার উত্তরটি দেখুন।

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