Сайт | Скачать | Видео | Wiki

Автор Тема: libpfs Библиотека функций  (Прочитано 10824 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: libpfs Библиотека функций
« Ответ #15 : 18 Февраль 2017, 09:36:02 »
Да, можно. Я тогда и название бы сменил на pfsfunc например. А то либы запускать не комильфо :)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re: libpfs Библиотека функций
« Ответ #16 : 18 Февраль 2017, 09:47:56 »
ок

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: libpfs Библиотека функций
« Ответ #17 : 20 Март 2017, 09:23:07 »
Подумал сейчас. Надо было либу назвать просто pfs.
pfs addlayer
pfs ramfree
Куда лучше, кмк, чем
pfsfunc addlayer
pfsfunc ramfree
Стоит заморачиваться переименование?

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re: libpfs Библиотека функций
« Ответ #18 : 20 Март 2017, 10:21:24 »
Стоит заморачиваться переименование?
да. Там не много. Или тупо симлинк(и)

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: libpfs Библиотека функций
« Ответ #19 : 20 Март 2017, 10:26:08 »
Там можно сидом по всей репе. Сделаю.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re: libpfs Библиотека функций
« Ответ #20 : 06 Июль 2017, 15:25:33 »
Предлагаю заменить ад if-оф на
Код
losetupb() { losetup $@ || losetup-FULL $@   ; }
  mountb() {   mount $@ || busybox mount $@  ; }
 umountb() {  umount $@ || busybox mount $@  ; }
Это еще частично решит проблему систем без  busybox

Столкнулся с проблемой в системе с http://wiki.puppyrus.org/soft/arch-initrd-rootaufs2
mkpfs на tmpfs
Код
# mkpfs 1
mount: /mnt/aufs1 not mounted or bad option

       In some cases useful info is found in syslog - try
       dmesg | tail or so.
can't insert layer to aufs 1

[root@pra-roll live]# dmesg |tail
[ 5589.982845] aufs test_add:259:mount[1225]: unsupported filesystem, /home/live/1 (aufs)

#mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=502160k,nr_inodes=125540,mode=755)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
/dev/sr0 on /mnt/home type iso9660 (ro,relatime)
tmpfs on /mnt/live/memory/changes type tmpfs (rw,relatime,size=612404k)
/mnt/home/pra64/base/089-pra64f-filesystem-2017.06-07_any-sf12.pfs on /mnt/live/memory/images/089-pra64f-filesystem-2017.06-07_any-sf12.pfs type squashfs (ro,relatime)
/mnt/home/pra64/base/070-praf_64-sf06.pfs on /mnt/live/memory/images/070-praf_64-sf06.pfs type squashfs (ro,relatime)
/mnt/home/pra64/base/001-pra64f-170604_64-sf03.pfs on /mnt/live/memory/images/001-pra64f-170604_64-sf03.pfs type squashfs (ro,relatime)
/mnt/home/pra64/base/000-kernel-4.11.7-1-MANJARO_64.pfs on /mnt/live/memory/images/000-kernel-4.11.7-1-MANJARO_64.pfs type squashfs (ro,relatime)
rootaufs on / type aufs (rw,relatime,si=e5ce265916c1bc09)
/dev/sda1 on /mnt/sda1 type ext4 (rw,relatime,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
configfs on /sys/kernel/config type configfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=102064k,mode=700,uid=1000,gid=1000)
/dev/loop12 on /mnt/.1.pfs type squashfs (ro,relatime)
Т.е смонтировано по другому и не идет
Решил костыльно , но лучше идей нет
Код
#mount -o remount,add:1:"$NEWLAYER" "$AUFSMNT" || return 5
mount -o remount,add:1:"$NEWLAYER" "$AUFSMNT" || mount -o remount,add:1:"$changesDir$NEWLAYER" "$AUFSMNT" || return 5
т.е. если не remount из корня - берем реальную точку монтирования tmpfs

В гит не добавлял. Хочу сначала обсудить...

При FULL установке нет сообщения об этом и т.п.
« Последнее редактирование: 06 Июль 2017, 17:27:35 от sfs »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: libpfs Библиотека функций
« Ответ #21 : 06 Июль 2017, 19:02:24 »
Про ад if-ов не против. Так лучше конечно.
По второму не пойму в какой ситуации такое нужно и почему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re: libpfs Библиотека функций
« Ответ #22 : 06 Июль 2017, 19:24:05 »
По второму не пойму в какой ситуации такое нужно и почему.
Переделал pra-roll . С UIRD не задалось (писал - Вы не впряглись)
Сделал свой инитрд
Вот с ним и вылезает проблема
unsupported filesystem, /home/live/1 (aufs)
Подробности выше

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: libpfs Библиотека функций
« Ответ #23 : 07 Июль 2017, 03:33:42 »
Правильно ли я понял. У вас получается, что newlayer это aufs, и mount ругается на подключение aufs бранчем к aufs? Так никогда и не работало. У нас во всяком случае. Костыль не плохая идея для обхода в общем, если это работает. Надо только подумать не приведет ли это к неожиданностям и правильно ли сразу подключать или выделить ключик под такой финт, чтоб пользователь знал что подключено как бы нестандартно.
« Последнее редактирование: 07 Июль 2017, 04:03:21 от betcher »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re: libpfs Библиотека функций
« Ответ #24 : 07 Июль 2017, 08:48:52 »
Костыль не плохая идея для обхода в общем, если это работает.
Работает. Причем просто изменить
mount -o remount,add:1:"$NEWLAYER" "$AUFSMNT"
на  mount -o remount,add:1:"$changesDir$NEWLAYER" "$AUFSMNT" не прокатывает. mkpfs срабатывает - дальше проблемы
Вариант с || по идее в прочих ситуациях не должен сработать и поэтому не помешает
Если заморачиваться универсальностью - надо разбираться
Днями выложу пра-roll. Если посмотрите эту проблему - буду благодарен

По итогу функции перенес в гит. mount - думаем

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: libpfs Библиотека функций
« Ответ #25 : 07 Июль 2017, 16:28:18 »
Если на работу у нас и в обычном ПРА это не влияет, то переносите. Проблемы будем решать по мере поступления неприятностей :)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re: libpfs Библиотека функций
« Ответ #26 : 07 Июль 2017, 16:51:03 »
Не влияет но уж очень костыльно
Надеюсь, удастся изящней

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: libpfs Библиотека функций
« Ответ #27 : 07 Июль 2017, 19:31:29 »
но уж очень костыльно
Можно добавить проверок. На то что $changesDir$NEWLAYER существует и что $NEWLAYER и $changesDir$NEWLAYER - одно и тоже. По дате, размеру или md5sum сравнить.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re: libpfs Библиотека функций
« Ответ #28 : 08 Июль 2017, 12:01:30 »
Тогда уж проверить unsupported filesystem, /home/live/1 (aufs) и if с двумя вариантами
А еще лучше в rootaufs2 сделать как в porteus и uird

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re: libpfs Библиотека функций
« Ответ #29 : 17 Август 2017, 10:32:08 »
Разобрался (pfs 220 строка)
Код
if df $NEWLAYER |grep -q ^aufs ;then
Не то фильтруем. Надо
Код
if df --output=fstype $NEWLAYER |grep -q ^aufs$ ;then
Т.е. просто совпало что в uird и porteus:
df -T / давал aufs aufs
А в rootaufs2 было  rootaufs aufs
Только в busybox df нет --output... Будем заморачиваться?

По этой же причине 17
Код
aufsroot="$(`which busybox` mount |egrep '^aufs on / type aufs')" 
aufsroot="$(`which busybox` mount |egrep ' on / type aufs ')"


Пoправил в гит

Поправил ошибку в начале pfs
Код
PATH=${$PATH}:/sbin
PATH=${PATH}:/sbin
« Последнее редактирование: 17 Август 2017, 11:19:47 от sfs »