LINUX.ORG.RU
ФорумAdmin

[squashfs][банальщина] Как создать образ из множества папок, но чтобы эти папки разворачивались?

 


0

0

В общем при одном аргументе, mksquashfs берёт эту папку и запихивает все лежащие в ней файлы и папки прямо в корень создаваемой fs. Получается mksquashfs dir fs.squashfs dir/file fs/file

Когда аргументов 2 и более, она не разворачивает аргументы и получается так: mksquashfs dir1 dir2 fs.squashfs dir1/file fs/dir1/file dir2/file2 fs/dir2/file

Хочется чтобы вне зависимости от количества аргументов, она их содержимое обрабатывало по первому сценарию, но как?

★★★

Итерестно, если бы такая опция существовала, то как поступать в случае наличия в dir1 и dir2 файлов с одинаковыми именами?

mky ★★★★★
()
Ответ на: комментарий от mky

Предусмотреть для этого ещё одну опцию, которая бы позволяла решать этот вопрос по разному: оставлять в живых только файл с последнего источника, оставлять самый большой файл в живых, самый маленький, переименовывать все файлы по regexp и тд. В общем-то в разных утилитах встречаются разные опции, и подобные проблемы тоже встречаются. В той же mksquashfs можно помещать источники в некоторую папку в корне новой фс, которой можно задать имя. А раз возможно такое, то возможны и другие варианты.
Вообще я уже реализовал то что мне нужно, а нужно это было для объединения папок в одну, после их использования в качестве бранчей aufs. Но проблема в том, что моя реализация внешняя, и как следствие занимается созданием одной папки из нескольких - что неэффективно, ведь в случае реализации на уровне mksquashfs всё идёт «относительно прямым» способом без лишнего оверхеда. Вероятно я подумаю над тем, чтобы сделать патч для mksquashfs потом, но не сейчас:)

ixrws ★★★
() автор топика

Хочется чтобы вне зависимости от количества аргументов, она их содержимое обрабатывало по первому сценарию, но как?


Перед созданием образа squashfs сделай FUSE UnionFS. Прикольно да !

anonymous
()
Ответ на: комментарий от anonymous

Спасибо КО. Да, я планирую в качестве альтернативы своему методу заюзать методы с aufs и (может быть) unionfs, но это всё равно костыльно и не красиво. Хотя я уже и так наваял килограммы костылей...

ixrws ★★★
() автор топика
Ответ на: комментарий от mky

>Итерестно, если бы такая опция существовала, то как поступать в случае наличия в dir1 и dir2 файлов с одинаковыми именами?

mksquashfs --help
...
-no-duplicates      do not perform duplicate checking

?

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Дак это вроде проверка по содержимому?

А так, если у него встречается конфликт имён (если верить README), то mksquashfs переименовывает их добавляя суффикс _1, _2 и т.д.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.