До этого использовал симлинки или mount -o bind.
Но такой способ оказался крайне неудобным, поскольку файлов в модуле много, они все сильно вложенные, так что приходится прописывать каждый файл... В общем, геморройно это.
Сегодня нашёл на просторах интернета интересный способ монтирования в одну точку и написал для этого такой скриптик, назовём его union_mount:
#!/usr/bin/env bash
# Union mount two directories into one mount point
dir1=$1
dir2=$2
result_mount_point=$3
if [[ (-z $dir1) || (-z $dir2) || (-z $result_mount_point) ]]; then
echo "Usage: $0 dir1 dir2 result_mount_point"
exit 1;
fi
sudo mount -t aufs -o br=${dir1}=rw:${dir2}=rw none $result_mount_point
exit 0;
Он разработан для двух каталогов, но ничто не мешает добавить сколько нужно.
Как он работает. Допустим, есть каталог A: /path1/Afile.txt, каталог B: /path2/Bfile.txt и каталог C: /path3 (рабочий каталог проекта)
Вызываем union_mount /path1 /path2 /path3
В результате получаем: /path3/{Afile.txt,Bfile.txt}, т.е., содержимое точки монтирования не "перетирается" последним смонтированным, а объединяется с предыдущим.
Надеюсь, идея понятна.
Комментариев нет:
Отправить комментарий