Утилита zip при архивировании исполнимого файла не сохраняет флаг исполнения (патч 10-natspec+asdos). Решение, обсуждение.

Сообщения
198
#1
Всем привет. Считать официальным письмом в техподдержку. Чистый Орёл 2.12.43 с последними обновлениями.

Bash:
$ uname -a
Linux astra 4.15.3-141-generic #astra26+ci17 SMP Fri Jul 9 09:39:31 UTC 2021 x86_64 GNU/Linux
$ cat /etc/astra_version
CE 2.12.43 (orel)
$
Создадим файл exe, сделаем его исполнимым. убедимся в этом, сархивируем-разархивируем и увидим, что флаг исполнения исчез

Код:
$ > exe &&  chmod u+x exe && ls -l exe && zip exe.zip exe && rm exe && unzip exe.zip && ls -l exe
$
То есть либо zip при архивации стирает флаг исполнения, либо unzip при разархивации. Я убедился, что это делает zip. Кому интересно, сделайте так. Сархивируйте исполняемый файл, например в debian, который sid. Разархивируйте там же. Убедитесь, что флаг исполнения никуда не исчез. А теперь этот же архив разаривируйте в астралинукc. Флаг исполнения ТАКЖЕ не исчезнет. Делаем вывод, что дело не в unzip.

Раньше давно-предавно zip на debian работал нормально. Предполагаю, что программисты русбитеха наложили на zip некоторые патчи, почём зря и теперь он работает, как работает. Будем эти патчи убирать по одному пока не добьмся нужного результата- чтобы флаг исполнения сохранялся. А потом посмотрим, что это за патч и можно ли без него обойтись.

Так, что делаем. Качнём исходники zip, не распаковывая.

Bash:
user@astra:~/Desktop/zip$ apt-get source -d zip
Чтение списков пакетов… Готово
Необходимо получить 1 132 kб архивов исходного кода.
Пол:1 https://download.astralinux.ru/astra/stable/orel/repository orel/main zip 3.0-11astra3 (dsc) [826 B]
Пол:2 https://download.astralinux.ru/astra/stable/orel/repository orel/main zip 3.0-11astra3 (tar) [1 119 kB]
Пол:3 https://download.astralinux.ru/astra/stable/orel/repository orel/main zip 3.0-11astra3 (diff) [11,9 kB]
Получено 1 132 kБ за 0с (1 447 kБ/c)
Указан режим «только скачивание», и скачивание завершено
user@astra:~/Desktop/zip$
Теперь посморим список наложенных патчей.
Bash:
user@astra:~/Desktop/zip$ ls
zip_3.0-11astra3.debian.tar.xz  zip_3.0-11astra3.dsc  zip_3.0.orig.tar.gz
user@astra:~/Desktop/zip$
user@astra:~/Desktop/zip$ tar -xf zip_3.0-11astra3.debian.tar.xz --to-stdout debian/patches/series
01-typo-it-is-transferring-not-transfering
02-typo-it-is-privileges-not-priviliges
03-manpages-in-section-1-not-in-section-1l
04-do-not-set-unwanted-cflags
05-typo-it-is-preceding-not-preceeding
06-stack-markings-to-avoid-executable-stack
07-fclose-in-file-not-fclose-x
08-hardening-build-fix-1
09-hardening-build-fix-2
10-remove-build-date
10-natspec+asdos
rbt-fix-symlinks.patch
CVE-2018-13410.patch
user@astra:~/Desktop/zip$
Убираем патчи по одному, начиная с CVE-2018-13410.patch.
Распакуем всё это дело (патчи не накладываем!) и перейдём в директорию для сборки.

Bash:
user@astra:~/Desktop/zip$ dpkg-source -x --skip-patches --no-check ./zip_3.0-11astra3.dsc
dpkg-source: инфо: извлечение zip в zip-3.0
dpkg-source: инфо: распаковывается zip_3.0.orig.tar.gz
dpkg-source: инфо: распаковывается zip_3.0-11astra3.debian.tar.xz
user@astra:~/Desktop/zip$
user@astra:~/Desktop/zip$ cd zip-3.0/
user@astra:~/Desktop/zip/zip-3.0$
Использовать для удаления патчей будем утилиту quilt. Непосредственно шаги по удалению я пропущу, это нужно изучать quilt. Скажу лишь, что исправление достигается при применении таких патчей:

01-typo-it-is-transferring-not-transfering
02-typo-it-is-privileges-not-priviliges
03-manpages-in-section-1-not-in-section-1l
04-do-not-set-unwanted-cflags
05-typo-it-is-preceding-not-preceeding
06-stack-markings-to-avoid-executable-stack
07-fclose-in-file-not-fclose-x
08-hardening-build-fix-1
09-hardening-build-fix-2
10-remove-build-date
То есть делаем вывод, что дело в патче 10-natspec+asdos, который удалён последним.
Теперь соберём пакет zip без трёх патчей, отсутствующих в списке выше. Сейчас я покажу лог сборки. Итак, патчи CVE-2018-13410.patch, rbt-fix-symlinks.patch и 10-natspec+asdos удалены. Собираем zip.

(прежде скомандуем sudo apt-get build-dep ../zip_3.0-11astra3.dsc, тем самым мы установим сборочные зависимости пакета zip, чтобы он нормально собрался.)

Код:
user@astra:~/Desktop/zip/zip-3.0/zip-3.0$ dpkg-buildpackage -us -uc > ../log.txt
Вывод опускаю, файл log.txt прикладываю. В нём среди прочего видим список наложенных патчей:

[1mdpkg-source: [0m[32mинфо[0m: накладывается 01-typo-it-is-transferring-not-transfering
[1mdpkg-source: [0m[32mинфо[0m: накладывается 02-typo-it-is-privileges-not-priviliges
[1mdpkg-source: [0m[32mинфо[0m: накладывается 03-manpages-in-section-1-not-in-section-1l
[1mdpkg-source: [0m[32mинфо[0m: накладывается 04-do-not-set-unwanted-cflags
[1mdpkg-source: [0m[32mинфо[0m: накладывается 05-typo-it-is-preceding-not-preceeding
[1mdpkg-source: [0m[32mинфо[0m: накладывается 06-stack-markings-to-avoid-executable-stack
[1mdpkg-source: [0m[32mинфо[0m: накладывается 07-fclose-in-file-not-fclose-x
[1mdpkg-source: [0m[32mинфо[0m: накладывается 08-hardening-build-fix-1
[1mdpkg-source: [0m[32mинфо[0m: накладывается 09-hardening-build-fix-2
[1mdpkg-source: [0m[32mинфо[0m: накладывается 10-remove-build-date
Патчи CVE-2018-13410.patch, rbt-fix-symlinks.patch и 10-natspec+asdos отсутствуют. Выйдём из директории для сборки и деинсталлируем zip (штатный, который затирает флаг исполнения)

Код:
user@astra:~/Desktop/zip/zip-3.0/zip-3.0$ cd ..
user@astra:~/Desktop/zip/zip-3.0$
user@astra:~/Desktop/zip/zip-3.0$ sudo apt-get --purge remove zip
Чтение списков пакетов… Готово
Построение дерева зависимостей    
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  astra-nochmodx-module-4.15.3-1-generic astra-nochmodx-module-4.15.3-1-hardened coinor-libcbc3 coinor-libcgl1
  coinor-libclp1 coinor-libcoinmp1v5 coinor-libcoinutils3v5 coinor-libosi1v5 easypaint fonts-pt libcmis-0.5-5v5
  libevent-2.0-5 libgnome-keyring-common libgnome-keyring0 libhunspell-1.6-0 libjsoncpp1 libllvm6.0 libmicrodns0
  libqpdf17 libreoffice-pdfimport libstartup-notification0 libxdg-basedir1 qslider
Для их удаления используйте «sudo apt autoremove».
Пакеты, которые будут УДАЛЕНЫ:
  zip*
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 0 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 622 kB.
Хотите продолжить? [Д/н] y
(Чтение базы данных … на данный момент установлено 251526 файлов и каталогов.)
Удаляется zip (3.0-11astra3) …
Обрабатываются триггеры для man-db (2.7.6.1-2) …
user@astra:~/Desktop/zip/zip-3.0$
(продолжение следует)
 

Вложения

Последнее редактирование:
Сообщения
198
#2
И установим только что собранный zip

Код:
user@astra:~/Desktop/zip/zip-3.0$ ls
log.txt                           zip_3.0-11astra3_amd64.changes  zip_3.0-11astra3.dsc
zip-3.0                           zip_3.0-11astra3_amd64.deb      zip_3.0.orig.tar.gz
zip_3.0-11astra3_amd64.buildinfo  zip_3.0-11astra3.debian.tar.xz  zip-dbgsym_3.0-11astra3_amd64.deb
user@astra:~/Desktop/zip/zip-3.0$
user@astra:~/Desktop/zip/zip-3.0$
user@astra:~/Desktop/zip/zip-3.0$ sudo apt-get install ./zip_3.0-11astra3_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей      
Чтение информации о состоянии… Готово
Заметьте, вместо «./zip_3.0-11astra3_amd64.deb» выбирается «zip»
Следующие пакеты устанавливались автоматически и больше не требуются:
  astra-nochmodx-module-4.15.3-1-generic astra-nochmodx-module-4.15.3-1-hardened coinor-libcbc3 coinor-libcgl1
  coinor-libclp1 coinor-libcoinmp1v5 coinor-libcoinutils3v5 coinor-libosi1v5 easypaint fonts-pt libcmis-0.5-5v5
  libevent-2.0-5 libgnome-keyring-common libgnome-keyring0 libhunspell-1.6-0 libjsoncpp1 libllvm6.0 libmicrodns0
  libqpdf17 libreoffice-pdfimport libstartup-notification0 libxdg-basedir1 qslider
Для их удаления используйте «sudo apt autoremove».
НОВЫЕ пакеты, которые будут установлены:
  zip
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0 B/235 kB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 622 kB.
Пол:1 /home/q27761daae5b4a118e1760645e2505b/Desktops/Desktop1/zip/zip-3.0/zip_3.0-11astra3_amd64.deb zip amd64 3.0-11astra3 [235 kB]
Выбор ранее не выбранного пакета zip.
(Чтение базы данных … на данный момент установлено 251511 файлов и каталогов.)
Подготовка к распаковке …/zip_3.0-11astra3_amd64.deb …
Распаковывается zip (3.0-11astra3) …
Настраивается пакет zip (3.0-11astra3) …
Обрабатываются триггеры для man-db (2.7.6.1-2) …
N: Download is performed unsandboxed as root as file '/home/q27761daae5b4a118e1760645e2505b/Desktops/Desktop1/zip/zip-3.0/zip_3.0-11astra3_amd64.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Отказано в доступе)
user@astra:~/Desktop/zip/zip-3.0$
user@astra:~/Desktop/zip/zip-3.0$
Теперь проверим, добились ли мы желаемого результата.

Код:
user@astra:~/Desktop/zip/zip-3.0$ > exe &&  chmod u+x exe && ls -l exe && zip exe.zip exe && rm exe && unzip exe.zip && ls -l exe
-rwxr--r-- 1 user user 0 сен 29 19:39 exe
  adding: exe (stored 0%)
Archive:  exe.zip
extracting: exe                    
-rwxr--r-- 1 user user 0 сен 29 19:39 exe
user@astra:~/Desktop/zip/zip-3.0$
============================================================================
============================================================================
============================================================================
============================================================================


Вполне себе.
Теперь зададимся вопросом, зачем этот патч был наложен. Читаем файл zip-3.0/debian/changelog и видим:
Apply natspec+asdos patch from http://www.opennet.ru/tips/info/2494.shtml to support automatically encoding file names from current locale to a Windows encoding and create archives with DOS-compatible file names by default. This is to complement changes to unzip utility.
Что ж, на странице http://www.opennet.ru/tips/info/2494.shtml всё нормально так описано. Проблема с кодировкой при отображении имён файлов, сархивированнх в винде. Ну я попробовал- всё отображается корректно. Прикладываю архив "архив_с_кодировками.zip", в нём несколько файлов. Файлы скропаны в XP, кодировка имён по умолчанию, какая там. Содержимое файлов не знаю как отображается, да это и не имеет значения, это другой вопрос. А имена файлов- без проблем. Грубо говоря, без патча 10-natspec+asdos должно быть плохо (с кодировками), а оно ничего.

Код:
$ ls -l
итого 4
-rwxr-xr-x 1 user user 766 сен 29 18:08 архив_с_кодировками.zip
$
$ unzip -d bar архив_с_кодировками.zip
Archive:  архив_с_кодировками.zip
extracting: bar/второй_файл_в_кодировке_866.txt 
extracting: bar/и_так_далее.txt 
extracting: bar/первый_файл_в_кодировке_ANSI.txt 
extracting: bar/третий_в_кодировке_UTF-8_без_BOM.txt 
$
$ ls -N1 bar
второй_файл_в_кодировке_866.txt
и_так_далее.txt
первый_файл_в_кодировке_ANSI.txt
третий_в_кодировке_UTF-8_без_BOM.txt
$
Команда ls -N1 bar. Там, где у автора
http://www.opennet.ru/tips/info/2494.shtml
кракозябры, у меня всё ОК. Надеюсь, у вас тоже. Я бы пересмотрел полезность патча 10-natspec+asdos поэтому.
 

oko

New member
Сообщения
728
#3
to суслик
Нравится ваше желание дойти до точки (в хорошем смысле). Только, imho, если подобный пост направить в Спортлото, то выхлопа будет больше. Ну или на тот же unixforum (пусть даже и ради дополнительных лулзов, ага)...
Кроме шуток, но пересобирать пакет, чтобы убрать патч, который вроде как исправляет ситуацию (сообщество в целом для этого его и писало/добавляло, пусть и инициативой одного человека), ради того, чтобы у кого-то наследовался флаг при распаковке/запаковке архива - такое себе решение. Вот влиял бы 10-natspec-asdos на непосредственный функционал архивации (например, при граничных условиях архив оказывался бы "битым") - был бы другой коленкор. А так...
Кстати, зачем вам вообще сохранение флага исполнения? imho, это пусть и небольшая, но уязвимость при массовой эксплуатации. Народ при взломе nix-систем всеми правдами и неправдами стремится получить хоть какие-то права доступа к файловой системе, а вы им право на исполнение конкретного скрипта от пользовательской учетки выдаете на блюдечке. Не надо так...
Или это ради тупых юзверей, которым администратор присылает волшебный скрипт со словами "распакуйте и запустите", чтобы миновать стадию chmod +x? imho, костыльное решение - проще тогда средства централизованного управления прикрутить, чтобы не плодить лишних сущностей и лишних дыр в системе...
 
Сообщения
198
#4
to суслик
Нравится ваше желание дойти до точки (в хорошем смысле). Только, imho, если подобный пост направить в Спортлото, то выхлопа будет больше. Ну или на тот же unixforum (пусть даже и ради дополнительных лулзов, ага)...
прочёл:
уровень пользователей сего форума так себе.
Ну, какой есть. Будем повышать...

Кроме шуток, но пересобирать пакет, чтобы убрать патч, который вроде как исправляет ситуацию (сообщество в целом для этого его и писало/добавляло, пусть и инициативой одного человека), ради того, чтобы у кого-то наследовался флаг при распаковке/запаковке архива - такое себе решение.
дурака не вкючайте. Это линукс. Тут всё через жопу. Чтобы на принтере что-то напечатать, сервер целый поднимать надо. И вы не хуже моего это знаете. А тут пакет пересобрать всего-лишь навсего. Я же не виноват, что в настройках zip не предусмотрена галочка сохранять/не сохранять флаг исполнения- будем пересобирать, значит.

Кстати, зачем вам вообще сохранение флага исполнения? imho, это пусть и небольшая, но уязвимость при массовой эксплуатации.
тут,наверное, ключевое слово "массовой". А если не массовой? Пусть каждый для себя это решит. Я решил. Мне эта бальда нужна для изучения всего и вся, а изучать я буду ещё сто миллиардов лет, так что пригодится.

Народ при взломе nix-систем всеми правдами и неправдами стремится получить хоть какие-то права доступа к файловой системе, а вы им право на исполнение конкретного скрипта от пользовательской учетки выдаете на блюдечке. Не надо так...
Или это ради тупых юзверей, которым администратор присылает волшебный скрипт со словами "распакуйте и запустите", чтобы миновать стадию chmod +x? imho, костыльное решение - проще тогда средства централизованного управления прикрутить, чтобы не плодить лишних сущностей и лишних дыр в системе...
неправда ваша. Это вам претнзии к unzip быть, почему у чела левый (откуда-нибудь скачанный) файл на компе разархивируется и он сразу исполняемый. Я же unzip не трогаю вообще.
 

oko

New member
Сообщения
728
#5
to суслик
прочёл:
уровень пользователей сего форума так себе.
Научитесь, пожалуйста, читать правильно. На unixforum вам то же самое советовали, ага...
Чтобы не было новых кривотолков, уточню: что forum.astralinux.ru, что Спортлото одинаково непохожи на тех.поддержку Astra Linux. А на unixforum (и тем более на linux.org) хотя бы лулзов словить можно...
Это линукс. Тут всё через жопу.
В nix, собственно, все по уму. Случается, что у разных лиц ум в разных местах проявляется, но, imho, лучше все-таки не обобщать...
тут,наверное, ключевое слово "массовой"
Нет, ключевое все еще "уязвимость". А "массовая" - это не для поиграццо, а в продакшн, как говорится. На что и намекает ваша просьба к разработчикам убрать оный патч из новых релизов. Кстати, а CVE-патчи вы тоже за компанию удалили/просите удалить? Если так, то смысла во всех ваших действиях 0...
Это вам претнзии к unzip быть
Скажите, а откуда в zip-файле изначально сохраняется флаг исполнения? Не из-под nix ли средствами zip?

Кстати, хорошая идея наложить схожий патч и на unzip, чтобы неповадно было...
 
Сообщения
198
#6
Научитесь, пожалуйста, читать правильно. На unixforum вам то же самое советовали, ага...
не знаю такого ресурса

Чтобы не было новых кривотолков, уточню: что forum.astralinux.ru, что Спортлото одинаково непохожи на тех.поддержку Astra Linux.
нет

В nix, собственно, все по уму. Случается, что у разных лиц ум в разных местах проявляется, но, imho, лучше все-таки не обобщать...
к словам придираетесь. То, что вполне реализуемо через флаг, зашито в бинарник- это не через жопу?- в common бля версии! Охренеть как по уму. Да по уму, по уму, успокойтесь уже.

Нет, ключевое все еще "уязвимость".
ну пускай. И пускай каждый решит для себя, может он жить с этой уязвимостью или нет. Я вот решил что не то, что могу, а она мне необходима

Кстати, а CVE-патчи вы тоже за компанию удалили/просите удалить?
обладатели дистрибутива stretch живут без них и не знают, как им плохо

Скажите, а откуда в zip-файле изначально сохраняется флаг исполнения? Не из-под nix ли средствами zip?
не знаю.

И кстати говоря.
но пересобирать пакет, чтобы убрать патч, который вроде как исправляет ситуацию (сообщество в целом для этого его и писало/добавляло, пусть и инициативой одного человека)
Нет. Сообщество писало патч 10-natspec+asdos его совершенно для другого- а именно, для корректного отображения имён. Несохранение флага исполнения- всего лишь вредный побочный эффект, нигде не описанный. Его описание не найти ни в файле zip-3.0/debian/changelog, его ни найти ни на странице http://www.opennet.ru/tips/info/2494.shtml. Так что
Научитесь, пожалуйста, читать правильно.
по уму сделали, ничё не скажешь.
 
Последнее редактирование:

Vosiley

New member
Сообщения
51
#7
Так если сообщество Debian допустило ошибку в патче, значит, нужно туда багрепорт оформлять, а там, глядишь, и Русбитех у них возьмет.
 

oko

New member
Сообщения
728
#8
to суслик
Ладно, достучаться как обычно не вариант, так что задам крайний вопрос любопытства ради: т.е. вы хотите сказать, что не имеете отношения к некоему "жучара", который на unixforum.org за двое суток до публикации вашего сообщения здесь игрался с патчами и перепаковкой zip под, внезапно, ALCE?
Мир, конечно, широк и многогранен (да и на войне доказано, что снаряд дважды в одно место-таки попадает), но... Короче, меня терзают смутные сомнения (с)

ЗЫ Конечно, откуда взяться патчу на CVE 2018 г.в. в посте и changelog за 2010-2015 гг...
ЗЗЫ Техподдержка и багтрекер AstraLinux все-таки тут, а форум, как уже много раз говорилось, согласно условиям и правилам всего лишь форум...
 
Сообщения
198
#9
Так если сообщество Debian допустило ошибку в патче, значит, нужно туда багрепорт оформлять, а там, глядишь, и Русбитех у них возьмет.
а oko не велит куда попало писать.
Прикинь, в выпусках debian, вот в этих вот
https://www.debian.org/releases/
c lenny и по bullseye включительно этот патч не использовался. Вообще. Также он не использовался в sid. Остальные выпуски были выпущены раньше, чем написалась эта статья. Так что чего его в астралинукс впихнули- чёрт его знает.

to суслик
Ладно, достучаться как обычно не вариант, так что задам крайний вопрос любопытства ради: т.е. вы хотите сказать, что не имеете отношения к некоему "жучара", который на unixforum.org за двое суток до публикации вашего сообщения здесь игрался с патчами и перепаковкой zip под, внезапно, ALCE?
Мир, конечно, широк и многогранен (да и на войне доказано, что снаряд дважды в одно место-таки попадает), но... Короче, меня терзают смутные сомнения (с)
я обсуждал эту тему на другом форуме по понятным причинам, не скажу на каком, где был послан на хер за правду вместе с другими обсуждальщиками. Обсуждал не я один. Один из обсуждальщиков- я. Другой, скорее всего, жучара- наверное, такое отношение к нему я имею. Разбрелись мы, короче, по инету, кто куда. Ты пошерсти инет, может ещё кого найдёшь.

to суслик
ЗЫ Конечно, откуда взяться патчу на CVE 2018 г.в. в посте и changelog за 2010-2015 гг...
то есть у них ещё и changelog устаревший :)?
 
Сообщения
198
#10
Вынужден согласиться, что польза от патча 10-natspec+asdos
есть. Видна она, если мы будем архивировать файлы с русскими именами, которые в системе ntfs, работая в астралинукс. Ну то есть. Зашли в астралинукс, примонтировали раздел ntfs, нашли там файлы с именами из русских букв и заархивировали. Апотом разархивировали. Разархивация даст кракозябры в именах файлов. Так, а если применим патч 10-natspec+asdos, то кракозябров не будет.
...Но флаг исполняемости файлов всё равно исчезает, вот в чём штука-то.
 
Последнее редактирование:

Montfer

New member
Сообщения
1 184
#11
вот и я не понимаю, что важнее "=||====||||||¦|===. pdf" с битом исполнения или "доклад по астре. pdf" без бита исполнения?!
риторический вопрос
 
Сообщения
198
#12
вот и я не понимаю, что важнее "=||====||||||¦|===. pdf" с битом исполнения или "доклад по астре. pdf" без бита исполнения?!
риторический вопрос
вопросец таксебешный. Имена искажаются ТОЛЬКО у файлов NTFS, а у них бита исполнения нет и в ближайшие сто миллиардов лет не предвидится.
 
Последнее редактирование:
Сообщения
198
#13
Да так вот. Поведём итоги. Итак. БЕЗ патча 10-natspec+asdos zip сохраняет флаг исполнения, но при сжатии кракозябирует русскоязычные имена файлов в системе ntfs. То есть если мы раздел ntfs, где есть папка файлы_для_архивации с файлами с русскоязычным именами примонтируем в /mnt/E, а потом сархивируем эти файлы вот так вот:

Bash:
zip ar.zip /mnt/E/файлы_для_архивации/*
То при разархивации ar.zip получим кракозябры.

Так, патч 10-natspec+asdos эту проблему решает. Но флаг исполнения не сохраняет. Что же делать-то?

#######################################################################

А просто всё.

Обратимся к штукам, которые локали. Посмотрим, что там по умолчанию у нас есть:

Bash:
$ cat /etc/locale.gen | grep -v \#
ru_RU.UTF-8 UTF-8
$
Это вот у нас всего одна локаль есть. Она же по умолчанию установлена:
Bash:
$ cat /etc/default/locale
#  File generated by update-locale
LANG=ru_RU.UTF-8
$
Работаем так. Убираем на фиг патч 10-natspec+asdos, пересобираем zip, устанавливаем его, а потом к имеющимся локалям добавляем локаль
en_US.UTF-8 UTF-8. Например, с помощью команды

Bash:
sudo dpkg-reconfigure locales
В том же диалоге оставляем локаль LANG=ru_RU.UTF-8 по умолчанию.

Всё. После этого без патча 10-natspec+asdos zip будет сохранять флаг исполнения и не крякозябрировать при архивации русскоязычные имена файлов в системе ntfs.
 
Сообщения
198
#17
Ну я это расцениваю, как скину чё-нибудь большое, он всё равно читать не будет, а я за умного сойду
 

Карл

New member
Сообщения
50
#18
обе статьи я с удовольствие прочитал, узнал много нового, потому не считаю себя умным

а теперь расскажи - чем тебя привлекает этот старый zip формат - сжимает хуже всех, проблемы с русскими именами файлов имеет
уже и deb пакеты переходят на zstd
но ты упорно хочешь его использовать - но зачем так и не сказал
 
Сообщения
198
#19
обе статьи я с удовольствие прочитал, узнал много нового, потому не считаю себя умным

а теперь расскажи - чем тебя привлекает этот старый zip формат - сжимает хуже всех, проблемы с русскими именами файлов имеет
уже и deb пакеты переходят на zstd
но ты упорно хочешь его использовать - но зачем так и не сказал
да не особо он меня и привлекает. Но и не отталкивает. Это чтобы оценить его, нужно архивировать много и часто, а я мало и редко. Просто нашёл проблему, стало интересно, попытался решить. Как-то так.
 

Карл

New member
Сообщения
50
#20
если мало и редко - бери tar.xz - нативное средство

кстати, а есть ли стандарт на то, что zip должен сохранять права чтения/записи/запуска и id пользователя ?