четверг, 15 июля 2010 г.

Archlinux vs остальные

Сижу на Арче уже почти два месяца, кое-какие pros и cons по сравнению с Федорой накопились.

Начнём с минусов, чтобы не испортить под конец торт :)

1. У пакетного менеджера нет истории транзакций (это когда одной командой можно отменить установку пакета с зависимостями, сделанную, скажем, полгода назад). yum history развратил меня чрезвычайно быстро. Мегаудобно. Но по этому пункту есть своё замечание в плюсах.

2. Бинарных сборок софта маловато. Aur, конечно, большой, но собирать софт с параметрами по-умолчанию - это зло. И сломанные PKGBUILD в Aur встречаются, чего там. Да и не такой большой он, как репозитории в Федоре, Дебиане/Убунте.

3. Встречается, что не хватает гибкости в системе. Например, приходилось править шелловский скрипт в /usr/sbin, чтобы он брал версию ядра из командной строки, а не `uname -r`. Эту фигню, кстати, уже поправили, но, в общем, такое дело в Арче встречается. Меня это не особо напрягает, т.к. инфраструктура крайне простая и понятная, но нужно быть подготовленным юзером, не стесняющимся ковырять шелловский код и понимающим, как система на достаточно низком уровне работает.

4. Можно по неосторожности снести реально нужный пакет, и система молча, без истерик его удалит. А он нужен. Например, когды я приехал из командировки на новую квартиру без интернета, то захотел заюзать интернет через телефон. Для этого заранее поставил bluez, pppd, ну всё, как надо. Опыт большой. Но не проверил, что всё цепляется. И оказалось, что питоновский скрипт для обмена блютузными пинкодами требует pygobject, который я снёс. Горе... К счастью, я как-то на Арче пытался слить фотки с телефона, и bluez запомнил пинкод, поэтому обошлось. Но вот такое дело с пакетами есть, да. По этому пункту тоже есть замечание в плюшках.

Теперь плюшки :)

1. Что в yum напрягало - это постепенное обрастание системы гогном. Т.е. ставишь пакет на посмотреть, он кучу гогна за собой притащил. Потом пакет в гневе удаляешь ("ну и гогно!"), а зависимое гогно осталось. package-cleanup помогает, но не полностью - нужно глазами определять, что, чего, да как. И всё равно время от времени приходилось делать rpm -qa и вручную удалять завалявшееся гогно. Причём, раньше package-cleanup работал как-то лучше. Но проблема на корню была решена с появлением yum history.

А в Арче такой проблемы вообще нет: pacman -Rscdn удаляет всё гогно, поставленное с этим пакетом, если оно больше никому не нужно.

2. Я сто пудов уверен, что джава мне для запуска OpenOffice не нужна. В Федоре ставил два базовых пакета с --nodeps, а потом доставлял остальное нужное. При обновлении версии OOo приходилось его сносить и повторять сначала. В Арче же pacman просто говорит, что, де, кто-то там из уже установленных чего-то хочет. Мол, взгляни, хозяин, коли желание будет.

3. Что бы там на верху не говорили, но Федора - это rolling based дистрибутив. Полгода между релизами, прекращение выпуска апдейтов ещё через полгода - это нифига не трёх- или пятилетный стейбл. До недавних пор вообще можно было получить ломающий по своей натуре апдейт, типа как Emacs с 22 до 23. Или ядро в пределах полугода два раза меняло апстримную версию (выпустили релиз ещё со старым ядром из-за проблем с планируемым для релиза, потом через две недели воткнули, какое и хотели, а ещё через 4 месяца выкатили наисвежайшее).

Сейчас такого нет, софту мажорные апдейты в течеии релиза не делают, но это даже хуже, по-моему. Хуже, потому что темп развития дистрибутива бешенный, за полгода архитектурных изменений столько накапливается, что сделать абсолютно гладкий апгрейд нет возможности. Частично проблему решает утилита preupgrade, но она хочет много места в /boot для скачивания пакетов. Рекомендуют полгигабайта. Я найду и загрызу зубами того, кто мне ночью /boot на полгигабайта сделает. Да и всё равно, после preupgrade тоже нужно проблемы решать. Если не решать, то получится ноутбук моей жены =)

В Арче такой проблемы нет. Просто время от времени запускаешь апдейт системы, и он гладенько проходит. А если что-то сломает, то проблему локализовать чрезвычайно просто: "Так, что там у нас за два пакета щас обновилось?... А что по этому поводу пишут в wiki?".

4. Пересобрать софт в Федоре - это надо уметь. И хотеть. Потому что, если знаешь и умеешь, как пересобирается софт в Федоре, то обычно не хочешь этого делать. Но куда, порой, деваться? SIP-телефон Twinkle хочет qt и boost, куда это годно? Есть два патча, которые ему хотелку отрывают, но после очередного изменения версии Федоры, ну максимум, следующего, старая rpm'ка отказывается работать из-за требования старых версий библиотек. Приходится пересобирать... А тут политика партии по spec-файлам изменилась, старые патчи на старый же софт накладываться перестали, ещё какая фигня случилась...

В Арче софт пересобирается крайне просто. PKGBUILD по сравнению со SPEC - это сама краткость и ясность. В Арче также есть customizepkg, который при апдейте системы автоматически пересобирает новую версию нужного софта с нужными тебе изменениями. У меня так, например, Емакс собирается с тулкитом athena вместо gtk.

5. Если с Арчем возникла проблема, либо не знаешь, как чё делается - goto wiki. В натуре, Арчевская wiki - это самое полное собрание сочинений по всем аспектам юзанья дистрибутива, которое я только видел. Всё расписано по шагам, и всё работает. Даже мозг напрягать не надо, copy-paste в консоль только и делай.

6. В Федоре жёсткая политика партии. Сказали всем юзать гном, кеды или lxde - все юзают гном, кеды или lxde. Отщепенцам, решившим вместо православно освящённых gdm/kdm и вышеозначенных DE поставить xdm и свой тёплый ламповый WM, придётся бодаться с глюками в самых неожиданных местах системы. То xdm с selinux'ом не дружит, то xdm энвайронмент нормальный не создаёт, то xdm не даёт залогиниться, то... И исправляют баги неохотно, даже после багрепортов с патчами. Хуле, если хочешь извращений, купи себе лучше кожанные стринги, наручники и плётку, нефиг силы разработчиков на всякую дребедень ненужную отвлекать...

В Арче если софт попал в официально поддерживаемый репозиторий, то он работает. Может быть, конечно, и глючит, но не из-за особенностей дистрибутива (в Арче софт, кстати, патчат исключительно редко). Вобщем-то, на Арче я глюков ещё в своих кожанных стрингах не видел. Даже пришлось из профайла выносить все quirk'и, написанные для Федоры.

7. Не знаю, как там в других попсовых дистрибутивах, но в Федоре явно наблюдается оверинжинирнг. Это когда люди наслаждаются наворачиванием технических сложностей. Оно, конечно, всё ради пущего удобства и интеграции, но, порой, у людей есть свои представления об удобстве и степени необходимой интеграции. Отступление от нормы в Федоре, как уже говорил, - это создание самому себе проблем. Отступление от нормы в Арче - ... Простите, о какой норме идёт речь? :)

Но, вернёмся к оверинжинирингу в Федоре. Это плохо. Программисты часто бывают оторваны от реальности, поэтому диктатура технократии приводит к страшным спагетти-монстрам. Я знаю, я сам такой. С этим обычно борятся оглоблей, но технократия бывает против справедливой критики, что ихнее изваяние, на которое они убили полгода - гогно, по-сути. И ничего, что они сами это очень скоро осознают, и начнут ваять другого монстра на замену. Но оглоблей бить надо, иначе вместо требуемого автомата Калашникова всё время получается М-16, которая после каждого выстрела (желательно, в условиях лабораторной чистоты) должна перебираться и смазываться.

Ну вот, как-то так :)

1 комментарий:

  1. >Но, вернёмся к оверинжинирингу в Федоре. Это плохо.

    Теперь и остальные дистрибутивы лёгким движением руки превращаются в Федору с переходом на systemd.

    ОтветитьУдалить

Архив блога