Создаём простой модуль (пакет) руками.
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
Объединение двух каталогов в составной модуль (аналог 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
Модуль готов.
*в данном случае использовались подготовленные, содержащие метадату, каталоги.
Объединение двух каталогов в составной модуль (аналог 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
Что я сделал не так?
Что я сделал не так?
Вы сначала дали команду 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
Что и как еще можно попробовать?
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
Разобрался, откуда берется 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
остается
mkaufs ; addlayer 1 Arp-scan-1.9.5_XZM/
Не будет ли удобнее добавить в mkaufs вывод слоя
addlayer `mkaufs` Arp-scan-1.9.5_XZM
Разработчики это и так знают.
Т.е других идей нет ? Как определить на какой fs файл
addlayer `mkaufs` Arp-scan-1.9.5_XZM
А следующий слой как?
Как определить на какой fs файл
# blkid $(df /home/dev_modules/Arp-scan-1.9.5_XZM | awk '!/^F/ {print $1}') | sed 's/.*TYPE=//'
"ext4"
n="`mkaufs`" || exit 1
addlayer $n 1.pfs
addlayer $n 2.pfs
# blkid $(df /home/dev_modules/Arp-scan-1.9.5_XZM | awk '!/^F/ {print $1}') | sed 's/.*TYPE=//'
Можно проще
df -x aufs "$1" || echo "На aufs нельзя"
т.е. не на aufs