備份安裝的包并在全新安裝的Ubuntu上恢復它們
在多個 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
建議閱讀:
就是這些了。希望這個有用。還有更多好東西。敬請期待!
干杯!