
我在作業系統管理方面非常新手,所以如果這個問題是無知的,請友善。
這個想法非常不言自明,本質上保留一個套件和版本的文本文件,每次更改都會創建一個新的 git 提交。如果出現問題,您可以恢復到先前的設置,並且 apt 會處理軟體包的刪除/安裝/版本控制以匹配先前的環境。
如果這不存在,我將不勝感激任何關於正確作業系統管理的建議/建議連結。謝謝你!
答案1
有一些工具可以使用快照來完成這項工作(不像版本控制系統):
系統後台:
具有額外功能的簡單系統備份和還原應用程式
Systemback 可以輕鬆建立系統和使用者設定檔的備份。如果出現問題,您可以輕鬆恢復系統之前的狀態。還有額外的功能,如係統複製、系統安裝和即時系統創建。
安裝:
sudo add-apt-repository ppa:nemh/systemback sudo apt-get update sudo apt-get install systemback
時光倒流:
Back In Time 可作為「使用者模式」備份系統。這意味著您只能備份/還原您具有寫入權限的資料夾(實際上您可以備份唯讀資料夾,但無法還原它們)。
如果你想以 root 身分執行它,你需要使用「su」(命令列)、「gksu」(Gnome)或「kdesudo」(KDE)。
安裝:
sudo add-apt-repository ppa:bit-team/stable
sudo apt-get update
sudo apt-get install backintime
時移:
TimeShift for Linux 是一款提供類似 Windows 中的系統還原功能和 Mac OS 中的 Time Machine 工具的功能的應用程式。 TimeShift 透過定期拍攝檔案系統的增量快照來保護您的系統。稍後可以恢復這些快照,使您的系統恢復到拍攝快照時的準確狀態。
TimeShift 旨在僅保護系統檔案和設定。文件、圖片和音樂等使用者文件不包括在內。這可以確保當您將系統恢復到較早的日期時,您的文件保持不變。如果您需要一個工具來備份您的文件和文件,請看看優秀的時光倒流應用程式更具可配置性,並提供保存使用者檔案的選項。
安裝:
sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update sudo apt-get install timeshift
答案2
你可以使用一個鉤子易於運行一個腳本每次調用後apt-get/dpkg。一個腳本,將列出所有已安裝的套件並在 git 儲存庫中提交新列表
例如,在/etc/apt/apt.conf.d/99-dpkg-snapshot
DPkg::Post-Invoke {"/usr/bin/dpkg -l > /root/apt.git/dpkg-list.txt; git commit -a -m `date +%Y%m%d%H%H%S` -C /root/apt.git"; };
並創建一個git回購在/root/apt.git
但即使有了軟體包及其版本的列表,也不足以使系統恢復正常。您至少需要保留/etc,例如etckeeper。
最好使用快照相反,就像@muru所說。問題是只有BTFS和左心室容量提供檔案系統快照。
您也可以使用裝置映射器來完成此操作,但這並不簡單。https://serverfault.com/a/481513/297044