Bagaimana saya bisa membuat cadangan PPA saya?

27

Terkait dengan pertanyaan ini . Tetapi kekhawatiran saya adalah bahwa selama setahun terakhir, sebagian besar aplikasi saya yang lebih menarik (atau bekas) berasal dari PPA, dan hanya membuat cadangan daftar sumber saya tidak akan menambahkan kunci launchpad terkait seperti yang add-apt-repositoryterjadi.

Jadi saya sedang mencari cara untuk membuat daftar semua url PPA (seperti ppa:chromium-daily/stable) sehingga saya dapat dengan mudah skrip serangkaian perintah add-apt-repositori untuk menambahkannya ke dalam instalasi baru dengan anggun.

Singkatnya membuang sejarah bash saya tentu saja. Mana yang mungkin layak, tergantung pada seberapa jauh file itu kembali?

Scaine
sumber

Jawaban:

42

Yah karena saya suka bermain-main dengan scripting command line, saya sudah menulis yang berikut ini. Ini menghasilkan daftar string PPA yang bisa Anda backup dan kemudian skrip ke add-apt-repository:

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

Itu akan menghasilkan sesuatu seperti:

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

Jika Anda ingin menyelimutinya, Anda dapat memipkannya kembali ke sistem seperti itu (dengan asumsi kami menyimpan PPA ke ~/ppa-backup.txt:

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

Saya mungkin akan menyarankan Anda tidak hanya mengembalikan semuanya. Lihat melalui cadangan dan pastikan Anda tahu apa yang terkandung dalam setiap AKP.

Oli
sumber
Oli terima kasih. Saya akan menguji itu malam ini dan menerima ini setelah diuji!
Scaine
1
Ya Tuhan, saya punya banyak AKP di sistem saya. Ini sempurna, Oli. Terima kasih atas usaha Anda!
Scaine
Tidak berfungsi seperti yang tertulis.
user447607
6

Apa yang saya lakukan adalah menyalin seluruh direktori / etc / apt ke tempat yang aman. Jika Anda harus menginstal ulang atau mengkloning instalasi Anda, cukup salin kembali direktori itu. Itu akan menyimpan bahkan kunci tepercaya gpg.

nejode
sumber
5

Jika mengimpor semua kunci GPG adalah yang Anda cari, Anda dapat menggunakan skrip saya (datang dengan .deb) untuk mengimpor semua kunci GPG yang hilang sekaligus. Unduh

Untuk menggunakan, jalankan:

sudo launchpad-getkeys

Anda dapat melihat di dalam deb. Jika Anda mau, skripnya sangat kecil dan mudah dimengerti (jika Anda tidak mempercayai deb saya).

Kemudian untuk mencadangkan semua PPA, yang harus Anda lakukan adalah menyalin semua file .list di komputer baru / instalasi baru dan setelah Anda menyalinnya, jalankan perintah di atas untuk mengimpor semua kunci.

Alin Andrei
sumber
0

Dari jawaban saya di Bagaimana saya bisa mendapatkan daftar semua repositori dan PPA dari baris perintah ke skrip instalasi?

Daftar PPA dalam ppa:USER/REPOformat:

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:'
}

Buat skrip instalasi:

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

(ambil -yjika Anda tidak ingin menginstal non-interaktif)

Jalankan skrip:

sudo sh install_ppas.sh

Lihat jawaban saya pada pertanyaan lain untuk skrip lengkap dengan beberapa fitur tambahan yang dapat Anda simpan dan gunakan.

ejm
sumber