ルートファイルシステム(もちろん特別なディレクトリではない)の内容を別のHDDにコピーして、既存のDebian 7.xディストリビューションを複製しました。起動し、すべてが実行されているようだった - 奇妙なエラーが発生しました。そのうちの1つ - sudoとsuが実行に失敗し、バイナリに対するsetuid権限が不足していると文句を言いました。問題を解決し、今彼らはもはや文句を言わない。しかし、コピー中に権限が破損した他のファイルがある可能性がありますか?すべての関連ファイル権限を確認して変更する方法はありますか?
答え1
元のホスト(または新しくインストールされた他の同様のディストリビューション):
getfacl -R / > permissions.acl
あなたのマスター:
setfacl --restore=permissions.acl
~からここ
答え2
これが神の創造の目的ですrsync
。
私はインストールを複製し、rsync -avxt --delete-before
実行してlilo
独立して起動します。はい、しかしUUIDを使用しないでください。fstab
それ以外の場合はすべてが中断されます。ディスクの順序sda
(など)が何であるかは重要ではないようにラベルを使用してくださいsdb
。
答え3
簡単な方法が思い出せませんね。 1つの方法は、/var/cache/apt/archives
すべてのパッケージをルート()として再インストールすることですsudo su
。
cd /var/cache/apt/archives
for i in *.deb
do
sudo dpkg -Gi $i
done
次に、-p
rsync / cpオプションまたはファイルのコピーに使用した同等のオプションを使用してください。
答え4
rsync
ファイルを再コピーするために使用されます。コピー権限だけが必要だという点に気づき、内容を保存しながら修正してくれるので、相対的に速度が速くなると思います。