Tartalomjegyzék

Az overlayfs használata

Egyszerű példa

# mkdir -p /tmp/overlay/{lower,upper,work,merged}

# echo "lower fájl tartalma" > /tmp/overlay/lower/file.txt

# mount -t overlay -o lowerdir=/tmp/overlay/lower,upperdir=/tmp/overlay/upper,workdir=/tmp/overlay/work overlay /tmp/overlay/merged

# cat /tmp/overlay/lower/file.txt 
lower fájl tartalma

# ls /tmp/overlay/upper/

# cat /tmp/overlay/merged/file.txt 
lower fájl tartalma

Módosítás

# echo "Módosított fájl" > /tmp/overlay/merged/file.txt

# cat /tmp/overlay/lower/file.txt 
lower fájl tartalma

# cat /tmp/overlay/merged/file.txt 
Módosított fájl

# ls /tmp/overlay/upper/
file.txt

# cat /tmp/overlay/upper/file.txt 
Módosított fájl

Az eredeti fájl nem módosul, a módosított verzió az upperdir-be kerül.

Törlés

# rm /tmp/overlay/merged/file.txt
rm: eltávolítja a(z) '/tmp/overlay/merged/file.txt' nevű, „szabályos fájl” típusú elemet? y

# ls -l /tmp/overlay/upper
összesen 0
c---------. 2 root root 0, 0 márc  25 03.35 file.txt

Takarítás

# umount /tmp/overlay/merged

# rm -rf /tmp/overlay

Bonyolult példa

# mkdir -p /tmp/overlay/{lower1,lower2,lower3,upper,work,merged}


# echo "layer1" > /tmp/overlay/lower1/file.txt
# echo "layer2" > /tmp/overlay/lower2/file.txt
# echo "layer3" > /tmp/overlay/lower3/file.txt

# mount -t overlay -o lowerdir=/tmp/overlay/lower3:/tmp/overlay/lower2:/tmp/overlay/lower1,upperdir=/tmp/overlay/upper,workdir=/tmp/overlay/work overlay /tmp/overlay/merged

# ls /tmp/overlay/merged/
file.txt

# cat /tmp/overlay/merged/file.txt 
layer3

# umount /tmp/overlay/merged 

# mount -t overlay -o lowerdir=/tmp/overlay/lower1:/tmp/overlay/lower2:/tmp/overlay/lower3,upperdir=/tmp/overlay/upper,workdir=/tmp/overlay/work overlay /tmp/overlay/merged

# ls /tmp/overlay/merged/
file.txt

# cat /tmp/overlay/merged/file.txt 
layer1

# umount /tmp/overlay/merged

A kernel balról jobbra értelmezi a lowerdir listát, de a bal oldali réteg a „legfelsőbb” lower réteg

Rétegek

# rm /tmp/overlay/lower1/file.txt 
rm: eltávolítja a(z) '/tmp/overlay/lower1/file.txt' nevű, „szabályos fájl” típusú elemet? y

# ls /tmp/overlay/lower*
/tmp/overlay/lower1:

/tmp/overlay/lower2:
file.txt

/tmp/overlay/lower3:
file.txt

# mount -t overlay -o lowerdir=/tmp/overlay/lower1:/tmp/overlay/lower2:/tmp/overlay/lower3,upperdir=/tmp/overlay/upper,workdir=/tmp/overlay/work overlay /tmp/overlay/merged

# cat /tmp/overlay/merged/file.txt 
layer2

# umount /tmp/overlay/merged

Több lowerdir esetén az overlayfs egy rétegelt stack-et épít, ahol a baloldali könyvtárak magasabb prioritásúak, és a fájlkeresés felülről lefelé történik.

Takarítás

# umount /tmp/overlay/merged 

# rm -rf /tmp/overlay/