Làm cách nào tôi có thể sao lưu PPA của mình?


27

Liên quan đến câu hỏi này . Nhưng mối quan tâm của tôi là trong năm qua, hầu hết các ứng dụng thú vị hơn (hoặc đã sử dụng) của tôi là từ PPA và chỉ cần sao lưu danh sách nguồn của tôi sẽ không thêm các phím launchpad liên quan theo cách đó add-apt-repository.

Vì vậy, tôi đang tìm cách liệt kê tất cả các url PPA (như thế ppa:chromium-daily/stable) để tôi có thể dễ dàng tạo một chuỗi các lệnh add-apt-repository để thêm chúng vào một bản cài đặt mới một cách duyên dáng.

Tất nhiên là không bán phá giá lịch sử bash của tôi. Điều này có thể khả thi, tùy thuộc vào việc quay lại tập tin đó bao xa?

Câu trả lời:


42

Chà, vì tôi thích mucking xung quanh với kịch bản dòng lệnh, tôi đã viết như sau. Nó tạo ra một danh sách các chuỗi PPA mà bạn có thể sao lưu và sau đó tập lệnh thành add-apt-repository:

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

Điều đó sẽ tạo ra một cái gì đó như:

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

Nếu bạn từng muốn khôi phục lại những cái đó, bạn có thể đưa chúng trở lại hệ thống như vậy (giả sử chúng tôi đã lưu PPAs vào ~/ppa-backup.txt:

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

Tôi có lẽ sẽ đề nghị bạn không chỉ khôi phục lại tất cả. Xem qua bản sao lưu và đảm bảo bạn biết mỗi PPA chứa gì.


Cảm ơn Oli. Tôi sẽ kiểm tra tối nay và chấp nhận điều này một lần thử nghiệm!
Scaine

1
Chúa ơi tôi có rất nhiều PPA trên hệ thống của mình. Điều này thật hoàn hảo, Oli. Cảm ơn nỗ lực của bạn!
Scaine

Không hoạt động như văn bản.
user447607

6

Những gì tôi làm là tôi sao chép toàn bộ thư mục / etc / apt vào một nơi an toàn. Nếu bạn phải cài đặt lại hoặc sao chép cài đặt của mình, chỉ cần sao chép lại thư mục đó. Nó sẽ lưu ngay cả các khóa đáng tin cậy gpg.


5

Nếu nhập tất cả các khóa GPG là những gì bạn đang tìm kiếm, bạn có thể sử dụng tập lệnh của tôi (có trong tệp .deb) để nhập tất cả các khóa GPG bị thiếu cùng một lúc. Tải về

Để sử dụng, chỉ cần chạy:

sudo launchpad-getkeys

Bạn có thể xem bên trong .deb nếu bạn muốn, tập lệnh thực sự nhỏ và dễ hiểu (trong trường hợp bạn không tin vào cuộc tranh luận của tôi).

Sau đó, để sao lưu tất cả các PPA, tất cả những gì bạn phải làm là sao chép tất cả các tệp .list trên máy tính mới / cài đặt mới và sau khi bạn đã sao chép chúng, hãy chạy lệnh trên để nhập tất cả các khóa.


0

Từ câu trả lời của tôi về Làm thế nào tôi có thể nhận được một danh sách tất cả các kho lưu trữ và PPA từ dòng lệnh vào một tập lệnh cài đặt?

Liệt kê các PPA theo ppa:USER/REPOđịnh dạng:

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

Tạo tập lệnh cài đặt:

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

(lấy ra -ynếu bạn không muốn cài đặt không tương tác)

Chạy kịch bản:

sudo sh install_ppas.sh

Xem câu trả lời của tôi cho câu hỏi khác để biết các tập lệnh đầy đủ với một vài tính năng bổ sung mà bạn có thể lưu và sử dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.