當我們在基於 Ubuntu/Debian 的系統上使用 apt-clone
,包安裝會變得更加容易。如果你需要在少量系統上安裝相同的軟體包時,apt-clone
會適合你。
如果你想在每個系統上手動構建和安裝必要的軟體包,這是一個耗時的過程。它可以通過多種方式實現,Linux 中有許多程式可用。我們過去曾寫過一篇關於 Aptik 的文章。它是能讓 Ubuntu 使用者備份和恢復系統設定和資料的程式之一。
apt-clone 能讓你為 Debian/Ubuntu 系統建立所有已安裝軟體包的備份,這些軟體包可以在新安裝的系統(或容器)或目錄中恢復。
該備份可以在相同作業系統版本和架構的多個系統上還原。
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
之後。只需提供一個儲存備份檔案的位置。我們將在 /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 個包。
你可以使用任何遠端複製程式來複製遠端伺服器上的檔案。
$ 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