Показаны сообщения с ярлыком yum. Показать все сообщения
Показаны сообщения с ярлыком yum. Показать все сообщения

21 июля 2009 г.

Почему я не могу пользоваться ничем кроме portage



Как известно, система управления программным обеспечением - одна из отличительных черт различных дистрибутивов Linux. Мамонты в этой области - YUM (Yellowdog Update Manager) и APT (Advanced Package Manager). На базе обоих построено достаточно много известных систем. Наиболее крупные - debian, ubuntu для apt и fedora, rhel для yum. Однако, такая слава "старых и проверенных" означает также некоторую принципиальную старость. Вообще, о выборе такой системы можно спорить бесконечно долго, как и о выборе дистрибутива. Но на данный момент для меня есть неоспоримый лидер. И это не apt и не yum. Это portage - уникальная часть дистрибутива Gentoo Linux.
Ещё немного теории. Для меня работа с системой обязательно подразумевает активную работу с вышеупомянутым ПО, т.к. я не могу обойтись без постоянного исследования чего-то нового. И здесь ключевую роль играет "чистота" работы пакетного менеджера (буду называть его так). Он должен уметь вычищать из системы все кусочки удалённых пакетов, при этом оставляя ровно то, что необходимо для работы установленных компонентов системы.
Вот здесь и начинается практика. Большинство пакетных менеджеров имеют команды для установки какого-то пакета (при этом автоматически ставятся необходимые зависимости) и удаления пакета (иногда можно удалить пакет со всеми ненужными зависимостями). На мой взгляд, этого явно недостаточно.
В Gentoo реализован очень логичный подход. У нас имеется список лично пользователем установленных пакетов(т.е. вы лично ставите музыкальный проигрыватель, а необходимые библотеки для видео, графики и кодеки - это уже зависимости, которые вы не ставите напрямую). Он доступен в текстовом файле. Также имеется понятие "набора приложений". В том числе базового набора. Естественно, присутствет возможность установки и удаления любого пакета руками. Но ГЛАВНОЕ - можно вычистить из системы ненужные зависимости. Не претендую на полное понимание, но опишу, как это происходит. Для каждого пакета составляется список зависящих от него пакетов. Также он может принадлежать к базовому набору пакетов (удалить пакет из которого можно только вручную) или присутствовать в списке нужных пользователю. Если он не попадает ни в базовый набор, ни в список, ни в зависимости пакетов из базового набора и списка, он считается ненужным. После такой "инвентаризации" останется только то, что вы сами устанавливали (это обычно несколько десятков пакетов) и всё необходимое, чтобы работали пакеты из списка установленных пользователем. Можно, например, удалить какой-нибудь пакет из спсика установленных лично вами и запустить очистку от ненужных зависимостей. И он, со всеми его зависимостями будет удалён. Он ведь больше не попадает ни в базовый набор, ни в одну из зависимостей лично вами установленных пакетов. Хотя, конечно, чаще сам плеер удаляют "руками", а его зависимости - автоматически.
Как же другие пакетные менеджеры обходятся без такого списка пакетов, лично установленных пользователем? Как они вычищают зависимости? Как пользователь знает, что удалять? Для меня - это загадка.
Конечно, в portage есть и минусы. Та же тотальная сборка всего и вся из исходников. Она не особо нужна в обычной жизни. Но, то преимущество, которое я многословно описал выше, полностью перевешивает любые недостатки текущей версии portage (2.1.6.13).
Цель этого поста - не только рассказать о моих предпочтениях. Я хочу спросить у тебя, читатель: "Если ты используешь неGentoo, как в твоём любимом дистрибутиве решаются подобные вопросы зависимостей?" Мне правда интересно. Буду благодарен за ответы. Если что непонятно описал, уточняйте - объясню подробнее.
PS Посмотрел на заголовок и подумал, что он, наверное, эквивалентен "Почему я люблю portage".

11 июня 2009 г.

Fedora


В рамках эксперимента поменял свою Gentoo на свежевышедшую Fedora 11. Наверное, стоит сказать о ней пару слов. Это, своего рода "полигон" компании Red Hat. Весь опыт потом используется в одноимённом (тоже Red Hat) коммерческом дистрибутиве. Кстати, так здесь правит лицензия GNU GPL, авторам приходится делиться исходниками даже коммерческой версии. А доброе сообщество собирает из этих исходников бесплатный клон Red Hat'a - дистрибутив CentOS. Вот такие вот приколы. И все рады.
Как я заметил за последние пару лет (Fedora релизится раз в полгода, т.е. было 4 релиза), это современный в плане версий ПО и гиперсовременный в плане внедрения новых технологий дистрибутив. Правда, отсюда вытекает неизбежный факт: в федоре всегда есть глюки. Не фатальные, не страшные, часто просто досадные, но есть. Я оправдываю это тем, что за такое время просто не возможно полностью подготовить многоязыковую версию, запихнув в неё кучу новинок и подружив их друг с другом.
Один из критериев различия дистрибутивов - менеджер пакетов (установщик-удаляльщик ПО). В федоре это Yum (Yellow Dog Update Manager). На первый взгляд (как и на второй), он очень смахивает на дебьяновский apt. Только способ организации репозиториев здесь какой-то запутанный. Как-то хотел сделать зеркало - так и не разобрался, что конкретно нужно зеркалить. В debian с этим проще. Пакеты имеют расширение .rpm - один из древнейших форматов бинарных пакетов для линухов.
Как и ожидалось, миграция прошла довольно безболезненно, ибо все настройки остались в /home. А сам хомяк - на отдельном разделе.
Я установил стандартную GNOME-версию.

(+) В качестве Bluetooth-менеджера используется blueman. Это радует. У меня даже сходу заработал APN в телефоне.
(+) Красивый экран загрузки. Сразу включается графическая заставка, никаких бегущих строчек в консоли (Если сам не захочешь ;))

(-) Установщик отказался ставить систему на ext3 - пришлось делать на системном разделе файловую систему ext4
(-) Графический установщик PackageKit по-прежнему работает криво - всё время падает. Но без него вполне можно обойтись. Всё отлично работает через консоль. В 9ке он вообще вёл себя аномально - периодически лез обновляться, зависал и стопорил все остальные инстансы, запущеные в консоли. Тут он тих и спокоен.

Кстати, я ставил Russian Fedora Remix 11, сравнив обзор от Tigro официального релиза с исправлениями, внесёнными в ремикс. Если что, думаю выбор очевиден.