Linux
如何將整個作業系統移動到不同的伺服器?
我想在工作的測試伺服器上安裝 RhodeCode。但是,該伺服器的 Internet 訪問受到限制,並且 RhodeCode 有很多依賴項(我什至在該伺服器上都沒有 Python)。所以我必須從伺服器上拍攝整個作業系統的快照,在家裡的虛擬機中恢復它,安裝 RhodeCode 和其他所需的東西,然後在工作時將它複製回來——我已經在伺服器上有了一些應用程序,我會想避免重新安裝它們。
第一個解決方案是將硬碟帶回家(是的,我可以這樣做,但我想避免這樣做)。
第二種解決方案是使用 Clonezilla 並備份/恢復分區。
但是,是否有另一種方法可以做到這一點,使用 tar 或類似的東西,同時保留權限和 ACL?
**更新:**由於硬體資源有限,我無法使用 VMware(或同等產品)來執行帶有 RhodeCode 的虛擬機。
一個獨立於文件系統的解決方案會很棒,所以我可以在虛擬機中使用 ext3。
SystemRescueCD包含一個隨時可用的Partimage,它可以非常方便地保存/恢復整個分區。但它不會將分區轉換為另一種文件系統格式。
如果您確實需要此功能,可以嘗試使用 rsync 進行完整備份/恢復。您可以將目標驅動器格式化為您需要的任何格式。這很棘手,但它確實有效。這個ArchLinux 教程將向您解釋所有需要的技巧。
請注意,為了恢復您的新增強系統,您可能需要從 Live CD 啟動。您將無法在正在執行的系統上恢復您的系統。
您可以手動下載軟體包並將它們放在拇指驅動器上。如果您不想手動找出所有依賴項,請設置您的虛擬機,清除包管理器的記憶體,安裝包及其(自動計算的)依賴項,然後將記憶體複製到驅動器上,將其帶入,並通過包管理器安裝它。