Разработки проекта PuppyRus > Альтернатива PFS

sqmod-tools - работа с модулями

(1/6) > >>

DdShurick:
 Создаём простой модуль (пакет) руками.
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
--- Конец кода ---

sfs:
А составные.pfs?

DdShurick:
 Объединение двух каталогов в составной модуль (аналог  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
--- Конец кода ---
Модуль готов.
 *в данном случае использовались подготовленные, содержащие метадату, каталоги.

DdShurick:
 Объединение модуля и каталога с созданием метедаты:
--- [ Читать далее ] ---

--- Код ---
# 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

--- Конец кода ---

--- Конец цитаты ---
Что и было нужно

sfs:

--- Цитата: DdShurick от 17 Февраль 2017, 13:52:17 ---Объединение двух каталогов в составной модуль (аналог  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
--- Конец кода ---
Что я сделал не так?

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии