apt-clone:備份已安裝的軟體包並在新的 Ubuntu 系統上恢復它們

2019-05-10 09:43:00

當我們在基於 Ubuntu/Debian 的系統上使用 apt-clone,包安裝會變得更加容易。如果你需要在少量系統上安裝相同的軟體包時,apt-clone 會適合你。

如果你想在每個系統上手動構建和安裝必要的軟體包,這是一個耗時的過程。它可以通過多種方式實現,Linux 中有許多程式可用。我們過去曾寫過一篇關於 Aptik 的文章。它是能讓 Ubuntu 使用者備份和恢復系統設定和資料的程式之一。

什麼是 apt-clone?

apt-clone 能讓你為 Debian/Ubuntu 系統建立所有已安裝軟體包的備份,這些軟體包可以在新安裝的系統(或容器)或目錄中恢復。

該備份可以在相同作業系統版本和架構的多個系統上還原。

如何安裝 apt-clone?

apt-clone 包可以在 Ubuntu/Debian 的官方倉庫中找到,所以,使用 apt 包管理器apt-get 包管理器 來安裝它。

使用 apt 包管理器安裝 apt-clone

$ sudo apt install apt-clone

使用 apt-get 包管理器安裝 apt-clone

$ sudo apt-get install apt-clone

如何使用 apt-clone 備份已安裝的軟體包?

成功安裝 apt-clone 之後。只需提供一個儲存備份檔案的位置。我們將在 /backup 目錄下儲存已安裝的軟體包備份。

apt-clone 會將已安裝的軟體包列表儲存到 apt-clone-state-Ubuntu18.2daygeek.com.tar.gz 中。

$ sudo apt-clone clone /backup

我們同樣可以通過執行 ls 命令來檢查。

$ ls -lh /backup/total 32K-rw-r--r-- 1 root root 29K Apr 20 19:06 apt-clone-state-Ubuntu18.2daygeek.com.tar.gz

執行以下命令,檢視備份檔案的詳細資訊。

$ apt-clone info /backup/apt-clone-state-Ubuntu18.2daygeek.com.tar.gzHostname: Ubuntu18.2daygeek.comArch: amd64Distro: bionicMeta: libunity-scopes-json-def-desktop, ubuntu-desktopInstalled: 1792 pkgs (194 automatic)Date: Sat Apr 20 19:06:43 2019

根據上面的輸出,備份檔案中總共有 1792 個包。

如何恢復使用 apt-clone 進行備份的軟體包?

你可以使用任何遠端複製程式來複製遠端伺服器上的檔案。

$ scp /backup/apt-clone-state-ubunt-18-04.tar.gz Destination-Server:/opt

複製完成後,使用 apt-clone 執行還原。

使用以下命令進行還原。

$ sudo apt-clone restore /opt/apt-clone-state-Ubuntu18.2daygeek.com.tar.gz

請注意,還原將覆蓋現有的 /etc/apt/sources.list 並安裝/刪除包。所以要小心。

如果你要將所有軟體包還原到資料夾而不是實際還原,可以使用以下命令。

$ sudo apt-clone restore /opt/apt-clone-state-Ubuntu18.2daygeek.com.tar.gz --destination /opt/oldubuntu