|
|
07 мая 2011
Оглавление: 1. Paludis 2. Использование 3. Пример 4. Почему бы не исправить portage?
Paludis - альтернативный менеждер для достаточно популярного дистрибутива Gentoo, развивается с января 2006 года, приносит множество нововведений и улучшений, уже используется в качестве основного на экспериментальном дистрибутиве Exherbo. Программа с достаточно обширной кодовой базой, высокой функциональностью. В принципе, все критерии относящиеся к пакетным менеджерам apt и rpm, относятся и к нему.
Изначально Paludis представлял собой инструмент для разрешения проблем с зависимостями, используемый совместно с Portage. Но позже превратился в самостоятельную систему управления пакетами, а исходные коды Portage оказались настолько запутанными, что производить улучшение функциональности стало крайне сложно.
Особенности
Для пользователя
- Новая и опциональная система конфигурации, позволяющая упростить работу с группами взаимосвязанных пакетов, упростить поддержку нескольких систем, и легче устанавливать параметры для каждого пакета или репозитория.
- Производительность. Paludis является на порядок быстрее, других менеджеров пакетов, так как написан на компилируемом, а не интерпретируемом языке. Однако требует предварительной компиляции.
- Небольшие собственные зависимости. Нет Python, нет больших внешних библиотек шифрования.
- Интеграция системы безопасности GLSA.
- Поддержка децентрализованной системы мульти-репозиториев, не ограничен концептом единого дерева и оверлеев.
- Поддержка репозиториев содержащих не только ebuild'ы, но и любые другие файлы.
- Фильтрация по лицензии.
- Хук для запуска кода после того, как произойдет определенное действие.
- Определяемые пользователем наборы пакетов.
- Возможность синхронизации нескольких репозиториев, изначально, с использованием SVN, CVS, Git т.д.
- Возможность удаления пакетов вместе с зависимостями и безопасного удаления более не нужных пакетов.
- Возможность продолжить установку коллекции пакетов после сбоя или продолжать прерванную компиляцию гораздо более гибко, чем это существует в Portage.
- Способность понять, почему пакет действительно требуется в зависимостях, а не основываясь на довольно грубом выводе опции "--tree" в Portage.
- Значительно полезнее вывод: "--query" выдает полезную сводку информации о пакете, а также "--pretend" может быть настроен, чтобы показать только интересующую Вас информацию.
- Безопасная установка/удаление пакетов выставляющих *id-флаги на файлах, чтобы в вашей системе не оставались уязвимости даже после того, как уязвимое приложение было заменено.
- Возможность указывать и использовать SLOT-, USE-, репозиторно- и версионно-основанные зависимости в ebuild'ах.
- Возможность сразу вывести все пакеты, блокирующие дальнейшую установку и необходимые действия для устранения, а не попакетно.
- Возможность автоматически переустанавливать SCM пакеты через заданный период времени.
- Возможность управлять пакетами, даже если ebuild уже не доступен/ны.
Для разработчиков Ebuild
- Полное и правильное разрешение круговой зависимости.
- Глубокая резолюции зависимости, даже если обновлено не все.
- Поддержка "experimental" EAPI предложения.
- Возможность доставки новостей до конечного потребителя.
- Более полезная диагностика.
Для программистов
- Собственные клиент / библиотеки разделения.
- API документация и примеры кода.
- Здравомыслящий OO API.
- Соответствующие интерфейсы для различных видов repository.
- Наборы тестов и обширный статический анализ, чтобы проверить влияние изменений.
- Тип безопасных интерфейсов, для отлова ошибок программирования, во время компиляции.
- Выбор языка программирования для внешних инструментов.
Просмотров: 3429
|