Linux

有沒有辦法收集安裝後的系統配置更改?

  • June 3, 2017

在我嘗試更換幾年前設置的 Linux 伺服器時,我意識到沒有人知道從那以後安裝/配置了什麼。我唯一擁有的git是 nginx 站點定義。

我有哪些選項可以將正在執行的伺服器與全新安裝進行比較?

我想使用 Ansible 進行版本化配置管理,但在此之前我需要獲取有關已安裝服務及其配置文件、防火牆規則、使用者/組、ssh 密鑰、域設置等的資訊,我什至不知道該做什麼考慮到。我可以看到一個/data文件夾,所以這很簡單,但它包含www數據、elasticsearch 數據和nodejs應用程序,這意味著已node安裝pm2和 elasticsearch。我發現了 Jenkins 安裝的痕跡,但它沒有執行。我可以看到一個 fail2ban 服務,因此也需要移動它。

有沒有辦法一目了然地看到自初始設置以來發生了什麼變化?我想用一個乾淨的 16.04 替換這個 Ubuntu 14.04,使用 Ansible 劇本來避免這種混亂,也許也可以對一些服務進行 dockerize,同時保留目前的功能。

首先也是最重要的:我建議從頭開始。

從日誌或使用者訪談中辨識仍在使用的服務,隔離它們的配置並將它們設置在一個新的盒子上。

不要浪費時間去探勘這個盒子的歷史。

更詳細地解決您的問題:

您可能會從日誌中獲得有關係統更改內容的一些資訊,但這些資訊肯定是不完整的。

根據盒子的設置方式,root 的 .bash_history、/var/log/apt.log 和 /var/log/audit/audit.log 可能會有所幫助,但它們只能提供線索,不能提供完整的見解。

dpkg -V 會讓你知道哪些系統包的配置文件被改變了。

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