History/FAQ: различия между версиями
м (→почему своё?: +http://docs.altlinux.org/ru-RU/archive/2.4/html-single/master/alt-docs-devel/ch02.html) |
м (→почему apt-rpm?: +датировка) |
||
Строка 19: | Строка 19: | ||
=== почему apt-rpm? === | === почему apt-rpm? === | ||
''ответ с исторического конца вопроса'' | ''ответ с исторического конца вопроса, датированный ~2008 годом'' | ||
В Mdk использовался urpmi, который хак именно в стиле | В Mdk использовался urpmi, который хак именно в стиле | ||
Строка 68: | Строка 68: | ||
<div id="rpm_deb"></div> | <div id="rpm_deb"></div> | ||
=== rpm/deb? === | === rpm/deb? === | ||
Практичней для сисадмина и построителя решений. | Практичней для сисадмина и построителя решений. |
Версия от 19:32, 6 августа 2021
История ALT Linux, некоторые мифы и реалии
Эта страничка была изначально написана как ответ в частной переписке на вопрос по истории альта и в т.ч. apt/rpm; она содержит ряд ни разу не скрываемых сугубо персональных мнений по части ALT Linux и других дистрибутивов Linux, с которыми доводилось сталкиваться.
почему своё?
Потому что ни один уже существующий дистрибутив не решает наши задачи приемлемым образом.
Альт начинался как Linux-Mandrake Russian Edition, занимаясь улучшением переводов (и в принципе локализацией прикладного ПО и документации). Форк произошёл тогда, когда французы стали принимать очень странные и спорные технические решения (см. тж. ниже).
С 2001 года картинка в мире дистрибутивов Linux, конечно, изменилась кардинально (сперва явно выделились RHL и SuSE, затем на сильно недооцененной базе Debian стартовала Ubuntu, появился Android, ушли по сути все другие ОС из top500, редхат начал напоминать чёрную дыру) -- но нас эта причина осталась по сути той же: при всём богатстве выбора(tm) подходящих вариантов всё так же нет: или непредсказуемый для нас цикл выпуска/поддержки, или подавляющее влияние зарубежных юридических аспектов (неприменимое и глупое для нашей страны), или продвижение наработок в такой апстрим сталкивается с крупными организационными, бюрократическими, культурными проблемами (либо просто не происходит).
Тащить свой дистрибутив -- вовсе не бочка мёду, как порой кажется тем, кто начинает свои дистрибутивные проекты... просто иногда бывают ситуации, когда ресурсы на это есть, а другого разумного варианта -- нет.
См. тж. "Почему мы переписываем программы" в документации ALM2.4.
почему apt-rpm?
ответ с исторического конца вопроса, датированный ~2008 годом
В Mdk использовался urpmi, который хак именно в стиле "французский перл" (как Sympa или DrakX). Бишь после установки системы с его помощью у тебя могли оказаться конфликтующие пакеты, битые зависимости -- всё, что угодно.
apt-rpm делали в Conectiva, к тому времени 0.3.x были уже вполне рабочими (хотя из-за трансляции данных из неродного /var/lib/rpm -- заметно медленней, чем с dpkg).
Я не знаю, кто и как именно принимал это решение -- скорее всего, вся изначальная core team вместе (включая aen@, ldv@, ab@) -- но в Spring 2001 оно уже было включено, хотя ещё толком не работало: репозиторий, ориентированный на urpmi и недалеко ещё отошедший, был попросту ужасен в плане зависимостей (для сравнения -- такой же ужасной федорина пакетная база была пару лет назад, например).
В Junior 1.1 апт уже вполне работал, а к Compact 3.0 на него перешёл и инсталятор.
Как на сейчас видится: на тот момент и у rpm, и у dpkg были различные проблемы [выбора] дизайна. Например, dpkg по определению подразумевает возможность интерактивности при установке (хотя она необязательно используется), а rpm по определению подразумевает невозможность какого-либо ввода (можно сделать интерактивные %pre/%post, но это завесит любой фронтэнд, который такого подвоха не ожидает).
Есть ещё множество подобных различий, но в общем их можно просуммировать так: dpkg -- "инженереный", rpm -- "инженерный".
Например, в dpkg гораздо тоньше продумано состояние пакетов (в т.ч. "частично установлен" -- оставлены конфиги/данные) и зависимости (принципиально есть мягкие), а в rpm этого нет, зато сразу был контроль целостности пакетов по md5/gpg и соответствия содержимого файловой системы записи в базе для данного пакета.
Бишь dpkg был ориентирован изначально на "долго делать, но потом мало морочиться", а rpm -- на "быстро, дёшево, сердито и надёжно".
Как часть этой разницы -- сейчас Edubuntu на AMD64 3000+ с полгигом памяти устанавливается полтора часа (примерно полчаса создавая чрут для отдачи терминалам), а ALTSP5 -- 15--20 минут, при этом создание чрута поленился выделять отдельной стадией, поскольку на этой стендовой -- далеко не самой дорогой -- машинке оно идёт что-то минуту или полторы.
rpm/deb?
Практичней для сисадмина и построителя решений.
клон mdv
Мандривы тогда не было, был Mandrake со своей кривой пакетной базой и нарастающей невменяемостью (думаю, на почве эйфории от быстрого роста популярности) и Conectiva со своим apt-rpm.
Невменяемость выражалась в кашеобразном коде, неразборчивости в правах, с которым он запускался, и игнорировании предупреждений о том, что что-либо жить не будет (например, эти деятели тогда решили оторвать кодировку от имён локалей -- с ru_RU все вмиг огребли ISO8859-5, которое типа стандарт).
Судя по забегу в DrakX времён Mdk9.2 -- с кодом полегчало, уже был читабельный. Правда, где-то к тому времени выперли Дюваля (основателя лавочки) и по словам друзей, которые им переводы делали -- практически все интересные люди, с которыми они там общались, разбежались (а им остались висеть денег).
В общем, сейчас я лично им желаю удачи, но с дистанции.
если бы форкались не в 2000/2001
тоже бы делали из Mandriva или всё-таки из Debian/RH?
Ой не знаю. Они вообще-то и с SuSE вместе работали над локализацией, не только с MandrakeSoft. Кажется, ещё с кем-то (дебиан тоже помогали переводить), но тут слабо помню). Бишь эти все варианты _были_ известны. А вот оценить сдвиг балансов за годы, когда я _не_ знаю достоверно даже объективных критериев оценки -- сложно.
Но твой вопрос внутренне противоречив: RH и тогда скорее имел клоны, чем форки, а вот Mandrake стал именно форком, который популярность-то приобрёл за счёт решения родовых травм редхата.
Вроде (извини) долгой ублюдочности управления пакетами голым RPM или инсталятором в качестве единственной альтернативы (намордники типа glint не решали проблемы подтягивания зависимостей).
Или игнорирования юзабельности и вообще отсутствия какого-то задора, что ли.
При этом Mdk втянул множество хороших фич RHL, двигался в сторону Debian (вбирая более тонкую порезку, alternatives, другие вещи); ALT долго был Mandrake Russian Edition, который по соглашению издавался в России; собственно форкнулся он тогда, когда (повторюсь) mdk начало просто заносить. И продолжил движение в сторону вбирания полезностей из Debian (via Conectiva), SuSE и собственной разработки.
Форк был обдуманным.