如何在不使用 apt 缓存的情况下备份程序?

如何在不使用 apt 缓存的情况下备份程序?

有没有办法备份已安装的软件,安装全新的 Ubuntu 系统,并在没有互联网连接的情况下在新安装的系统上恢复软件?我已经清除了我的 apt 缓存。

答案1

备份

  1. Ctrl + Alt + T(打开终端)

  2. 获取 root 访问权限 (i) 输入“sudo su”然后按 Enter (ii) 输入您的密码

  3. 安装所需的软件包 (i)apt-get install fakeroot(ii)apt-get install dpkg-repack

  4. cd 到你的备份目录例如,假设你有一个拇指驱动器并创建了一个文件夹备份“cd /media/usb/backup”

  5. 在终端中运行以下命令

    fakeroot -u dpkg-重新打包dpkg --get-selections | grep install | cut -f1

。恢复

重新安装软件包的步骤

1. Ctrl++ (Alt打开T终端)

2.cd 到“备份”目录

例如:“cd /media/usb/backup”

3.在终端中运行以下命令

sudo dpkg -i *.deb

来源 :Facebook 文档

编辑

如果它导致依赖关系中断,请打开终端并输入

sudo apt-get install -f 

答案2

您可以使用 dpkg:sudo dpkg --get-selections > backup

然后复制备份,然后重新安装并使用

sudo dpkg --set-selections < selections
sudo apt-get update && sudo apt-get -u dselect-upgrade

(不是我发的,是在http://syslog.tv/2010/07/02/using-dpkg-selections-to-backup-and-install-packages/

但是,您需要有相同的 sources.list(特别是如果您使用了 ppa ),因此我建议复制 /etc/apt/。如果您计划升级 Ubuntu 版本,并非所有版本都会相同,所以这可能不是您想要的

答案3

这一行命令将打包所有已安装软件包的(官方)文件:

dpkg -l | grep ^ii | awk '{print $2}' | while read pkgname; do dpkg -L $pkgname; done | while read fname; do test -f "$fname" && echo $fname; done | tar zcf /path/to/backup.tar.gz -T-

答案4

安装并使用“aptoncd”

这将获取 /var/cache/apt/archives 中的所有内容并创建一个媒体 (CD-DVD),用于通过 apt 安装软件。您可以在多台机器上升级和安装同一套软件,而无需再次下载这些软件包。

相关内容