Linux
有沒有辦法收集安裝後的系統配置更改?
在我嘗試更換幾年前設置的 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 會讓你知道哪些系統包的配置文件被改變了。