PPA'larımı nasıl yedekleyebilirim?


27

İlgili bu soruya . Ancak benim endişem son bir yıl içerisinde, daha ilginç (veya kullanılmış) uygulamalarımın çoğunun PPA'lardan gelmesi ve kaynak listemin yedeklenmesiyle ilgili fırlatma paneli tuşlarını bu şekilde eklemeyeceğim add-apt-repository.

Bu yüzden, tüm PPA URL'lerini (gibi ppa:chromium-daily/stable) listelemenin bir yolunu arıyorum, böylece kolayca yeni bir yüklemeye zarafetle eklemek için bir dizi add-apt-repository komutunu kolayca kodlayabilirim.

Tabii ki benim bash geçmişimden vazgeçmemek. Bu dosyanın ne kadar geriye gittiğine bağlı olarak hangisi uygulanabilir?

Yanıtlar:


42

Çünkü komut satırı komut dosyasıyla dalga geçmeyi sevdiğim için aşağıdakileri yazdım. Yedekleyebileceğiniz ve ardından kodlayabileceğiniz bir PPA dizesi listesi oluşturur add-apt-repository:

grep -RoPish '(?<=ppa.launchpad.net/)[^/]+/[^/ ]+' /etc/apt | sort -u | sed 's/^/ppa:/'

Bu gibi bir şey üretir:

ppa:ubuntu-wine/ppa
ppa:am-monkeyd/nautilus-elementary-ppa
ppa:nilarimogard/webupd8
ppa:ubuntu-x-swat/x-updates
ppa:tualatrix/ppa
ppa:banshee-team/banshee-unstable
ppa:chromium-daily/beta
ppa:libreoffice/ppa
ppa:banshee-team/ppa

Hiç istiyorsa o battaniye-geri, bunları böylece (biz PPA'lar kurtardı varsayarak gibi sisteme geri boru olabilir ~/ppa-backup.txt:

<~/ppa-backup.txt xargs -I % sudo add-apt-repository %

Muhtemelen hepsini geri getirmemenizi öneririm. Yedeklemeye bakın ve her bir PPA'nın ne içerdiğini bildiğinizden emin olun.


Sağol Oli. Bunu bu gece test edeceğim ve bunu bir kez test ettikten sonra kabul edeceğim!
Scaine

1
Tanrım, sistemimde bir sürü PPA var. Bu mükemmel, Oli. Emeğin için teşekkürler!
Scaine

Yazılan gibi çalışmıyor.
user447607 20:16

6

Yaptığım şey, / etc / apt dizinini güvenli bir yere kopyalamam. Yüklemenizi yeniden kurmanız veya klonlamanız gerekiyorsa, bu dizini geri kopyalamanız yeterlidir. Bu gpg güvenilir anahtarları bile kurtaracak.


5

Tüm GPG anahtarlarını almak aradığınız şeyse, tüm eksik GPG anahtarlarını bir kerede almak için betiğimi (.deb ile gelir) kullanabilirsiniz. İndir

Kullanmak için, sadece çalıştırın:

sudo launchpad-getkeys

İsterseniz .deb içine bir göz atabilirsiniz, senaryo çok küçük ve anlaşılması kolaydır (benim borçluya güvenmemeniz durumunda).

Daha sonra tüm PPA'ları yedeklemek için tek yapmanız gereken tüm .list dosyalarını yeni bilgisayara / yeni kurulumda kopyalamak ve bunları kopyaladığınızda tüm anahtarları almak için yukarıdaki komutu çalıştırın.


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 :

list_ppas () {
  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:'
}

Yükleme komut dosyası oluştur:

list_ppas | xargs printf 'add-apt-repository -y %s\n' > install_ppas.sh

( -yetkileşimli olmayan yükleme istemiyorsanız kaldırın)

Komut dosyasını çalıştırın:

sudo sh install_ppas.sh

Kaydedebileceğiniz ve kullanabileceğiniz birkaç ekstra özellik içeren 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.