Выкладываю свои мысли по устройству этого мира. Заниматься этим у меня времени нет, но забыть жалко.
Прежде всего: всеми нами привычная система из FHS и пакетного менеджера, которой придерживаются большинство дистрибутивов, морально устарела.
Наиболее встречающаяся проблема — в невозможности установки разных версий одного и того же пакета. Не важно, что в пакете — библиотека, программа – просто пакет. Зачем это надо? Да затем, что однажды мне так захочется. И мой православный пакетный менеджер будет делать всё, чтобы у меня ничего не получилось.
Всем известный пример — это установка kde4. Чтобы одним глазком посмотреть на это чудо техники, нужно полностью удалить из системы старые кеды. А затем, вдоволь насмотревшись, сносить их и устанавливать старые пакеты.
Или вот другой пример. Нужен мне последний dmx. Если попробовать установить его, то он потянет вместе с зависимостями новые иксы, которые мне нафиг не сдались, потому что: я не хочу работать на этом глюкодроме; в нём поломата совместимость с проприетарным драйвером fglrx. Разумеется, я был бы счастлив, если бы новые иксы установились куда-нибудь в сторонке, обеспечивая запуск нового dmx, а работал бы я со старыми иксами. Но куда уж тут — при установке старая версия просто сотрётся новой, и у меня ничего не будет работать.
Это абсурд! Почему пакетный менеджер должен решать, что мне делать, а что нет? С установкой нескольких версий одной и той же программы даже в windows лучше. Там можно преспокойно установить две разные оперы в «Program Files/Opera9.6/» и в «Program Files/Opera10.0/», и обе будут работать. «А-а, тогда придётся держать в памяти по две копии библиотек!» — да, придётся. А какая мне разница, когда мне нужно, чтобы работало здесь и сейчас?
- Кстати, надо про «оно же на qt/gtk» отдельно написать. Я с этих либоёбов хуею с самой первой установки Slackware. «Какой плеер посоветуете?» — «Amarok» — «Бе-е, он на кутях…» Нет, честное слово, таких задротов даже среди линейщиков нет. Тебе что надо — музыку слушать или дрочить на библиотеку? Вендузятнеги ставят свои любимые статически слинкованые оперы и им глубоко пофигу, на чём они написаны. Странички показывает — и хорошо. Но эти ж, блядь, «элита». Им рассовую чистоту в /usr/lib надо.
Для тех, кто ещё не понял — это и называют dependency hell’ом. Да-да, ваша хвалёная система по отслеживанию зависимостей вовсе не рулит. Да-да.