History/FAQ

Материал из ALT Linux Wiki
< History(перенаправлено с «History/mike»)

История ALT Linux, некоторые мифы и реалии

Эта страничка была изначально написана как ответ в частной переписке на вопрос по истории альта и в т.ч. apt/rpm; она содержит ряд ни разу не скрываемых сугубо персональных мнений по части ALT Linux и других дистрибутивов Linux, с которыми доводилось сталкиваться.

почему своё?

Потому что ни один уже существующий дистрибутив не решает наши задачи приемлемым образом.

Альт начинался как Linux-Mandrake Russian Edition, занимаясь улучшением переводов (и в принципе локализацией прикладного ПО и документации). Форк произошёл тогда, когда французы стали принимать очень странные и спорные технические решения (см. тж. ниже). После образования форка дальнейшее развитие пошло по собственному техничесому пути, и какая-либо связь с Mandrake Linux перестала существовать через несколько лет.

С 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 и собственной разработки.

Форк был обдуманным.

Ссылки