Как я могу получить доступ к исходным файлам (нижний каталог) наложения, смонтированного в том же месте, что и нижний каталог?

294
Anonymous

Ситуация, в которой я оказался, заключается в том, что мне приходится запускать Fedora Linux из места, предназначенного только для чтения. Я могу вносить изменения в файловую систему, размещать файлы и тому подобное, но все это теряется при перезагрузке, и в качестве дополнительной проблемы, я не могу легко увеличить доступное пространство для хранения. У меня есть доступ к некоторым записываемым носителям, поэтому я решил сделать это:

sudo mount --bind /usr /home/username/Store/Orig/usr sudo mount -t overlay ovl_usr -o lowerdir=/usr,upperdir=/home/username/Store/usr,workdir=/home/username/Store/Work/usr /usr 

Вторая строка работает нормально, это первая строка, которая не работает. То, что он должен сделать, это дать мне неперекрытый доступ к оригинальному содержимому /usr. Я ожидал бы, что, так как монтирование привязки создано до монтирования оверлея /usr, /home/username/Store/Orig/usrвсе равно будет видно старое содержимое Но нет, /home/username/Store/Orig/usrпоказывает наложенные файлы, так же, как /usr.

Есть ли способ получить доступ к оригинальному содержимому /usr?

2

1 ответ на вопрос

1
Kamil Maciorowski

Я думаю, что вы испытываете «общее» поведение, в то время как вам нужно «личное». Смотрите man 8 mount:

Операции с общими поддеревьями.
Начиная с Linux 2.6.15, можно пометить монтирование и его дополнительные монтируемые ресурсы как общие, частные, подчиненные или несвязываемые. Совместное монтирование предоставляет возможность создавать зеркала этого монтирования таким образом, чтобы монтирование и размонтирование в пределах любого из зеркал распространялось на другое зеркало. […] У частного маунта нет способностей к распространению. [...]

Решение: после mount --bind …и до mount -t overlay …вызова:

sudo mount --make-private /home/username/Store/Orig/usr 
Я попробую это, как только смогу. То есть, вы говорите, что, поскольку связное монтирование является общим, монтирование в исходном местоположении также видно в новом местоположении? И что, следовательно, создание частной привязки решит проблему? Anonymous 6 лет назад 0
@ Аноним Да. Kamil Maciorowski 6 лет назад 0
Я проверил это, и это похоже на работу - спасибо! Одна вещь, которая не была частью точного вопроса, но которую вы, возможно, хотели бы отметить, это то, что можно столкнуться с проблемами, если владельцы и разрешения оригинала и нового / usr различаются. Сейчас я работаю с chown и chmod, чтобы все исправить. Если бы я только что правильно настроил его с самого начала ... Anonymous 6 лет назад 0

Похожие вопросы