Управление пакетами с помощью Zypper

Package Management With Zypper
November 5th, 2009 by Mitch Frazier HOWTOs

Я пользователь SUSE Linux. Когда речь заходит о пакетном менеджменте, в отношении SUSE это обычно ассоциируется с соответствующим модулем YaST. YaST не плох, однако немного слишком многословен в ситуациях, когда нужно всего-то установить один пакет, что, конечно, является предметом насмешек со стороны аптгетеров со всеми их этими "apt-get install это" и "apt-get install то". Возразить нечего. На ум, правда, приходят yum и apt4rpm и всё же лучшим решением будет zypper.

Zypper - утилита командной строки для управления пакетами, базируется на ZYpp, то есть библиотеке libzypp. Википедия о Zypp говорит следующее: "в отличие от других пакетных менеджеров утилита предоставляет мощный инструмент удовлетворения зависимостей вместе с соответствующим API"

Поскольку мы не хотим забивать голову всякими подробностями, отметим только, что решатель зависимостей отнюдь не плохая штука. Кроме того, YaST теперь тоже базируется на ZYpp, поэтому нет резона беспокоиться о том, что мы чего-то теряем, используя непосредственно zypper.

Стиль использования zypper сказочно прозрачен и прост. Если вы хотите найти пакет, следует написать zypper search STRING, где STRING (которых может быть несколько) могут содержат * и ? для создания шаблонов или полный образец для поиска точного совпадения. Если желательно получить описание, следует добавить опцию, например, для пакетов, содержащих слово mail в описании:

$ zypper search --search-descriptions mail
$ # --search-descriptions can be abbreviated as -d
Reading installed packages...

S | Name              | Summary                                    | Type
--+-------------------+--------------------------------------------+-----------
  | Buddi             | Buddi - Personal budget software ...      | package
  | CgEddie           | A simple editor with syntax high ...      | package
  | FrostWire         | Gnutella peer-to-peer (P2P) file ...      | package
  ...
  | yast2-mail        | YaST2 - Mail Configuration                | package
  | yast2-mail-plugins| YaST2-Users/Group Plugins for the ...     | package
  | yum-updatesd      | YUM update notification daemon            | package


При инсталляции пакета, как вы можете ожидать/надеяться, zypper позаботиться о необходимых зависимостях:

$ zypper install Buddi
Reading installed packages...

The following NEW packages are going to be installed:
BrowserLauncher2 swingx Buddi jcommon jfreechart

Overall download size: 4.1 M. After the operation, additional 5.2 M will be used.
Continue? [YES/no]:

Некоторые интересные команды zypper поддерживают следующие полезности:

* refresh - для получения свежей информации о пакетах из указанных репозиториев;
* addrepo - для добавления репозитория;
* remove - для удаления пакета;
* list-updates - для вывода списка обновлений/патчей, доступных для установленных в системе пакетов.

Для просмотра всех опций используйте команду zypper help и просмотрите страницу man для усвоения некоторых специфических деталей.

Одной из успешных фичей Ubuntu-дистрибутивов (да и всех Debian-based) является доступность такого инструмента, как apt-get dist-upgrade, так как он позволяет не заморачиваясь обновиться до следующей версии. Наш ответ аптгетерам - zypper поддерживает эту возможность. Используйте команды zypper dist-upgrade или zypper dup. Это позволит вам обновить SUSE до следующей версии. Сам я не прибегал к этой возможности, однако отзывы на форумах позволяют надеяться, что всё работает так как заявлено.

Так что удачного zypp - а.

Назад