Libzypp
Материал из openSUSE.
| Эта статья нуждается в доработке. Если вы можете помочь, сделайте это в соответствии с OpenSUSE Style Guide. |
Содержание |
Управление пакетами и разрешение пакетных зависимостей
SUSE Linux использует формат пакетов rpm. Базовым инструментом для этого является программа RPM (RPM Package manager), которая проводит установку, удаление и верификацию пакетов.
RPM проверяет, удовлетворены ли пакетные зависимости, т.е. если пакет X требует наличия пакета libY, и вы пытаетесь установить пакет X не имея установленного пакета libY, RPM откажется устанавливать X и выдаст предупреждение, что пакет libY отсутствует. У RPM нет возможности автоматически установить пакет, который содержит libY.
Имеется ряд программ, использующие rpm (и другие форматы пакетов) и имеющие удобный интерфейс, для разрешения следующих моментов:
- Установка пакета и автоматически всех его зависимостей
- Загрузка этих пакетов с удаленного сервера или локального источника
- Удаление пакетов
- Обновление пакетов на новейшие версии
SUSE Linux 10.0 предлагает следующие программы для этого:
- YOU - YaST online update (только обновление)
- yast package manager ("yast sw_single") для установки и удаления (но не обновления)
- apt-rpm как альтернатива для yast и YOU
Вместе с SUSE Linux 10.1, SUSE интегрировал новый менеджер пакетов, названный "libzypp".
libzypp - это интеграция менеджера пакетов SUSE - yast2 и менеджера пакетов Ximian - libredcarpet. В Novell мы используем два решения - Red Carpet и менеджер пакетов YaST - и решено объединить их для лучшего подхода.
Преимущества для SUSE Linux следующие:
- Лучшее разрешение зависимостей, чем раньше
- Больше информации о том, почему пакет установлен, или почему не найдено решение
- Лучшая интеграция всего этого в то, что мы добавили за годы в наш менеджер пакетов
- Интерфейс командной строки ("rug")
- Простое управление пакетами *и* заплатками
- Разрешение зависимостей для обновления пакета
- Лучший путь управления выборами (теперь мы их называем "patterns")
- Удаленное администирование (ещё пока не в SUSE Linux 10.1)
- Дополнительные репозитории во время инсталяции
- Большая гибкость в управлении различными репозиториями, т.е. возможность иметь дополнительные образцы для каждого репозитория
- Дополнительные зависимости, основанные на языке (для шрифтов, переводов и т.п.) или «железе» (для драйверов)
Каталоги
Каталог – это имя используемое для внешних репозиториев. Поддерживается много типов каталогов:
- YUM metadata
- YaST sources
- Zenworks Server
- OpenCarpet Server
- Red Carpet Enterprise Server
Эти каталоги могут быть связаны с локальными файлами или через сеть с внешними протоколами типа ftp, http. Смотри Media Access URLs.
Новая библиотека используется yast packagemanager ("yast sw_single") а также zen suite of programs.
Создание каталогов
Программы Zen
Этим программам требуется запущенный zmd system daemon. Zmd позволяет локальное и удаленное администратирование системы и использует библиотеку libzypp.
Следующие программы взаимодействуют с zmd:
- Rug: Клиент командной строки
- Zen-updater: Простая программа обновления пакетов
- Zen-remover: Инструмент для удаления пакетов
- Zen-installer: Инструмент для установки пакетов
Программы, заменённые новым менеджером пакетов
Замены существующих программ (как в SUSE Linux 10.0) следующие:
- susewatcher был заменен на zen-updater
- YOU (Yast Online Update) был адаптирован к работе с libzypp
- automatic update (yast2 online_update в cron) было заменено на rug

