overlayfsコマンドが機能しないのはなぜですか?

overlayfsコマンドが機能しないのはなぜですか?

次のコマンドはルートオーバーレイを作成し、ルートに対するすべての変更が/ tmp / upperに表示されるようにする必要があります。

しかし、ご覧のように動作しないようです。誰もが私が間違っていることを提案できますか?

ここでは構文に従っています。https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt

ありがとう

ubuntu@ip-10-0-0-48:~$ sudo su
root@ip-10-0-0-48:/home/ubuntu# cd /tmp
root@ip-10-0-0-48:/tmp# mkdir upper
root@ip-10-0-0-48:/tmp# mkdir workdir
root@ip-10-0-0-48:/tmp# mount -t overlay overlay -olowerdir=/,upperdir=/tmp/upper,workdir=/tmp/workdir  /
root@ip-10-0-0-48:/tmp# touch /floob
root@ip-10-0-0-48:/tmp# ls /
bin  boot  dev  etc  floob  home  initrd.img  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  snap  srv  sys  tmp  usr  var  vmlinuz  x
root@ip-10-0-0-48:/tmp# ls /tmp/upper/
root@ip-10-0-0-48:/tmp#

ベストアンサー1

結局、私は興味のある最上位ディレクトリごとに1つずつ複数のオーバーレイを作成しました。

この演習の目的は、パッケージのインストール中に行われた変更を分離することです。ほとんどの場合、この方法で十分です。

#/bin/bash
array=( lib home opt bin boot var etc usr srv lib64 root sbin  )
mkdir -p /ovl
cd /ovl
rm -rf /ovl/overlay
rm -rf /ovl/workdir
mkdir -p /ovl/overlay
mkdir -p /ovl/workdir

for i in "${array[@]}"
do
  mkdir -p /ovl/overlay/${i}
  mkdir -p /ovl/workdir/${i}
  mount -t overlay overlay -o lowerdir=/${i},upperdir=/ovl/overlay/${i},workdir=/ovl/workdir/${i} /${i}
done

おすすめ記事