当前位置: 首页>>技术教程>>正文


如何备份我的PPA?

, ,

问题描述

this question相关。但是我担心的是,在过去的一年中,我大多数更有趣(或更常用)的应用程序都来自PPA,仅备份我的源代码列表将不会像add-apt-repository那样添加关联的启动板键。

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

当然没有放弃我的bash历史。哪个可行,取决于该文件返回的时间有多远?

最佳方法

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

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

那会生成类似:

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

如果您想使用blanket-restore,则可以将它们通过管道输送回系统(假设我们将PPA保存到~/ppa-backup.txt

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

我可能会建议您不要将它们全部还原。查看备份,并确保您知道每个PPA包含的内容。

次佳方法

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

第三种方法

如果要导入所有GPG密钥,则可以使用我的脚本(.deb中包含)一次导入所有丢失的GPG密钥。 Download

要使用,只需运行:

sudo launchpad-getkeys

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

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7656.html,未经允许,请勿转载。