TitaniumBackupを使用してルート化されたAndroidでアプリやデータをバックアップするのと同じように、すべてのプログラム、ソフトウェア、ライブラリ、およびそのデータまでLinuxシステムにバックアップする方法はありますか?現在、すべてのプログラムをファイルにバックアップし、他のLinuxシステムで再度有効にしたいと思います。
答え1
UNIX型システムのシステムファイルのバックアップは通常、ファイルごとに実行されません。
システムを新しいハードウェアに移行する場合は、ライブイメージ(knoppixなど)を使用して既存のコンピュータを起動し、ハードドライブパーティションのイメージをリモートコンピュータまたはdd
ネットワークの外部ハードドライブに作成します。その後、新しいコンピュータからライブイメージを起動し、dd
ディスクイメージを新しいパーティションに書き込むことができます。新しいシステムは既存のシステムと同じ構成を持つため、既存のシステムを維持しながらシステムを「複製」したい場合は、ホスト名や静的IPアドレスなどのいくつかの構成設定を変更する必要があります。両方のシステムを同時に使用するには、使用するソフトウェアによっては若干の変更が必要になる場合があります。
システムを完全に複製したくない場合、新しいシステムが古いシステムと同じLinuxディストリビューションである場合は、パッケージマネージャを使用してインストールされているソフトウェアのリストを取得します。これにより、新しいシステムのパッケージマネージャはこのリストを使用してすべてのソフトウェアとライブラリをインストールできます。その後、既存のシステムのデータと構成ファイルを新しいシステムにコピーします。以下は、さまざまな展開のこのプロセスを説明するURLです。
パッケージマネージャを使用してインストールされていないソフトウェアは手動でコピーする必要があります。この場合、scp
またはrsync
あなたが探しているツールだけです。これらのソフトウェアは通常/opt
(以前の「レガシー」ソフトウェアの場合)またはにインストールされます/usr/local/
。この方法でシステム全体を複製できますが、重要な項目を見逃すと問題が発生します(したがって、最初の2つの方法に言及した理由は何ですか)。 Debianベースのディストリビューションでは、すべての重要なファイルを次のフォルダに含める必要があります。、、、、、、、、/bin
(空でない場合)、、、、およびライブイメージから起動してこれを行うのも良い考えです。これにより、ファイルのコピー中に(特に)ファイルが変更されないようにすることができます。これは次のとおりです。/etc
/home
/lib
/lib64
/lib32
/opt
/root
/srv
/sbin
/usr
/var
/var/log
rsync --progress -a -r /bin /etc /home /lib /lib64 /lib32 /opt /root /srv /sbin /usr /var [email protected]:/