备份安装的包并在全新安装的 Ubuntu 上恢复它们

作者: Sk 译者: geekpi

| 2018-10-02 12:24:28   评论: 0

在多个 Ubuntu 系统上安装同一组软件包是一项耗时且无聊的任务。你不会想花时间在多个系统上反复安装相同的软件包。在类似架构的 Ubuntu 系统上安装软件包时,有许多方法可以使这项任务更容易。你可以方便地通过 Aptik 并点击几次鼠标将以前的 Ubuntu 系统的应用程序、设置和数据迁移到新安装的系统中。或者,你可以使用软件包管理器(例如 APT)获取备份的已安装软件包的完整列表,然后在新安装的系统上安装它们。今天,我了解到还有另一个专用工具可以完成这项工作。来看一下 apt-clone,这是一个简单的工具,可以让你为 Debian/Ubuntu 系统创建一个已安装的软件包列表,这些软件包可以在新安装的系统或容器上或目录中恢复。

apt-clone 会帮助你处理你想要的情况,

  • 在运行类似 Ubuntu(及衍生版)的多个系统上安装一致的应用程序。
  • 经常在多个系统上安装相同的软件包。
  • 备份已安装的应用程序的完整列表,并在需要时随时随地恢复它们。

在本简要指南中,我们将讨论如何在基于 Debian 的系统上安装和使用 apt-clone。我在 Ubuntu 18.04 LTS 上测试了这个程序,但它应该适用于所有基于 Debian 和 Ubuntu 的系统。

备份已安装的软件包并在新安装的 Ubuntu 上恢复它们

apt-clone 在默认仓库中有。要安装它,只需在终端输入以下命令:

$ sudo apt install apt-clone

安装后,只需创建已安装软件包的列表,并将其保存在你选择的任何位置。

$ mkdir ~/mypackages
$ sudo apt-clone clone ~/mypackages

上面的命令将我的 Ubuntu 中所有已安装的软件包保存在 ~/mypackages 目录下名为 apt-clone-state-ubuntuserver.tar.gz 的文件中。

要查看备份文件的详细信息,请运行:

$ apt-clone info mypackages/apt-clone-state-ubuntuserver.tar.gz
Hostname: ubuntuserver
Arch: amd64
Distro: bionic
Meta:
Installed: 516 pkgs (33 automatic)
Date: Sat Sep 15 10:23:05 2018

如你所见,我的 Ubuntu 服务器总共有 516 个包。

现在,将此文件复制到 USB 或外部驱动器上,并转至要安装同一套软件包的任何其他系统。或者,你也可以将备份文件传输到网络上的系统,并使用以下命令安装软件包:

$ sudo apt-clone restore apt-clone-state-ubuntuserver.tar.gz

请注意,此命令将覆盖你现有的 /etc/apt/sources.list 并将安装/删除软件包。警告过你了!此外,只需确保目标系统是相同的 CPU 架构和操作系统。例如,如果源系统是 18.04 LTS 64 位,那么目标系统必须也是相同的。

如果你不想在系统上恢复软件包,可以使用 --destination /some/location 选项将克隆复制到这个文件夹中。

$ sudo apt-clone restore apt-clone-state-ubuntuserver.tar.gz --destination ~/oldubuntu

在此例中,上面的命令将软件包恢复到 ~/oldubuntu 中。

有关详细信息,请参阅帮助部分:

$ apt-clone -h

或者手册页:

$ man apt-clone

建议阅读:

就是这些了。希望这个有用。还有更多好东西。敬请期待!

干杯!



最新评论


友情链接
返回顶部