о линуксе и десктопе
Apr. 19th, 2012 07:24 pm(эта запись может быть интересна пользователям Линукса и сочувствующим)
Известный линуксовский хакер Инго Молнар написал две интересные записи о том, что имеющаяся система распостранения программ в мире дистрибуций Линукса морально устарела:
первая часть: https://plus.google.com/109922199462633401279/posts/HgdeFDfRzNe
вторая часть: https://plus.google.com/109922199462633401279/posts/VSdDJnscewS
Я думаю, что он совершенно прав насчет того, что не работает, но не уверен, что согласен с его мнением о правильном решении проблемы.
Я работаю ежедневно и под Виндоуз, и под Линуксом, и я давно уже заметил, что если мне нужно установить какое-то небольшое приложение, то я заранее "предвкушаю" то, что под Линуксом потрачу больше времени и нервов.
Виндоуз: идешь на сайт, находишь кнопку Download, скачиваешь и запускаешь установщик, нажимаешь Next на все кнопки.
Линукс (Ubuntu): apt-get [логичное название пакета] не работает. Надо понять, как он называется. apt-cache search |grep [ключевое слово] дает слишком много вариантов, но в конце концов находишь нужный. Оказывается, его пакет слишком старой версии (годичной давности) и там нет функциональности, которая тебе нужна. Теперь надо решать, подключать пакет из unstable или скачать исходники с сайта и вручную самому построить. Оба варианта не вызывают энтузиазма...
Что-то в этом не так. Огромное количество добровольного труда тратится на поддержание дерева пакетов (причем еще разных деревьев для разных дистрибуций), но при этом конечный результат категорически не scalable в современных условиях, содержит неподъемное количество внутренных перекрестных ссылок, битком набит устаревшими версиями, и далеко не так удобен в использовании конечным юзером, как "пойти на сайт и нажать на download". Есть, конечно, положительные черты этого устройства: секьюрити в первую очередь. Но перевешивают ли они неудобство?
Теоретически ничто не мешает сайтам выкладывать, скажем, RPM или .deb-файлы, а мне скачивать их нажатием кнопки на сайте, и устанавливать. Некоторые сайты так и делают. Но в целом это остается очень маргинальным способом устанавливать ПО в линуксе (и браузеры обычно не заточены на то, чтобы юзеру-чайнику это было так же легко, как в Виндоуз).
С другой стороны, если бы так делали все, то и с вирусами была бы более серьезная проблема (хоть и не настолько, как в Виндоуз, которая просто в первую очередь привлекает авторов malware ввиду своей доли рынка).
Может, Молнар прав, и какая-то схема, включающая цифровые подписи и возможность отменить злодейский пакет, но при этом не основывающаяся на иерархии и не требующая армии добровольцев для поддержания - это правильный ответ. Что-то вроде открытой версии Android Market. Но для того, чтобы это могло стать реальностью, подозреваю, что нужна серьезная работа по подгонке системы под это: перелопатить ABI и сделать его обширнее и удобнее; отказаться от общесистемных shared libraries в большинстве случаев; построить механизм прозрачного апдейта а-ля Хром. Если всем этим заняться сейчас, то есть шанс через год-два получить что-то многообещающее. Но есть ли влиятельные компании/дистрибуции, которые захотят пойти этим путем?
Известный линуксовский хакер Инго Молнар написал две интересные записи о том, что имеющаяся система распостранения программ в мире дистрибуций Линукса морально устарела:
первая часть: https://plus.google.com/109922199462633401279/posts/HgdeFDfRzNe
вторая часть: https://plus.google.com/109922199462633401279/posts/VSdDJnscewS
Я думаю, что он совершенно прав насчет того, что не работает, но не уверен, что согласен с его мнением о правильном решении проблемы.
Я работаю ежедневно и под Виндоуз, и под Линуксом, и я давно уже заметил, что если мне нужно установить какое-то небольшое приложение, то я заранее "предвкушаю" то, что под Линуксом потрачу больше времени и нервов.
Виндоуз: идешь на сайт, находишь кнопку Download, скачиваешь и запускаешь установщик, нажимаешь Next на все кнопки.
Линукс (Ubuntu): apt-get [логичное название пакета] не работает. Надо понять, как он называется. apt-cache search |grep [ключевое слово] дает слишком много вариантов, но в конце концов находишь нужный. Оказывается, его пакет слишком старой версии (годичной давности) и там нет функциональности, которая тебе нужна. Теперь надо решать, подключать пакет из unstable или скачать исходники с сайта и вручную самому построить. Оба варианта не вызывают энтузиазма...
Что-то в этом не так. Огромное количество добровольного труда тратится на поддержание дерева пакетов (причем еще разных деревьев для разных дистрибуций), но при этом конечный результат категорически не scalable в современных условиях, содержит неподъемное количество внутренных перекрестных ссылок, битком набит устаревшими версиями, и далеко не так удобен в использовании конечным юзером, как "пойти на сайт и нажать на download". Есть, конечно, положительные черты этого устройства: секьюрити в первую очередь. Но перевешивают ли они неудобство?
Теоретически ничто не мешает сайтам выкладывать, скажем, RPM или .deb-файлы, а мне скачивать их нажатием кнопки на сайте, и устанавливать. Некоторые сайты так и делают. Но в целом это остается очень маргинальным способом устанавливать ПО в линуксе (и браузеры обычно не заточены на то, чтобы юзеру-чайнику это было так же легко, как в Виндоуз).
С другой стороны, если бы так делали все, то и с вирусами была бы более серьезная проблема (хоть и не настолько, как в Виндоуз, которая просто в первую очередь привлекает авторов malware ввиду своей доли рынка).
Может, Молнар прав, и какая-то схема, включающая цифровые подписи и возможность отменить злодейский пакет, но при этом не основывающаяся на иерархии и не требующая армии добровольцев для поддержания - это правильный ответ. Что-то вроде открытой версии Android Market. Но для того, чтобы это могло стать реальностью, подозреваю, что нужна серьезная работа по подгонке системы под это: перелопатить ABI и сделать его обширнее и удобнее; отказаться от общесистемных shared libraries в большинстве случаев; построить механизм прозрачного апдейта а-ля Хром. Если всем этим заняться сейчас, то есть шанс через год-два получить что-то многообещающее. Но есть ли влиятельные компании/дистрибуции, которые захотят пойти этим путем?
no subject
Date: 2012-04-20 08:29 am (UTC)вот как раз под Виндоус проблем с окружением не возникает обычно
это преимущество именно виндоус-подхода - в подавлящем большинстве случаев скачанная программа устанавливается и сразу работает, без танцев с бубном
достигается это, разумеется, некрасивым брут-форсом - дупликацией кода библиотек (если нужно). Но почему для меня как пользователя программы дупликация библиотек должна волновать? Размер скачиваемого файла в наши дни не имеет никакого значения. Если дуплицированная библиотека сидит себе в отдельной папке, не смешиваясь со всем другим, и служит только для одной установленной программы - какие проблемы? Наоборот, я даже приветствую такую ситуацию, потому что я не хочу чтобы апргрейд shared библиотеки повлиял на работу скачанной мной программы.
no subject
Date: 2012-04-20 09:40 am (UTC)Большие. Огромные. Кто их не видит, очевидно не обладает квалификацией для обсуждения методов деплоймента софта.
no subject
Date: 2012-04-20 10:02 am (UTC)на самом же деле, в реальной жизни, это не так. в реальной жизни, только небольшой набор софта должен регулярно обновляться, например, браузер и сама операционная система - ну так под виндой у меня они И ТАК автоматически обнавляются, как только есть патч у производителей
а вот я скачал себе, скажем, некий видеоредактор, типа AviDemux, он пользуется какими-то своими библиотеками, и оне не будут обновлены до тех пока пока я не кликну на ОК в надоедливом мессадж боксе, предлагающем мне скачать новую версию АвиДемукс.
по вашему, это КОНЕЦ СВЕТА и ай-ай-ай. У меня стоит устаревший декомпрессор, ужос-ужос. Я буду править этом редакторе некий ави-файл, созданный злобным и хитрым хаккером, и обработка этого файла в устаревшем декомпрессоре вызовет эксплойт, и в результате я не изменю размер кадра в авишнике, а отформатирую себе диск Ц. "Баюс-баюс".
на самом же деле, если бояцца описанного выше, то и вообще нельзя ставить АвиДемукс - а вдруг там есть неизвестные еще антивирусам закладки?
no subject
Date: 2012-04-20 10:07 am (UTC)no subject
Date: 2012-04-20 12:24 pm (UTC)кстати, иногда нужно и брауезер откатить назад, в плане версии, и под Линуксом это совсем не очевидно делается
именно поэтому можно прочесть такие сообщения
http://www.marcosorfila.com/site/installing-older-versions-of-firefox-in-ubuntu-1004-64-bits/
Great post! after 2 hours of googling, finally i was able to downgrade firefox ;)
thanks a lot!
2 часа пришлось человеку мучаться с тем, что в Винде делается за 1 минуту
no subject
Date: 2012-04-20 12:26 pm (UTC)Holy cow, this page saved the day for me.
no subject
Date: 2012-04-20 03:09 pm (UTC)Во-вторых, это всего лишь некомпетентность юзера. Это решается в Debian/Ubuntu пиннингом, man apt.
И в-третьих, для любителей есть снапшоты полного репозитория за любой день последних лет, для роллбэка на полностью произвольную версию.
А то что сделал товарищ по ссылке -- это просто криворукость. Да, криворукие пользователи Линукса бывают.
no subject
Date: 2012-04-20 12:26 pm (UTC)Это не аксиома, это грубый и зримый эмпирический факт.
no subject
Date: 2012-04-20 12:29 pm (UTC)вот так чтобы человек заразился посмотрев в VLC скачанный из cети фильм, причем только потому что у него на компе VLC 1.0.5 вместо 1.0.11 скажем?
no subject
Date: 2012-04-20 01:08 pm (UTC)no subject
Date: 2012-04-20 12:12 pm (UTC)Выше по ветке эти проблемы указывались, да и вы их признаете - каждая программа вынуждена таскать с собой собственный блэкджек и собственных шлюх.
Проблема даже не в том, что пятьдесят копий блэкджека и стопятьсот копий шлюх занимают место на диске и в памяти (хотя они занимают), а в том, что если в OpenSSL опять найдут ошибку, под дебианом первый apt-get update ее исправит для всех приложений, использующих OpenSSL, а под виндой - половина приложений притащит свои апдейты, а другая половина так и останется дырявой.
no subject
Date: 2012-04-20 12:41 pm (UTC)Вообще кроме собственно зависимостей "для A нужно B такой-то версии", которые формально лечатся дублированием, есть еще конфликты "A не может работать с B", причем эти конфликты не всегда высосаны из пальца разработчиками A, а неустранимо существуют по дизайну системы.
no subject
Date: 2012-04-20 04:18 pm (UTC)