Полагаю небезынтересным поцитировать поучительный диалог профессионалов технической поддержки разработчика коммерческого продукта (программно-аппаратного комплекса, где ПО идёт приложением к приобретаемому устройству, т.е. «пиратов» там нет), заявляющего поддержку не только Micro$oft Window$, но и наиболее широко распространённой свободной альтернативы в лице GNU/Linux с пользователем СПО:
Вопрос пользователя (12 июня 2017 года):
librtpkcs11ecp.so и openssh-7.5_p1-r1
$ ssh-add -s /opt/rutoken/librtpkcs11ecp.so
Enter passphrase for PKCS#11:
Could not add card "/opt/rutoken/librtpkcs11ecp.so": agent refused operationlibrtpkcs11ecp.so: v.1.5.3.0 от 27.03.2017
такая ситуация с openssh-7.5_p1-r1, с openssh-7.3_p1-r7 работает нормально. как скоро обновите либу?
Ответ специалиста ТП, 19 июля [того же года]
Спасибо за сообщение о проблеме - попробуем воспроизвести у себя. Если проблема воспроизведется, то тогда можно будет говорить о сроках.
На сколько я понимаю, в основных последних дистрибутивах используется версия 7.3 или 7.4. На сколько для Вас критично использование именно версии 7.5? Каким именно дистрибутивом вы пользуетесь?
…
13 августа [всё ещё того же года], напоминание пользователя:
Удалось продиагностировать проблему?
Оперативная отписка ТП (16 августа):
К сожалению, загрузка наших разработчиков не позволяет нам поддерживать все дистрибутивы Linux. Мы поддерживаем в первую очередь версии пакетов в популярных дистрибутивах. На сколько я понимаю, в Ubuntu openssh 1.75 попадет только в конце октября. Поэтому проблема будет решаться к этому времени. Как только появится релиз в котором проблема решена - мы Вам сообщим.
Пользователь закономерно переходит к «троллингу» (начало определения здесь, свои мысли по вопросу пока думаю), 17 августа:
Неожиданный подход к проблеме. Конечно, совместимость с версиями популярных дистрибутивов – это немаловажно, однако де-факто стабилизация определенной версии в рамках определенного дистрибутива, особенно версионного – процесс, зависящий от многих факторов, в том числе и от занятости майнтайнера :-)
Как мне, мягко говоря, кажется, не менее важный фактор – совместимость с версией, стабилизированной апстримом пакета. Но еще более важный момент – указание в данном случае в явном виде рантайм зависимостей (включая версии) для librtpkcs11ecp.so.
То есть если это ограниченный сверху и снизу диапазон версий – то это необходимо знать _до_ установки библиотеки. Иначе получается «воткните-и-попробуйте». Выглядит несколько непрофессионально для коммерческого продукта.
Очередная отписка профессионала ТП, подтверждающая справедливость утверждений Дж. Фокса, той же датой:
Мы поддерживаем интеграцию с массой различного ПО как в Windows так и в Linux (несколько сотен). Мы бы рады проверять совместимость при каждом релизе и при каждой стабилизации очередной версии пакета. Но к сожалению, у нас физически нет на это ресурсов.
P.S. Спасибо Вам и всем остальным, кто проверяет различные сценарии и пишет нам о возникновении проблем. Мы стараемся их исправлять как только появляется возможность\ресурсы.
И тут же, образцом «троллинга» по методичке «страдальцев» — ещё одно замечание пользователя:
Я не буду комментировать заявление про «несколько сотен» в разрезе конкретно librtpkcs11ecp.so :-) каждый может оговориться, понимаю.
Вопрос тут скорее в том, что в данный момент это кот в мешке – нигде нет четкого и полного списка зависимостей, которые, к слову, совершенно обязательны для любого пакета-кандидата на включение в любой репозиторий.
С чем-то не проверяли, с новой версией итд? Да, возможно, никто за это не будет наезжать. Однако все то, что необходимо для работы, должно быть явно перечислено. Тогда либо не будет проблемы, либо она будет целиком на совести пользователя/майнтайнера итд.Касательно этой конкретной проблемы – мне удалось быстро найти причину и откатиться, но это совершенно не общий случай. А корень проблемы именно в закрытости зависимостей. Кроме того, отсутствие зависимостей – большое препятствие для пакетирования, даже для самодельного.
Вопрос заинтересованного пользователя о протоколе тестирования закономерно был проигнорирован. Следующая отговорка — 21 августа:
Спасибо за обратную связь по зависимостям.
Давайте разберемся чуть глубже. Вопросы совместимости не имеют никакого отношения к зависимостям\пакетам\репозиториям. Вы можете легко посмотреть зависимости нашего пакета - они там есть. Это именно версии пакетов без которых использование librtpkcs11ecp невозможно.
Здесь же мы говорим про взаимную совместимость. Наш пакет не может проставить внутрь себя в зависимость все, что он поддерживает. Вы же не хотите, чтобы при установке librtpkcs11ecp, к Вам автоматом прилетал какой-нибудь LibreOffice, который мы поддерживаем? Такую зависимость могли бы поставить внутрь своих пакетов разработчики openssh, хотя это тоже было бы нелогично - далеко не всем пользователям openssh вообще нужны наши токены.Есть ли у Вас какие-то предложения, как может выглядеть подобный список совместимости, чтобы Вам было удобно?
P.S. Наша основная инструкция по настройке openssh - dev.rutoken.ru/pages/viewpage.a … Id=3440675 вообще обходится без использования ssh-add и скорее всего отлично отработает даже на новой версии 1.75.
Продолжение курса ликвидации безграмотности от пользователя — уже 19 ноября:
Если рассматривать вопрос буквально, то да – зависимости времени компиляции и исполнения не имеют прямого отношения к вопросам совместимости. Однако давайте представим такую ситуацию – librtpkcs11ecp с Firefox работает только с определенными версиями, с openssh – тоже, pam вообще непонятно работает или нет… и в итоге получится, что совершенно неясно – как и с чем использовать токен, и, что *более* важно – можно ли не бояться обновлять эти «поддерживаемые» пакеты?
Если рассматривать иерархию в терминах здравого смысла, то будет звучать нелепо что «новая версия Firefox стала несовместима с моим плагином», ибо все та́ки наоборот. Ну что ж, разработчики openssh решили внести какие-то изменения, которые вызвали проблему совместимости, но наверное было бы смешно создавать там тикет типа «commit #xxxx breaks librtpkcs11ecp»? В любом случае *придется* обеспечивать совместимость со стороны librtpkcs11ecp. Ну если конечно разработчики согласны со мной, что openssh – одно из наиболее часто используемых применений.Полагаю, что *особенно* ввиду проприетарной природы librtpkcs11ecp именно его разработчикам необходимо выработать стратегию, включающую реально «поддерживаемые» применения, своевременное тестирование на совместимость с новыми версиями оных… плюс мы (пользователи) где-то должны мочь легко и просто ознакомиться с текущим списком совместимых версий.
>> Как только проблема будет продиагностирована и решена, мы Вам сообщим. не было диагностирования и решений? замораживаемся на openssh-7.3?
>>Наша основная инструкция по настройке openssh … вообще обходится без использования ssh-add и скорее всего отлично отработает даже на новой версии 1.75.
Если речь про
ssh -I /usr/lib/librtpkcs11ecp.so
… то это никак не релевантно проблеме ssh-add, который используется прежде всего чтобы не вводить каждый раз пин.
23 ноября прошлого года пользователь сообщает о выпиливании совместимой версии openssh, а 30-го числа того же месяца ТП снисходит до хоть каких-то обещаний:
Задачу взяли в работу. Но приоритет ее не высокий. Поэтому по срокам пока не смогу что-то обещать.
…и тишина. 7 июня уже сего года пользователь пытается напомнить о проблеме:
На данный момент librtpkcs11ecp.so работает только с openssh <= 7.3. (7.4, 7.5, 7.7 проверено, agent все так же refused operation). Полагаю, версию 7.3 за истекший период выпилили даже из самых слоупочных дистрибутивов. Не пора ли немного активизировать решение проблемы?
13 октября проблему подтверждает пользователь дистрибутива, отличающегося, скажем так, не самым свежим ПО.
Справедливости ради: в самой распространённой ОС оно (сертифицированные системы криптографической защиты информации) работает… примерно также.
Только там — люди привычные. В первую очередь к использованию чёрных ящиков. И вообще ересям.
А ещё куда больше ресурсов вкладывается в протаптывание используемых троп.
ЗЫ: В качестве приложения к отмеченной проблеме можно напомнить… дискуссию про закупку ПО в МВД.
И памятник технической грамотности профессиональнов по связям с общественностью из ФСБ.
Комментарии
а зачем вы обновляете сертифицированную станцию?
От такой глупости, как запрет обновлений ОС на рабочей станции, использующей сертифицированные СКЗИ даже сами сертификаторы уже отошли.
Золотой принцип: "работает - не трогай!"
Какой глубокий половой смысл на рабочей станции, тем более сертифицированной, гнаться за последними версиями?
Вот, например, NVIDIA, до сих пор не обеспечила поддержку 18й Ubintu.
Ну и что - с их картами спокойно работаю под 16.04 LTS.
А для собственных карточек разработчик написал драйвер под 18-ю. Модель драйвера поменялась, да имеет смысл брать самое актуальное решение на момент старта работ. Ну и что, на другой сервер поставил 18.04 и платы от NVIDIA в него и не сую. В крайнем случае, если серверов не хватает, есть мультизагрузка или виртуальные машины.
Можно дурацкий вопрос? А зачем на серверах платы от NVIDIA? Вы что там майнингом занимаетесь?
Не майнингом единым. Еще есть распознавание образов и другие задачи. За которые Заказчики платят деньги.
EOL
наверное потому что "Дыры" в "безопасности" на "чувствительном сегменте" чутка напрягают.....
Понятно, что систем без потенциальных дыр существовать не может.
Разница только в том, кто про какие дыры знает, выявлены они или ещё нет...
Одно из условия сертификации, как я вынес из общения с представителем ФСТЭКа,
то что у СКЗИ должен быть живой разработчик. Который в случае выявления дыр в системе, той что была указана при сертификации, обязан оперативно их запатчить.
За это он несёт ответственность. Не будет себя хорошо вести - сертификацию не продлят.
А если юзер самостоятельно перешел на билд оси, которая не проходила сертификационные исследования - то он сам себе злобный буратин.
Не завидую я разработчикам, пишущим под Linux. Поддерживать весь тот зоопарк дистибутивов и версий, которые существуют в мире Linux, со всеми их глюками - это полный привет. При этом, каждый линуксоид считает установленную у себя версию самой правильной.
Бред какой.
Всегда можно комплектовать ПО нужными версиями библиотек. Или линковать статически.
И это работает. Безо всякой "поддержки зоопарка дистрибутивов".
Однако тут полезно знать мотивацию использования динамической линковки.
ЗЫ: Если что-то где-то не работает, то, по крайней мере в мире СПО, причиной достаточно часто является ошибка разработчика.
И только профессионалы, выросшие на самой распространённой ОС упорото отстаивают «правильность» откровенно нерабочих решений.
Это нарушает идеологию репозиториев.
Неверно.
Точнее — следствие, но не причина.
А всё — от невежества погромиздов.
Отягчённого импринтингом навыков с самой распространённой ОС.
ЗЫ: Какая феерическая Вера в отсутствие глюков в самой распространённой ОС.
В самой распространённой ОС глюки несомненно есть, но в мире линуксов их в разы больше. Причём, у каждого свои.
Вы сами не понимаете, что только компромитируете уровень своей квалификации.
Не претендую ни на какой особый уровень, а просто транслирую свой жизненный опыт.
Значительная часть этого опыта порождена заменой самостоятельного мыслительного процесса попыткой воспроизведения привычной экосистемы в чуждой среде.
ЗЫ: Регулярно наблюдаю коллег, матерящихся от интерфейсных инноваций майкросовта.
Как раз нет. Я в каждом дистрибутиве линукса стараюсь строго следовать именно его идеологии, начиная от установки софта и кончая расположением и именованием конфигурационных файлов. Руками стараюсь ничего не трогать и действовать только по мануалам стандартными для данного дистрибутива средствами.
Эта роль ругательная, Твой опыт неправильный и я прошу ее комневсем линухам не применять!Как будто под WIndows проще. Полдюжины «стандартных» графических интерфейсов от WinAPI до .Net 4.7, неполная документация и нестандартное использование даже программами от Microsoft (например, альфа-канал в изображении в буфере обмена). Три «стандартных» кодировки для каждого языка. Отсутствие менеджера расположения элементов в WinAPI и при этом разный вид и размер(!) этих элементов в разных Windows.
Есть у меня подозрение, что в Linux это всё многократно усугубляется.
Неосторожное обращение с квантором всеобщности в комплекте с ожидаемым натягиванием желаемого на действительное.
Как минимум по одному из пунктов.
Стандартная кодировка одна. Менеджеры расположения в GTK и Qt есть давно. Фактически, при соблюдении стандартов autotools (или cmake) и указания версий использованных библиотек, одна и та же программа может быть без проблем собрана под любой версией Linux от 0.99 до современной (а также любой *BSD). Наличие стандартов упрощает написание кода.
Для закрытого кода необходимо указание точных версий библиотек и взаимодействие с майнтейнерами дистрибутивов или упаковка библиотек с собой (для этого в UNIX предназначен каталог /opt). То есть «точно как в Windows» работает без проблем (даже проще, так как нет нынешней микрософтовской чехарды с SysWOW64 и ProgramData, когда в зависимости от того, откуда файл пытается открыться, он будет искаться в разных местах). То есть в Linux в худшем случае упаковать не сложнее, чем в WIndows по XP включительно. В качестве пруфа могу привести дистрибутивы браузера Opera и игры Neverwinter Nights.
Многократно пробовал собирать софт из исходников и под Linux и под FreeBSD (не из портов). "Без проблем" - это как раз очень редкое исключение. Как правило это выглядит так:
make
не хватает таких-то и таких то пакетов и библиотек
хорошо, ставим из репозитория
а они не той версии
и понеслись танцы с бубнами, чтобы найти и поставить именно те самые библиотеки, которые требует собираемый софт
Далеко не всегда сей увлекательный процесс заканчивается успешно.
Я уже молчу о том, что потом, если понадобится этот софт деинсталлировать, придётся долго и упорно искать, что у куда оно при инсталляции напихало.
Не только лишь все критики линуксов обременены навыком чтения и понимания прочитанного.
И практически никто из них даже не слышал о главном правиле.
ЗЫ: Просто напомню цитату из народного фольклора:
ЗЗЫ: Главное: не забудьте рассказать о простоте и безпроблемности установки в виндавсе *любой* программы версии -9999. И про удаление не забудьте ☺
Кого беспокоит удаление странных программ, у того есть Uninstall Tool или что-нибудь подобное. А установка почти всего прикладного софта в Windows возможна просто копированием папки с программой.
«Странности» тут только для пользователей самой распространённой ОС.
Ну и бинарных дистрибутивов.
По-Вашему, пользователи Gentoo могут ставить только то, что опакетили разработчики? Или не в бинарных дистрибутивах автоматически перехватится вызов make/cmake/cabal/... и позволит потом удалить установленную таким образом программу?
Это по-Вашему.
А вот что об этом пишут *реальные* пользователи Gentoo:
ЗЫ: Про sys-apps/sandbox Вы явно не слышали…
ЗЗЫ: Замечательная иллюстрация высказывания утверждений за границами компетенции, интересная в контексте полемики с воинствующими свидетелями секты трёх немцев.
Вот Вы и привели и примеры "странных программ" и аналог uninstall tool. С чем тогда спорите?
Суть установки нормальной виндовой программы - это её скачивание, запуск( установки ), несколько раз нажать Далее ( мб, с опциональным выбором каталога установки ), дождаться окончания установки и запустить установленную программу.
И программа, в абсолютном большинстве своём, работает без каких-либо проблем.
Удаление не сильно сложнее - либо через Пуск, либо - через ПанельУправления -> УстановкаИУдалениеПрограмм / ПрограммыИКомпоненты.
Скачали новую версию программы ? Запустили установочник -> он предложил, либо оставить старую версию, либо - выпилить её и установить новую.
Это рассказ, по крайней мере, без "нового" виндового магазина приложений.
Всё.
Другое дело, что, с "адаптированными"( с линухи на винду-макось-реактос-итд ) программами реальный гемор возникает.
Т.к, и полноценно через консоль парой команд не установить( ну нет у нормального человека на винде кучи консольного г.на в т.ч для работы с make-файлами, сишного компилятора итд ) и нормальный установочник сделать - руки от ж.пы отвалятся( у разрабов ).
Также для нормальной линуксовой программы: правой кнопкой по программе и выбрать «Установить». Если такая уже есть, спросит «Обновить?». И программа, в абсолютном большинстве своём, работает без каких-либо проблем. Например, 1С я так ставил.
На Windows тот же 1С устанавливает MSVC runtime, который в конце выдаёт ошибку (но она, к счастью ни на что не влияет). При установке 1С позволяет установить несколько версий, чтобы работали параллельно. Но если удалить одну старых версий (через УстановкаИУдалениеПрограмм), то все работать перестают, пока не переустановишь какую-нибудь из оставшихся (ну нету в Windows механизма отслеживания общих ярлыков и ключей реестра как update-alternatives в Debian).
Вот и пруф, что сделать нормальный дистрибутив под Windows сложнее, чем «Поддерживать весь тот зоопарк дистибутивов и версий, которые существуют в мире Linux». Потому что в Linux я просто указываю, какие библиотеки нужны. Под распространённые дистрибутивы пишу пару spec-файлов (для rpm и deb). В Windows надо собрать под все возможные ABI (x86-windows-msvc2008-pe-32bit, x86-windows-msvc2010-pe-32bit, ...) или тащить с собой все нужные библиотеки (а для этого надо найти все эти библиотеки, откомпилировать под одинаковое ABI, сделать им установщик redist, ...).
Или как альтернатива: установите chocolatey, запустите "choco install msys2", запустите "pacman -S --needed mingw64/mingw-w64-x86_64-pkg-config ... <здесь нужные библиотеки>". Получается почти так же удобно, как в Linux'е
Какой пруф и чего ?
Если речь о том, что делать установочник сложнее, чем его вообще не делать, то да. Это, в общем-то, очевидно.
Если речь о том, что установочник для винды делать сложнее, чем для всяких линух, то, это смотря, что именно и как требуется установить.
Тем более, что, для винды целая куча программ с нормальным графическим интерфейсом для создания инсталляторов в несколько кликов... уже лет 10 - 15 назад была.
Тут речь о нежелании некоторых разрабов( видать, принципиальном ) палец о палец ударить для нормальной поддержки( на этапе установки ) ОСи, вот и строгается всякое г.но с горой скрипящих и кое-как работающих скриптов, с которым надо как следует париться.
Иногда - дело просто в идиотских ошибках.
Как, к примеру, однажды с Ораклом и его установочником БД было: господа просто забыли, что, по итогу "внедрения" 64-битности, папок Program Files на диске стало 2( одна для 32-битных, другая - для остальных. Это в идеале ) и что в адресе "внезапно" могут быть пробелы, которые система не очень любит.
Как итог, без ручного допиливания, ОраклОвая БД, тупо не работала.
Но это именно косяк с тем, как контора сделала установочник( видать, где-то адреса тупо захардкодили ).
К слову, "странные ошибки" изредка возникали, когда мамкины сисадмины много чего отключали / выпиливали как "ненужное". В итоге, некоторые умудрялись ломать даже службу установщика Windows( это которая "как-то связана" с msi пакетами ).
В иных случаях, описание ошибок - дело рук создателя установщика.
И, если ему проще написать "Ошибка 123" вместо нормального сообщения - тут уж ничего не поделаешь.
К слову, за время пользования виндой( начиная с 98-ой, но её уже помню плохо ), ошибки при установке вываливались, навскидку, не более 15 раз. Т.е, в среднем, реже 1 раза / год.
Большая часть из них - ввиду работы антивируса или тупо ввиду нехватки места на диске.
Замечу, что Оракл не поделка программиста-одиночки, а вполне корпоративное платное программное обеспечение. И если даже у них не хватило ресурсов проверить на всех комбинациях всех ОС семейства Windows, то о чём вообще речь?
Можете эксперимента ради попробовать опакетить, например, https://rsync.samba.org/download.html. Ребята с https://www.itefix.net/cwrsync оценивают свои услуги по созданию пакета для Windows в $39 за каждый экземпляр.
Вот, собственно, вторая причина, почему под Linux пакетить проще. Там нету двадцати велосипедов для установки, а есть одно нормально работающее решение.
Вот! А это третья причина. Причём на неё приходится закладываться не только при установке, но и при работе, что любой созданный файл может быть внезапно захвачен антивирусом и программа получит ошибку записи.
Ну да.
«Решение» проблемы в виде рекомендации снести антивирус (который часто требует специальной процедуры де-инсталляции) выглядит просто прекрасно.
Особенно — то, что восстановленный после установки программы антивирус ни с чем не конфликтует.
Кто сказал "снести"? В нём можно настроить исключения или просто приостановить на час.
А снести... видел рекомендацию снести Apparmor в Debian, чтобы man работал. Так что в Linux есть свои "антивирусы"
Цитируется профессионал поддержки ПО.
А неработающий man в линуксе — это финиш.
Хотя буквально вчера наблюдал наличие отсутствия в выводе поисковых систем правильного ответа на настройку mod_userdir в линии EL.
Вот только когда в ответ получаешь «ошибка 1603: во время установки произошла неустранимая ошибка» вместо нормального информативного сообщения как в Linux, то всё гораздо грустнее.
"Нормальные информативные сообщения в Linux" для подавляющего большинства пользователей точно также ничего не говорят, как и сообщение "во время установки произошла неустранимая ошибка". А опытный компьютерный гуру и в винде разберётся, что не так.
В первом случае в Linux будет сообщение «пакет уже установлен». В остальных случаях будет ошибка «нет прав на запись в файл <имя файла>». И запрета на установку на зашифрованный или съёмный носитель в Linux нет.
Думаете, эти фразы эквивалентны «во время установки произошла неустранимая ошибка»?
Только из-за того, что исходники закрыты, таковых гораздо меньше, чем в Linux. Поэтому с 99% вероятностью совет «гуру» будет: отформатируй диск и переустанови Windows.
Подобного вида сообщения, как правило возникают либо из-за криво написанного установщика, либо о из-за проблем в ОС, куда это ПО устанавливается. В первом случае, с более-менее распространённым ПО вероятность получить такую ошибку при инсталляции стремится к нулю. А во втором случае, систему всё равно нужно "лечить" - устанавливаемое ПО тут не при чём.
Сообщение «нет прав на запись в файл <имя файла>» абсолютно не информативное. Простой пользователь не в состоянии понять, почему у него вдруг нет прав на запись, да ещё и в системный каталог. А если он начнёт это ручками исправлять, то может такого наворотить, что вообще всё работать перестанет. В Макоси, кстати, в дисковой утилите есть специальный механизм "лечения" пермишенов на системных каталогах. Для меня до сих пор является загадкой, почему они там периодически слетают, если у пользователя нет прав рута.
И насчёт зашифрованного носителя вы очень оптимистично смотрите на положение вещей. Один мой коллега недавно поставил ubuntu и при инсталляции сдуру сказал шифровать свою домашнюю папку (есть там такая опция). Так вот, после этого он наловил такую кучу глюков именно с установкой софта, что пришлось всё заново переставлять уже без шифрования домашней папки.
При этом все программы, для которых не выполняется данное условие, огульно и бездоказательно объявляются «ненормальными».
Например посмотрим что пишет разработчик лучшего процессора электронных таблиц:
Но самое смешное — это то, что персонаж демонстрирует незнание эволюции оценок самого майкросовта, который с тенденцией засунуть всё в гуй на опыте НТ4 завязал.
Любые программы, которые ставятся не рекомендуемым способом являются "ненормальными". Для Windows это те, у которых нет пакета MSI, для дистрибутивов Линукс - те, которые не ставятся пакетом дистрибутива.
А гнумерик не распространяется не из-за инсталлятора, а потому что просто не работает (про что и написано в цитате, Gtk под Windows глючит).
Ну да.
А проблемы сборки gtk для самой распространённой ОС ну никак не связаны с принципами пакетирования.
Конечно. Установить-то GTK можно. Он уже при работе глючит.
Гм... А прочитать файлы README и INSTALL до попытки собрать, а не после того как перепробованы все варианты — никак?
Либо make uninstall, либо дистрибозависимым методом (например, в Debian вместо make надо собирать через debuild). В общем, RTFM, они rulez.
Ага. А ещё сам файл make не вредно почитать. Оттуда много полезного можно почерпнуть, особенно, когда ничего другое не помогает.
Версий библиотек там не будет. Тогда уж сразу исходники, чего уж мелочиться, если читать документацию религия не позволяет.
Страницы