chrootの外部でchroot環境をrsync(バックアップ)したいと思います。これを行うには、まずchrootボリュームのlvmスナップショットを作成してからrsyncを実行します。
このアプローチの唯一の問題は、chroot内の絶対シンボリックリンクが外部のchrootシステムを指し、これはもちろん一致しないことです。安全でないコピーリンクを使用しようとしているため、リンクの確認が正しくありません。デフォルトのルートではなくディレクトリのシンボリックリンクを解決するためにrsyncを取得する方法はありますか、それともこの問題を解決する他の方法はありますか?
答え1
rsync を実行する前に、絶対シンボリックリンクを相対シンボリックリンクに置き換えることができます。
答え2
すべての絶対シンボリックリンクを相対絶対シンボルに変更するのは良い解決策です。複雑で非効率的な解決策がない場合は、そうするオプションがsshfs
あります。--transform_symlinks
ssh
現在の実行では、別々の構成で別々のサーバーまたはユーザーを設定し、sshd
次の組み合わせを使用する必要があります。
Subsystem sftp internal-sftp
そして
ChrootDirectory /path/to/jail
これで--copy-unsafe-link
シンボリックリンクの保存や省スペースに興味がない場合は、刑務所内でrsync chrootを実行できます(静的リンクをrsync
そこにコピーしてnscd
、バンドルのインストール /var/run/nscd
/var/run/nscd
/dev
同期から両方とrsyncバイナリを除外します(バインドインストールおよび/またはproc
それを使用する必要があるかもしれません--one-file-system
)。