Концепт режима сохранения в модуль

Этот режим безопаснее. Тенями занимается ауфс, а не скрипт.

Есть один момент который не знаю как разрулить без разбора теней вручную. И пока он у нас никак не решен. Это как склеить два модуля с изменениями, в которых могут встретиться тени которые “накрывают” файлы из низлежащих модулей. То есть файлы которых нет в склеиваемых модулях.

А в вашем случае правильнее не создавать себе проблем, чтоб потом не пришлось их решать.

Вроде починил.

file + .wh.file = .wh.file
.wh.file + file = .wh.file + file
.wh.file + file + .wh.file = .wh.file

Будет зависшая тень. Только и всего
И ее надо удалять. И как раз п/прог WHDELL в моей версии hutdown-uird.sh и решает эту задачу
Если тень одна так пусть она и будет

Я об этом и говорю. Если задача не решается стандартно, то тогда стоит изобретать обходной путь. И здесь ваш код или подобный был бы к месту, а в случае toxzm зависших теней нет и ни какие костыли не нужны.

Это не мой код. То же подсказали на старом форуме. Я его для toxzm адаптировал
А bash то в uird вроде как урезанный. Если бы не команда find то не знаю как поиск теней бы я организовал. Может тему отдельную начать ?
И автор отзовется.У него как раз в проге что то с копированием было связано
Режим copy наверно то лучше, но это если малые объемы записи.
А если будет 500 Мб ?
Или может 1 Гб ? А я и 1.8 Гб (/memory/changes) на чистом режиме mount писал и на стареньком компе
Куда подобные объемы копировать. В модуле то все сжато

Так в чем проблема то. Все в модуль с MODE=mount, тени в модуль с copy. Тени это пустые папки и файлы - весят мало. Я тему начал с инструкциями к toxzm, там есть примеры.

Ну, а то что не нормально столько изменений я вам уже говорил :slight_smile:

Не помните кто?

В моем примере про склейку модулей не в этом проблема, с этими тенями ауфс разберется. Тени, если они накрывают файл из одного из склеиваемых модулей в итоговом модуле не нужны. Там либо есть файл либо его нет, зависит от того что выше в стопке слоев тень или файл. Проблема когда в склеиваемых модулях встречается тень которая накрывает файл которого при склейке нет, но он есть там где вы собираетесь использовать склеенный модуль. То есть такую тень, в идеале, нужно сохранить. Вот этот вопрос в mkpfs не решен никак. Тень исчезнет.
А ситуация вполне стандартная, возникает когда накопились модули с изменениями и вы хотите сделать из них один. Корректно склеить их не получится из-за этой проблемы, только если клеить всю стопку слоев как они грузятся, то есть вместе с системными модулями, а не только сохраненки.

Там, как и в toxzm, при монтировании тени вроде не проходят в модуль. Вот тень и исчезает

Так я что против. Работало бы.
Сколько не занимался тенями и всегда с ними были проблемы.
В частности в ADDFILTER1=’.wh.’
Сделал чистку в своей сборке всего ненужного при выключении, так там у меня маска для удаления теней ?wh.*
Иначе ( маска .w.*) тени не удалялись

Да, там тоже ауфс.

У меня срабатывало. Был косячек, может вы на него попали. Выше описывал. Сейчас должно быть норамльно.

Это где у вас? В дропфильтре?

Это в моей сборке скрипт /usr/lib/magos/rc.halt.pre/11-cleaner-changes
Чистит /memory/changes. Вроде все проходит но в одном месте образуются тени
Так удалил я их с маской ?wh.*

И он удаляет тени?

В смысле команда rm в скрипте. Вроде стала удалять
Но иногда и не удаляет. Перегрузишся то удалила
Только команда load с маской .wh. нашла у меня все тени

Так мы с вами не проверим toxzm, постоянно вмешивается ваш код. Я думаю Вам нужно поотключать все улучшатели, собрать поновой uird c toxzm и попробовать сделать все что вам нужно только конфигом, по образцам из инструкции. Вот если тогда будет чего-то нехватать или работать не так - будем разбираться.
А то получается - Ваша машина не работает!!! правда я колеса открутил, двигатель поменял, а глушитель переставил в бензобак :slight_smile:

Тут речь идет о моей сборке. Это было еще до toxzm
Не надо лезть в систему и…
Если удалить все ненужное в /memory/changes/var/lib/rpm при выключении то образуются тени
Вот их я и удалял

А с dropfilter не получится удалить?

В WHDELL сначала командой load сначала нахожу тень потом командой rm удаляю этоту тень
А в dropfilter не пробовал.

Это я понял. Я предлагаю обойтись вообще без WHDELL. Сделать все только с toxzm. Достаточно ли будет этого? Или есть кейс который возможности toxzm не перекрывают?

Основной код то всего ничего

WHDELL() {
find $SRC -name ‘.wh.*’ | while read WHF
do
F=$(echo $WHF | sed s/.wh.//g)
FS=$( find “$F” -print 2>/dev/null )
if [ -n “$FS” ] ; then
rm -rf $WHF
fi
done
}

Остальное вывод логов
При удалении теней с образа aufs удалять надо два раза
Сначала появятся тени теней. После второго удаления тени исчезают

Но монтирование ведь надо менять

Мы с вами на разных языках похоже. Весь ваш WHDELL нужен вам только потому, что вы монтируете так

А без этого в mount модулях нет теней. Нет проблемы и ничего менять не нужно.
Тени есть в copy модулях и это решает проблему их отсутствия в моунт модулях. Есть ли хоть какой-то кейс который получится обойти с вашим монтированием и WHDELL, но нельзя обойти с toxzm? До тех пор пока Вы такой кейс не предложите я не буду менять способ монтирования, потому, что я такого кейса пока не вижу.