Apt

安全回滾更新

  • February 10, 2012

我一次又一次地想知道為什麼沒有(或者我只是沒有找到它?)任何可以可靠且輕鬆地回滾由更新完成的更改的工具。讓我以 Debian 上的 apt 更新為例。有這個新包,它有依賴項。每個包都有一個將被創建/修改/刪除的文件列表。此外,其他文件可能會被配置腳本修改。

我對這個主題的研究提出了 strace 作為可能的最佳解決方案。使用 strace 可以監視單個程序的系統呼叫(假設是 apt-get),並且可以過濾掉與我正在尋找的內容相關的系統呼叫。

有了這個列表,就可以使用單個命令可靠地回滾更新。也許甚至可以在修改後的 strace 執行檔中添加某種鉤子,在修改之前觸發每個文件的備份。

我的假設正確嗎?如果是,是否存在這樣的工具?

包不一定存在於真空中 - 以更新數據庫包為例,並在啟動時將其數據文件轉換為新格式。在包升級過程中沒有擷取到這一點。

您會發現最一致的回滾方法是整個系統的快照和回滾(快照 VM,或具有快照功能的文件系統),即使這樣也不是萬無一失的 - 一個系統上的包更新可能會影響其他節點在網路上。

引用自:https://serverfault.com/questions/358975