И еще о Linux (holy war!)

Что-то давно я Linux не троллил!

Когда мы делали Спамтест (который стал затем Kaspersky Antispam), чудовищным гемороем было изготовление дистрибутивов для Linux:

  • продукт поставлялся в бинарниках;
  • продукт интегрировался в MTA (штук 5 разных, от Sendmail до Qmail) путем патченья их конфигов;
  • Ну и хотелось поддержать, по возможности, все, что хоть как-то двигается.
С третьей задачей мы не справились, ибо количество способов, которыми расположены стартап-скрипты, конфиги и т.п. - поражало воображение. Имелся список поддерживаемых дистрибутивов (на которых сами тестировали, слава VMWare), а если у вас не оно - ну сами ставьте, документация есть.

Вчера я убедился, что за прошедшие 7-8 лет ситуация не изменилась. Ну вот драйвера для видеокарт ATI (которые бинарные). Казалось бы, ну kernel module, модуль в X11, библиотеки. Ну значит определи архитектуру, версию kernel (если драйвера разные), версию X11 - и ставься себе.

Однако хрен. И комбинация "старый драйвер"/свежий Linux - стабильно не работает (Мне нужен был Catalyst 10.10 а затем 11.1). Ну то есть вот на SuSE 11.4 - не работает, инсталлятор не инсталлирует. И на Убунте свежей - инсталлятор не инсталлирует, а при просьбе --buildpkg "известный ему Linux" - позорно обламывается с диагностикой "ld.so.conf - неизвестный объектный файл", ага, там его пытается линковать.

Если Линукс сдаунгрейдить, то все нормально, во всяком случае те самые 11.1 на SuSE 11.3 встали со свистом.

Ну ладно, у нас в Спамтесте работало разработчиков человек пять-шесть, а то и меньше, занять даже одного из них инсталлятором на fulltime - было непозволительной роскошью. Но ATI может же почти любые ресурсы туда загнать. То ли не загоняют, то ли не помогает.

А почему, собственно? Отчего нет "стандартного" и везде работающего способа поставить модуль в X11? Опять никому не надо?

P.S. В FreeBSD Спамтест ставился со свистом и никаких проблем с инсталляторами там не было. Более того, бинарный package от 5x или 6x скорее всего будет работать в 8x (c соответственно установленным compat), ну разве что кроме milter.

P.P.S. А видеодрайвера в винде апгрейдятся последние год-полтора и вовсе без перезагрузки/перезапуска оконной системы.

Comments

Взял с полки duct tape и заклеил себе рот. Я не буду комментировать этот пост.

ну вот. А я надеялся....

КАС 2.0 кстати до сих пор жив как продукт с теми самыми скриптами практически.

Не-не.

В тройке, которая вышла уже в ЛК, вся конструкция кардинально переработана
- и по конфигурированию КАС
- и по управлению.

Вот интеграцию в МТА/инсталлятор я не смотрел, если честно, я всегда руками ставил.

А четверка, которой грозились год назад точно, а может и два (не помню) - похоже до сих пор не вышла.

Ну то есть сама интеграция (подходы) в тройке не менялись, а скрипты которые ДЕЛАЮТ ЭТО (установку в МТА) - точно изменились по форме (т.к. конфигурация устроена иначе), но могли не измениться по сути.

Да, в трешке все иначе. Там, кстати, на веб-морде есть график, который показывает сколько спама распознано. 100% пользователей считают, что это detection rate, так как "зелененькое" обозвано not detected :-) Если кому везет с большой долей легитимной почты, то они сразу очень недовольны.

Да, 4ка так и не вышла как продукт. Она вошла как движок в некоторые продукты.

поддерживаю недовольство!

Не то, что бы никому... Тем, кто это может продвинуть в дистрибутивы - не нужно. Кому нужно - не могут продвинуть. Как обычно, в общем-то.

Почему ATI не посадит на fulltime, тоже примерно понятно - смысла поддерживать старое не так-то много, разве что из любви к линуксу.

Я не столько о дистрибутивах, сколько об общей неустроенности жизни.

ATI/NVidia/Oracle (и прочие, поставляющие варез в бинарниках) вынуждены поддерживать миллиард форм жизни, потому что этот миллиард там есть.

И это не версии X11/ядра/архитектуры, коих более-менее счетное количество. Это именно "дистрибутивы". Убунта - отдельно, Сусе - отдельно, Федорино коре - отдельно. А дальше там искусственный интеллект, который для конкретного дистрибутива/whatever знает что куда засунуть.

При этом, ладно что новый линукс оно не знает, простим им. Но при сборке .deb для старого Linux зовутся всякие Deb-tools которые обламываются (я подозреваю, что если на старом линуксе его пускать - то сработает), а значит даже в этом месте совместимость поломана.

дистрибутив - это ближайший "срез" этой самой жизни.
Обобщение этих миллиардов форм жизни, хотя-бы до сотен тысяч :)
Фактически три-четыре дистрибьютора и по несколько версий в каждой из них.

А то, что при переходе от версии к версии что-то ломают - есть же ветви для тестирования, багреткеры и так далее. Если вендоры софта этим всем не занимаются, видимо им это не нужно (не окупается)

> А почему, собственно?

Потому, что в ядре есть "направляющая рука партии", а в дистростроении каждый сам во что горазд и должен поддерживать свои собственные старые решения, пусть и неудачные, придуманные давно. SuSE, когда я его смотрел лет 9 назад, вообще был уникален в плане конфигов и конфигураторов. После RH, Debian и Slackware, мне показалось, что это жуткая смесь RPM+Slackware+Inhouse. Тем, кто ориентируется на десктопы, приходится смотреть в первую очередь на то, что наиболее популярно на десктопах. В настоящий момент, наболее популярны на десктопах это Ubuntu и Fedora, на них и ориентируются, в основном.

Ну как бы так сказать, э...

Имел вчера свежую Убунту и желание поставить несвежий (8 месяцев) драйвер. Так вот не вышло нихрена. Что меня, собственно, и огорчает.

А несвежий драйвер мне был нужен т.к. для него есть патч (прямо вот бинарный), который не размэпливает буферы в который видеокарта делает DMA из памяти процесса.

Ну то есть у автора патча мы попросили над более новыми драйверами надругаться, но когда это будет еще....

1. во ВСЕХ дистрах все драйвера ставятся пакетным манагером. и софт весь тоже. если для касперский-говно-хуйня в дистре не сделали пакет, то оно в этом дистре никому вхуй не впилось
2. старые драйвера - го ставить драйвера от windows 98 на windows 7. да, линупсы меняются быстрее. это напрягает рукожопиков с касперского? их проблемы.
3. кто такой "модуль в X11"?

ну вообще говоря пионерия и тотальный неадекват. хотя чего ещё ожидать от вирусописателей то?

Пакет - да, верно. С этим, по счастью, проблем нет.

Проблемы начинаются, когда надо интегрироваться с другим софтом, путем прописывания ему в конфиг (и установки в startup, да). И выясняется куча всего интересного.

И я не говорю о ситуации "драйвера от 98 в Win7", Catalyst 11.1 - это январь сего года, за это время ничего не произошло: ядра те же, иксы теже, только вот тулза для билда .deb-файлов (системная, а не принесенная с драйвером) теперь хочет линковаться с ld.so.conf, а линкер в этом месте еще не попатчили.

Что же касается "более быстрого развития Linux", то Windows 1.0 (которой нельзя было пользоваться) - это 86-й год, Linux - 91-й, разница 6 лет, при этом Windows уже можно совсем нормально пользоваться минимум лет 10 (а может и 16), а в Linux все еще масса безумств, вроде описываемого.

Причем, я скорее о Каталисте, чем о Спамтесте/Касперском. Спамтест - просто иллюстрация того, что оно было плохо в 2003-м. А Каталист - иллюстрация того, что и в 2011-м то же самое говно.

ещё раз - прописыванием-в-конфиг занимается пакет. если пакета не сделали то продукт не нужен.

"линковаться с ld.so.conf"? бггг. и в очередной раз - пользователь не должен делать пакеты, это дело разработчиков. с "ликновкой с ld.so.conf" в разработчики вам нельзя.

Пакет - есть. А стандартных средств спросить (для антиспама)
- как зовут MTA
- где его конфиг
- прописать этому MTA нечто в конфиг
нету, ага.

С X11 все должно бы быть получше, но я вчера читал вслух и с выражением как именно ATI-шный скрипт определяет, что и где закопано (для установки, не для --buildpkg) и просто плакал. Почитайте, вам тоже вставит.

Ты чо не поял внатуре, тебе в разработчики нельзя. Вон из профессии!

Чотаржу™ ;-P

Я в разработчики инсталляторов для Linux и не стремлюсь, мне 2003-2004-го года хватило.

Это просто ужоснах.

в 100500ый раз - "атишный скрипт" не нужен. вообще никак не нужен. атишные драйвера ставятся sudo ati-drivers

sudo package-manager package-manager-keys-for-install ati-drivers
долбанный жожо

Ага-ага.

А вот в Убунте отчего-то считают иначе: https://help.ubuntu.com/community/BinaryDriverHowto/ATI

так бебиан жеж. дурные.

Да-да. Все разговоры про Linux сводятся к тому, что все кроме разработчиков конкретного дистрибутива - дурные.

Это я и так знаю. Про любой дистрибутив.

Впрочем, с RPM-based SUSE та же хрень.

Документ: ATI Installer HOWTO for openSUSE users

Цытата:
Since ATI driver release 8.16.20 the ATI installer needs to be used
to create SUSE/Novell RPMs. Download the ATI installer from the ATI
website.
ну а дальше --buildpkg, да.

ещё раз - люди которые отвечают за пакеты это сделают как нить. юзерам пофиг - они ставят пакет.

Вот! Хороший, годный тролль! А Леха так, погулять вышел!

Лехины способности троллить заключаются в полной неспособности к троллингу. В результате тролли об него просто разбиваются, как мухи о лобовое стекло. От толщины тролля зависит только размер кляксы.

Э. Ну вот у меня свежая убунта, хочу поставить Catalyst 11.1 (натурально хочу).

Мои действия?

перестать хотеть? ;)

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

Ну а разработчики этих самых модулей? Ну казалось бы, человеческий "installation framework" - будет же всем на пользу.

И нет, это не package manager. package manager - это заметная часть работы, но далеко не все.

а что имеется в виду под "installation framework"?

Давайте с другой стороны зайдем.
Что делает инсталлятор драйверов ATI? Он определяет, как на данной машине жизнь устроена (где библиотеки, где X11 и т.п.). Причем делает это совершенно нечеловеческими способами.

Казалось бы, если бы ЭТО хранилось как-то централизовано и везде одинаково (и необязательно в registry, можно в файлах :), то было бы щастье. И для отдельных компонентов, кстати, это как-то сделано (файлы *.pc), только не для ядра, системных библиотек и X11, которые то и нужны.

Хо-хо, парниша. Лицензии читать надо. Дистростоитель в самом лучшем случае может сделать только спец пакет, который будет скачивать нужные драйвера и ставить их. Драйвера в пакет просто так запихнуть, как правило, нельзя.

Для повышения накала holy war вынужден собщить, что в ЖЖ ваш комментарий не увидят. Оттуда - транслируется, а туда - нет.

Вот ветка там: http://alextutubalin.livejournal.com/250593.html?thread=3231969#t3231969

Отдельные МТА (e.g. postfix) вполне умеют всё про себя рассказать. В общем случае, конечно, вопрос интересный. В debian-based подобные вещи (кто у нас сегодня МТА) можно выяснить через /etc/alternatives, по идее.

Да, вопрос "кто у нас МТА" (если их несколько) - он тоже прикольный. И не менее прикольный - это в какой МТА ставится (если их несколько).

Спамтест, если я правильно помню, спрашивал. Что тоже прикольно: при запуске rpm -i спросить можно, а из GUI-инсталлятора - нету такой консоли....

> Что же касается "более быстрого развития Linux"...

Когда есть всего одна система, а ещё лучше и всего одно железо (Mac), то жизнь намного упрощается, бесспорно. В рамках же линуксового подхода, даже в пределах одного дистрибутива необходимо обеспечить пользователям варианты, как то какой МТА они могут выбрать, какой SQL, какой HTTP и прочие сервера/сервисы, а это как в шахматах, порождает очень много дальнеших вариантов ходов. Так что для ускорения "развития Linux" пришлось бы, видимо, забыть про PostgreSQL, как про менее популярный, чем MySQL...

> Что же касается "более быстрого развития Linux", то Windows 1.0 (которой нельзя было пользоваться) - это 86-й год, Linux - 91-й, разница 6 лет, при этом Windows уже можно совсем нормально пользоваться минимум лет 10 (а может и 16), а в Linux все еще масса безумств, вроде описываемого.

Об этом нельзя вслух. Пора уже приучаться говорить про Линукс только хорошее.

Как будто в винде у нас строго один браузер, одна читалка почты, один C++-компилятор и так далее (в серверной винде не силен, но наверное МТА тоже может быть много). И ничего, живет все.

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

А про Xorg и kernel, которых примерно один штук (но много версий) и их сочетание с ATI Catalyst - я вообще в непонятках.

> говорить про Линукс только хорошее.

Помер, болезный?

Ну, есть некое ощущение в воздухе.

На серверах - очевидно нет.

На десктопах - да, мало. в районе 1%. То есть несколько десятков миллионов десктопов. Гм.

На серверах понятно.

На десктопах - непонятно. 1% это на уровне погрешности измерения. Можно не слишком кривя душой предположить, что простых нормальных юзеров под Линуксом вообще нет ни одного, а этот 1% набегает из браузеров, поднятых на серверах и девелоперских воркстейшенах, имитирующих серверы, для разных неблаговидных не-вполне-клиентских целей.

У меня нет каких-то объемных данных, вроде логов счетчиков с миллиона сайтов, поэтому я верю чужим. Это с одной стороны.

С другой же - я вижу какую-то осмысленную жизнь в районе десктопных приложений под Linux (и вообще Unix). KDE, вполне похожий на настоящий, прочее подобное графическое.
Это, конечно, маргинальщина, но не такая смешная, как в 90-е.

Не говоря о всякой странной научной специфике, вроде Матлаба. Т.е. не девелоперы, а самые что ни есть инженеры и прочие ученые.

у меня ощущение, что ведро 3.0 доставит много радости и заставит просраться.
возможно и grub2 лулзов добавит

Я видел в форуме не то чтобы даже проклятия... а искреннее недоумение людей тем, как AMD умудрилась сделать инсталлятор для AMD APP SDK для линукса (не драйверы, но очень близко). Это ужас. Зацените.

Да видел я это, естественно. Правда до конца впервые досмотрел.
Но в сравнении с версией 2.3, где инсталлятора и вовсе не было, это же прогресс?

И с драйверами другое, пользователей драйверов на много порядков (4? 6?) больше, чем пользователей SDK.

В 2.3 даже инсталлятора не было? Ого. Я, впрочем, с юниксом пока еще практически не работал, только предстоит мне это. Кстати, для убунты один добрый человек делает deb пакеты. Народ ставит, доволен.

Да какая нахрен разница, что инсталлятор запустить, что руками растарить.

Для разработчика это все не должно составить проблему.

Э, я в юниксах пока еще лох, но видел, что всякие скриптовые файлы, производящие определенные действия, существуют для некоторых пакетов софта. Не то, да?

Да, но для AMD APP оно не очень нужно.
Ну то есть, да, конечно, в PATH/LD_LIBRARY_PATH прописаться полезно, но можно и руками.

Ага, понял, спасибо.

>>А почему, собственно? Отчего нет "стандартного" и везде работающего способа поставить модуль в X11? Опять никому не надо?

Потому что "шшвабодные красноглазики" понимают шшвабоду исключительно как свободу делать всё плохо, но в 100 различных вариациях.

Впрочем, у серьезных людей стоят или RHEL, или SLES, или Ubuntu server.
Реже - debian stable.
Те. вариантов не очень много, там новые релизы выходят нечасто.

Причина #1: - нет такой OS "Linux", есть много разных OS с похожим кернелом и ни одна из них не ставит design goal - стабильность API между версиями. Может это и плохо, но большого спроса на стабильность API в общем-то и нет. Нет почему-то огромной очереди людей, желающих ставить Kaspersky Antispam на свою Ubuntu, а драйвера к ATI и Nvidia ставятся одним кликом по иконке.

(Мы, кстати, ставили Kaspersky Antispam в рамках сравнительного тестирования. Я лучше промолчу...)

Причина #2: В ATI большие проблемы с поиском и удержанием людей, знающих Linux.

Мы, кстати, ставили Kaspersky Antispam в рамках сравнительного тестирования. Я лучше промолчу...

А у них всё так - я пробовал попользоваться их hosted solution.

Ну вот я же рассказываю: есть потребность установить ATI-драйвера конкретной версии (а не "наисвежайшие") на (свежую) убунту.
Кликом по иконке не выходит (и не может, ибо скачиваются они с атрибутами 0644 а не 0755, надо терминал открывать), при попытке заставить - у меня начинается плохой сон после чтения тамошних скриптов внутри.

KAS-ом, кстати, я с удовольствием пользуюсь по сей день.

> А видеодрайвера в винде

из последнего,
прикрутили проверялку версии и сообщают, что вышли новые дрова
и предлагают обновить. качает и ставит после этого само.
я про nVidia

Разве десктопный Линукс жив ещё?
Ну в смысле не как игрушка в VMW, а как главная OS на клиентском компьютере?
Как-то не могу себе представить людей, которые такое сделают в 2011-м году, и зачем.

Ну, например, кое-где это корпоративный десктоп.
В IBM например :)
http://blogs.computerworld.com/ubuntu_ibm_choice_corporate_linux_desktop

Не вижу в этой статье никаких признаков того, что всей этой MVERDE кто-то реально пользуется, тем более сама IBM.

Сама IBM этим пользуется. Я там был - видел ;)

Его достаточно ощутимое количество, чтобы NV/ATI выпускали драйвера в том же цикле, что и виндовые.

Весь смысл оригинального поста вроде в том, что эти драйверы не очень-то работают.

Не-не.
Драйверы - работают. Если удается поставить. А вот инсталлятор работает для новых линуксов - только у новых драйверов.

А при попытке изучения "отчего так" - вылезает такое, что волосы дыбом.

> Драйверы - работают. Если удается поставить.

С точки зрения простого виндоморона от сохи "если удается поставить" == "не работают".

Ну а простому виндоморону и не надо ставить драйвера конкретной версии. Ему и последние сойдут. А последние - всегда ставятся (ну т.е. я проблем не видел)

Не надо недооценивать простого виндоморона.
Он может, например, купить новую карточку, взять её драйверный сидишник, отпечатаный полгода назад, и начать с него ставиться. Это нормальное, ожидаемое поведение.

Интересно, а линуксовые драйвера на этих CD вообще есть?

Но да, в этом случае можно изрядно повеселится. Как я с Убунтой (свежей) и драйверами (февральскими, сего года).

ATI и прямые драйвера - сколько я с ними сталкивался это всегда было несочетаемым.

Для большинства дистров есть репозитории - там часто не самый-самый свежак, но головы при этом не надо, почти всегда.

Моя проблема не в том, что мне нужен свежак. Мне, наоборот, нужна конкретная версия (чуть больше, чем полугодовой давности)

P.S. В FreeBSD Спамтест ставился со свистом и никаких проблем с инсталляторами там не было. Более того, бинарный package от 5x или 6x скорее всего будет работать в 8x (c соответственно установленным compat), ну разве что кроме milter.

потому что milter писали криворукие уроды, кторые столкнулись лбами с принципиальными FreeBSDшниками?

Я почти уверен, что между 8.11 и 8.13 мильтер просто так, без перекомпиляции, не перенесется.

вот конкретно в протоколе милтера проблемы нет.
но из-за кривых рук можно сказать не работает

я, если что, практические наблюдения имею

Мне отчего-то казалось, что milter грузится в адресное пространство sendmail как .so
Но, кажется, я таки заблуждался (все забыл).

Тогда да, не работать может только от неправильного радиуса кривизны.

не, они комуницируют сообщениями через сокет (локальный или tcp).
авторы шлимыла хоть и пидорасы, но мозги у них какие-то есть