如何备份我的 PPA?

Sca*_*ine 29 ppa backup

这个问题有关。但我担心的是,在过去的一年里,我的大部分更有趣(或使用过)的应用程序都来自 PPA,只是备份我的源列表不会像那样添加关联的启动板键add-apt-repository

因此,我正在寻找一种方法来列出所有 PPA url(如ppa:chromium-daily/stable),以便我可以轻松编写一系列 add-apt-repository 命令的脚本,将它们优雅地添加到新安装中。

当然没有倾倒我的 bash 历史。这可能是可行的,具体取决于该文件可以追溯到多远?

Oli*_*Oli 43

好吧,因为我喜欢使用命令行脚本,所以我写了以下内容。它生成一个 PPA 字符串列表,您可以备份这些字符串,然后编写脚本add-apt-repository

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

这会产生类似的东西:

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
Run Code Online (Sandbox Code Playgroud)

如果您想全面恢复这些,您可以像这样将它们通过管道送回系统(假设我们将 PPA 保存到~/ppa-backup.txt

<~/ppa-backup.txt xargs -I % sudo add-apt-repository %
Run Code Online (Sandbox Code Playgroud)

我可能会建议你不要只是恢复它们。查看备份并确保您知道每个 PPA 包含的内容。


小智 6

我所做的是将整个 /etc/apt 目录复制到一个安全的地方。如果您必须重新安装或克隆您的安装,只需复制回该目录。它甚至会保存 gpg 可信密钥。


Ali*_*rei 5

如果您正在寻找导入所有 GPG 密钥,您可以使用我的脚本(以 .deb 格式提供)一次导入所有丢失的 GPG 密钥。下载

要使用,只需运行:

sudo launchpad-getkeys
Run Code Online (Sandbox Code Playgroud)

如果您愿意,您可以查看 .deb 内部,该脚本非常小且易于理解(以防您不信任我的 deb)。

然后要备份所有 PPA,您所要做的就是复制新计算机/新安装上的所有 .list 文件,复制它们后,运行上述命令以导入所有密钥。