Порівняння чоловіків apt vs

У дистрибутивах, що використовують формат пакетів rpm, застосовується низка систем для управління ними. З них найбільш відомі (в історичній послідовності) apt-rpm, yum, urpmi, zypper. Останні два - дистрибутив-специфічні, і застосовуються, наскільки я знаю, тільки Mandriva і openSUSE, відповідно. Два інших, apt-rpm і yum, використовуються в декількох дистрбутивах, у тому числі в деяких (Fedora, PCLinuxOS) можуть застосовуватися паралельно, або, швидше, альтернативно. І тому порівняння їх видається не позбавленим сенсу. Чим ми і займемося у справжньому дописі.

Для початку слід зазначити, що порівняння apt vs. yum ніколи не було предметом запеклих мережевих баталій, і тому тут я цілком можу слідувати завіту Корнелія Тацита, тобто писати «без гніву та пристрасті». Але для початку — невеликий історичний нарис, щоб розставити пріоритети.

Перші роки свого існування Rad Hat та його прямі клони та порти, такі, як Caldera, Mandrake та Yellow Dog, обходилися без системи управління пакетами, задовольняючись засобом їх встановлення – утилітою rpm. Втім, систем управління пакетами тоді не було в жодному дистрибутиві Linux — аж до того моменту, коли 1999 року в Debian не з'явилася система apt. Яка була швидко підсапована бразильською компанією Conectiva і пристосована до роботи з rpm-пакетами.

Система, що отримала назву apt-rpm, виявилася дуже вдалою, і була негайно задіяна в українському дистрибутиві Altlinux, який саме в цей час (2001 рік) відокремився від Mandrake. Почалося і повзуче її впровадження в праотець Red Hat, а потім, після покупки бразильської Conectiva фірмою MandrakeSoft — і в об'єднаному дистрибутиві Mandriva. Проте, на відміну Altlinux, використовує їїдосі ні там, ні там apt-rpm не прижився. У Mandriva вона була замінена власною системою urpmi, а Red Hat взяв на озброєння систему yum.

Прототипом системи yum стала система yup, розроблена для дистрибутива Yellow Dog - порту Red Hat на платформу PowerPC. До 2002 року вона, вже під своїм сучасним ім'ям, була адаптована для самого Red Hat'а і відразу взята на озброєння українським дистрибутивом Asplinux. У Red Hat'і вона боролася з apt-rpm за почесне звання ударника пакетного менеджменту до осені 2003 року. Коли була прийнята як штатний засіб управління пакетами в дистрибутиві Fedora Core, що щойно утворився. У якому, проте, реліктова підтримка apt-rpm збереглася досі.

Ще один дистрибутив, у якому apt-rpm міцно утвердився як менеджер пакетів — PCLinuxOS. І донедавна він був там єдиним виконавцем цієї ролі (разом зі своєю графічною оболонкою — Synaptic'ом). Нині ведуться роботи з включення до цього дистрибутиву та yum'а — також з його графічним фронт-ендом yumex. В даний час обидва вони доступні для тестування в 32-бітній збірці PCLInuxOS (хоча в 64-бітній та yum, і yumex поки що відсутні).

За весь час використання Fedora я використовував тільки yum (і PackageKit, а нещодавно випробував yumex), необхідності звертатися до apt-rpm не виникало. У PCLinuxOS ж, навпаки, я обмежувався виключно apt'ом — за відсутністю, як уже сказав, yum' у 64-бітному збиранні. Тим не менш, на рівні суб'єктивних відчуттів цілком можу порівняти обидва пакетні менеджери.

Першим враженням від apt-get у PCLinuxOS було відчуття швидкості. Тобто я завжди знав, що yum — система досить повільна, оскільки потребує завантаження великих обсягів метаінформації. Але що вона повільнішанастільки – для мене було несподіванкою. Аналогічно і з графічними фронт-ендами: Synaptic працював відчутно швидше, ніж yumex (порівнювати його з PackageKit було б некоректно, оскільки останній, по суті, може бути названий пакетним метаменеджером).

З іншого боку, yum синтаксично простіше: якщо використання apt'а вимагає двох команд — apt-cache для отримання інформації про пакети та apt-get — для виконання дій над ними, кожна зі своїм набором субкоманд, то у yum є тільки єдина однойменна команда , що супроводжується субкомандами.

Крім того, yum здався мені дещо багатшим функціями: у цьому відношенні його можна швидше порівняти з aptitude у командному режимі (реалізації якої для роботи з rpm-пакетами не існує). Крім того, функціональність yum'у розширюється за рахунок численних плагінів. А при використанні в якості командної оболонки (login shell) zsh він добре інтегрується з нею, підвищуючи зручність роботи (подробиці - тут).

Нарешті, головний недолік yum'а — повільність — можна дещо зменшити, принаймні під час виконання запитів від імені користувача, таких як пошук пакета або отримання інформації про нього. Як це зробити – описано тут.

Загалом, це порівняння чоловіків завершується внічию - миром та дружбою. Я так і не зміг вирішити, хто ж доблесніший — Кох чи Вагнер apt чи yum. І для себе вирішив користуватись обидва — кожен у своєму рідному дистрибутиві: yum — у Fedora, apt — у PCLinuxOS.