squashfs-tools-4.4 (SOLVED)
RY_G 16 декабря, 2019 - 09:08
Приветствую.
Стабилизировался squashfs-tools-4.4. Имеется архив squash, в нем каталоги и файлы. Теперь unsquashfs формирует дерево каталогов и распаковывает один из файлов. Все остальные файлы почему-то игнорирует - каталоги пустые. При этом возвращает код ошибки 1.
Это только у меня так происходит или у вас тоже?
Решилось установкой USE-флага xattr для пакета squashfs-tools.
Начниая с версии 4.5 работает схоже с документацией, нормально без xattr.
»
- Для комментирования войдите или зарегистрируйтесь
Проверь свободное место и
Проверь свободное место и покажи всю команду с ключами.
...
guest@PC ~ $ mkdir 1
guest@PC ~ $ cd 1
guest@PC ~/1 $ mksquashfs /usr/portage/app-office off.sqsh
guest@PC ~/1 $ unsquashfs off.sqsh
В каталоге ~/1/squashfs-root пустые каталоги и один файл - Manifest.gz.
С версией 4.3 все в порядке - что запаковал, то и распаковал.
Повторил твою историю - все
Повторил твою историю - все нормально распаковалось:
Видимо у тебя проблемы с портажем/библиотеками. Рекомендую перекомпилить все зависимости и сам пакет. Ну и, на всякий случай, покажи
Вот ведь...
То есть, только у меня. Вот ведь...
Пошел собирать библиотеки. Спасибо за подсказку.
P.S. Пришлось поставить для squashfs-tools флаг xattr. По-другому никак.
Странно, что он не стоял!
Странно, что он не стоял! :)
Обычно он глобален. А чем он тебе не нравится? У тебя какой профиль, кстати?
...
В make.conf "xattr" отключен вместе с "acl".
Профиль 17.0.
А с флагом странность в том, что флаг работоспособности обозвали "xattr". :-D
Это не флаг
Это не флаг работоспособности, а необходимость программе иметь доступ к метаданным файловой системы! :)
И "acl" ты тоже зря отключил... и рекомендую перейти на 17.1 сейчас, а то позже может быть больше проблем... Но строго следуй инструкциям, а то можно сломать систему! Если что - можешь посмотреть здесь на форуме - я уже кого-то консультировал по поводу этого перехода.
...
Да ладно смеяться-то. Предыдущая версия прекрасно обходится без доступа. И каталоги с одним файлом у программы получается распаковать без доступа. А тут - доступ подавай! К метаданным. Которых, к слову, может и не быть вовсе, это ж от файловой системы зависит. Следовательно - это как раз флаг работоспособности. Есть - работает, нет - делает вид, что работает. Скромно сообщая: 1. Что "1", почему "1" - не видать, не слыхать... Как в анекдоте, "- Приборы? - Двести. - Чего двести? - А что приборы?". Еще это "1" нужно не забыть отобразить, как результат команды, тоже ручками. :-D
Не нужна.
Не нравится, что библиотеки для разных архитектур в одну кучу сваливают. Дело неизбежное, конечно. Если уж будет все слишком тупо и плохо - придется собрать систему заново с новым профилем.
Улучшения! :)
Улучшения! :) Может новая версия быстрее работает, зная структуру ФС. Надо бы в лог изменений глянуть.
А что касается библиотек, то я полагаю, что это подготовка к тому, что 32-бита скоро выкинут вообще...
Улучшения! :) Может новая
Глядел я в лог. Там особо гордятся возвращаемой "1". Что без USE +xattr вся эта руда только кривляется и не работает - ничегошеньки нет. И вообще, нигде не натолкнулся на значения возвращаемых кодов. Скорее всего, плохо искал.
Багзиллы не нашел. А после такого хамского отношения к пользователям и не нужна та багзилла.
32 бита пусть выкидывают. Пока живут на свете дураки - нам жить обманом, стало быть, с руки. На дурака не нужен нож, - ему про биты в ухо льешь и делаешь, что хошь. :-D
?
Как и какие свойства целевой файловой системы можно использовать при распаковке архива для увеличения скорости?
Провел эксперимент - при распаковке в tmpfs ситуация повторилась. Без флага "xattr" пишет, что распаковано куча файлов, куча каталогов, возвращает загадочное "1", реально делает каталоги и один файл.
Точно плохо искал! :) Вот
Точно плохо искал! :) Вот тебе объясняют зачем это нужно:
Т.е. цель была не скорость, а надёжность!
Ну и ещё:
А ты
-ignore-errors
пробовал? Или "чукча не читатель..."(С)? ;)А ты -ignore-errors пробовал?
Пробовал. Очевидно, это ключ игнорирования ключа игнорирования. Для надежности. :-D
Где значения кодов ошибок? Кроме сакрального "1" что-то бывает? Или оно жестко включено при отсутствии xattr, а для надежности иллюзии пользователю рассказывают, будто все распаковано? Это гениально: все распаковано, но только произошла некритическая ошибка - ничего не распаковалось, "1". :-D
Ситуацию можешь воспроизвести сам, достаточно собрать squashfs-tools без xattr. Ни на какие зависимости этот USE у него не влияет... Задолбало одно и то же переписывать. Собери и попробуй. Отпишись, если удастся распаковать два файла.
Коды ошибок можешь найти в
Коды ошибок можешь найти в исходниках.
А насчёт доков - так свободный софт хронически страдает недостатком и неполнотой документирования, ибо разрабам элементарно лень делать то, что им неинтересно. Можешь сделать доброе дело - разобраться, написать сам и отдать сообществу.
Играться же с тем, что по определению работать не должно, не вижу смысла.
Тем более, что у меня везде (чуть более 400 хостов, на которых из
squashfs
контейнеры стартуют) оба эти аттрибута используются. Потому как не локалхост! ;)!
Можно подумать документация проприетарщины отличается Совершенством.
:wq
--
Live free or die
Совершенства вообще нет в
Совершенства вообще нет в реальном мире! :)
А при разработке любого коммерческого продукта написание документации есть обязательно.
:-D
USE-флаг, увечащий один из исполняемых файлов пакета squashfs-tools, называется "xattr", и это скотство начинается с версии 4.4. Об этом сабж. Приведен способ лечения. Темы больше не касаюсь.
У меня нет причин использовать xattr и acl независимо от количества хостов.