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

Автор Тема: sqmod-tools - работа с модулями  (Прочитано 12448 раз)

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

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
sqmod-tools - работа с модулями
« : 17 Февраль 2017, 10:05:06 »
 Создаём простой модуль (пакет) руками.
1) Создаём дерево каталогов (при необходимости)
Код
bash-4.3# mkdir -p sqmod-tools/usr/bin
2) Копируем файлы (при необходимости)
Код
bash-4.3# cp ../live/Git/pfs-utils/usr/bin/mkaufs sqmod-tools/usr/bin/
bash-4.3# cp ../live/Git/pfs-utils/usr/bin/addlayer sqmod-tools/usr/bin/
*При перепаковке из .rpm, .deb и компиляции из исходников эти действия не нужны.
3) Создаём метадату
Код
bash-4.3# cd sqmod-tools/
bash-4.3# mkdir -p etc/packages/mount/sqmod-tools
bash-4.3# echo 'name="sqmod-tools"'>etc/packages/mount/sqmod-tools/pfs.specs
bash-4.3# find . ! -type d|cut -b2- >etc/packages/mount/sqmod-tools/pfs.files
bash-4.3# cd ../
4) Пакуем
Код
bash-4.3# mksquashfs sqmod-tools/ /mnt/sda1/219/optional/sqmod-tools.pfs -comp xz -Xbcj x86
5) Подключаем
Код
bash-4.3# addlayer /mnt/sda1/219/optional/sqmod-tools.pfs

Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
    • PuppyRus-A
Re: sqmod-tools - работа с модулями
« Ответ #1 : 17 Февраль 2017, 10:48:11 »
А составные.pfs?

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: sqmod-tools - работа с модулями
« Ответ #2 : 17 Февраль 2017, 13:52:17 »
 Объединение двух каталогов в составной модуль (аналог  pfsmerge-dir):
Код
# su
Password:
# mkaufs
# addlayer 1 Arp-scan-1.9.5_XZM/
aufs смонтирована в /initrd/aufs1, сохранение изменений /initrd/changes1
# addlayer 1 smbtree-3.6.25_XZM/
aufs смонтирована в /initrd/aufs1, сохранение изменений /initrd/changes1
# mksquashfs /initrd/aufs1/ /home/ScanLan.pfsParallel mksquashfs: Using 4 processors
Creating 4.0 filesystem on /home/ScanLan.pfs, block size 131072.
[===============================================================-] 136/136 100%
........
# file /home/ScanLan.pfs
/home/ScanLan.pfs: Squashfs filesystem, little endian, version 4.0, 618493183 bytes, 121 inodes, blocksize: 0 bytes, created: Thu Aug 17 11:52:32 1989
Модуль готов.
 *в данном случае использовались подготовленные, содержащие метадату, каталоги.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: sqmod-tools - работа с модулями
« Ответ #3 : 17 Февраль 2017, 19:34:59 »
 Объединение модуля и каталога с созданием метедаты:
Код
# su                                                    
Password:
# mkaufs
# addlayer 1 ../cups-2.1.0.xzm
aufs смонтирована в /initrd/aufs1, сохранение изменений /initrd/changes1
# addlayer 1 ghostscript-9.18-all_PFS
aufs смонтирована в /initrd/aufs1, сохранение изменений /initrd/changes1
Записываем метадату в корень aufs1
Код
# cd ghostscript-9.18-all_PFS/
# mkdir -p /initrd/aufs1/etc/packages/mount/ghostscript-9.18-all   
# echo 'name="ghostscript-9.18-all"'>/initrd/aufs1/etc/packages/mount/ghostscript-9.18-all/pfs.specs
# find . ! -type d|cut -b2- >/initrd/aufs1/etc/packages/mount/ghostscript-9.18-all/pfs.files
# find . -type d -empty|cut -b2- >/initrd/aufs1/etc/packages/mount/ghostscript-9.18-all/pfs.dirs.empty
# [ -s /initrd/aufs1/etc/packages/mount/ghostscript-9.18-all/pfs.dirs.empty ] || rm /initrd/aufs1/etc/packages/mount/ghostscript-9.18-all/pfs.dirs.empty
# cd ../
*если pfs.dirs.empty пустой - удаляем.
Код
# mksquashfs /initrd/aufs1/ /home/Cups-2.1.0.xzm -comp xz -Xbcj x86
............
# unsquashfs -l /home/Cups-2.1.0.xzm -e /etc/packages/mount
Parallel unsquashfs: Using 4 processors
4 inodes (4 blocks) to write

squashfs-root
squashfs-root/etc
squashfs-root/etc/packages
squashfs-root/etc/packages/mount
squashfs-root/etc/packages/mount/cups-2.1.0
squashfs-root/etc/packages/mount/cups-2.1.0/pfs.files
squashfs-root/etc/packages/mount/cups-2.1.0/pfs.specs
squashfs-root/etc/packages/mount/ghostscript-9.18-all
squashfs-root/etc/packages/mount/ghostscript-9.18-all/pfs.files
squashfs-root/etc/packages/mount/ghostscript-9.18-all/pfs.specs
Что и было нужно
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
    • PuppyRus-A
Re: sqmod-tools - работа с модулями
« Ответ #4 : 18 Февраль 2017, 10:39:25 »
Объединение двух каталогов в составной модуль (аналог  pfsmerge-dir):
Пытаюсь повторить в ПРА
1. mkaufs
Код
tmpfs on /mnt/changes2 type tmpfs (rw,relatime)
aufs on /mnt/aufs2 type aufs (rw,relatime,si=fb21b7cbb61f7569)
т.е. вроде ок
2. sh -vx `which addlayer` 2 first/ - где first - каталог
Код
mount -o remount,add:1:/home/live/Downloads/pfs-dds-170218/usr/local/bin/3/first /mnt/aufs2
mount: /mnt/aufs2 not mounted or bad option
Что я сделал не так?

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: sqmod-tools - работа с модулями
« Ответ #5 : 18 Февраль 2017, 13:19:55 »
Что я сделал не так?
Вы сначала дали команду addlayer, а затем mount -o remount,add:2: с одним и тем же каталогом?
У меня работает:
Код
root@pra64:dev_modules# mkaufs

root@pra64:dev_modules# grep aufs /proc/mounts
aufs / aufs rw,relatime,si=fcf5e51c7db9d30d,nowarn_perm 0 0
aufs /mnt/aufs1 aufs rw,relatime,si=fcf5e51c59b9330d 0 0

root@pra64:dev_modules# grep tmpfs /proc/mounts
tmpfs /mnt/live tmpfs rw,relatime,mode=755 0 0
none /mnt/live/dev devtmpfs rw,relatime,size=1021324k,nr_inodes=255331,mode=755 0 0
run /run tmpfs rw,nosuid,nodev,relatime,mode=755 0 0
dev /dev devtmpfs rw,nosuid,relatime,size=1021324k,nr_inodes=255331,mode=755 0 0
shm /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
tmpfs /mnt/changes1 tmpfs rw,relatime 0 0

root@pra64:dev_modules# addlayer 1 Arp-scan-1.9.5_XZM
aufs смонтирована в /mnt/aufs1, сохранение изменений /mnt/changes1
root@pra64:dev_modules# mkaufs
root@pra64:dev_modules# addlayer 2 3G-tools
aufs смонтирована в /mnt/aufs2, сохранение изменений /mnt/changes2
« Последнее редактирование: 19 Февраль 2017, 10:49:04 от sfs »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
    • PuppyRus-A
Re: sqmod-tools - работа с модулями
« Ответ #6 : 18 Февраль 2017, 13:39:07 »
Вы сначала дали команду addlayer
sh -vx `which addlayer` 2 first/
а затем mount -o remount,add:2: с одним и тем же каталогом?
нет
Это я привел вывод ошибки от addlayer 2 first
Может дело в mount -o remount,add:1:
Может здесь надо 2 ?
Не помогло
« Последнее редактирование: 18 Февраль 2017, 13:44:50 от sfs »

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: sqmod-tools - работа с модулями
« Ответ #7 : 19 Февраль 2017, 09:09:55 »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
    • PuppyRus-A
Re: sqmod-tools - работа с модулями
« Ответ #8 : 19 Февраль 2017, 09:22:02 »
sqmod-tools.pfs
sh -vx `which addlayer` 2 first/
Без улучшения
+ mount -o remount,add:1:/home/live/Downloads/3/first /mnt/aufs2
mount: /mnt/aufs2 not mounted or bad option

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: sqmod-tools - работа с модулями
« Ответ #9 : 19 Февраль 2017, 10:20:11 »
Без улучшения
Попробуйте вручную покомандно, должно вылезти.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
    • PuppyRus-A
Re: sqmod-tools - работа с модулями
« Ответ #10 : 19 Февраль 2017, 10:45:54 »
Что и как еще можно попробовать?
mount -o remount,add:1:/home/live/Downloads/3/first /mnt/aufs2
mount: /mnt/aufs2 not mounted or bad option
В консоле тот же результат
mount (результат mkaufs):
Код
tmpfs on /mnt/changes2 type tmpfs (rw,relatime)
aufs on /mnt/aufs2 type aufs (rw,relatime,si=a25b6e6fd8b6409f)
/home/live/Downloads/3/first - папка

Код
# grep aufs /proc/mounts
aufs / aufs rw,relatime,si=a25b6e6f3139b09f,nowarn_perm 0 0
aufs /mnt/aufs2 aufs rw,relatime,si=a25b6e6fd8b6409f 0 0

root@pra64:bin# grep tmpfs /proc/mounts
tmpfs /mnt/live tmpfs rw,relatime,mode=755 0 0
none /mnt/live/dev devtmpfs rw,relatime,size=2022016k,nr_inodes=505504,mode=755 0 0
tmpfs /mnt/live/memory/changes tmpfs rw,relatime,size=2429872k 0 0
run /run tmpfs rw,nosuid,nodev,relatime,mode=755 0 0
dev /dev devtmpfs rw,nosuid,relatime,size=2022016k,nr_inodes=505504,mode=755 0 0
shm /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
tmpfs /mnt/changes2 tmpfs rw,relatime 0 0

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
    • PuppyRus-A
Re: sqmod-tools - работа с модулями
« Ответ #11 : 19 Февраль 2017, 11:19:20 »
Разобрался, откуда берется aufs2
Код
# ls /sys/fs/aufs/
config  si_a25b6e6f3139b09f
У меня большое manjaro ядро
Везде надо добавить  ls /sys/fs/aufs/ |egrep '^si_'
Но
mount -o remount,add:1:/home/live/Downloads/3/first /mnt/aufs1
mount: /mnt/aufs1 not mounted or bad option
остается

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
    • PuppyRus-A
Re: sqmod-tools - работа с модулями
« Ответ #12 : 19 Февраль 2017, 11:45:50 »
1. Везде надо добавить  ls /sys/fs/aufs/ |egrep '^si_'
2. mount -o remount,add:1:/home/live/Downloads/3/first /mnt/aufs1 Получилось перемещением /home/live/Downloads/3/first на винт. Нужно добавить проверки и выдачу ошибки
В остальном - кода мало, он понятен. Местами "" не помешало бы подстраховаться от пробелов в именах
« Последнее редактирование: 19 Февраль 2017, 12:07:58 от sfs »

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: sqmod-tools - работа с модулями
« Ответ #13 : 19 Февраль 2017, 12:43:16 »
ls /sys/fs/aufs/ |egrep '^si_'
ls /sys/fs/aufs/si_* ??
Получилось перемещением
Да, aufs в aufs не монтируется. У меня /home это примонтированный /dev/sda3
кода мало, он понятен
И это хорошо.
Перепаковка sqmod-tools.pfs в ~/Git/pfs-tools/ :
Код
# su
Password:
# mkaufs
# addlayer 1 sqmod-tools.pfs
aufs смонтирована в /initrd/aufs1, сохранение изменений /initrd/changes1
# cp usr/bin/addlayer /initrd/aufs1/usr/bin/addlayer
# rm sqmod-tools.pfs && mksquashfs /initrd/aufs1/ sqmod-tools.pfs -comp xz -Xbcj x86
Parallel mksquashfs: Using 4 processors
Creating 4.0 filesystem on sqmod-tools.pfs, block size 131072.
[===================================================================|] 5/5 100%
.....
# delaufs 1
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
    • PuppyRus-A
Re: sqmod-tools - работа с модулями
« Ответ #14 : 19 Февраль 2017, 12:59:43 »
ls /sys/fs/aufs/si_* ??
Нет
Код
# ls /sys/fs/aufs/si_* 
br0   br13  br18  br22  br27  br4  br9     brid12  brid17  brid21  brid26  brid30  brid8
br1   br14  br19  br23  br28  br5  brid0   brid13  brid18  brid22  brid27  brid4   brid9
br10  br15  br2   br24  br29  br6  brid1   brid14  brid19  brid23  brid28  brid5   xi_path
br11  br16  br20  br25  br3   br7  brid10  brid15  brid2   brid24  brid29  brid6
br12  br17  br21  br26  br30  br8  brid11  brid16  brid20  brid25  brid3   brid7
Какие мысли про
Нужно добавить проверки и выдачу ошибки