MagOSM для MagOS_2016.64

В Магее работает. Все ок!
Записал в /etc/environment

PATH=“/usr/lib/magos/scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games”

В Росе то же должно работать.
А куда в преинит писать ?
Но, видимо, в ~/.bashrc то же надо править.
Если войти в систему от юзера то паковка и распаковка модуля работает
Если из юзера открыть терминал от root то команда mkpfs не находится
Если из юзера открыть терминал от юзера то команда mkpfs есть

PS
Дополнительно записал путь в /root/.bashrc Для Магеи и Убунту в магос-модуле

# .bashrc

PATH=/usr/lib/magos/scripts:/usr/local/sbin:/usr/sbin:/usr/local/bin:/usr/bin
ENV=$HOME/.bashrc
USERNAME="root"
export USERNAME ENV PATH

# Source global definitions Mageia
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi
# Source global definitions Ubuntu
if [ -f /etc/skel/.bashrc ]; then
	.  /etc/skel/.bashrc
fi

Теперь терминалы от юзера и от root находят mkpfs

Но mkpfs работает с тенями только с опцией -l
Что бы тени запоминались без опциии -l дополнил скрипт pfs cтр 222

wha=‘’
[ “$WH” = ‘yes’ ] && wha=‘shwh’
mount -t aufs -o $wha,dirs=/$SYSMNT/changes$N/=rw aufs /$SYSMNT/aufs$N && echo “$SYSMNT/aufs$N” || return 1

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

1 лайк

http://forum.puppyrus.org/index.php?topic=22305.new#new
Посмотрим, что ответят.

Без ключа -l тени, кстати, учитываются. То есть если склеить два модуля где тень во втором перекроет файл из первого, то в итоговом модуле файла не будет. Но вот сами тени в модуль не попадают.

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

Однако работает. Конечно тестировать надо
Но мне со своим drak2xzm как то удобнее.
Он конечно совсем простой и по функчиям не сравнить с pfs, но если в в исходной папке для паковки находятся тени, то прога выводит список теней на монитор. Если что не так, то можно пойти в исходную папку и почистить

mkpfs без ключа -l создает ауфс из всего что вы ей передали. Папки модули исо и т.д. после чего пакует каталог в который эта ауфс смонтирована. В точке монтирования ауфс теней нет они могут быть только в слоях ауфс включая верхний для изменений. Если тени у вас сохранились то это ошибка. Или у вас или в мкпфс или еще где.
С ключем -l работает как dir2xzm, по этому там сохранить тени возможно.

Если вы клеите системный модуль с модулем в котором обновления, вам не нужны тени в итоговом модуле, вам нужно учесть тени при склейке. Если ничего не упускаю :slight_smile: , то есть вам важна последовательность в которой передаете имена модулей мкпфс. Сперва системный, потом обновления.

У меня сохраняется или системный, при этом пользовательские обновления не учитываются.
Либо пользовательский, при системные не учитываются.
Для выделения того или иного модуля из /memory/changes применил разные фильтры.
Если в пользовательском режиме будет установлен хоть один пакет, то будут сохранены только системные изменения а пользовательские проигнорированы.
Так сделано для уменьшения времени для паковки изменений и не так часто юзер делает что то в системе.
Если я обновляю систему и сохраняю изменения при выключении, то в /memory/changes появятся тени от старых удаленных пакетов
Которые и должны попасть в конечный модуль сохранения.
Конечно сейчас существуют более совершенные способы обновления системы, но достоинство этого способа - простота
Работа как в обычной штатно-установленной системе и юзеру ничего не надо делать

Если честно, то не понял ничего :slight_smile:
Вы клеите системный в нем теней нет, и модуль с изменениями.в нем тени есть и эти тени накрывают файлы системного модуля. Больше там никаких теней быть не должно. В итоге получаете новый системный модуль в котором снова нет теней.

Я сохраняю изменения из /memory/changes и там как раз появляются тени
Системные модуля я не обновляю. Когда на флэшке уже мало места то просто перепаковываю сборку
При сохранении изменений из /memory/changes уже делю их на системные или пользовательские

При объединении каких модулей вам нужно сохранить тени? Я не могу понять как сложилась такая ситуация?

Допустим установил новое ядро и старое ядро удалил.
В /memory/changes появляются тени старого ядра
Если из /memory/changes сделать модуль, то при загрузке системы тени старого ядра удалят уже не нужное ядро из системы
Постоянно пользуюсь тенями для правки системы,т к перепаковывать системные модули это как то долго и хлопотно

Ну вот вы запаковали changes. Например mkpfs -l чтоб сохранить тени. Тени есть, при загрузке ауфс их учтет и файлы спрячет. А проблемы то когда начинаются?

Вероятно имеется в виду mkpfs -l -w
Тут то никаких проблем, я думаю не будет.
К с тате этот вариант запуска очень грамотно отрабатывает тени. Что есть сохраняет. Свои не добавляет.
Предлагаемая правка на вариант для запуска mkpfs -w
Тут еще PFS сложновата и возможно что то не понял.
Но в принципе можно использовать mkpfs -l -w

Да, конечно -l -w. А просто -w и не получится сделать. Точнее можно, но это нужно будет разбирать скриптом тени в каждом модуле, что весьма не просто и не быстро.

Можно сделать чтоб с ключем -w, включалось само -l. Может и сейчас так, не помню. Это объяснило бы то, что у вас тени появились :slight_smile:

При анализе существующих теней из /memory/changes выявил проблему
В папках из ~/.local/share/RecentDocuments/* и ~/.cache/mozilla/* при работе в системе появляются зависшие тени. Их я просто удаляю из /memory/changes перед паковкой
в /usr/lib/magos/rc.halt.pre/01-cleaner-changes :

[ -d “$iuser/.cache/mozilla” ] && rm -rf $iuser/.cache/mozilla/*
[ -d “$iuser/.local/share/RecentDocuments” ] && rm -rf $iuser/.local/share/RecentDocuments/*

Это у меня в писалке есть чистка зависших теней, так пока не начал чистить эти папки , то постоянно появлялись сообщения о наличии зависших теней в них

В какой ситуации создаются зависшие тени?

Просто, как я понял, при работе в системе.
В ~/.cache/mozilla - при работе с браузером
В ~/.local/share/RecentDocuments - при работе с документами

Но эти папки счел не особо нужными для системы, поэтому решил удалять содержимое в них перед паковкой