web-dev-qa-db-ja.com

オーバーレイfsから変更を削除するにはどうすればよいですか?

BusyBoxを実行している組み込みデバイスがあります。overlayfsでマウントされたディレクトリがいくつかあり、次のスタイルのコマンドを使用して、作業ディレクトリとデータディレクトリが別々のUBIパーティションにマウントされています。

メインのルートファイルシステムは、新しいバージョンで更新されたsquashfs読み取り専用イメージです。 squashfsへの変更が行われるように、特定のファイルに加えられた変更を削除する必要があります。どうやってやるの?

mount -t overlay etc_overlay -o lowerdir=/etc,upperdir=/mnt/config/.data,workdir=/mnt/config/.work /etc
2
RobbG

/mnt/config/.dataおよび/mnt/config/.workのフォルダーには、変更が含まれています。それらを邪魔にならない場所に移動して、新しいものを作成できます。オーバーレイをアンマウントし、クリーンな上位ディレクトリで再マウントします。

umount /etc
mv /mnt/config/.data /mnt/config/.data.old
mv /mnt/config/.work /mnt/config/.work.old
mkdir /mnt/config/.data
mkdir /mnt/config/.work
mount -t overlay etc_overlay -o lowerdir=/etc,upperdir=/mnt/config/.data,workdir=/mnt/config/.work /etc

古いオーバーレイへのすべての変更は、必要に応じて/mnt/config/.data.oldにあります。 /mnt/config/.work.oldは、正しくマウント解除されている場合、作業フォルダー以外は空にする必要があります。

3
David