sistemime eklenen tüm ppa havuzlarını listele


21

Sistemime eklenen tüm ppa havuzlarını nasıl listeleyebilir ve bir .txtdosyaya kaydedebilirim , böylece yeni kurulumlar için ppa'ları aramak için zamanımı harcamak istemem ve sadece dosyamda bir ppa satırı .txtseçip ekleyebilirim Komuta sudo add-apt-repositorymı? Ayrıca gpg anahtarlarını elle vermek istemediğim başka bir yol var mı?

Yanıtlar:


19

Gönderen nasıl bir yükleme komut dosyası içine komut satırından tüm depoları ve PPA'lar bir listesini alabilirsiniz?

Cevabın bir kısmı aradığınızı gösteriyor:

#! /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

Bunu olarak kaydet listppa.sh

listppa.sh > installppa.sh

Bu, bir yerde yedekleyebileceğiniz bir komut dosyası oluşturur, ardından PPA'larınızı yeni bir yükleme işlemine eklemek için çalıştırın:

installppa.sh

20

Sadece gerçekte olmadan onlar yüklemiş PPA'lar kontrol etmek isteyenler için yapıyor otomatik yapabileceğiniz onlarla bir şey:

$ apt-cache policy

Sistemimde, gösterdiği şeylerden bazıları:

% 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
...

Buradan alıntı :

[ apt-cache policy] her depo kaynağıyla ilişkili öncelikleri alır. Çıktısından, mevcut tüm depoların ve PPA'ların bir listesini çıkartabilirsiniz.

Kaynak: http://ask.xmodulo.com/list-installed-repositories-ppas-ubuntu.html


5
Bu güzel ve basittir, ancak çıktı aynı zamanda Ubuntu baz havuzlarını da içerir. Eğer siz de size kaynak olarak verdi linke kullanılan tam, nihai komutunu kullanabilir bunu gidiyoruz: apt-cache policy | grep http | awk '{print $2 $3}' | sort -u. Çıktı daha iyi organize olmuş ve gözler üzerinde daha kolaydır.
pjd

Not: apt-cache policySadece çalıştırdıktan sonra depoları gösterecektir apt-get update. Yeni bir repo eklerseniz add-apt-repository, koşana apt-cache policykadar görünmez apt-get update.
wisbucky

0

Gönderen cevabım üzerine ben bir yükleme komut dosyası içine komut satırından tüm depoları ve PPA'lar listesini almak nasıl?

PPA'ları ppa:USER/REPOformatta listeleyin :

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'lar dahil tüm depoları ppa:USER/REPOformatta listeleyin :

Sadece sonuncuyu kaldırın grep( komuttan |\sonra önceki satırdan kaldırmayı unutmayın sed).

Bir yükleme betiği oluşturmak da dahil olmak üzere kaydedebileceğiniz ve kullanabileceğiniz tam komut dosyaları için diğer sorudaki cevabımı görün.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.